diff --git a/sci-electronics/fritzing/additional-files/fritzing.rdef.in b/sci-electronics/fritzing/additional-files/fritzing.rdef.in new file mode 100644 index 000000000..c13c5da44 --- /dev/null +++ b/sci-electronics/fritzing/additional-files/fritzing.rdef.in @@ -0,0 +1,74 @@ + +resource app_flags B_MULTIPLE_LAUNCH; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "Fritzing", + long_info = "@LONG_INFO@" +}; + +resource app_signature "@APP_SIGNATURE@"; + +resource vector_icon { + $"6E6369660404003303C2352A05FF04FF330A0214C627B76CC6ADB771C596B766" + $"C3F7B78FC4D6B768C322B7B4C0D8B8E8C1F1B806BF8DB9F2BEC4BD4DBEC4BB7E" + $"BEC4BD4DBEC4BD50BEC4BD50BDB6BD50BBD8BE95BC8BBDCCBB21BF60BAD8C139" + $"BAD8C052BAD8C220BBD8C3DDBB21C312BC1EC42CBCE3C498BC81C463BC42C5A1" + $"BBD3C816BBD3C6CCBBD3CBD8C2B0CEF3BEEFCEF3C672CEF3C98DC816C98DCBD8" + $"C98DC6CCC87DC497C91EC5A1C8DFC462C987C3DDC941C42CCA3EC312CA87C139" + $"CA87C220CA87C052C987BE95CA3EBF60C971BE7BC932BE59C94CBE70C9F7BDAA" + $"CA7FBBEFCA60BCCDCA9FBB0AC9DEB92CCA78BA10C946B84AC719B781C829B7A3" + $"C70AB77F0214C627B6EEC6ADB6F3C596B6E9C3F7B712C4D6B6EBC322B737C0D8" + $"B86AC1F1B788BF8DB974BEC4BCCFBEC4BB01BEC4BCCFBEC4BCD2BEC4BCD2BDB6" + $"BCD2BBD8BE17BC8BBD4FBB21BEE3BAD8C0BBBAD8BFD5BAD8C1A2BBD8C360BB21" + $"C294BC1EC3AEBCE3C41ABC81C3E5BC42C524BBD3C798BBD3C64EBBD3CB5AC2B0" + $"CE76BEEFCE76C672CE76C98DC798C98DCB5AC98DC64EC87DC41AC91EC523C8DF" + $"C3E5C987C360C941C3AECA3EC294CA87C0BBCA87C1A2CA87BFD5C987BE17CA3E" + $"BEE3C971BDFEC932BDDBC94CBDF2C9F7BD2DCA7FBB72CA60BC50CA9FBA8CC9DE" + $"B8AECA78B992C946B7CCC719B703C829B726C70AB701061CFFFDF37FFFFCFFC6" + $"0BBA5CC676BA60C5A0BA58C479BA75C510BA5BC3E3BA8FC2B0BB33C33FBABFC2" + $"20BBA6C1B6BD4DC1B6BC6DC1B6BD4DC03EBEC7C03EBEC7C03EBE6DC03DBDEBC0" + $"BABE19C06CBDBEC109BDEBC1B7BDBEC169BE19C206BEC7C234BE6DC235BEC7C2" + $"34C1B6C1B6C44BC1B6C44BC005C4BABEC4C816BEC4C642BEC4CA40C2B1CC02C0" + $"86CC02C4DBCC02C69DC816C69DCA40C69DC642C3AAC44BC55CC4BAC3AAC44BC2" + $"34C699C234C699C234C6F3C235C774C1B7C747C206C7A2C169C774C0BAC7A2C1" + $"09C747C06CC699C03EC6F3C03DC699C03EC3AAC3AABD4DC3AABD4DC3AABCF2C3" + $"E9BCBBC3BDBCDEC415BC97C4CFBC63C46BBC75C597BC40C676BC5CC676BC5CC6" + $"D0BC6AC762BC00C72ABC47C79ABBB9C785BB04C7A8BB58C763BAB0C6BCBA6BC7" + $"16BA76C6BCBA6B0204C2B1C71BC226C71BC33BC71BC3ACC816C3ACC78BC3ACC8" + $"A1C2B1C911C33BC911C226C911C1B6C816C1B6C8A1C1B6C78B061CFFFDF37FFF" + $"FCFFC60BB9DFC676B9E3C5A0B9DBC479B9F7C510B9DDC3E3BA12C2B0BAB5C33F" + $"BA42C220BB29C1B6BCCFC1B6BBEFC1B6BCCF40BEC740BEC740BE6DBFBFBDEBC0" + $"3DBE19BFEFBDBEC08BBDEBC13ABDBEC0ECBE19C188BEC7C1B6BE6DC1B8BEC7C1" + $"B6C1B6C1B6C3CDC1B6C3CDC005C43DBEC4C798BEC4C5C5BEC4C9C3C2B1CB84C0" + $"86CB84C4DBCB84C69DC798C69DC9C3C69DC5C4C3AAC3CDC55CC43CC3AAC3CDC1" + $"B6C699C1B6C699C1B6C6F3C1B8C774C13AC747C188C7A2C0ECC774C03DC7A2C0" + $"8BC747BFEFC69940C6F3BFBFC69940C3AAC3AABCCFC3AABCCFC3AABC75C3E9BC" + $"3DC3BDBC61C415BC1AC4CFBBE6C46BBBF7C597BBC3C676BBDEC676BBDEC6D0BB" + $"EDC762BB82C72ABBCAC79ABB3BC785BA87C7A8BADBC763BA33C6BCB9EDC716B9" + $"F8C6BCB9ED0204C2B1C69DC226C69DC33BC69DC3ACC798C3ACC70EC3ACC823C2" + $"B1C893C33BC893C226C893C1B6C798C1B6C823C1B6C70E0214C5B2B6ECC5DCB6" + $"ECC534B6ECC3F7B712C49EB6F4C322B737C0D8B86AC1F1B788BF8DB974BEC4BC" + $"CFBEC4BB01BEC4BCCFBEC4BCD2BEC4BCD2BDB6BCD2BBD8BE17BC8BBD4FBB21BE" + $"E3BAD8C0BCBAD8BFD5BAD8C0D0BADBC0FABAD9C0E5BAE7C027BBD8BE95BB32BF" + $"4EBC8BBDCCBEC4BD50BDB6BD50BEC4BD50BEC4BD4DBEC4BD4DBEC4BB7EC0D8B8" + $"E8BF8DB9F2C1F1B806C3F7B78FC322B7B4C4D6B768C627B76CC596B766C6ADB7" + $"71C71AB781C70AB77FC829B7A3C9DEB92CC946B84ACA4BB9CDCA87BB22CA7DBA" + $"79CA94BA53C9DEB8AECA66B978C946B7CCC71AB703C829B726C70AB701C627B6" + $"EEC6ADB6F3C603B6ED0206C97CBE0FC980BE12C9653CC932BE59C94CBE41C94C" + $"BE70C987BE95C971BE7BCA2DBF4ECA84C0FACA78C027CA86C0E5CA87C0BCCA87" + $"C0D0CA87BFD5C987BE17CA3EBEE3C984BE140204C8B3C478C936C569C8A1C482" + $"C87DC497C88FC48DC913C58EC98AC7D1C97CC6A2C98BC7BEC98DC798C98DC7AC" + $"C98DC6740204BCADC479BCBFC48337C56ABBD3C798BBD3C675BBD3C7ACBBD6C7" + $"D1BBD6C7BEBBE4C6A3BCE3C498BC4EC58EBCD1C48E050A000100024026F40000" + $"00000000401975C69FE2C65F440A010101024026F4000000000000401975C69F" + $"E2C65F440A00020203024026F4000000000000401975C69FE2C65F440A020204" + $"05024026F4000000000000401975C69FE2C65F440A030406070809024026F400" + $"0000000000401975C69FE2C65F44" +}; diff --git a/sci-electronics/fritzing/fritzing-0.9.3b.recipe b/sci-electronics/fritzing/fritzing-0.9.3b.recipe new file mode 100644 index 000000000..02aeb3e5f --- /dev/null +++ b/sci-electronics/fritzing/fritzing-0.9.3b.recipe @@ -0,0 +1,104 @@ +SUMMARY="Electronic Design Tool" +DESCRIPTION="Fritzing is an open-source electronic design tool focusing on makers, hobbyists, and everyone else \ +interested in getting creative with interactive electronics. Document your electronic sketches, learn \ +from example projects, produce your own PCBs, and share with the community. + +Fritzing differs from other tools through: + * a real-world breadboard view that is hands-on and easy to understand + * a visual component library including the Arduino, Raspberry Pi, SparkFun parts and many more + * an intuitive user interface, with seamless switching between breadboard, schematic and pcb design + +The lively community on fritzing.org exchanges projects and tips, and there is also a PCB service 'Fritzing Fab' that produces user designs." + +HOMEPAGE="http://www.fritzing.org" +COPYRIGHT="Interaction Design Lab Potsdam" +LICENSE="GNU GPL v2 + GNU GPL v3" +REVISION="1" +SOURCE_URI="https://github.com/fritzing/fritzing-app/archive/$portVersion.tar.gz" +CHECKSUM_SHA256="2475a95aad2c1536eef3fdb72665c5c16590644b45bd110a0cde223c916625b8" +PATCHES="fritzing-$portVersion.patchset" +SOURCE_DIR="fritzing-app-$portVersion" + +SOURCE_URI_2="https://github.com/fritzing/fritzing-parts/archive/$portVersion.zip" +CHECKSUM_SHA256_2="bda500e993f8990fa5fa50bb7d189dc7206d4cc64fa57ce6b99cee45f4480e14" +SOURCE_DIR_2="fritzing-parts-$portVersion" + +ADDITIONAL_FILES="fritzing.rdef.in" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + fritzing$secondaryArchSuffix = $portVersion + app:Fritzing$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libgit2$secondaryArchSuffix + lib:libGL$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5PrintSupport$secondaryArchSuffix + lib:libQt5Svg$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix + lib:libminizip$secondaryArchSuffix + lib:libz$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libboost_system$secondaryArchSuffix + devel:libgit2$secondaryArchSuffix + devel:libGL$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5PrintSupport$secondaryArchSuffix + devel:libQt5Svg$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix + devel:libminizip$secondaryArchSuffix + devel:libz$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:g++$secondaryArchSuffix + cmd:find + cmd:make + cmd:pkg_config$secondaryArchSuffix + cmd:qmake$secondaryArchSuffix >= 5 + cmd:which + " + +BUILD() +{ + qmake \ + PREFIX=$appsDir/Fritzing \ + DATADIR=$dataDir \ + PKGDATADIR=$dataDir/fritzing \ + DEFINES=QUAZIP_INSTALLED \ + DEFINES=LIBGIT2_INSTALLED + make $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/Fritzing + make install + + cp -r $sourceDir2/* $appsDir/Fritzing + + local APP_SIGNATURE="application/x-vnd.fritzing" + local MAJOR="`echo "$portVersion" | cut -d. -f1`" + local MIDDLE="`echo "$portVersion" | cut -d. -f2`" + local MINOR="`echo "$portVersion" | cut -d. -f3 | tr -d '[:alpha:]'`" + local LONG_INFO="$SUMMARY" + sed \ + -e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \ + -e "s|@MAJOR@|$MAJOR|" \ + -e "s|@MIDDLE@|$MIDDLE|" \ + -e "s|@MINOR@|$MINOR|" \ + -e "s|@LONG_INFO@|$LONG_INFO|" \ + $portDir/additional-files/fritzing.rdef.in > $sourceDir/fritzing.rdef + + addResourcesToBinaries $sourceDir/fritzing.rdef $appsDir/Fritzing/Fritzing + addAppDeskbarSymlink $appsDir/Fritzing/Fritzing Fritzing +} diff --git a/sci-electronics/fritzing/patches/fritzing-0.9.3b.patchset b/sci-electronics/fritzing/patches/fritzing-0.9.3b.patchset new file mode 100644 index 000000000..aff0f33c0 --- /dev/null +++ b/sci-electronics/fritzing/patches/fritzing-0.9.3b.patchset @@ -0,0 +1,213 @@ +From 2982e7fbeee2eafd5ebb65376c4883ea2b1cd5d6 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sat, 16 Jun 2018 22:51:55 +1000 +Subject: Fix build for Haiku + + +diff --git a/phoenix.pro b/phoenix.pro +index 301ce0c..156b834 100644 +--- a/phoenix.pro ++++ b/phoenix.pro +@@ -90,7 +90,38 @@ macx { + LIBS += /System/Library/Frameworks/Carbon.framework/Carbon + LIBS += /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit + } +-unix { ++haiku { ++ LIBS += -lz ++ BINDIR = $$PREFIX ++ ++ DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" ++ ++ target.path =$$BINDIR ++ ++ manpage.path = $$DATADIR/man/man1 ++ manpage.files += Fritzing.1 ++ ++ parts.path = $$PKGDATADIR ++ parts.files += parts ++ ++ help.path = $$PKGDATADIR ++ help.files += help ++ ++ sketches.path = $$PKGDATADIR ++ sketches.files += sketches ++ ++ bins.path = $$PKGDATADIR ++ bins.files += bins ++ ++ translations.path = $$PKGDATADIR/translations ++ translations.extra = find $$PWD/translations -name "*.qm" -size +128c -exec cp -pr {} $(INSTALL_ROOT)$$PKGDATADIR/translations \\; ++ ++ syntax.path = $$PKGDATADIR/translations/syntax ++ syntax.files += translations/syntax/*.xml ++ ++ INSTALLS += target manpage parts sketches bins translations syntax help ++} ++unix:!haiku { + !macx { # unix is defined on mac + HARDWARE_PLATFORM = $$system(uname -m) + contains( HARDWARE_PLATFORM, x86_64 ) { +@@ -164,6 +195,7 @@ RESOURCES += phoenixresources.qrc + # Fritzing is using libgit2 since version 0.9.3 + + LIBGIT2INCLUDE = ../libgit2/include ++haiku:LIBGIT2INCLUDE = /system/develop/headers + exists($$LIBGIT2INCLUDE/git2.h) { + message("found libgit2 include path at $$LIBGIT2INCLUDE") + } +@@ -195,6 +227,7 @@ win32 { + + unix { + LIBGIT2LIB = ../libgit2/build ++ haiku:LIBGIT2LIB = /system/develop/lib + macx { + exists($$LIBGIT2LIB/libgit2.dylib) { + message("found libgit2 library in $$LIBGIT2LIB") +diff --git a/pri/utils.pri b/pri/utils.pri +index ae14ea8..eab99a0 100644 +--- a/pri/utils.pri ++++ b/pri/utils.pri +@@ -17,46 +17,6 @@ + # $Date: 2013-01-12 07:45:08 +0100 (Sa, 12. Jan 2013) $ + # ********************************************************************/ + +-# boost_1_54_0 is buggy +-BOOSTS = 43 44 45 46 47 48 49 50 51 52 53 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 +-LATESTBOOST = 0 +-for(boost, BOOSTS) { +- exists(../src/lib/boost_1_$${boost}_0) { +- LATESTBOOST = $$boost +- } +-} +- +-contains(LATESTBOOST, 0) { +- unix { +- !macx { +- BOOSTINFO = $$system(dpkg -s libboost-dev | grep 'Version') +- BADVERSION = $$find(BOOSTINFO, 1\.54) +- !isEmpty(BADVERSION) { +- message("Boost 1.54 has a bug in a function that Fritzing uses, so download or install some other version") +- error("Easiest to copy the boost library to .../src/lib/, so that you have .../src/lib/boost_1_xx_0") +- } +- isEmpty(BADVERSION) { +- BOOSTVERSION = $$find(BOOSTINFO, 1\...\.0) +- !isEmpty(BOOSTVERSION) { +- LATESTBOOST = installed +- message("using installed BOOST library") +- } +- } +- } +- } +-} +- +-contains(LATESTBOOST, 0) { +- message("Please download the boost library--you can find it at http://www.boost.org/") +- message("Note that boost 1.54 has a bug in a function that Fritzing uses, so download some other version") +- error("Copy the boost library to .../src/lib/, so that you have .../src/lib/boost_1_xx_0") +-} +- +-!contains(LATESTBOOST, installed) { +- message("using boost from src/lib/boost_1_$${LATESTBOOST}_0") +- INCLUDEPATH += src/lib/boost_1_$${LATESTBOOST}_0 +-} +- + HEADERS += \ + src/utils/abstractstatesbutton.h \ + src/utils/autoclosemessagebox.h \ +diff --git a/src/version/partschecker.cpp b/src/version/partschecker.cpp +index a3e3967..68775b9 100644 +--- a/src/version/partschecker.cpp ++++ b/src/version/partschecker.cpp +@@ -121,7 +121,7 @@ bool PartsChecker::newPartsAvailable(const QString &repoPath, const QString & sh + /** + * Connect to the remote. + */ +- error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks); ++ error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL); + if (error) { + partsCheckerResult.partsCheckerError = PARTS_CHECKER_ERROR_REMOTE; + partsCheckerResult.errorMessage = QObject::tr("Unable to access network site for '%1'. %2").arg(repoPath).arg(sBoilerPlate1); +-- +2.16.4 + + +From 41bca8b2b94d8e0cb0bd12da8adf76726e79e957 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sat, 16 Jun 2018 22:52:27 +1000 +Subject: Set current dir to applicaton dir + + +diff --git a/src/fapplication.cpp b/src/fapplication.cpp +index 5a2693c..246ec38 100644 +--- a/src/fapplication.cpp ++++ b/src/fapplication.cpp +@@ -111,6 +111,11 @@ $Date: 2013-04-19 12:51:22 +0200 (Fr, 19. Apr 2013) $ + #endif + #endif + ++#ifdef Q_OS_HAIKU ++#include ++#define PLATFORM_NAME "haiku" ++#endif ++ + #ifdef Q_OS_WIN + #ifndef QT_NO_DEBUG + #define WIN_DEBUG +@@ -356,6 +361,10 @@ FApplication::FApplication( int & argc, char ** argv) : QApplication(argc, argv) + m_serviceType = NoService; + m_splash = NULL; + ++#ifdef Q_OS_HAIKU ++ QDir::setCurrent(QCoreApplication::applicationDirPath()); ++#endif ++ + m_arguments = arguments(); + } + +-- +2.16.4 + + +From e7700375ec915c00883b2bc2a0ae52951c2cd816 Mon Sep 17 00:00:00 2001 +From: Gerasim Troeglazov <3dEyes@gmail.com> +Date: Sat, 16 Jun 2018 23:17:21 +1000 +Subject: Fix build for secondary arch + + +diff --git a/phoenix.pro b/phoenix.pro +index 156b834..9240b89 100644 +--- a/phoenix.pro ++++ b/phoenix.pro +@@ -195,7 +195,13 @@ RESOURCES += phoenixresources.qrc + # Fritzing is using libgit2 since version 0.9.3 + + LIBGIT2INCLUDE = ../libgit2/include +-haiku:LIBGIT2INCLUDE = /system/develop/headers ++haiku { ++ LIBGIT2INCLUDE = /system/develop/headers/x86 ++ !exists($$LIBGIT2INCLUDE/git2.h) { ++ LIBGIT2INCLUDE = /system/develop/headers ++ } ++} ++ + exists($$LIBGIT2INCLUDE/git2.h) { + message("found libgit2 include path at $$LIBGIT2INCLUDE") + } +@@ -227,7 +233,12 @@ win32 { + + unix { + LIBGIT2LIB = ../libgit2/build +- haiku:LIBGIT2LIB = /system/develop/lib ++ haiku { ++ LIBGIT2LIB = /system/develop/lib/x86 ++ !exists($$LIBGIT2LIB/libgit2.so) { ++ LIBGIT2LIB = /system/develop/lib ++ } ++ } + macx { + exists($$LIBGIT2LIB/libgit2.dylib) { + message("found libgit2 library in $$LIBGIT2LIB") +-- +2.16.4 +