sci-geosciences/gpsbabel: 1.5.4 version bump, EAPI 6 and Qt5
authorAndreas Sturmlechner <asturm@gentoo.org>
Sat, 21 Jan 2017 01:00:31 +0000 (02:00 +0100)
committerAndreas Sturmlechner <asturm@gentoo.org>
Sat, 21 Jan 2017 16:11:58 +0000 (17:11 +0100)
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

sci-geosciences/gpsbabel/Manifest
sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_statistic_uploading.patch [new file with mode: 0644]
sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_update_check.patch [new file with mode: 0644]
sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-disable_version_check.patch [new file with mode: 0644]
sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_shapelib.patch [new file with mode: 0644]
sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-use_system_zlib.patch [new file with mode: 0644]
sci-geosciences/gpsbabel/files/gpsbabel-1.5.4-xmldoc.patch [new file with mode: 0644]
sci-geosciences/gpsbabel/gpsbabel-1.5.4.ebuild [new file with mode: 0644]

index 6d4d414de8958889de02e07619b2aff0a397ef28..e7520daf3af89dda39e8279b74414d56edc9d949 100644 (file)
@@ -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 (file)
index 0000000..b65413c
--- /dev/null
@@ -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 (file)
index 0000000..b618106
--- /dev/null
@@ -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 (file)
index 0000000..e9d56d0
--- /dev/null
@@ -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 (file)
index 0000000..d3a4fa0
--- /dev/null
@@ -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 (file)
index 0000000..ce35917
--- /dev/null
@@ -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 (file)
index 0000000..3fdd274
--- /dev/null
@@ -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 (file)
index 0000000..01af5b8
--- /dev/null
@@ -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
+}