summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO25
-rw-r--r--0001-Squashed-commit-of-the-following.patch1325
-rw-r--r--0001-don-t-scan-filesystem-for-application-directory-if-i.patch103
-rw-r--r--0002-allow-user-and-administrator-to-install-parts-librar.patch67
-rw-r--r--0003-provide-script-for-user-to-clone-parts-library.patch27
-rw-r--r--PKGBUILD72
-rw-r--r--fritzing.desktop.patch11
-rw-r--r--fritzing.xml10
8 files changed, 251 insertions, 1389 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 9cff1718498f..ea1875c332af 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,28 +1,25 @@
pkgbase = fritzing
pkgdesc = PCB layout prototyping application
- pkgver = 0.9.3b
- pkgrel = 5
+ pkgver = 0.9.4b
+ pkgrel = 1
url = http://fritzing.org
arch = i686
arch = x86_64
license = GPL3
makedepends = boost
+ makedepends = git
depends = desktop-file-utils
depends = libgit2
- depends = python2
depends = qt5-serialport
depends = qt5-svg
- depends = shared-mime-info
- source = https://github.com/fritzing/fritzing-app/archive/0.9.3b.tar.gz
- source = parts-667a5360e53e8951e5ca6c952ae928f7077a9d5e.tar.gz::https://codeload.github.com/fritzing/fritzing-parts/tar.gz/667a5360e53e8951e5ca6c952ae928f7077a9d5e
- source = 0001-Squashed-commit-of-the-following.patch
- source = fritzing.desktop.patch
- source = fritzing.xml
- sha256sums = 2475a95aad2c1536eef3fdb72665c5c16590644b45bd110a0cde223c916625b8
- sha256sums = c6f9c5275a569e86c0cadb85844120e8f79ca79bea004b00916af78772969d76
- sha256sums = e142b7443d03c644d06a4741dcc64eef7077a86b42b4461f10ee8b1f59e4775c
- sha256sums = e48994c9d4191675ca8c53c64d99effc704bb10b67f253eb9f05b0c188805baa
- sha256sums = 9aa55c4a27025b40a1573b3b09a59f48709dfa5ac637ef6a059fd8157d20192b
+ source = https://github.com/fritzing/fritzing-app/archive/CD-415.tar.gz
+ source = 0001-don-t-scan-filesystem-for-application-directory-if-i.patch
+ source = 0002-allow-user-and-administrator-to-install-parts-librar.patch
+ source = 0003-provide-script-for-user-to-clone-parts-library.patch
+ sha256sums = 4502bcdf262d5fa3897342a787b201f6fc27fa071242ecbc79f6515b845339fc
+ sha256sums = 52b20ee77723f805c905dea49177931cfe681689e71b941ee35e2e302a83cf4c
+ sha256sums = 1e59cd5db471b60cd12b8d63510de442c883b3fa0f8d27532aa29bc81838fec1
+ sha256sums = fb0d8fc6257f166ab77f99bbe32dff51bbdace7d5a3d4d9a789542a8e3fec540
pkgname = fritzing
diff --git a/0001-Squashed-commit-of-the-following.patch b/0001-Squashed-commit-of-the-following.patch
deleted file mode 100644
index c22db18efd3e..000000000000
--- a/0001-Squashed-commit-of-the-following.patch
+++ /dev/null
@@ -1,1325 +0,0 @@
-From aa327cb7a3e992a60ce92502223307058a4f4003 Mon Sep 17 00:00:00 2001
-From: Michael Lass <lass@mail.uni-paderborn.de>
-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 <lass@mail.uni-paderborn.de>
-Date: Thu Jul 7 18:30:18 2016 +0200
-
- Merge branch 'master' into pkgpath
-
-commit 30942e950c38370606a6d3c5f39edf966c932bb8
-Merge: 7ab7da8 701e3a3
-Author: André Knörig <aknoerig@users.noreply.github.com>
-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 <aklhfex@gmail.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aknoerig@users.noreply.github.com>
-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 <andre.knoerig@gmail.com>
-Date: Mon Jul 4 11:05:11 2016 +0200
-
- adjust libgit2 paths
-
-commit 19234581eeec87037732f60be813cfe7cbc49f5f
-Author: Chris Mayo <aklhfex@gmail.com>
-Date: Sun Jul 3 17:54:36 2016 +0100
-
- detect and use system libgit2 with pkg-config
-
-commit 4d55a72f5fc82f3f2e100fcb79ae63bc767392c0
-Author: Chris Mayo <aklhfex@gmail.com>
-Date: Sun Jul 3 17:54:36 2016 +0100
-
- add the option to use installed boost
-
-commit 1d904ca3099661e67b15f70b5071f2bf3d18d900
-Author: Chris Mayo <aklhfex@gmail.com>
-Date: Sun Jul 3 17:54:36 2016 +0100
-
- phoenix.pro: use else consistently
-
-commit b189d64861ef5f64fd4bb3008c24862a4908c970
-Author: Chris Mayo <aklhfex@gmail.com>
-Date: Sun Jul 3 17:54:36 2016 +0100
-
- phoenix.pro: tidy-up whitespace
-
-commit e4a0794fb62afe4f8a90617ad6ef2c6b9c553f6e
-Author: Chris Mayo <aklhfex@gmail.com>
-Date: Sun Jul 3 17:52:24 2016 +0100
-
- provide script for user to clone parts library
-
-commit c1bce451169b37b4390f46dfde81d1ddacd6c21d
-Author: Chris Mayo <aklhfex@gmail.com>
-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
- <m_appPath> - 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 <m_appPath>/parts
-
- Use the definition of PKGDATADIR as an indicator that Fritzing will be
- installed.
-
-commit d95cc53fab4304e7f08748b6fe0105bfe7413f96
-Author: Chris Mayo <aklhfex@gmail.com>
-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 <aklhfex@gmail.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aklhfex@gmail.com>
-Date: Sun Jun 19 20:38:07 2016 +0100
-
- update forum address in readme.md
-
-commit 913dca8ab12ac17147edaf8935f57bdef3343100
-Merge: de84594 c8c7fc5
-Author: André Knörig <aknoerig@users.noreply.github.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aklhfex@gmail.com>
-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 <aklhfex@gmail.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aklhfex@gmail.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aklhfex@gmail.com>
-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 <aklhfex@gmail.com>
-Date: Sun Jun 12 16:11:52 2016 +0100
-
- install_fritzing.sh: update comments
-
-commit 4b5ab126d13bb4541f52f2fd7eee5f9f8b507524
-Author: Chris Mayo <aklhfex@gmail.com>
-Date: Sun Jun 12 16:11:52 2016 +0100
-
- install_fritzing.sh: install application icon
-
-commit 2b848f1b226e24c4fb07e0dcb537952021fe69ce
-Author: Chris Mayo <aklhfex@gmail.com>
-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 <aklhfex@gmail.com>
-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 <aklhfex@gmail.com>
-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 <aknoerig@users.noreply.github.com>
-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 <aklhfex@gmail.com>
-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 <aklhfex@gmail.com>
-Date: Tue Jun 7 20:01:55 2016 +0100
-
- fix desktop Categories entry
-
- Single entry prefixing non-standard categories
-
-commit f712d0139e3a0b1146566c989a3d523da9cdcd42
-Author: Chris Mayo <aklhfex@gmail.com>
-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 <andre.knoerig@gmail.com>
-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 <boost/version.hpp>
-+#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 <http://www.gnu.org/licenses/>.
-+# ********************************************************************
-+
-+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 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
-+<mime-type type="application/x-fritzing-fzb">
-+<comment>Fritzing Parts Bin</comment>
-+<glob pattern="*.fzb"/>
-+</mime-type>
-+<mime-type type="application/x-fritzing-fzbz">
-+<comment>Fritzing Parts Bin Bundle</comment>
-+<glob pattern="*.fzbz"/>
-+</mime-type>
-+<mime-type type="application/x-fritzing-fzm">
-+<comment>Fritzing Module</comment>
-+<glob pattern="*.fzm"/>
-+</mime-type>
-+<mime-type type="application/x-fritzing-fzp">
-+<comment>Fritzing Part Definition</comment>
-+<glob pattern="*.fzp"/>
-+</mime-type>
-+<mime-type type="application/x-fritzing-fzpz">
-+<comment>Fritzing Part Bundle</comment>
-+<glob pattern="*.fzpz"/>
-+</mime-type>
-+<mime-type type="application/x-fritzing-fz">
-+<comment>Fritzing Sketch</comment>
-+<glob pattern="*.fz"/>
-+</mime-type>
-+<mime-type type="application/x-fritzing-fzz">
-+<comment>Fritzing Sketch Bundle</comment>
-+<glob pattern="*.fzz"/>
-+</mime-type>
-+</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fz">
--<comment>Fritzing Sketch</comment>
--<generic-icon name="application-x-fritzing-fz"/>
--<glob pattern="*.fz"/>
--</mime-type>
--</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fzb">
--<comment>Fritzing Parts Bin</comment>
--<generic-icon name="application-x-fritzing-fzb"/>
--<glob pattern="*.fzb"/>
--</mime-type>
--</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fzbz">
--<comment>Fritzing Parts Bin Bundle</comment>
--<generic-icon name="application-x-fritzing-fzbz"/>
--<glob pattern="*.fzbz"/>
--</mime-type>
--</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fzm">
--<comment>Fritzing Module</comment>
--<generic-icon name="application-x-fritzing-fzm"/>
--<glob pattern="*.fzm"/>
--</mime-type>
--</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fzp">
--<comment>Fritzing Part Definition</comment>
--<generic-icon name="application-x-fritzing-fzp"/>
--<glob pattern="*.fzp"/>
--</mime-type>
--</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fzpz">
--<comment>Fritzing Part Bundle</comment>
--<generic-icon name="application-x-fritzing-fzpz"/>
--<glob pattern="*.fzpz"/>
--</mime-type>
--</mime-info>
-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 @@
--<?xml version="1.0" encoding="UTF-8"?>
--<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
--<mime-type type="application/x-fritzing-fzz">
--<comment>Fritzing Sketch Bundle</comment>
--<generic-icon name="application-x-fritzing-fzz"/>
--<glob pattern="*.fzz"/>
--</mime-type>
--</mime-info>
-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<QDir> 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/0001-don-t-scan-filesystem-for-application-directory-if-i.patch b/0001-don-t-scan-filesystem-for-application-directory-if-i.patch
new file mode 100644
index 000000000000..841a59f1600d
--- /dev/null
+++ b/0001-don-t-scan-filesystem-for-application-directory-if-i.patch
@@ -0,0 +1,103 @@
+From 3724a283c88a5ed964ec6f23beddbb273ddbdda0 Mon Sep 17 00:00:00 2001
+From: Chris Mayo <aklhfex@gmail.com>
+Date: Sun, 3 Jul 2016 17:52:24 +0100
+Subject: [PATCH 1/3] 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.
+---
+ src/utils/folderutils.cpp | 17 ++++++++++-------
+ tools/deploy_fritzing_mac.sh | 3 +++
+ tools/linux_release_script/release.sh | 3 +++
+ 3 files changed, 16 insertions(+), 7 deletions(-)
+
+diff --git a/src/utils/folderutils.cpp b/src/utils/folderutils.cpp
+index 6afce9a2..567b5cf4 100644
+--- a/src/utils/folderutils.cpp
++++ b/src/utils/folderutils.cpp
+@@ -74,6 +74,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, try go up one to find things
+ dir.cdUp();
+@@ -85,7 +86,7 @@ QDir FolderUtils::getApplicationSubFolder(QString search) {
+
+ dir.setPath(dir.absolutePath() + "/" + search);
+ }
+-
++#endif
+ return dir;
+ }
+
+@@ -215,8 +216,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()) {
+@@ -229,13 +237,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/tools/deploy_fritzing_mac.sh b/tools/deploy_fritzing_mac.sh
+index ead7e8e4..5eb2de8e 100755
+--- a/tools/deploy_fritzing_mac.sh
++++ b/tools/deploy_fritzing_mac.sh
+@@ -19,6 +19,9 @@ builddir=$workingdir/../release64 # this is pre-defined by Qt
+ echo ">> build directory"
+ echo "$builddir"
+
++# not building for installation into filesystem
++sed -i 's:PKGDATADIR=\\\\\\"\$\$PKGDATADIR\\\\\\"::' phoenix.pro || exit 1
++
+ echo ">> building fritzing from working directory"
+ $QTBIN/qmake -o Makefile phoenix.pro
+ make "-j$(sysctl -n machdep.cpu.thread_count)" release # release is the type of build
+diff --git a/tools/linux_release_script/release.sh b/tools/linux_release_script/release.sh
+index a383c8d9..8c40c5aa 100755
+--- a/tools/linux_release_script/release.sh
++++ b/tools/linux_release_script/release.sh
+@@ -54,6 +54,9 @@ else
+ arch='i386'
+ fi
+
++# not building for installation into filesystem
++sed -i 's:PKGDATADIR=\\\\\\"\$\$PKGDATADIR\\\\\\"::' phoenix.pro || exit 1
++
+ quazip='QUAZIP_LIB'
+ echo "using src/lib/quazip"
+
+--
+2.24.0
+
diff --git a/0002-allow-user-and-administrator-to-install-parts-librar.patch b/0002-allow-user-and-administrator-to-install-parts-librar.patch
new file mode 100644
index 000000000000..f268e2130017
--- /dev/null
+++ b/0002-allow-user-and-administrator-to-install-parts-librar.patch
@@ -0,0 +1,67 @@
+From f037cc1a6f12912660ca5df347cdfa2256f73a9d Mon Sep 17 00:00:00 2001
+From: Chris Mayo <aklhfex@gmail.com>
+Date: Sun, 3 Jul 2016 17:52:24 +0100
+Subject: [PATCH 2/3] 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
+<m_appPath> - 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 <m_appPath>/parts
+
+Use the definition of PKGDATADIR as an indicator that Fritzing will be
+installed.
+---
+ src/utils/folderutils.cpp | 20 +++++++++++++++++++-
+ 1 file changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/src/utils/folderutils.cpp b/src/utils/folderutils.cpp
+index 567b5cf4..dcf43913 100644
+--- a/src/utils/folderutils.cpp
++++ b/src/utils/folderutils.cpp
+@@ -118,6 +118,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<QDir> 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();
+@@ -128,9 +145,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);
+--
+2.24.0
+
diff --git a/0003-provide-script-for-user-to-clone-parts-library.patch b/0003-provide-script-for-user-to-clone-parts-library.patch
new file mode 100644
index 000000000000..71813a0f6426
--- /dev/null
+++ b/0003-provide-script-for-user-to-clone-parts-library.patch
@@ -0,0 +1,27 @@
+From 7bcbe6506f676e7df4e037b617442ab8c2888b01 Mon Sep 17 00:00:00 2001
+From: Chris Mayo <aklhfex@gmail.com>
+Date: Sun, 3 Jul 2016 17:52:24 +0100
+Subject: [PATCH 3/3] provide script for user to clone parts library
+
+---
+ tools/user_parts_clone.sh | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+ create mode 100755 tools/user_parts_clone.sh
+
+diff --git a/tools/user_parts_clone.sh b/tools/user_parts_clone.sh
+new file mode 100755
+index 00000000..ce171b86
+--- /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.24.0
+
diff --git a/PKGBUILD b/PKGBUILD
index 6bf517a4d8ba..a045fc63d7dc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,49 +6,63 @@
# https://github.com/michaellass/AUR
pkgname=fritzing
-pkgver=0.9.3b
-pkgrel=5
-partsrev=667a5360e53e8951e5ca6c952ae928f7077a9d5e
+pkgver=0.9.4b
+pkgrel=1
+tagver=CD-415
+partsrev=e79a69765026f3fda8aab1b3e7a4952c28047a62
pkgdesc='PCB layout prototyping application'
arch=('i686' 'x86_64')
url=http://fritzing.org
license=(GPL3)
-makedepends=('boost')
-depends=('desktop-file-utils' 'libgit2' 'python2' 'qt5-serialport' 'qt5-svg' 'shared-mime-info')
-source=(https://github.com/fritzing/fritzing-app/archive/${pkgver}.tar.gz
- parts-${partsrev}.tar.gz::https://codeload.github.com/fritzing/fritzing-parts/tar.gz/${partsrev}
- 0001-Squashed-commit-of-the-following.patch
- fritzing.desktop.patch
- fritzing.xml)
-sha256sums=('2475a95aad2c1536eef3fdb72665c5c16590644b45bd110a0cde223c916625b8'
- 'c6f9c5275a569e86c0cadb85844120e8f79ca79bea004b00916af78772969d76'
- 'e142b7443d03c644d06a4741dcc64eef7077a86b42b4461f10ee8b1f59e4775c'
- 'e48994c9d4191675ca8c53c64d99effc704bb10b67f253eb9f05b0c188805baa'
- '9aa55c4a27025b40a1573b3b09a59f48709dfa5ac637ef6a059fd8157d20192b')
+makedepends=('boost' 'git')
+depends=('desktop-file-utils' 'libgit2' 'qt5-serialport' 'qt5-svg')
+source=(https://github.com/fritzing/fritzing-app/archive/${tagver}.tar.gz
+ 0001-don-t-scan-filesystem-for-application-directory-if-i.patch
+ 0002-allow-user-and-administrator-to-install-parts-librar.patch
+ 0003-provide-script-for-user-to-clone-parts-library.patch)
+sha256sums=('4502bcdf262d5fa3897342a787b201f6fc27fa071242ecbc79f6515b845339fc'
+ '52b20ee77723f805c905dea49177931cfe681689e71b941ee35e2e302a83cf4c'
+ '1e59cd5db471b60cd12b8d63510de442c883b3fa0f8d27532aa29bc81838fec1'
+ 'fb0d8fc6257f166ab77f99bbe32dff51bbdace7d5a3d4d9a789542a8e3fec540')
prepare() {
- mkdir -p "$srcdir"/fritzing-app-${pkgver}/parts
- cp -r "$srcdir"/fritzing-parts-${partsrev}/* "$srcdir"/fritzing-app-${pkgver}/parts/
+ cd "${srcdir}"/fritzing-app-${tagver}
- cd "$srcdir"/fritzing-app-${pkgver}
- patch -N -p1 < "$srcdir"/0001-Squashed-commit-of-the-following.patch || true
- patch -p0 < "$srcdir"/fritzing.desktop.patch
+ # Dynamically link against system libgit2
+ sed -i 's/LIBGIT_STATIC = true/LIBGIT_STATIC = false/' phoenix.pro
+
+ # Disable broken font scaling (#3221)
+ sed -i 's/Exec=Fritzing/Exec=env QT_AUTO_SCREEN_SCALE_FACTOR=0 Fritzing/' org.fritzing.Fritzing.desktop
+
+ # Allow users to have their own updatable parts library. See #3238, #3454 on this topic.
+ patch -p1 < "${srcdir}"/0001-don-t-scan-filesystem-for-application-directory-if-i.patch
+ patch -p1 < "${srcdir}"/0002-allow-user-and-administrator-to-install-parts-librar.patch
+ patch -p1 < "${srcdir}"/0003-provide-script-for-user-to-clone-parts-library.patch
}
build() {
- cd "$srcdir"/fritzing-app-${pkgver}
- qmake-qt5
+ cd "${srcdir}"/fritzing-app-${tagver}
+
+ mkdir build && cd build
+ qmake-qt5 ..
make
}
package() {
- cd "$srcdir"/fritzing-app-${pkgver}
- make INSTALL_ROOT="$pkgdir" install
+ cd "${srcdir}"/fritzing-app-${tagver}/build
+ 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
+ # We want a system-wide installation of the parts library. Following steps are
+ # derived from tools/linux_release_script/release.sh.
+ cd "${pkgdir}"/usr/share/fritzing/
+ git clone --branch master --single-branch https://github.com/fritzing/fritzing-parts.git
+ cd fritzing-parts
+ git checkout ${partsrev}
+ "${pkgdir}"/usr/bin/Fritzing \
+ -db "${pkgdir}"/usr/share/fritzing/fritzing-parts/parts.db \
+ -pp "${pkgdir}"/usr/share/fritzing/fritzing-parts \
+ -f "${pkgdir}"/usr/share/fritzing
- # 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"
+ # install partsdb clone script
+ install -Dm755 "${srcdir}"/fritzing-app-${tagver}/tools/user_parts_clone.sh "${pkgdir}"/usr/bin/fritzing_clone_parts
}
diff --git a/fritzing.desktop.patch b/fritzing.desktop.patch
deleted file mode 100644
index 665a1e1be483..000000000000
--- a/fritzing.desktop.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- fritzing.desktop 2017-03-31 19:34:01.972828297 +0200
-+++ fritzing.desktop.new 2017-03-31 19:33:46.542737274 +0200
-@@ -2,7 +2,7 @@
- Name=Fritzing
- GenericName=Fritzing
- Comment=Electronic Design Automation software
--Exec=Fritzing
-+Exec=env QT_AUTO_SCREEN_SCALE_FACTOR=0 Fritzing
- Icon=fritzing
- Terminal=false
- Type=Application
diff --git a/fritzing.xml b/fritzing.xml
deleted file mode 100644
index 863e9e8e8c6e..000000000000
--- a/fritzing.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
- <mime-type type="application/x-fritzing">
- <comment>Fritzing project</comment>
- <comment xml:lang="de">Fritzing Projekt</comment>
- <comment xml:lang="fr">Projet Fritzing</comment>
- <icon name="fritzing"/>
- <glob pattern="*.fzz"/>
- </mime-type>
-</mime-info>