From f9a76a4f3405cc9c22eea0ebf68a0e007b5da31f Mon Sep 17 00:00:00 2001 From: gnastyle Date: Tue, 7 Feb 2017 18:41:54 +0100 Subject: [PATCH] imported fritzing, qucs, verilator and qelectrotech FS1509 --- ...001-Squashed-commit-of-the-following.patch | 1325 +++++++++++++++++ fritzing/PKGBUILD | 48 + fritzing/fritzing.xml | 10 + qelectrotech/PKGBUILD | 29 + qelectrotech/install-dir.patch | 39 + qelectrotech/qelectrotech.install | 17 + qucs/PKGBUILD | 55 + verilator/PKGBUILD | 24 + 8 files changed, 1547 insertions(+) create mode 100644 fritzing/0001-Squashed-commit-of-the-following.patch create mode 100644 fritzing/PKGBUILD create mode 100644 fritzing/fritzing.xml create mode 100644 qelectrotech/PKGBUILD create mode 100644 qelectrotech/install-dir.patch create mode 100644 qelectrotech/qelectrotech.install create mode 100644 qucs/PKGBUILD create mode 100644 verilator/PKGBUILD diff --git a/fritzing/0001-Squashed-commit-of-the-following.patch b/fritzing/0001-Squashed-commit-of-the-following.patch new file mode 100644 index 000000000..c22db18ef --- /dev/null +++ b/fritzing/0001-Squashed-commit-of-the-following.patch @@ -0,0 +1,1325 @@ +From aa327cb7a3e992a60ce92502223307058a4f4003 Mon Sep 17 00:00:00 2001 +From: Michael Lass +Date: Thu, 7 Jul 2016 18:31:27 +0200 +Subject: [PATCH] Squashed commit of the following: +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit c1c1dbfbac2fe59d4d33fb731dcb20ea5476b0e1 +Merge: e4a0794 30942e9 +Author: Michael Lass +Date: Thu Jul 7 18:30:18 2016 +0200 + + Merge branch 'master' into pkgpath + +commit 30942e950c38370606a6d3c5f39edf966c932bb8 +Merge: 7ab7da8 701e3a3 +Author: André Knörig +Date: Tue Jul 5 13:12:16 2016 +0200 + + Merge pull request #3251 from cjmayo/nodpkg + + check Boost version with qtCompileTest instead of dpkg + +commit 701e3a3440295dfd13b2be8eaf2badee342a1dd3 +Author: Chris Mayo +Date: Mon Jul 4 20:42:54 2016 +0100 + + check Boost version with qtCompileTest instead of dpkg + + Removes use of BOOST_INSTALLED and removes boostdetect.pri + +commit 7ab7da8ef9ccccb05c2feaa566dd337c1b16ccd6 +Merge: daac3da 8d44113 +Author: André Knörig +Date: Mon Jul 4 11:37:47 2016 +0200 + + Merge pull request #3232 from cjmayo/release + + minimise initial size of cloned parts repository in releases + +commit daac3daddc553d7c890e4252c6788829ed1d49be +Merge: 21e1f5d c0f4dbb +Author: André Knörig +Date: Mon Jul 4 11:16:37 2016 +0200 + + Merge pull request #3249 from fritzing/cjmayo-system-libs + + Update to "Support System Boost and libgit2" + +commit c0f4dbb03622ae524a1d544cad5a3f13f32c3cd4 +Author: André Knörig +Date: Mon Jul 4 11:05:11 2016 +0200 + + adjust libgit2 paths + +commit 19234581eeec87037732f60be813cfe7cbc49f5f +Author: Chris Mayo +Date: Sun Jul 3 17:54:36 2016 +0100 + + detect and use system libgit2 with pkg-config + +commit 4d55a72f5fc82f3f2e100fcb79ae63bc767392c0 +Author: Chris Mayo +Date: Sun Jul 3 17:54:36 2016 +0100 + + add the option to use installed boost + +commit 1d904ca3099661e67b15f70b5071f2bf3d18d900 +Author: Chris Mayo +Date: Sun Jul 3 17:54:36 2016 +0100 + + phoenix.pro: use else consistently + +commit b189d64861ef5f64fd4bb3008c24862a4908c970 +Author: Chris Mayo +Date: Sun Jul 3 17:54:36 2016 +0100 + + phoenix.pro: tidy-up whitespace + +commit e4a0794fb62afe4f8a90617ad6ef2c6b9c553f6e +Author: Chris Mayo +Date: Sun Jul 3 17:52:24 2016 +0100 + + provide script for user to clone parts library + +commit c1bce451169b37b4390f46dfde81d1ddacd6c21d +Author: Chris Mayo +Date: Sun Jul 3 17:52:24 2016 +0100 + + allow user and administrator to install parts library + + Fritzing may be installed in a location that is read-only but the user + may want to control their own parts library e.g. to keep up-to-date + using the new Git facility. + + Look for parts directory in the order: + ~/.local/share/fritzing - user override + /usr/local/share/fritzing - adminstrator override + - the location of translations and help directories, could + be either of the above but as installed will default to PKGDATADIR, may + be set at runtime with -f + + Default to /parts + + Use the definition of PKGDATADIR as an indicator that Fritzing will be + installed. + +commit d95cc53fab4304e7f08748b6fe0105bfe7413f96 +Author: Chris Mayo +Date: Sun Jul 3 17:52:24 2016 +0100 + + don't scan filesystem for application directory if installed + + Look for application files in the order: + ~/.local/share/fritzing - user override + /usr/local/share/fritzing - adminstrator override + PKGDATADIR - default installation (PKGDATADIR could be + /usr/local/share/fritzing) + + Use the definition of PKGDATADIR as an indicator that Fritzing will be + installed. + +commit 8d44113af154e3dfcbb6a4de71bc3a8428cdaabd +Author: Chris Mayo +Date: Wed Jun 29 21:07:53 2016 +0100 + + minimise initial size of cloned parts repository in releases + + Only copy master branch. + +commit 21e1f5d69f67c289b5928bf43b7dec5723281321 +Merge: 913dca8 3d66435 +Author: André Knörig +Date: Thu Jun 23 11:47:47 2016 +0200 + + Merge pull request #3241 from cjmayo/forum + + update forum address in readme.md + +commit 3d664357409a3d44d143cea5375cd2cd6b01041b +Author: Chris Mayo +Date: Sun Jun 19 20:38:07 2016 +0100 + + update forum address in readme.md + +commit 913dca8ab12ac17147edaf8935f57bdef3343100 +Merge: de84594 c8c7fc5 +Author: André Knörig +Date: Sun Jun 19 11:58:53 2016 +0200 + + Merge pull request #3239 from cjmayo/help + + remove extra spaces and blank lines in --help + +commit de84594f3b32d7d3996416c30fcdd4778bc8e013 +Merge: 22158d1 9bcffaf +Author: André Knörig +Date: Sun Jun 19 11:57:42 2016 +0200 + + Merge pull request #3240 from cjmayo/libs + + phoenix.pro: with system quazip don't need -lz -lminizp or minizip.h + +commit c8c7fc5a3bfe5e493a865917dad8e148bd8abba0 +Author: Chris Mayo +Date: Sat Jun 18 15:21:05 2016 +0100 + + remove extra spaces and blank lines in --help + + Replace comma between versions with hyphen. + + qDebug() automatically puts a single space between each item, and + outputs a newline at the end. + http://doc.qt.io/qt-5/qtglobal.html#qDebug + +commit 9bcffaf26301a4bb6161a0c712ca481629cffce8 +Author: Chris Mayo +Date: Fri Jun 17 21:04:17 2016 +0100 + + phoenix.pro: with system quazip don't need -lz -lminizp or minizip.h + +commit 22158d1e3b114ed8eed0ed06662747b070eaf809 +Merge: 91014aa 1fa87c4 +Author: André Knörig +Date: Sun Jun 12 19:57:55 2016 +0200 + + Merge pull request #3234 from cjmayo/remove-types + + install_fritzing.sh: user does not need ~/.mime.types + +commit 1fa87c4a7d4e82c5c84315f30f510d46feb03887 +Author: Chris Mayo +Date: Sun Jun 12 16:50:40 2016 +0100 + + install_fritzing.sh: user does not need ~/.mime.types + +commit 91014aa821ad3d9e269eb953c5ae591b5f7ee7d8 +Merge: 1bdaf5e 4cb5185 +Author: André Knörig +Date: Sun Jun 12 17:42:35 2016 +0200 + + Merge pull request #3233 from cjmayo/git_remote_connect + + make compatible with libgit2 >= 0.24.0 + +commit 1bdaf5ed0fab899302d4e81f3b10754f9f011544 +Merge: 8a408b3 db04764 +Author: André Knörig +Date: Sun Jun 12 17:34:47 2016 +0200 + + Merge pull request #3231 from cjmayo/mime + + use MIME database XML file and install_fritzing.sh + +commit 4cb5185d464bf98e9da5ceca72d5af907ff824ef +Author: Chris Mayo +Date: Sun Jun 12 16:31:35 2016 +0100 + + make compatible with libgit2 >= 0.24.0 + + Based on: + https://github.com/fritzing/fritzing-app/pull/3203/commits/1ffea750c05fda78c88b60b84545f6a3e1371159 + +commit db04764d3113e130a5cc7c14cf65bf004dff4d38 +Author: Chris Mayo +Date: Sun Jun 12 16:11:52 2016 +0100 + + install_fritzing.sh: update comments + +commit 4b5ab126d13bb4541f52f2fd7eee5f9f8b507524 +Author: Chris Mayo +Date: Sun Jun 12 16:11:52 2016 +0100 + + install_fritzing.sh: install application icon + +commit 2b848f1b226e24c4fb07e0dcb537952021fe69ce +Author: Chris Mayo +Date: Sun Jun 12 16:11:52 2016 +0100 + + install_fritzing.sh: install desktop file + + Provides desktop menu entry and MIME associations. + +commit 620f85dbc31f376303839ed24cf4c6b0f55f3859 +Author: Chris Mayo +Date: Sun Jun 12 16:11:52 2016 +0100 + + use MIME database XML file + + Replaces individual MIME type files which are created by + update-mime-database. + https://specifications.freedesktop.org/shared-mime-info-spec/shared-mime-info-spec-latest.html + + Install with install_fritzing.sh and phoenix.pro generated Makefile. + +commit a795b9f388e74d0a4043a06a9107b664db6605d2 +Author: Chris Mayo +Date: Sun Jun 12 16:11:52 2016 +0100 + + install_fritzing.sh: use for loops to install icons + +commit 8a408b330741ee10b844611b437d4bb00b073bf3 +Merge: c6187b9 7891497 +Author: André Knörig +Date: Thu Jun 9 10:42:20 2016 +0200 + + Merge pull request #3224 from cjmayo/desktop + + Issues with fritzing.desktop + +commit 789149760451defdf55a27647fcf1c20105cb2f8 +Author: Chris Mayo +Date: Tue Jun 7 20:01:55 2016 +0100 + + remove desktop Version entry + + Version is the version of the Desktop Entry Specification not Fritzing + +commit a64635049f62234e03344da5be6f8d3bf09e2072 +Author: Chris Mayo +Date: Tue Jun 7 20:01:55 2016 +0100 + + fix desktop Categories entry + + Single entry prefixing non-standard categories + +commit f712d0139e3a0b1146566c989a3d523da9cdcd42 +Author: Chris Mayo +Date: Tue Jun 7 20:01:55 2016 +0100 + + fix application icon does not show on GNOME desktop + + - phoenix.pro renames fritzing_icon.png to fritzing.png + - Icon value should be either an absolute path or icon name + +commit c6187b94ddd8896e0de470772447466bb0004b1f +Author: André Knörig +Date: Mon Jun 6 11:14:23 2016 +0200 + + fix vs folder paths in release script +--- + config.tests/boost/boost.pro | 1 + + config.tests/boost/main.cpp | 8 + + fritzing.desktop | 6 +- + install_fritzing.sh | 87 +++------ + phoenix.pro | 237 ++++++++++------------- + pri/libgit2detect.pri | 60 ++++++ + pri/utils.pri | 42 ++-- + readme.md | 2 +- + resources/system_icons/linux/fritzing.xml | 31 +++ + resources/system_icons/linux/x-fritzing-fz.xml | 8 - + resources/system_icons/linux/x-fritzing-fzb.xml | 8 - + resources/system_icons/linux/x-fritzing-fzbz.xml | 8 - + resources/system_icons/linux/x-fritzing-fzm.xml | 8 - + resources/system_icons/linux/x-fritzing-fzp.xml | 8 - + resources/system_icons/linux/x-fritzing-fzpz.xml | 8 - + resources/system_icons/linux/x-fritzing-fzz.xml | 8 - + src/main.cpp | 7 +- + src/utils/folderutils.cpp | 38 +++- + src/version/partschecker.cpp | 6 + + tools/deploy_fritzing_mac.sh | 2 +- + tools/linux_release_script/release.sh | 2 +- + tools/release_fritzing.bat | 20 +- + tools/user_parts_clone.sh | 8 + + 23 files changed, 302 insertions(+), 311 deletions(-) + create mode 100644 config.tests/boost/boost.pro + create mode 100644 config.tests/boost/main.cpp + create mode 100644 pri/libgit2detect.pri + create mode 100644 resources/system_icons/linux/fritzing.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fz.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fzb.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fzbz.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fzm.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fzp.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fzpz.xml + delete mode 100644 resources/system_icons/linux/x-fritzing-fzz.xml + create mode 100644 tools/user_parts_clone.sh + +diff --git a/config.tests/boost/boost.pro b/config.tests/boost/boost.pro +new file mode 100644 +index 0000000..bba41b9 +--- /dev/null ++++ b/config.tests/boost/boost.pro +@@ -0,0 +1 @@ ++SOURCES = main.cpp +diff --git a/config.tests/boost/main.cpp b/config.tests/boost/main.cpp +new file mode 100644 +index 0000000..a245b7c +--- /dev/null ++++ b/config.tests/boost/main.cpp +@@ -0,0 +1,8 @@ ++#include ++#if BOOST_VERSION / 100000 == 1 && BOOST_VERSION / 100 % 1000 == 54 ++#error "Boost 1.54 found" ++#endif ++ ++int main() ++{ ++} +diff --git a/fritzing.desktop b/fritzing.desktop +index 854319e..6b88de2 100644 +--- a/fritzing.desktop ++++ b/fritzing.desktop +@@ -1,14 +1,12 @@ + [Desktop Entry] +-Version=0.9.3b + Name=Fritzing + GenericName=Fritzing + Comment=Electronic Design Automation software + Exec=Fritzing +-Icon=icons/fritzing_icon.png ++Icon=fritzing + Terminal=false + Type=Application +-Categories=Development;IDE;Electronics;EDA; ++Categories=Development;IDE;Electronics;X-EDA;X-PCB; + X-SuSE-translate=false + StartupNotify=true +-Categories=PCB; + MimeType=application/x-fritzing-fz;application/x-fritzing-fzz;application/x-fritzing-fzp;application/x-fritzing-fzpz;application/x-fritzing-fzb;application/x-fritzing-fzbz;application/x-fritzing-fzm; +diff --git a/install_fritzing.sh b/install_fritzing.sh +index 5a1a6a9..30ddc59 100644 +--- a/install_fritzing.sh ++++ b/install_fritzing.sh +@@ -1,71 +1,46 @@ + #!/bin/sh + # + # this is a rough beginning of a linux install script for fritzing +-# sets up document icons and file associations using mime types +- +-APPDIR=$(dirname "$0") ++# sets up document icons and file associations using MIME types ++# ++# first ensure fritzing is unpacked in its final destination ++# and then run this script + +-# check if user .mime.types file exists, otherwise create it +-if [ ! -f ~/.mime.types ] +-then +- echo "creating user mime.types file" +- touch ~/.mime.types +-fi ++APPLICATIONSDIR="${HOME}/.local/share/applications" ++MIMEDIR="${HOME}/.local/share/mime" ++PACKAGESDIR="${MIMEDIR}/packages" + +-# add mime types for fritzing file formats +-grep -q application/x-fritzing ~/.mime.types +-if [ $? -eq 0 ] +-then +- echo "fritzing mime types already registered" +-else +- echo "application/x-fritzing-fz fritzing" >> ~/.mime.types +- echo "application/x-fritzing-fzz fritzing" >> ~/.mime.types +- echo "application/x-fritzing-fzp fritzing" >> ~/.mime.types +- echo "application/x-fritzing-fzpz fritzing" >> ~/.mime.types +- echo "application/x-fritzing-fzb fritzing" >> ~/.mime.types +- echo "application/x-fritzing-fzbz fritzing" >> ~/.mime.types +- echo "application/x-fritzing-fzm fritzing" >> ~/.mime.types +-fi ++APPDIR=$(dirname "$0") + + cd $APPDIR + +-# install fritzing into mime user directory +-xdg-mime install --mode user 'icons/x-fritzing-fz.xml' +-xdg-mime install --mode user 'icons/x-fritzing-fzz.xml' +-xdg-mime install --mode user 'icons/x-fritzing-fzp.xml' +-xdg-mime install --mode user 'icons/x-fritzing-fzpz.xml' +-xdg-mime install --mode user 'icons/x-fritzing-fzb.xml' +-xdg-mime install --mode user 'icons/x-fritzing-fzbz.xml' +-xdg-mime install --mode user 'icons/x-fritzing-fzm.xml' ++# install fritzing into user MIME packages directory ++mkdir -p "${PACKAGESDIR}" ++cp icons/fritzing.xml "${PACKAGESDIR}" || exit 1 + +-# set the default application to fritzing.desktop +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fz +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fzz +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fzp +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fzpz +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fzb +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fzbz +-xdg-mime default 'fritzing.desktop' application/x-fritzing-fzm ++# install fritzing desktop entry for user (includes MIME associations) ++desktop-file-edit --set-key=Exec --set-value="$(pwd)/Fritzing" fritzing.desktop ++xdg-desktop-menu install --novendor --mode user fritzing.desktop + +-# install image-files into user mime system with specified size ++# install image-files into user hicolor theme with specified size + # ~/.local/share/icons/hicolor/*size* +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fz_icon128.png' application-x-fritzing-fz +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fz_icon256.png' application-x-fritzing-fz +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fzz_icon128.png' application-x-fritzing-fzz +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fzz_icon256.png' application-x-fritzing-fzz +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fzp_icon128.png' application-x-fritzing-fzp +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fzp_icon256.png' application-x-fritzing-fzp +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fzpz_icon128.png' application-x-fritzing-fzpz +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fzpz_icon256.png' application-x-fritzing-fzpz +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fzb_icon128.png' application-x-fritzing-fzb +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fzb_icon256.png' application-x-fritzing-fzb +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fzbz_icon128.png' application-x-fritzing-fzbz +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fzbz_icon256.png' application-x-fritzing-fzbz +-xdg-icon-resource install --mode user --context mimetypes --size 128 'icons/fzm_icon128.png' application-x-fritzing-fzm +-xdg-icon-resource install --mode user --context mimetypes --size 256 'icons/fzm_icon256.png' application-x-fritzing-fzm ++# /apps ++xdg-icon-resource install --noupdate --novendor --mode user --context apps \ ++ --size 256 icons/fritzing_icon.png fritzing ++# /mimetypes ++ICON_SIZES="128 256" ++FILE_EXTENSIONS="fz fzz fzb fzbz fzp fzpz fzm" ++for size in ${ICON_SIZES}; do ++ for extension in ${FILE_EXTENSIONS}; do ++ xdg-icon-resource install --noupdate --mode user --context mimetypes \ ++ --size ${size} "icons/${extension}_icon${size}.png" \ ++ "application-x-fritzing-${extension}" ++ done ++done + + # update user databases +-update-desktop-database ~/.local/share/applications +-update-mime-database ~/.local/share/mime ++update-desktop-database "${APPLICATIONSDIR}" ++update-mime-database "${MIMEDIR}" ++xdg-icon-resource forceupdate --mode user + + echo "installed fritzing system icons" +diff --git a/phoenix.pro b/phoenix.pro +index 301ce0c..26e25b5 100644 +--- a/phoenix.pro ++++ b/phoenix.pro +@@ -1,7 +1,7 @@ + # /******************************************************************* + # + # Part of the Fritzing project - http://fritzing.org +-# Copyright (c) 2007-08 Fritzing ++# Copyright (c) 2007-16 Fritzing + # + # Fritzing is free software: you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by +@@ -30,116 +30,125 @@ + # + # QTPLUGIN += qjpeg qsqlite + +- + CONFIG += debug_and_release + ++unix:!macx { ++ CONFIG += link_pkgconfig ++} ++ ++load(configure) ++ + win32 { + # release build using msvc 2010 needs to use Multi-threaded (/MT) for the code generation/runtime library option + # release build using msvc 2010 needs to add msvcrt.lib;%(IgnoreSpecificDefaultLibraries) to the linker/no default libraries option +- CONFIG -= embed_manifest_exe +- INCLUDEPATH += $$[QT_INSTALL_HEADERS]/QtZlib +- DEFINES += _CRT_SECURE_NO_DEPRECATE +- DEFINES += _WINDOWS +- RELEASE_SCRIPT = $$(RELEASE_SCRIPT) # environment variable set from release script +- +- message("target arch: $${QMAKE_TARGET.arch}") +- contains(QMAKE_TARGET.arch, x86_64) { +- RELDIR = ../release64 +- DEBDIR = ../debug64 +- DEFINES += WIN64 +- } +- !contains(QMAKE_TARGET.arch, x86_64) { +- RELDIR = ../release32 +- DEBDIR = ../debug32 +- } ++ CONFIG -= embed_manifest_exe ++ INCLUDEPATH += $$[QT_INSTALL_HEADERS]/QtZlib ++ DEFINES += _CRT_SECURE_NO_DEPRECATE ++ DEFINES += _WINDOWS ++ RELEASE_SCRIPT = $$(RELEASE_SCRIPT) # environment variable set from release script + +- Release:DESTDIR = $${RELDIR} +- Release:OBJECTS_DIR = $${RELDIR} +- Release:MOC_DIR = $${RELDIR} +- Release:RCC_DIR = $${RELDIR} +- Release:UI_DIR = $${RELDIR} +- +- Debug:DESTDIR = $${DEBDIR} +- Debug:OBJECTS_DIR = $${DEBDIR} +- Debug:MOC_DIR = $${DEBDIR} +- Debug:RCC_DIR = $${DEBDIR} +- Debug:UI_DIR = $${DEBDIR} +-} +-macx { ++ message("target arch: $${QMAKE_TARGET.arch}") ++ contains(QMAKE_TARGET.arch, x86_64) { + RELDIR = ../release64 + DEBDIR = ../debug64 +- Release:DESTDIR = $${RELDIR} +- Release:OBJECTS_DIR = $${RELDIR} +- Release:MOC_DIR = $${RELDIR} +- Release:RCC_DIR = $${RELDIR} +- Release:UI_DIR = $${RELDIR} +- +- Debug:DESTDIR = $${DEBDIR} +- Debug:OBJECTS_DIR = $${DEBDIR} +- Debug:MOC_DIR = $${DEBDIR} +- Debug:RCC_DIR = $${DEBDIR} +- Debug:UI_DIR = $${DEBDIR} +- +- QMAKE_MAC_SDK = macosx10.11 # uncomment/adapt for your version of OSX +- CONFIG += x86_64 # x86 ppc +- QMAKE_INFO_PLIST = FritzingInfo.plist +- #DEFINES += QT_NO_DEBUG # uncomment this for xcode +- LIBS += -lz +- LIBS += /usr/lib/libz.dylib +- LIBS += /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation +- LIBS += /System/Library/Frameworks/Carbon.framework/Carbon +- LIBS += /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit ++ DEFINES += WIN64 ++ } else { ++ RELDIR = ../release32 ++ DEBDIR = ../debug32 ++ } ++ ++ Release:DESTDIR = $${RELDIR} ++ Release:OBJECTS_DIR = $${RELDIR} ++ Release:MOC_DIR = $${RELDIR} ++ Release:RCC_DIR = $${RELDIR} ++ Release:UI_DIR = $${RELDIR} ++ ++ Debug:DESTDIR = $${DEBDIR} ++ Debug:OBJECTS_DIR = $${DEBDIR} ++ Debug:MOC_DIR = $${DEBDIR} ++ Debug:RCC_DIR = $${DEBDIR} ++ Debug:UI_DIR = $${DEBDIR} ++} ++macx { ++ RELDIR = ../release64 ++ DEBDIR = ../debug64 ++ Release:DESTDIR = $${RELDIR} ++ Release:OBJECTS_DIR = $${RELDIR} ++ Release:MOC_DIR = $${RELDIR} ++ Release:RCC_DIR = $${RELDIR} ++ Release:UI_DIR = $${RELDIR} ++ ++ Debug:DESTDIR = $${DEBDIR} ++ Debug:OBJECTS_DIR = $${DEBDIR} ++ Debug:MOC_DIR = $${DEBDIR} ++ Debug:RCC_DIR = $${DEBDIR} ++ Debug:UI_DIR = $${DEBDIR} ++ ++ QMAKE_MAC_SDK = macosx10.11 # uncomment/adapt for your version of OSX ++ CONFIG += x86_64 # x86 ppc ++ QMAKE_INFO_PLIST = FritzingInfo.plist ++ #DEFINES += QT_NO_DEBUG # uncomment this for xcode ++ LIBS += -lz ++ LIBS += /usr/lib/libz.dylib ++ LIBS += /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation ++ LIBS += /System/Library/Frameworks/Carbon.framework/Carbon ++ LIBS += /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit + } + unix { + !macx { # unix is defined on mac + HARDWARE_PLATFORM = $$system(uname -m) +- contains( HARDWARE_PLATFORM, x86_64 ) { ++ contains(HARDWARE_PLATFORM, x86_64) { + DEFINES += LINUX_64 + } else { + DEFINES += LINUX_32 + } +- LIBS += -lz ++ !contains(DEFINES, QUAZIP_INSTALLED) { ++ LIBS += -lz ++ } + } + +- isEmpty(PREFIX) { +- PREFIX = /usr +- } +- BINDIR = $$PREFIX/bin +- DATADIR = $$PREFIX/share +- PKGDATADIR = $$DATADIR/fritzing ++ isEmpty(PREFIX) { ++ PREFIX = /usr ++ } ++ BINDIR = $$PREFIX/bin ++ DATADIR = $$PREFIX/share ++ PKGDATADIR = $$DATADIR/fritzing ++ ++ DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" + +- DEFINES += DATADIR=\\\"$$DATADIR\\\" PKGDATADIR=\\\"$$PKGDATADIR\\\" ++ target.path = $$BINDIR + +- target.path =$$BINDIR ++ desktop.path = $$DATADIR/applications ++ desktop.files += fritzing.desktop + +- desktop.path = $$DATADIR/applications +- desktop.files += fritzing.desktop ++ mimedb.path = $$DATADIR/mime/packages ++ mimedb.files += resources/system_icons/linux/fritzing.xml + +- manpage.path = $$DATADIR/man/man1 +- manpage.files += Fritzing.1 ++ manpage.path = $$DATADIR/man/man1 ++ manpage.files += Fritzing.1 + +- icon.path = $$DATADIR/icons +- icon.extra = install -D -m 0644 $$PWD/resources/images/fritzing_icon.png $(INSTALL_ROOT)$$DATADIR/icons/fritzing.png ++ icon.path = $$DATADIR/icons ++ icon.extra = install -D -m 0644 $$PWD/resources/images/fritzing_icon.png $(INSTALL_ROOT)$$DATADIR/icons/fritzing.png + +- parts.path = $$PKGDATADIR +- parts.files += parts ++ parts.path = $$PKGDATADIR ++ parts.files += parts + +- help.path = $$PKGDATADIR +- help.files += help ++ help.path = $$PKGDATADIR ++ help.files += help + +- sketches.path = $$PKGDATADIR +- sketches.files += sketches ++ sketches.path = $$PKGDATADIR ++ sketches.files += sketches + +- bins.path = $$PKGDATADIR +- bins.files += bins ++ 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 \\; ++ 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 ++ syntax.path = $$PKGDATADIR/translations/syntax ++ syntax.files += translations/syntax/*.xml + +- INSTALLS += target desktop manpage icon parts sketches bins translations syntax help ++ INSTALLS += target desktop mimedb manpage icon parts sketches bins translations syntax help + } + + ICON = resources/system_icons/macosx/fritzing_icon.icns +@@ -160,61 +169,13 @@ greaterThan(QT_MAJOR_VERSION, 4) { + RC_FILE = fritzing.rc + RESOURCES += phoenixresources.qrc + +- + # Fritzing is using libgit2 since version 0.9.3 +- +-LIBGIT2INCLUDE = ../libgit2/include +-exists($$LIBGIT2INCLUDE/git2.h) { +- message("found libgit2 include path at $$LIBGIT2INCLUDE") +-} +-else { +- message("Fritzing requires libgit2") +- message("Build it from the repo at https://github.com/libgit2") +- message("See https://github.com/fritzing/fritzing-app/wiki for details.") +- +- error("libgit2 include path not found in $$LIBGIT2INCLUDE") +-} +- +-INCLUDEPATH += $$LIBGIT2INCLUDE +- +-win32 { +- contains(QMAKE_TARGET.arch, x86_64) { +- LIBGIT2LIB = ../libgit2/build64 +- } +- else { +- LIBGIT2LIB = ../libgit2/build32 +- } +- +- exists($$LIBGIT2LIB/git2.lib) { +- message("found libgit2 library in $$LIBGIT2LIB") +- } +- else { +- error("libgit2 library not found in $$LIBGIT2LIB") +- } +-} +- +-unix { +- LIBGIT2LIB = ../libgit2/build +- macx { +- exists($$LIBGIT2LIB/libgit2.dylib) { +- message("found libgit2 library in $$LIBGIT2LIB") +- } +- else { +- error("libgit2 library not found in $$LIBGIT2LIB") +- } +- } +- !macx { +- exists($$LIBGIT2LIB/libgit2.so) { +- message("found libgit2 library in $$LIBGIT2LIB") +- } +- else { +- error("libgit2 library not found in $$LIBGIT2LIB") +- } +- } ++packagesExist(libgit2) { ++ PKGCONFIG += libgit2 ++} else { ++ include(pri/libgit2detect.pri) + } + +-LIBS += -L$$LIBGIT2LIB -lgit2 +- + include(pri/kitchensink.pri) + include(pri/mainwindow.pri) + include(pri/partsbinpalette.pri) +@@ -237,16 +198,14 @@ include(pri/translations.pri) + include(pri/program.pri) + include(pri/qtsysteminfo.pri) + +-!contains(DEFINES, QUAZIP_INSTALLED) { +- include(pri/quazip.pri) +-} + contains(DEFINES, QUAZIP_INSTALLED) { +- INCLUDEPATH += /usr/include/quazip /usr/include/minizip +- LIBS += -lquazip -lminizip ++ INCLUDEPATH += /usr/include/quazip ++ LIBS += -lquazip ++} else { ++ include(pri/quazip.pri) + } + + TARGET = Fritzing + TEMPLATE = app + +- + message("libs $$LIBS") +diff --git a/pri/libgit2detect.pri b/pri/libgit2detect.pri +new file mode 100644 +index 0000000..9512f9d +--- /dev/null ++++ b/pri/libgit2detect.pri +@@ -0,0 +1,60 @@ ++# /******************************************************************* ++# Part of the Fritzing project - http://fritzing.org ++# Copyright (c) 2016 Fritzing ++# Fritzing is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++# Fritzing is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# You should have received a copy of the GNU General Public License ++# along with Fritzing. If not, see . ++# ******************************************************************** ++ ++LIBGIT2INCLUDE = $$_PRO_FILE_PWD_/../libgit2/include ++exists($$LIBGIT2INCLUDE/git2.h) { ++ message("found libgit2 include path at $$LIBGIT2INCLUDE") ++} else { ++ message("Fritzing requires libgit2") ++ message("Build it from the repo at https://github.com/libgit2") ++ message("See https://github.com/fritzing/fritzing-app/wiki for details.") ++ ++ error("libgit2 include path not found in $$LIBGIT2INCLUDE") ++} ++ ++INCLUDEPATH += $$LIBGIT2INCLUDE ++ ++win32 { ++ contains(QMAKE_TARGET.arch, x86_64) { ++ LIBGIT2LIB = ../libgit2/build64 ++ } else { ++ LIBGIT2LIB = ../libgit2/build32 ++ } ++ ++ exists($$LIBGIT2LIB/git2.lib) { ++ message("found libgit2 library in $$LIBGIT2LIB") ++ } else { ++ error("libgit2 library not found in $$LIBGIT2LIB") ++ } ++} ++ ++unix { ++ LIBGIT2LIB = $$_PRO_FILE_PWD_/../libgit2/build ++ macx { ++ exists($$LIBGIT2LIB/libgit2.dylib) { ++ message("found libgit2 library in $$LIBGIT2LIB") ++ } else { ++ error("libgit2 library not found in $$LIBGIT2LIB") ++ } ++ } else { ++ exists($$LIBGIT2LIB/libgit2.so) { ++ message("found libgit2 library in $$LIBGIT2LIB") ++ } else { ++ error("libgit2 library not found in $$LIBGIT2LIB") ++ } ++ } ++} ++ ++LIBS += -L$$LIBGIT2LIB -lgit2 +diff --git a/pri/utils.pri b/pri/utils.pri +index ae14ea8..210570f 100644 +--- a/pri/utils.pri ++++ b/pri/utils.pri +@@ -1,6 +1,6 @@ + # /******************************************************************* + # Part of the Fritzing project - http://fritzing.org +-# Copyright (c) 2007-08 Fritzing ++# Copyright (c) 2007-16 Fritzing + # Fritzing is free software: you can redistribute it and/or modify + # it under the terms of the GNU General Public License as published by + # the Free Software Foundation, either version 3 of the License, or +@@ -21,39 +21,24 @@ + 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") +- } +- } +- } ++ exists(../src/lib/boost_1_$${boost}_0) { ++ LATESTBOOST = $$boost + } + } + + 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") ++ qtCompileTest(boost) ++ config_boost { ++ LATESTBOOST = installed ++ message("using installed Boost library") ++ } else { ++ 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") ++ } + } + + !contains(LATESTBOOST, installed) { +- message("using boost from src/lib/boost_1_$${LATESTBOOST}_0") ++ message("using Boost from src/lib/boost_1_$${LATESTBOOST}_0") + INCLUDEPATH += src/lib/boost_1_$${LATESTBOOST}_0 + } + +@@ -110,6 +95,3 @@ src/utils/schematicrectconstants.cpp \ + src/utils/s2s.cpp \ + src/utils/textutils.cpp \ + src/utils/zoomslider.cpp +- +- +- +diff --git a/readme.md b/readme.md +index 35cf623..35bfc89 100644 +--- a/readme.md ++++ b/readme.md +@@ -4,7 +4,7 @@ The Fritzing application is an Electronic Design Automation software with a low + + * For more information on Fritzing and its related activities, visit [http://fritzing.org](http://fritzing.org). There you can also [download](http://fritzing.org/download) the latest releases for all platforms and get help on getting started. + +-* To report a problem or suggest improvements, use the [issue tracker](https://github.com/fritzing/fritzing-app/issues) or the [user forums](http://fritzing.org/forum) ++* To report a problem or suggest improvements, use the [issue tracker](https://github.com/fritzing/fritzing-app/issues) or the [user forum](http://forum.fritzing.org) + + * If you would like to help with the development, please take a look at the [developer instructions](https://github.com/fritzing/fritzing-app/wiki). This includes information about how to compile and run the Fritzing app in a few steps. + +diff --git a/resources/system_icons/linux/fritzing.xml b/resources/system_icons/linux/fritzing.xml +new file mode 100644 +index 0000000..21c2d8f +--- /dev/null ++++ b/resources/system_icons/linux/fritzing.xml +@@ -0,0 +1,31 @@ ++ ++ ++ ++Fritzing Parts Bin ++ ++ ++ ++Fritzing Parts Bin Bundle ++ ++ ++ ++Fritzing Module ++ ++ ++ ++Fritzing Part Definition ++ ++ ++ ++Fritzing Part Bundle ++ ++ ++ ++Fritzing Sketch ++ ++ ++ ++Fritzing Sketch Bundle ++ ++ ++ +diff --git a/resources/system_icons/linux/x-fritzing-fz.xml b/resources/system_icons/linux/x-fritzing-fz.xml +deleted file mode 100644 +index 95c664b..0000000 +--- a/resources/system_icons/linux/x-fritzing-fz.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Sketch +- +- +- +- +diff --git a/resources/system_icons/linux/x-fritzing-fzb.xml b/resources/system_icons/linux/x-fritzing-fzb.xml +deleted file mode 100644 +index 855f1fa..0000000 +--- a/resources/system_icons/linux/x-fritzing-fzb.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Parts Bin +- +- +- +- +diff --git a/resources/system_icons/linux/x-fritzing-fzbz.xml b/resources/system_icons/linux/x-fritzing-fzbz.xml +deleted file mode 100644 +index 6259c91..0000000 +--- a/resources/system_icons/linux/x-fritzing-fzbz.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Parts Bin Bundle +- +- +- +- +diff --git a/resources/system_icons/linux/x-fritzing-fzm.xml b/resources/system_icons/linux/x-fritzing-fzm.xml +deleted file mode 100644 +index d7bd74c..0000000 +--- a/resources/system_icons/linux/x-fritzing-fzm.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Module +- +- +- +- +diff --git a/resources/system_icons/linux/x-fritzing-fzp.xml b/resources/system_icons/linux/x-fritzing-fzp.xml +deleted file mode 100644 +index d7eeb8d..0000000 +--- a/resources/system_icons/linux/x-fritzing-fzp.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Part Definition +- +- +- +- +diff --git a/resources/system_icons/linux/x-fritzing-fzpz.xml b/resources/system_icons/linux/x-fritzing-fzpz.xml +deleted file mode 100644 +index d6e7ea6..0000000 +--- a/resources/system_icons/linux/x-fritzing-fzpz.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Part Bundle +- +- +- +- +diff --git a/resources/system_icons/linux/x-fritzing-fzz.xml b/resources/system_icons/linux/x-fritzing-fzz.xml +deleted file mode 100644 +index 865b0f1..0000000 +--- a/resources/system_icons/linux/x-fritzing-fzz.xml ++++ /dev/null +@@ -1,8 +0,0 @@ +- +- +- +-Fritzing Sketch Bundle +- +- +- +- +diff --git a/src/main.cpp b/src/main.cpp +index ae484b5..32bf90d 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -151,8 +151,8 @@ int main(int argc, char *argv[]) + app->finish(); + } + else { +- qDebug() << "\n" +- "Fritzing version " << Version::versionString() << " , Qt version " << QT_VERSION_STR << "\n" ++ qDebug() << ++ "Fritzing version" << Version::versionString() << "- Qt version" << QT_VERSION_STR << "\n" + "\n" + "usage: fritzing [-d] [-f path] filename\n" + " fritzing [-f path] -geda folder\n" +@@ -191,8 +191,7 @@ int main(int argc, char *argv[]) + "The -ep option creates a menu item to launch an external process,\n" + "and puts the standard output of that process into a dialog window in Fritzing.\n" + "The process path follows the -ep argument; the name of the menu item follows the -epname argument;\n" +- "and any arguments to pass to the external process are provided in the -eparg argments.\n" +- "\n"; ++ "and any arguments to pass to the external process are provided in the -eparg argments."; + } + delete app; + } +diff --git a/src/utils/folderutils.cpp b/src/utils/folderutils.cpp +index 96f10c7..000037a 100644 +--- a/src/utils/folderutils.cpp ++++ b/src/utils/folderutils.cpp +@@ -80,6 +80,7 @@ QDir FolderUtils::getApplicationSubFolder(QString search) { + path += "/" + search; + //DebugDialog::debug(QString("path %1").arg(path) ); + QDir dir(path); ++#ifndef PKGDATADIR + while (!dir.exists()) { + // if we're running from the debug or release folder, go up one to find things + dir.cdUp(); +@@ -88,7 +89,7 @@ QDir FolderUtils::getApplicationSubFolder(QString search) { + + dir.setPath(dir.absolutePath() + "/" + search); + } +- ++#endif + return dir; + } + +@@ -120,6 +121,23 @@ QDir FolderUtils::getAppPartsSubFolder(QString search) { + + QDir FolderUtils::getAppPartsSubFolder2(QString search) { + if (m_partsPath.isEmpty()) { ++#ifdef PKGDATADIR ++ QStringList candidates; ++ candidates.append(QDir::homePath() + "/.local/share/fritzing"); ++ candidates.append("/usr/local/share/fritzing"); ++ candidates.append(m_appPath); ++ foreach (const QString &candidate, candidates) { ++ QList dirList; ++ dirList.append(QDir(candidate + "/fritzing-parts")); ++ dirList.append(QDir(candidate + "/parts")); ++ foreach (const QDir &dir, dirList) { ++ m_partsPath = dir.absolutePath(); ++ if (dir.exists()) { ++ goto setpath; ++ } ++ } ++ } ++#else + QDir dir = getApplicationSubFolder("fritzing-parts"); + if (dir.exists()) { + m_partsPath = dir.absolutePath(); +@@ -130,9 +148,10 @@ QDir FolderUtils::getAppPartsSubFolder2(QString search) { + m_partsPath = dir.absolutePath(); + } + } ++#endif + } + +- ++setpath: + QString path = search.isEmpty() ? m_partsPath : m_partsPath + "/" + search; + //DebugDialog::debug(QString("path %1").arg(path) ); + QDir dir(path); +@@ -218,8 +237,15 @@ const QString FolderUtils::applicationDirPath() { + #ifdef Q_OS_WIN + m_appPath = QCoreApplication::applicationDirPath(); + #else +- // look in standard Fritzing location (applicationDirPath and parent folders) then in standard linux locations + QStringList candidates; ++ // Look in standard Linux user and local administrator locations ++ candidates.append(QDir::homePath() + "/.local/share/fritzing"); ++ candidates.append("/usr/local/share/fritzing"); ++#ifdef PKGDATADIR ++ // look in installed location ++ candidates.append(QLatin1String(PKGDATADIR)); ++#else ++ // look in standard Fritzing location (applicationDirPath and parent folders) + candidates.append(QCoreApplication::applicationDirPath()); + QDir dir(QCoreApplication::applicationDirPath()); + if (dir.cdUp()) { +@@ -231,14 +257,8 @@ const QString FolderUtils::applicationDirPath() { + } + } + } +- +-#ifdef PKGDATADIR +- candidates.append(QLatin1String(PKGDATADIR)); +-#else + candidates.append("/usr/share/fritzing"); +- candidates.append("/usr/local/share/fritzing"); + #endif +- candidates.append(QDir::homePath() + "/.local/share/fritzing"); + foreach (QString candidate, candidates) { + //DebugDialog::debug(QString("candidate:%1").arg(candidate)); + QDir dir(candidate); +diff --git a/src/version/partschecker.cpp b/src/version/partschecker.cpp +index a3e3967..3d54c6b 100644 +--- a/src/version/partschecker.cpp ++++ b/src/version/partschecker.cpp +@@ -121,7 +121,13 @@ bool PartsChecker::newPartsAvailable(const QString &repoPath, const QString & sh + /** + * Connect to the remote. + */ ++#if LIBGIT2_VER_MINOR > 24 ++ error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL); ++#elif LIBGIT2_VER_MINOR == 24 ++ error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL); ++#else + error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks); ++#endif + if (error) { + partsCheckerResult.partsCheckerError = PARTS_CHECKER_ERROR_REMOTE; + partsCheckerResult.errorMessage = QObject::tr("Unable to access network site for '%1'. %2").arg(repoPath).arg(sBoilerPlate1); +diff --git a/tools/deploy_fritzing_mac.sh b/tools/deploy_fritzing_mac.sh +index 3f73fe9..ff6aa54 100755 +--- a/tools/deploy_fritzing_mac.sh ++++ b/tools/deploy_fritzing_mac.sh +@@ -42,7 +42,7 @@ rm ./translations/*.ts # remove translation xml files, since we only need th + find ./translations -name "*.qm" -size -128c -delete # delete empty translation binaries + + echo ">> clone parts repository" +-git clone https://github.com/fritzing/fritzing-parts.git ++git clone --branch master --single-branch https://github.com/fritzing/fritzing-parts.git + echo ">> build parts database and run fritzing" + ./Fritzing -db "fritzing-parts/parts.db" # -pp "fritzing-parts" -f "." + +diff --git a/tools/linux_release_script/release.sh b/tools/linux_release_script/release.sh +index 60b96dc..d082101 100755 +--- a/tools/linux_release_script/release.sh ++++ b/tools/linux_release_script/release.sh +@@ -64,7 +64,7 @@ echo "cleaning translations" + rm ./translations/*.ts # remove translation xml files, since we only need the binaries in the release + find ./translations -name "*.qm" -size -128c -delete # delete empty translation binaries + +-git clone https://github.com/fritzing/fritzing-parts.git ++git clone --branch master --single-branch https://github.com/fritzing/fritzing-parts.git + + echo "making library folders" + mkdir lib +diff --git a/tools/release_fritzing.bat b/tools/release_fritzing.bat +index 314cd9b..4c7c6fd 100644 +--- a/tools/release_fritzing.bat ++++ b/tools/release_fritzing.bat +@@ -3,7 +3,7 @@ echo off + echo . + echo you must start this script from the Visual Studio Command Line Window + echo find this under the start menu at (depending on your version of Visual Studio): +-echo All Programs / Microsoft Visual Studio 2012 / Visual Studio Tools / Developer Command Prompt ++echo All Programs / Microsoft Visual Studio 2012 / Visual Studio Tools / Developer Command Prompt + echo for the 64-bit build, use the 64-bit prompt: + echo All Programs / Microsoft Visual Studio 2012 / Visual Studio Tools / VS2012 x64 Cross Tools Command Prompt + echo. +@@ -59,7 +59,7 @@ IF %2==64 ( + set arch=. + ) ELSE ( + echo second parameter--target architecture--should be either "32" for a 32-bit build or "64" for a 64-bit build +- EXIT /B ++ EXIT /B + ) + ) + +@@ -77,7 +77,7 @@ cd .. + set LIBGIT2=%~dp0..\..\libgit2\build%2 + + rem set environment variable for qmake phoenix.pro +-set RELEASE_SCRIPT="release_script" ++set RELEASE_SCRIPT="release_script" + + + %QMAKE% -o Makefile phoenix.pro %arch% +@@ -128,7 +128,7 @@ xcopy /q %QTBIN%\icu*.dll %DESTDIR%\deploy /E /I + copy %QTBIN%\..\plugins\imageformats\qjpeg.dll %DESTDIR%\deploy\lib\imageformats\qjpeg.dll + copy %QTBIN%\..\plugins\sqldrivers\qsqlite.dll %DESTDIR%\deploy\lib\sqldrivers\qsqlite.dll + copy %QTBIN%\..\plugins\platforms\qwindows.dll %DESTDIR%\deploy\platforms\qwindows.dll +-copy %QTBIN%\..\plugins\printsupport\windowsprintersupport.dll %DESTDIR%\deploy\lib\printsupport\windowsprintersupport.dll ++copy %QTBIN%\..\plugins\printsupport\windowsprintersupport.dll %DESTDIR%\deploy\lib\printsupport\windowsprintersupport.dll + + echo copying git2.dll from %LIBGIT2% + copy %LIBGIT2%\git2.dll %DESTDIR%\deploy\git2.dll +@@ -157,7 +157,7 @@ set CURRENTDIR=%cd% + cd %DESTDIR% + cd deploy + +-git clone https://github.com/fritzing/fritzing-parts.git ++git clone --branch master --single-branch https://github.com/fritzing/fritzing-parts.git + + del/s placeholder.txt + cd translations +@@ -177,11 +177,11 @@ IF %2==32 ( + ) + + IF %3==2012 ( +- copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC140.CRT\msvcp110.dll" %DESTDIR%\deploy\msvcp110.dll +- copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC140.CRT\msvcr110.dll" %DESTDIR%\deploy\msvcr110.dll ++ copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC110.CRT\msvcp110.dll" %DESTDIR%\deploy\msvcp110.dll ++ copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC110.CRT\msvcr110.dll" %DESTDIR%\deploy\msvcr110.dll + ) ELSE IF %3==2013 ( +- copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC140.CRT\msvcp120.dll" %DESTDIR%\deploy\msvcp120.dll +- copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC140.CRT\msvcr120.dll" %DESTDIR%\deploy\msvcr120.dll ++ copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC120.CRT\msvcp120.dll" %DESTDIR%\deploy\msvcp120.dll ++ copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC120.CRT\msvcr120.dll" %DESTDIR%\deploy\msvcr120.dll + ) ELSE IF %3==2015 ( + copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC140.CRT\msvcp140.dll" %DESTDIR%\deploy\msvcp140.dll + copy "%VCINSTALLDIR%redist\%XFOLDER%\Microsoft.VC140.CRT\vcruntime140.dll" %DESTDIR%\deploy\vcruntime140.dll +@@ -198,4 +198,4 @@ FOR /F %%i IN ("%DESTDIR%\forzip") DO SET SRC=%%~fi + FOR /F %%i IN ("%DESTDIR%\fritzing.%1.%2.pc.zip") DO SET DEST=%%~fi + CScript .\tools\zip.vbs %SRC% %DEST% + +-echo done +\ No newline at end of file ++echo done +diff --git a/tools/user_parts_clone.sh b/tools/user_parts_clone.sh +new file mode 100644 +index 0000000..ce171b8 +--- /dev/null ++++ b/tools/user_parts_clone.sh +@@ -0,0 +1,8 @@ ++#!/bin/sh ++# ++# enable user to override installed parts library with GitHub clone ++ ++REPODIR="${HOME}/.local/share/fritzing/fritzing-parts" ++mkdir -p "${REPODIR}" ++git clone --branch master --single-branch https://github.com/fritzing/fritzing-parts.git "${REPODIR}" || exit 1 ++Fritzing -db "${REPODIR}/parts.db" +-- +2.9.0 + diff --git a/fritzing/PKGBUILD b/fritzing/PKGBUILD new file mode 100644 index 000000000..3bc5fd2ca --- /dev/null +++ b/fritzing/PKGBUILD @@ -0,0 +1,48 @@ +pkgname=fritzing +pkgver=0.9.3b +pkgrel=1 +pkgdesc="Easy-to-use, electronic design software." +arch=('x86_64') +url="http://fritzing.org" +screenshot="http://fritzing.org/media/uploads/download_screenshot_jpg_versions/small_download_screenshot.jpg" +license=('CCPL') +depends=('desktop-file-utils' 'java-environment' 'qt5-serialport' 'qt5-svg' 'shared-mime-info' 'python2' 'libgit2') +makedepends=('boost') +source=("${pkgname}-${pkgver}::https://github.com/fritzing/fritzing-app/archive/${pkgver}.tar.gz" + "parts-${pkgver}.tar.gz::https://github.com/fritzing/fritzing-parts/archive/${pkgver}.tar.gz" + "fritzing.xml" + "0001-Squashed-commit-of-the-following.patch") +sha1sums=('05c5cbe9a50693e1b0dddfa8eed3528cb96a5c95' + '3856ddd6e3d6209d531e30b5128e46f5fa3cbc3e' + '4d7aed07244780cc667ae2398bdaaf3cf7767a89' + 'a2cc9a44ff00c1f52e4e7cf03479ad97f9dc8d00') + +prepare() { + mkdir -p "$srcdir"/fritzing-app-${pkgver}/parts + cp -fr "$srcdir"/fritzing-parts-${pkgver}/* "$srcdir"/fritzing-app-${pkgver}/parts + + cd "$srcdir"/fritzing-app-${pkgver} + patch -p1 < "$srcdir"/0001-Squashed-commit-of-the-following.patch +} + +build() { + cd ${srcdir}/fritzing-app-${pkgver} + qmake-qt5 + make +} + +package() { + cd ${srcdir}/fritzing-app-${pkgver} + make INSTALL_ROOT=$pkgdir install + + # install partsdb clone script + install -Dm755 "${srcdir}"/fritzing-app-${pkgver}/tools/user_parts_clone.sh "${pkgdir}"/usr/bin/fritzing_clone_parts + + # connect .fzz files to fritzing by default + install -Dm644 "${srcdir}/fritzing.xml" "${pkgdir}/usr/share/mime/packages/fritzing.xml" + echo "MimeType=application/x-fritzing;" >> "${pkgdir}/usr/share/applications/fritzing.desktop" + + sed -i s!Icon=icons/fritzing_icon.png!Icon=fritzing! \ + "${pkgdir}/usr/share/applications/fritzing.desktop" +} + diff --git a/fritzing/fritzing.xml b/fritzing/fritzing.xml new file mode 100644 index 000000000..863e9e8e8 --- /dev/null +++ b/fritzing/fritzing.xml @@ -0,0 +1,10 @@ + + + + Fritzing project + Fritzing Projekt + Projet Fritzing + + + + diff --git a/qelectrotech/PKGBUILD b/qelectrotech/PKGBUILD new file mode 100644 index 000000000..d186feb4f --- /dev/null +++ b/qelectrotech/PKGBUILD @@ -0,0 +1,29 @@ +pkgname=qelectrotech +pkgver=0.5 +pkgrel=1 +pkgdesc="An electric diagram editor" +arch=('x86_64') +url="http://qelectrotech.tuxfamily.org/" +install='qelectrotech.install' +license=('GPL2') +depends=('qt5-svg' 'desktop-file-utils' 'hicolor-icon-theme' 'shared-mime-info' 'xdg-utils') +source=("http://download.tuxfamily.org/qet/tags/20151127/${pkgname}-${pkgver}-src.tar.gz" + 'install-dir.patch') +sha1sums=('66f753278b1037e5ac36f6894d02cfdfcaeedaa1' + 'c70db275c75f9e6c15a1bfc7da81c4a20e32ebe8') + +prepare() { + cd ${srcdir}/${pkgname}-${pkgver}-src + patch -p1 < ${srcdir}/install-dir.patch +} + +build() { + cd ${srcdir}/${pkgname}-${pkgver}-src + qmake-qt5 + make +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver}-src + make INSTALL_ROOT=${pkgdir} install +} diff --git a/qelectrotech/install-dir.patch b/qelectrotech/install-dir.patch new file mode 100644 index 000000000..04b6d848d --- /dev/null +++ b/qelectrotech/install-dir.patch @@ -0,0 +1,39 @@ +diff -ruN qelectrotech-0.5-src/qelectrotech.pro src/qelectrotech-0.5-src/qelectrotech.pro +--- qelectrotech-0.5-src/qelectrotech.pro 2015-10-12 14:48:32.000000000 +0200 ++++ src/qelectrotech-0.5-src/qelectrotech.pro 2015-12-04 11:49:16.197910112 +0100 +@@ -5,20 +5,20 @@ + # Chemins utilises pour la compilation et l'installation de QET + unix { + # Chemins UNIX +- COMPIL_PREFIX = '/usr/local/' +- INSTALL_PREFIX = '/usr/local/' ++ COMPIL_PREFIX = '/usr/' ++ INSTALL_PREFIX = '/usr/' + QET_BINARY_PATH = 'bin/' + QET_COMMON_COLLECTION_PATH = 'share/qelectrotech/elements/' + QET_COMMON_TBT_PATH = 'share/qelectrotech/titleblocks/' + QET_LANG_PATH = 'share/qelectrotech/lang/' + QET_EXAMPLES_PATH = 'share/qelectrotech/examples/' + QET_LICENSE_PATH = 'doc/qelectrotech/' +- QET_MIME_XML_PATH = '../share/mime/application/' +- QET_MIME_DESKTOP_PATH = '../share/mimelnk/application/' +- QET_MIME_PACKAGE_PATH = '../share/mime/packages/' ++ QET_MIME_XML_PATH = 'share/mime/application/' ++ QET_MIME_DESKTOP_PATH = 'share/mimelnk/application/' ++ QET_MIME_PACKAGE_PATH = 'share/mime/packages/' + QET_DESKTOP_PATH = 'share/applications/' + QET_ICONS_PATH = 'share/icons/hicolor/' +- QET_MAN_PATH = 'man/' ++ QET_MAN_PATH = 'share/man/' + QET_APPDATA_PATH = 'share/appdata' + } + win32 { +@@ -34,7 +34,7 @@ + macx { + # Chemins MacOS X + COMPIL_PREFIX = './' +- INSTALL_PREFIX = '/usr/local/' ++ INSTALL_PREFIX = '/usr/' + QET_BINARY_PATH = 'bin/' + QET_COMMON_COLLECTION_PATH = '../Resources/elements/' + QET_COMMON_TBT_PATH = '../Resources/titleblocks/' diff --git a/qelectrotech/qelectrotech.install b/qelectrotech/qelectrotech.install new file mode 100644 index 000000000..b85302f9c --- /dev/null +++ b/qelectrotech/qelectrotech.install @@ -0,0 +1,17 @@ +post_install() { + echo "update mime database..." + update-mime-database /usr/share/mime/ > /dev/null + echo "update desktop database..." + update-desktop-database -q + echo "update icon resource..." + xdg-icon-resource forceupdate +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} + diff --git a/qucs/PKGBUILD b/qucs/PKGBUILD new file mode 100644 index 000000000..f3d434ec9 --- /dev/null +++ b/qucs/PKGBUILD @@ -0,0 +1,55 @@ +# NOTE adms from github is broken +# remember to check for updates on https://software.opensuse.org/package/adms once in a while + +pkgname=qucs +pkgver=0.0.19 +pkgrel=1 +pkgdesc="An integrated circuit simulator with a graphical user interface" +arch=('x86_64') +url="http://qucs.sourceforge.net" +license=('GPL') +depends=('gcc-libs' 'qt') +makedepends=('git' 'autoconf' 'automake' 'flex' 'bison' 'cmake' 'gperf') +optdepends=('freehdl: to permit digital circuit simulation' + 'perl') +provides=('adms') +conflicts=('adms' 'adms-git') +source=("https://github.com/Qucs/qucs/archive/qucs-$pkgver.tar.gz" + "http://download.opensuse.org/repositories/openSUSE:/Leap:/42.2/standard/src/adms-2.3.4-4.3.src.rpm") +sha1sums=('28562fc5877e8c803fefa7be1d1ec578e4e62818' + 'c8302d98903254c2d0c91a06830aecd72e1af582') + +prepare() { + mkdir -p {build,fake_install} + tar -xf adms-2.3.4.tar.gz +} + +build() { + # now adms must be build outsite qucs source tree + cd adms-2.3.4 + cmake \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DUSE_MAINTAINER_MODE=0 + make DESTDIR="$srcdir/fake_install" install + + cd $srcdir/build + cmake ../$pkgname-$pkgname-${pkgver} \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DUSE_MAINTAINER_MODE=0 \ + -DADMSXML_DIR=$srcdir/fake_install/usr/bin + make +} + +package() { + cd $srcdir/build/$pkgname + make DESTDIR="$pkgdir" install + + cd $srcdir/build/$pkgname-core + make DESTDIR="$pkgdir" install + + # install adms executables + cd $srcdir/adms-2.3.4 + make DESTDIR="$pkgdir" install +} diff --git a/verilator/PKGBUILD b/verilator/PKGBUILD new file mode 100644 index 000000000..6ebed070e --- /dev/null +++ b/verilator/PKGBUILD @@ -0,0 +1,24 @@ +pkgname=verilator +pkgver=3.900 +pkgrel=1 +pkgdesc='The fastest free Verilog HDL simulator' +url=http://www.veripool.org/projects/verilator/wiki/Intro +arch=('any') +license=('LGPL') +depends=('gcc-libs') +makedepends=('gcc') +source=("http://www.veripool.org/ftp/${pkgname}-${pkgver}.tgz") +sha1sums=('fa84518ea5347b5f0b84c53b394b10bc0af10cb9') + +build() { + cd "verilator-${pkgver}" + + ./configure --prefix=/usr + make +} + +package() { + cd "verilator-${pkgver}" + + make install DESTDIR=$pkgdir +}