summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-01-21 02:00:31 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2017-01-21 17:11:58 +0100
commit7eadc62d590350189b07428c49914e2c54e68a03 (patch)
tree00f2746d53f888a6cbd0e13c885a7880e13d71c5
parentsci-libs/shapelib: Drop obsolete patches (diff)
downloadgentoo-7eadc62d.tar.gz
gentoo-7eadc62d.tar.bz2
gentoo-7eadc62d.zip
sci-geosciences/gpsbabel: 1.5.4 version bump, EAPI 6 and Qt5
Gentoo-bug: 421699, 518392 Rebased all patches, unbundled zlib[minizip]. Restrict tests - some fail, some require network connection, wrong path... Package-Manager: portage-2.3.0
-rw-r--r--sci-geosciences/gpsbabel/Manifest1
-rw-r--r--sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_statistic_uploading.patch11
-rw-r--r--sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_update_check.patch108
-rw-r--r--sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_version_check.patch45
-rw-r--r--sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_shapelib.patch68
-rw-r--r--sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_zlib.patch80
-rw-r--r--sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-xmldoc.patch13
-rw-r--r--sci-geosciences/gpsbabel/gpsbabel-1.5.4.ebuild117
8 files changed, 443 insertions, 0 deletions
diff --git a/sci-geosciences/gpsbabel/Manifest b/sci-geosciences/gpsbabel/Manifest
index 6d4d414de895..e7520daf3af8 100644
--- a/sci-geosciences/gpsbabel/Manifest
+++ b/sci-geosciences/gpsbabel/Manifest
@@ -1,3 +1,4 @@
DIST gpsbabel-1.4.3.tar.gz 5616398 SHA256 c9b81ebbd65a34e7fe741c18985c1ead65123fd09fa0ecbf882bc47a87c4f5d8 SHA512 4e0e5c6bb04a55a4ed809a769bbcf6eb61bdc115cbf24745d8ce51875d7e1044129a8c7249f560c652626317f44a56efb2eb2da4c2d564996793b0aa75e0cf75 WHIRLPOOL 70fe1f7a486bab21f04d2cd328ae49466f442b1a8532d4cdc33e4fd6fce2ef9d9c38caa76a6db7ee9fc4d462f502776bb05b67105f308369604ec1c75552c917
DIST gpsbabel-1.4.4.tar.gz 7811264 SHA256 9dd2a06e887cb286c9a07164a8f2ede11aed1147e6419007370c528412321944 SHA512 07b12dfe2127a399d973fa793fe3437cbda8f3425f3317100767b7fda549d9ea6bdda1429822ade671e219c99d95bc7feb16a8d177779b457aafb373141c515a WHIRLPOOL 576c60b0868648500552b4058c385af7912d0eaf1f63541cbcdf568c5dc96f46a5f204a981e525eced267a2060aeb4f04935ae45f67f0236c03f57f3a52bfaf9
+DIST gpsbabel-1.5.4.tar.gz 9099765 SHA256 59e29b83a16af16556fffc9315d3d3626d11fc7f2f50d6ec1f99dfc64412989e SHA512 5fdc3bc07ad52d6c1e3532b287dcb506aba612ae9bc8db393b4837d79d773d6e22ad31f8f8e65770ec52b1afbda556e452af20dada1e411de93ca6e18054225b WHIRLPOOL a3de57048f43582fa64b85a3d37de5d378226842c7eca634f4334481f3dbbc99cee8b9d14bccb949fdc1976116a5b9bcc6318033138501e197c44b48cc244aec
DIST gpsbabel.org-style3.css 2171 SHA256 3f87b917e014e94562b44070c2b885abeef56e6459ce08d2cac785db197964ff SHA512 33b843e0431de6d71a83c58da35ede28435e5a4746f59e52350c6e4451659e1b443d3c0dd52df1c68001e9937787820fb96afc363ec1ae7d23430bfed31dbc83 WHIRLPOOL 419e1b8c386e3cbf96247ec231873bb0263e35e540451dfcda50e6c6f6452cef03825f527e3c970e452600d869721260e7970dabbe89070b9117d09c95da815a
diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_statistic_uploading.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_statistic_uploading.patch
new file mode 100644
index 000000000000..b65413c3d7c5
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_statistic_uploading.patch
@@ -0,0 +1,11 @@
+--- a/gui/babeldata.h 2017-01-02 06:05:19.000000000 +0100
++++ b/gui/babeldata.h 2017-01-21 00:33:30.858046004 +0100
+@@ -64,7 +64,7 @@
+ upgradeOffers_(0),
+ runCount_(0),
+ startupVersionCheck_(true),
+- reportStatistics_(true),
++ reportStatistics_(false),
+ allowBetaUpgrades_(false),
+ ignoreVersionMismatch_(false),
+ disableDonateDialog_(false),
diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_update_check.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_update_check.patch
new file mode 100644
index 000000000000..b618106df3f0
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_update_check.patch
@@ -0,0 +1,108 @@
+Disable check for newer versions on start.
+
+--- a/gui/preferences.ui 2017-01-02 06:05:19.000000000 +0100
++++ b/gui/preferences.ui 2017-01-21 00:38:44.929972188 +0100
+@@ -40,13 +40,6 @@
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+- <widget class="QCheckBox" name="startupCheck">
+- <property name="text">
+- <string>Check for newer version on start.</string>
+- </property>
+- </widget>
+- </item>
+- <item>
+ <widget class="QCheckBox" name="reportStatisticsCheck">
+ <property name="text">
+ <string>Anonymously report usage data.</string>
+--- a/gui/preferences.cc 2017-01-02 06:05:19.000000000 +0100
++++ b/gui/preferences.cc 2017-01-21 00:39:20.648418701 +0100
+@@ -39,7 +39,6 @@
+ {
+ ui_.setupUi(this);
+
+- ui_.startupCheck->setChecked(babelData_.startupVersionCheck_);
+ ui_.reportStatisticsCheck->setChecked(babelData_.reportStatistics_);
+ ui_.ignoreVersionMismatchCheck->setChecked(babelData_.ignoreVersionMismatch_);
+ // Because of an unfortunate bug in 1.4.0, we turn this off in 1.4.1.
+@@ -82,7 +81,6 @@
+ formatList_[i].setHidden(item->checkState() == Qt::Unchecked);
+ }
+
+- babelData_.startupVersionCheck_ = ui_.startupCheck->isChecked();
+ babelData_.reportStatistics_ = ui_.reportStatisticsCheck->isChecked();
+ babelData_.ignoreVersionMismatch_ = ui_.ignoreVersionMismatchCheck->isChecked();
+ accept();
+--- a/gui/babeldata.h 2017-01-21 00:33:30.858046004 +0100
++++ b/gui/babeldata.h 2017-01-21 00:40:03.888959247 +0100
+@@ -63,7 +63,7 @@
+ upgradeErrors_(0),
+ upgradeOffers_(0),
+ runCount_(0),
+- startupVersionCheck_(true),
++ startupVersionCheck_(false),
+ reportStatistics_(false),
+ allowBetaUpgrades_(false),
+ ignoreVersionMismatch_(false),
+--- a/gui/mainwinui.ui 2017-01-02 06:05:19.000000000 +0100
++++ b/gui/mainwinui.ui 2017-01-21 00:40:40.453416335 +0100
+@@ -637,7 +637,6 @@
+ <addaction name="actionHelp"/>
+ <addaction name="separator"/>
+ <addaction name="actionAbout"/>
+- <addaction name="actionUpgradeCheck"/>
+ <addaction name="separator"/>
+ <addaction name="actionVisit_Website"/>
+ <addaction name="actionMake_a_Donation"/>
+@@ -666,11 +665,6 @@
+ <string>Preferences...</string>
+ </property>
+ </action>
+- <action name="actionUpgradeCheck">
+- <property name="text">
+- <string>Check for Upgrade</string>
+- </property>
+- </action>
+ <action name="actionVisit_Website">
+ <property name="text">
+ <string>Visit Website...</string>
+--- a/gui/mainwindow.cc 2017-01-02 06:05:19.000000000 +0100
++++ b/gui/mainwindow.cc 2017-01-21 00:42:02.939447485 +0100
+@@ -147,7 +147,6 @@
+ connect(ui_.actionAbout, SIGNAL(triggered()), this, SLOT(aboutActionX()));
+ connect(ui_.actionVisit_Website, SIGNAL(triggered()), this, SLOT(visitWebsiteActionX()));
+ connect(ui_.actionMake_a_Donation, SIGNAL(triggered()), this, SLOT(donateActionX()));
+- connect(ui_.actionUpgradeCheck, SIGNAL(triggered()), this, SLOT(upgradeCheckActionX()));
+ connect(ui_.actionPreferences, SIGNAL(triggered()), this, SLOT(preferencesActionX()));
+
+ connect(ui_.inputFormatCombo, SIGNAL(currentIndexChanged(int)),
+@@ -208,17 +208,6 @@
+ restoreSettings();
+
+ upgrade = new UpgradeCheck(parent, formatList_, babelData_);
+- if (babelData_.startupVersionCheck_) {
+- upgrade->checkForUpgrade(babelVersion_, babelData_.upgradeCheckTime_,
+- allowBetaUpgrades());
+- }
+-
+- if (!babelData_.ignoreVersionMismatch_ && babelVersion_ != VERSION) {
+- VersionMismatch vm(0, babelVersion_, QString(VERSION));
+-
+- vm.exec();
+- babelData_.ignoreVersionMismatch_ = vm.neverAgain();
+- }
+ }
+
+ //------------------------------------------------------------------------
+@@ -1021,10 +1010,6 @@
+ //------------------------------------------------------------------------
+ void MainWindow::closeActionX()
+ {
+- QDateTime wt= upgrade->getUpgradeWarningTime();
+- if (wt.isValid()) {
+- babelData_.upgradeCheckTime_ = wt;
+- }
+ babelData_.runCount_++;
+
+ QDateTime now = QDateTime::currentDateTime();
diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_version_check.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_version_check.patch
new file mode 100644
index 000000000000..e9d56d0a460b
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_version_check.patch
@@ -0,0 +1,45 @@
+--- a/gui/preferences.ui 2017-01-21 00:38:44.929972188 +0100
++++ b/gui/preferences.ui 2017-01-21 00:50:05.314477610 +0100
+@@ -46,13 +46,6 @@
+ </property>
+ </widget>
+ </item>
+- <item>
+- <widget class="QCheckBox" name="ignoreVersionMismatchCheck">
+- <property name="text">
+- <string>Ignore mismatch between command line and GUI version.</string>
+- </property>
+- </widget>
+- </item>
+ </layout>
+ </widget>
+ </widget>
+--- a/gui/preferences.cc 2017-01-21 00:39:20.648418701 +0100
++++ b/gui/preferences.cc 2017-01-21 00:50:33.451829352 +0100
+@@ -40,7 +40,6 @@
+ ui_.setupUi(this);
+
+ ui_.reportStatisticsCheck->setChecked(babelData_.reportStatistics_);
+- ui_.ignoreVersionMismatchCheck->setChecked(babelData_.ignoreVersionMismatch_);
+ // Because of an unfortunate bug in 1.4.0, we turn this off in 1.4.1.
+ if (VERSION == QString("1.4.1"))
+ babelData_.ignoreVersionMismatch_ = false;
+@@ -82,7 +81,6 @@
+ }
+
+ babelData_.reportStatistics_ = ui_.reportStatisticsCheck->isChecked();
+- babelData_.ignoreVersionMismatch_ = ui_.ignoreVersionMismatchCheck->isChecked();
+ accept();
+ }
+
+--- a/gui/babeldata.h 2017-01-21 00:40:03.888959247 +0100
++++ b/gui/babeldata.h 2017-01-21 00:51:05.753233149 +0100
+@@ -66,7 +66,7 @@
+ startupVersionCheck_(false),
+ reportStatistics_(false),
+ allowBetaUpgrades_(false),
+- ignoreVersionMismatch_(false),
++ ignoreVersionMismatch_(true),
+ disableDonateDialog_(false),
+ donateSplashed_(QDateTime(QDate(2010, 1, 1), QTime(0, 0, 0)))
+ {
diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_shapelib.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_shapelib.patch
new file mode 100644
index 000000000000..d3a4fa0c16a3
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_shapelib.patch
@@ -0,0 +1,68 @@
+--- a/configure.in 2017-01-02 06:05:19.000000000 +0100
++++ b/configure.in 2017-01-21 00:26:02.239786037 +0100
+@@ -402,7 +402,7 @@
+ AC_SUBST(QT_SYSINC_OPT)
+ AC_SUBST(QT_LIBS)
+
+-AC_CONFIG_FILES([Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc jeeps/Makefile shapelib/Makefile zlib/empty])
++AC_CONFIG_FILES([Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc jeeps/Makefile zlib/empty])
+ AC_CONFIG_FILES([gui/makelinuxdist.sh], [chmod +x gui/makelinuxdist.sh])
+ AC_OUTPUT
+
+--- a/Makefile.in 2017-01-02 06:05:19.000000000 +0100
++++ b/Makefile.in 2017-01-21 00:29:05.715731486 +0100
+@@ -100,7 +100,7 @@
+ # Extra modules in Jeeps that we don't use
+ # jeeps/gpsfmt.o jeeps/gpsinput.o jeeps/gpsproj.o
+
+-SHAPE=shapelib/shpopen.o shapelib/dbfopen.o shapelib/safileio.o
++SHAPE=-lshp
+
+ MINIZIP=zlib/contrib/minizip/zip.o \
+ zlib/contrib/minizip/ioapi.o
+@@ -119,7 +119,7 @@
+ src/core/xmlstreamwriter.o \
+ src/core/usasciicodec.o\
+ src/core/ziparchive.o \
+- $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS)
++ $(GARMIN) $(JEEPS) @ZLIB@ $(FMTS) $(FILTERS)
+ OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
+
+ DEPFILES = $(OBJS:.o=.d)
+@@ -148,10 +148,10 @@
+ all: gpsbabel$(EXEEXT)
+
+ gpsbabel$(EXEEXT): configure Makefile $(OBJS) @GPSBABEL_DEBUG@
+- $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(SHAPE) @LIBS@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
+
+ gpsbabel-debug: $(OBJS)
+- $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(SHAPE) @LIBS@ @EFENCE_LIB@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
+
+ Makefile gbversion.h: Makefile.in config.status xmldoc/makedoc.in \
+ gbversion.h.in gui/setup.iss.in
+@@ -894,11 +894,7 @@
+ session.o: session.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \
+ gbfile.h cet.h inifile.h session.h src/core/datetime.h
+ shape.o: shape.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \
+- gbfile.h cet.h inifile.h session.h src/core/datetime.h \
+- shapelib/shapefil.h
+-shapelib/dbfopen.o: shapelib/dbfopen.c shapelib/shapefil.h
+-shapelib/safileio.o: shapelib/safileio.c shapelib/shapefil.h
+-shapelib/shpopen.o: shapelib/shpopen.c shapelib/shapefil.h
++ gbfile.h cet.h inifile.h session.h src/core/datetime.h
+ skyforce.o: skyforce.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \
+ gbfile.h cet.h inifile.h session.h src/core/datetime.h
+ skytraq.o: skytraq.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \
+--- a/shape.cc 2017-01-02 06:05:19.000000000 +0100
++++ b/shape.cc 2017-01-21 00:29:58.514391517 +0100
+@@ -20,7 +20,7 @@
+
+ */
+ #include "defs.h"
+-#include "shapelib/shapefil.h"
++#include <libshp/shapefil.h>
+ #include <stdlib.h>
+
+ #if SHAPELIB_ENABLED
diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_zlib.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_zlib.patch
new file mode 100644
index 000000000000..ce3591715492
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_zlib.patch
@@ -0,0 +1,80 @@
+--- a/configure.in 2017-01-21 03:17:05.480317203 +0100
++++ b/configure.in 2017-01-21 03:26:53.743671224 +0100
+@@ -402,7 +402,7 @@
+ AC_SUBST(QT_SYSINC_OPT)
+ AC_SUBST(QT_LIBS)
+
+-AC_CONFIG_FILES([Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc jeeps/Makefile zlib/empty])
++AC_CONFIG_FILES([Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc jeeps/Makefile])
+ AC_CONFIG_FILES([gui/makelinuxdist.sh], [chmod +x gui/makelinuxdist.sh])
+ AC_OUTPUT
+
+--- a/Makefile.in 2017-01-21 03:17:05.530317828 +0100
++++ b/Makefile.in 2017-01-21 03:32:19.447032690 +0100
+@@ -102,14 +102,7 @@
+
+ SHAPE=-lshp
+
+-MINIZIP=zlib/contrib/minizip/zip.o \
+- zlib/contrib/minizip/ioapi.o
+-
+-ZLIB=zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o \
+- zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/trees.o \
+- zlib/uncompr.o zlib/gzlib.o zlib/gzclose.o zlib/gzread.o \
+- zlib/gzwrite.o zlib/zutil.o $(MINIZIP)
+-
++ZLIB=-lz -lminizip
+
+ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \
+ csv_util.o strptime.o grtcirc.o util_crc.o xmlgeneric.o \
+@@ -119,7 +112,7 @@
+ src/core/xmlstreamwriter.o \
+ src/core/usasciicodec.o\
+ src/core/ziparchive.o \
+- $(GARMIN) $(JEEPS) @ZLIB@ $(FMTS) $(FILTERS)
++ $(GARMIN) $(JEEPS) $(FMTS) $(FILTERS)
+ OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@
+
+ DEPFILES = $(OBJS:.o=.d)
+@@ -148,10 +141,10 @@
+ all: gpsbabel$(EXEEXT)
+
+ gpsbabel$(EXEEXT): configure Makefile $(OBJS) @GPSBABEL_DEBUG@
+- $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(SHAPE) @LIBS@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(SHAPE) $(ZLIB) @LIBS@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
+
+ gpsbabel-debug: $(OBJS)
+- $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(SHAPE) @LIBS@ @EFENCE_LIB@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) $(SHAPE) $(ZLIB) @LIBS@ @EFENCE_LIB@ $(QT_LIBS) @USB_LIBS@ $(OUTPUT_SWITCH)$@
+
+ Makefile gbversion.h: Makefile.in config.status xmldoc/makedoc.in \
+ gbversion.h.in gui/setup.iss.in
+--- a/src/core/ziparchive.cc 2017-01-02 06:05:19.000000000 +0100
++++ b/src/core/ziparchive.cc 2017-01-21 03:51:30.402421165 +0100
+@@ -23,7 +23,7 @@
+
+ #include "defs.h"
+ #include "src/core/logging.h"
+-#include "zlib/contrib/minizip/zip.h"
++#include <minizip/zip.h>
+
+ #include <QtCore/QFile>
+ #include <QtCore/QDebug>
+@@ -89,4 +89,4 @@
+ return true;
+ }
+ return false;
+-}
+\ No newline at end of file
++}
+--- a/src/core/ziparchive.h 2017-01-02 06:05:19.000000000 +0100
++++ b/src/core/ziparchive.h 2017-01-21 03:51:05.931115241 +0100
+@@ -21,7 +21,7 @@
+
+ #include <QtCore/QString>
+ #include <QtCore/QStringList>
+-#include "zlib/contrib/minizip/zip.h"
++#include <minizip/zip.h>
+
+ class ZipArchive
+ {
diff --git a/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-xmldoc.patch b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-xmldoc.patch
new file mode 100644
index 000000000000..3fdd274927eb
--- /dev/null
+++ b/sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-xmldoc.patch
@@ -0,0 +1,13 @@
+--- a/Makefile.in 2017-01-21 00:32:50.921546762 +0100
++++ b/Makefile.in 2017-01-21 00:55:45.362728521 +0100
+@@ -278,8 +278,8 @@
+ --stringparam html.cleanup "1" \
+ --stringparam make.clean.html "1" \
+ --stringparam html.valid.html "1" \
+- --stringparam html.stylesheet \
+- "http://www.gpsbabel.org/style3.css" \
++ --nonet \
++ --stringparam html.stylesheet "gpsbabel.org-style3.css" \
+ http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl \
+ xmldoc/readme.xml
+
diff --git a/sci-geosciences/gpsbabel/gpsbabel-1.5.4.ebuild b/sci-geosciences/gpsbabel/gpsbabel-1.5.4.ebuild
new file mode 100644
index 000000000000..01af5b849100
--- /dev/null
+++ b/sci-geosciences/gpsbabel/gpsbabel-1.5.4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit autotools qmake-utils
+
+DESCRIPTION="GPS waypoints, tracks and routes converter"
+HOMEPAGE="http://www.gpsbabel.org/"
+SRC_URI="
+ https://dev.gentoo.org/~asturm/${P}.tar.gz
+ doc? ( http://www.gpsbabel.org/style3.css -> gpsbabel.org-style3.css )"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x86-fbsd"
+IUSE="doc qt5"
+
+RDEPEND="
+ dev-libs/expat
+ sci-libs/shapelib:=
+ sys-libs/zlib[minizip]
+ virtual/libusb:0
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwebchannel:5
+ dev-qt/qtwebengine:5[widgets]
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+"
+DEPEND="${RDEPEND}
+ doc? (
+ dev-lang/perl
+ dev-libs/libxslt
+ app-text/docbook-xml-dtd:4.1.2
+ )
+ qt5? ( dev-qt/linguist:5 )
+"
+
+DOCS=( AUTHORS README.{contrib,igc,mapconverter,md,xmapwpt} )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.4.3-fix_binary_name.patch"
+ "${FILESDIR}/${P}-disable_statistic_uploading.patch"
+ "${FILESDIR}/${P}-disable_update_check.patch"
+ "${FILESDIR}/${P}-disable_version_check.patch"
+ "${FILESDIR}/${P}-use_system_shapelib.patch"
+ "${FILESDIR}/${P}-use_system_zlib.patch"
+ "${FILESDIR}/${P}-xmldoc.patch"
+)
+
+RESTRICT="test" # bug 421699
+
+src_prepare() {
+ default
+
+ # remove bundled libs and cleanup
+ rm -r shapelib zlib || die
+ sed -i -e "s: zlib\/[a-z]*\.h::g" Makefile.in || die
+
+ mv configure.in configure.ac || die
+ sed -i -e "/^configure:/s/configure.in/configure.ac/" Makefile.in || die
+
+ use doc && cp "${DISTDIR}/gpsbabel.org-style3.css" "${S}"
+
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_with doc doc "${S}"/doc/manual) \
+ $(usex qt5 LRELEASE=$(qt5_get_bindir)/lrelease '') \
+ $(usex qt5 LUPDATE=$(qt5_get_bindir)/lupdate '') \
+ $(usex qt5 QMAKE=$(qt5_get_bindir)/qmake '') \
+ --with-zlib=system
+
+ if use qt5; then
+ pushd "${S}/gui" > /dev/null || die
+ lrelease *.ts || die
+ eqmake5
+ popd > /dev/null
+ fi
+}
+
+src_compile() {
+ default
+ if use qt5; then
+ pushd "${S}/gui" > /dev/null || die
+ emake
+ popd > /dev/null
+ fi
+
+ if use doc; then
+ perl xmldoc/makedoc || die
+ emake gpsbabel.html
+ fi
+}
+
+src_install() {
+ if use doc; then
+ HTML_DOCS=( "${S}"/${PN}.html "${S}"/${PN}.org-style3.css )
+ fi
+
+ default
+
+ if use qt5; then
+ dobin gui/objects/gpsbabelfe
+ insinto /usr/share/${PN}/translations/
+ doins gui/gpsbabel*_*.qm
+ newicon gui/images/appicon.png ${PN}.png
+ make_desktop_entry gpsbabelfe ${PN} ${PN} "Science;Geoscience"
+ fi
+}