Accepting request 801373 from home:Heinervdm:branches:Education

- update version to 0.9.4 
  * fixed memory corruption in autorouter
  * dropped Qt4 support
  * new parts were added
  * A memory leak was fixed
  * translations were updated
  * File handling in parts editor was improved
- Drop patch fritzing-libgit-0.24.patch
  This patch is applyed upstream ensures
- Drop patch fritzing-folderutils-fix.patch
  This patch is applyed upstream
- Drop patch fritzing-cleanup-build-files.patch
  This patch is applyed upsteam
- Drop patch fritzing-restore-qt5.1-compatibility.patch
  Qt 5.1 support is not needed anymore
- Add appdata.xml provided by upstream

OBS-URL: https://build.opensuse.org/request/show/801373
OBS-URL: https://build.opensuse.org/package/show/Education/fritzing?expand=0&rev=55
This commit is contained in:
Thomas Zimmermann 2020-05-07 19:23:13 +00:00 committed by Git OBS Bridge
parent 1321815d7c
commit 40ef2fdce2
9 changed files with 68 additions and 708 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7d92579cf87bbde2325e641b674b6c340fd27ee28a8ffe4c03e527e9a4307d88
size 13166645

3
CD-498.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8af09b44a1d79fc3ff86f4e0c6793cd4473baf052420b7e1f127f0aaa968167
size 11430102

View File

@ -1,598 +0,0 @@
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/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..1b64b5a
--- /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 = ../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")
+ }
+ } 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/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>

View File

@ -1,36 +0,0 @@
From a31df40b54435500a9806f8f1aa90a98131cb788 Mon Sep 17 00:00:00 2001
From: Thomas Zimmermann <bugs@vdm-design.de>
Date: Sat, 4 Feb 2017 10:05:05 +0100
Subject: [PATCH] folderutils.cpp: Fix getAppPartsSubFolder2 returns current
working directory if fritzing-parts folder is not found
getApplicationSubFolder returns QDir() if the directory can not be found,
but QDir() returns the current working directory, which nearly always exists and probably is the wrong path.
As getAppPartsSubFolder2 only checks for existence of that directory we end up with the wrong directory if parts folder is used instead for fritzing-parts.
Therefore check if when we ask for fritzing-parts folder we really get a folder with that name.
---
src/utils/folderutils.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/utils/folderutils.cpp b/src/utils/folderutils.cpp
index 96f10c7..3dfd966 100644
--- a/src/utils/folderutils.cpp
+++ b/src/utils/folderutils.cpp
@@ -121,12 +121,12 @@ QDir FolderUtils::getAppPartsSubFolder(QString search) {
QDir FolderUtils::getAppPartsSubFolder2(QString search) {
if (m_partsPath.isEmpty()) {
QDir dir = getApplicationSubFolder("fritzing-parts");
- if (dir.exists()) {
+ if (dir.exists() && dir.dirName().endsWith("fritzing-parts")) {
m_partsPath = dir.absolutePath();
}
else {
QDir dir = getApplicationSubFolder("parts");
- if (dir.exists()) {
+ if (dir.exists() && dir.dirName().endsWith("parts")) {
m_partsPath = dir.absolutePath();
}
}
--
2.10.2

View File

@ -1,29 +0,0 @@
From 4cb5185d464bf98e9da5ceca72d5af907ff824ef Mon Sep 17 00:00:00 2001
From: Chris Mayo <aklhfex@gmail.com>
Date: Sun, 12 Jun 2016 16:31:35 +0100
Subject: [PATCH] make compatible with libgit2 >= 0.24.0
Based on:
https://github.com/fritzing/fritzing-app/pull/3203/commits/1ffea750c05fda78c88b60b84545f6a3e1371159
---
src/version/partschecker.cpp | 6 ++++++
1 file changed, 6 insertions(+)
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);

View File

@ -1,12 +0,0 @@
diff -Nurd fritzing-0.9.1b.source.orig/fritzing-app-master/src/program/programtab.cpp fritzing-0.9.1b.source/fritzing-app-master/src/program/programtab.cpp
--- fritzing-0.9.1b.source.orig/fritzing-app-master/src/program/programtab.cpp 2014-12-02 03:46:32.000000000 +0100
+++ fritzing-0.9.1b.source/fritzing-app-master/src/program/programtab.cpp 2015-01-05 15:45:23.508333593 +0100
@@ -751,7 +751,7 @@
m_programButton->setEnabled(false);
m_console->setPlainText("");
m_platform->upload(this,
- m_portComboBox->currentData().toString(),
+ m_portComboBox->currentText(),
m_boardComboBox->currentText(),
m_filename);
}

View File

@ -0,0 +1,26 @@
diff -Nurd fritzing-app-CD-498/phoenix.pro fritzing-app-CD-498.new/phoenix.pro
--- fritzing-app-CD-498/phoenix.pro 2019-12-01 14:05:45.000000000 +0100
+++ fritzing-app-CD-498.new/phoenix.pro 2020-05-06 20:36:12.869380287 +0200
@@ -166,7 +166,7 @@
RESOURCES += phoenixresources.qrc
# Disable this if you have (and want) libgit2 dynamically
-LIBGIT_STATIC = true
+LIBGIT_STATIC = false
include(pri/libgit2detect.pri)
include(pri/boostdetect.pri)
diff -Nurd fritzing-app-CD-498/src/version/partschecker.cpp fritzing-app-CD-498.new/src/version/partschecker.cpp
--- fritzing-app-CD-498/src/version/partschecker.cpp 2019-12-01 14:05:45.000000000 +0100
+++ fritzing-app-CD-498.new/src/version/partschecker.cpp 2020-05-06 20:44:30.824507804 +0200
@@ -115,8 +115,8 @@
/**
* Connect to the remote.
*/
-#if LIBGIT2_VER_MINOR > 24
- error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL);
+#if LIBGIT2_VER_MINOR > 24 || LIBGIT2_VER_MAJOR >= 1
+ 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

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Wed May 6 19:21:41 UTC 2020 - Thomas Zimmermann <bugs@vdm-design.de>
- update version to 0.9.4
* fixed memory corruption in autorouter
* dropped Qt4 support
* new parts were added
* A memory leak was fixed
* translations were updated
* File handling in parts editor was improved
- Drop patch fritzing-libgit-0.24.patch
This patch is applyed upstream ensures
- Add patch fritzing-folderutils-fix.patch
This patch is applyed upstream
- Add patch fritzing-cleanup-build-files.patch
This patch is applyed upsteam
- fritzing-restore-qt5.1-compatibility.patch
Qt 5.1 support is not needed anymore
------------------------------------------------------------------- -------------------------------------------------------------------
Sun Jan 21 10:39:43 UTC 2018 - bugs@vdm-design.de Sun Jan 21 10:39:43 UTC 2018 - bugs@vdm-design.de

View File

@ -1,7 +1,7 @@
# #
# spec file for package fritzing # spec file for package fritzing
# #
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2020 SUSE LLC
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@ -12,26 +12,21 @@
# license that conforms to the Open Source Definition (Version 1.9) # license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative. # published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/ # Please submit bugfixes or comments via https://bugs.opensuse.org/
# #
%define cdversion CD-498
Name: fritzing Name: fritzing
Version: 0.9.3b Version: 0.9.4
Release: 0 Release: 0
Summary: Electronic Design Automation platform featuring prototype to product Summary: Electronic Design Automation platform featuring prototype to product
License: GPL-3.0+ License: GPL-3.0-or-later
Group: Productivity/Scientific/Electronics Group: Productivity/Scientific/Electronics
Url: http://fritzing.org/ URL: http://fritzing.org/
Source0: https://github.com/fritzing/fritzing-app/archive/%{version}.tar.gz Source0: https://github.com/fritzing/fritzing-app/archive/%{cdversion}.tar.gz
#PATCH-FIX-UPSTREAM fritzing-restore-qt5.1-compatibility.patch -- this patch restores compatibility with Qt5.1 #PATCH-FIX-OPENSUSE fritzing-use-system-libgit2.patch -- use system libgit, upstream wants to use bundled version
Patch0: fritzing-restore-qt5.1-compatibility.patch Patch0: fritzing-use-system-libgit2.patch
#PATCH-FIX-UPSTREAM fritzing-libgit-0.24.patch -- make fritzing compatible with libgit2 > 0.23
Patch1: fritzing-libgit-0.24.patch
#PATCH-FIX-UPSTREAM fritzing-cleanup-build-files.patch -- use system boost, libgit and clean up build files
Patch2: fritzing-cleanup-build-files.patch
#PATCH-FIX-UPSTREAM fritzing-folderutils-fix.patch -- fix folderutils to properly return parts folder
Patch3: fritzing-folderutils-fix.patch
%if 0%{?suse_version} > 1325 %if 0%{?suse_version} > 1325
BuildRequires: libboost_headers-devel BuildRequires: libboost_headers-devel
%else %else
@ -56,6 +51,7 @@ Requires(post): shared-mime-info
Requires(postun): shared-mime-info Requires(postun): shared-mime-info
Requires(post): desktop-file-utils Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils Requires(postun): desktop-file-utils
BuildRequires: appstream-glib
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -67,13 +63,10 @@ allow users to document their Arduino and other electronic-based
prototypes, and to create a PCB layout for manufacturing. prototypes, and to create a PCB layout for manufacturing.
%prep %prep
%setup -q -n %{name}-app-%{version} %setup -q -n %{name}-app-%{cdversion}
%patch0 -p2 %patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
sed -i 's/\r$//' LICENSE.CC-BY-SA sed -i 's/\r$//' LICENSE.CC-BY-SA
chmod -x LICENSE* readme.md Fritzing.1 chmod -x LICENSE* README.md Fritzing.1
%build %build
# QMAKE_CFLAGS_ISYSTEM= added to work around gcc6 build problems # QMAKE_CFLAGS_ISYSTEM= added to work around gcc6 build problems
@ -82,29 +75,26 @@ make %{?_smp_mflags}
%install %install
make INSTALL_ROOT=%{buildroot} install make INSTALL_ROOT=%{buildroot} install
install -d %{buildroot}%{_datadir}/pixmaps/ sed -i '/Categories=/d' org.fritzing.Fritzing.desktop
mv %{buildroot}%{_datadir}/icons/fritzing.png %{buildroot}%{_datadir}/pixmaps/ %suse_update_desktop_file -i -r org.fritzing.Fritzing Development IDE
sed -i '/X-SuSE-translate=false/d' fritzing.desktop
sed -i '/Version=/d' fritzing.desktop
sed -i '/Categories=/d' fritzing.desktop
sed -i 's/icons\/fritzing_icon.png/fritzing/g' fritzing.desktop
%suse_update_desktop_file -i -r %name Development IDE
find %{buildroot}%{_datadir}/%{name}/ -type f -exec chmod -x {} \; find %{buildroot}%{_datadir}/%{name}/ -type f -exec chmod -x {} \;
rm -rf %{buildroot}%{_datadir}/%{name}/parts #rm -rf %{buildroot}%{_datadir}/%{name}/parts
%fdupes %{buildroot}%{_datadir}/%{name}/sketches %fdupes %{buildroot}%{_datadir}/%{name}/sketches
appstream-util validate-relax --nonet org.fritzing.Fritzing.appdata.xml
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
%files %files
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc readme.md LICENSE.GPL2 LICENSE.GPL3 LICENSE.CC-BY-SA %doc README.md LICENSE.GPL2 LICENSE.GPL3 LICENSE.CC-BY-SA
%{_bindir}/Fritzing %{_bindir}/Fritzing
%{_datadir}/%{name}/ %{_datadir}/%{name}/
%{_datadir}/pixmaps/%{name}.png %{_datadir}/pixmaps/%{name}.png
%{_datadir}/applications/fritzing.desktop %{_datadir}/applications/org.fritzing.Fritzing.desktop
%{_mandir}/man1/Fritzing.* %{_mandir}/man1/Fritzing.*
%{_datadir}/mime/packages/*.xml %{_datadir}/mime/packages/*.xml
%{_datadir}/metainfo/org.fritzing.Fritzing.appdata.xml
%post %post
%desktop_database_post %desktop_database_post