summaryrefslogtreecommitdiff
path: root/sci-geosciences/gpsd
diff options
context:
space:
mode:
Diffstat (limited to 'sci-geosciences/gpsd')
-rw-r--r--sci-geosciences/gpsd/Manifest25
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch32
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch54
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch13
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch40
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch28
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch100
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch81
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.15-timebase.patch12
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.16-sysmacros.patch31
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.17-do_not_rm_library.patch12
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.3-setup.py17
-rw-r--r--sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch15
-rw-r--r--sci-geosciences/gpsd/files/gpsd-9999-do_not_rm_library.patch12
-rw-r--r--sci-geosciences/gpsd/files/gpsd.conf-27
-rw-r--r--sci-geosciences/gpsd/files/gpsd.init-238
-rw-r--r--sci-geosciences/gpsd/gpsd-3.10.ebuild167
-rw-r--r--sci-geosciences/gpsd/gpsd-3.16.ebuild170
-rw-r--r--sci-geosciences/gpsd/gpsd-3.17.ebuild163
-rw-r--r--sci-geosciences/gpsd/gpsd-9999.ebuild163
-rw-r--r--sci-geosciences/gpsd/metadata.xml24
21 files changed, 1204 insertions, 0 deletions
diff --git a/sci-geosciences/gpsd/Manifest b/sci-geosciences/gpsd/Manifest
new file mode 100644
index 000000000000..16d55893f4ca
--- /dev/null
+++ b/sci-geosciences/gpsd/Manifest
@@ -0,0 +1,25 @@
+AUX gpsd-3.10-dbus.patch 888 SHA256 ddff0fd7adc970af01815f01e644278d81135d2421735253c6991f682cdd92ad SHA512 26a8259f5d18ada712220c537a09d4488a908755190a11470fca36a9d2a2b83be264803d29e6aec1377dca4ad5a465283eaedff5d2f318c1cba57f3506e88a7d WHIRLPOOL e1c4654ba9e567a216762994919620d3147c1faef364137a163f73a29de3fa5b7f61a771459d5b97d69b7a1f44be6e72dd14c9c199149c7f28bf056f961b1bec
+AUX gpsd-3.10-nmea-disabled.patch 1818 SHA256 371bff4f18b23f6f93b0a237c7043eaaa98cf7dc4537dc4abc9f6d681bf46ad6 SHA512 e4e4653cb5cb4f6477a58b0cdc27de74c138cdb09af01eb922b276c6286d95171e460aa9a749f360b556e463e0aeca33008ba0dc3d8771934380261eb8c750ad WHIRLPOOL 1c2171600dc7578ed35257d0edc7e99d191c891b726f0fdd62f9e7839f754b143fe505af363ef13393aedb4443ebea17a1c3f63ef010b545df859868bc5ba2b2
+AUX gpsd-3.10-rpath.patch 476 SHA256 a09ffb9052563b8f9d93a30c6ded7508a4219fd424c02e06b1c1da03cadf5348 SHA512 f83743ea2045edd6ef35c4d92155c0e07c6be64e67a36a31c7455718214c55db5bedf18ce9ffed22e9a80bc8c04c4e7e728723f0e6bc3dc35ec14c3e94b0b0fa WHIRLPOOL 2c69c65843ff3682428aa72e04fb3c4a5f18412b5012da6d9277481dd9d04845d32382d0c9fccb51bd1e38a64bfda744ac5b1c61294b643f3728832dec9b9578
+AUX gpsd-3.10-udev-install.patch 1400 SHA256 02eed61a8f91e62304ab5c26d87e1db72634a5590214fdcd08299449383c7c0d SHA512 9dc807b779850aca345ecb893e90d9cbd47d19b36e4058afa91ab6d3ea386940dacfcf8cffc3f204bc8076df6add73eceabd7dc15be4a2c6a03f58c2b6c43b93 WHIRLPOOL f4f9a207733fda2fe4705cc2639871047d6aae2e1ed76f95b3f39a35797a39683d98ecade9f0f74cdd31fd8c0cf91b2759f80c020db62f1cbb370eeb73d25c7b
+AUX gpsd-3.15-broken-install.patch 1135 SHA256 80fb8318d8c35d0b8500d642ea4f1befc6623e473c58192a2a3f9208034edd84 SHA512 ac01e2d7d9f98828e26f1d72c4d2077db05ba9d9ce18cba3f4f32d2fa20a5b1cdc7a69fb0649e58f8e8e69e2b4381dc72383f7a6b77149226ae4290c7b0f4d75 WHIRLPOOL a2da7d9e747dc661c0ce36c9ab2915fb5408f73bd4ceaf245471373c38cf5dfb2c1db71635a4fae882bcb5e97c33e8814943bc41391c51a985bdbd63eca86191
+AUX gpsd-3.15-dynamic-libs.patch 4061 SHA256 cf8a0ca8a920d39ab826a929c03e82ea3532b8f1f2766ae3536165f96f6ab9b5 SHA512 5feb21e238ff8e5178cdb1b27df8a36eba8acfb8ddfe7cca94457b29a0e6180abdc981090697c34a0fa4c45f10d8304c8472b854234ef5f577b8617a288bad2c WHIRLPOOL 54df0d5469b3564d4789818b968b9014d40d7ecd2b10d0f4c94a763a78fad84ad56a900cfd3390cc6aaba7ca8e741597cd73367d9a07cf4c53aa19fc41bb593f
+AUX gpsd-3.15-libgpsd.patch 3558 SHA256 d6a04ae7adc99c087a15606c4198230a8509c06f1adc4339a81668dd5f43cbe7 SHA512 445e2815f48d3c2baf3dab9bdc693d7eee5e4b1f3dc7b24ab858b0854143d077f548bb6f77352cc24fdf4d75cf0130c1d9888e74717e192f6efccf28119f6eca WHIRLPOOL ddfa3e8ea2481dc138c0ea2a9b98cdd1925cc08d7e4965044b6193bd36744401ed51d200f01b57d4b226cbb1cafff9045cd87fbfa7a6420f0f74f87f877d8992
+AUX gpsd-3.15-timebase.patch 457 SHA256 e02e6bf116c37f5515ca19fe529bf4bf7102d608cdb3c5e7019486181e61a0a1 SHA512 5d2a8f27d448e599c35119635f54b1a1ed52a6432065b03fc0625fa4c4a4368ab2a7c5ab4ac0ca455ff3ef04fd3dfca73c3401e4f18d0136253f7f5466268048 WHIRLPOOL 4c181a957065a5667b4084ee0fb70751927ad4e04154ec66ee794bd3fee96fe2243dceaf42c6d240569e6edc38cc6023ff72be32dde0431d89082e5be19ec082
+AUX gpsd-3.16-sysmacros.patch 817 SHA256 49d2df699693356cb7b7657a0789f35c49b41f015626606c5b30e400f0814630 SHA512 c19ccff871439c8de73c7ec33c640960a319728dfbd439f5f1da07afbe7cc0ddfca0430bbcc9fbf90e2f1306615def7284bd54a4986a07f702f148ffc22ff300 WHIRLPOOL a28403f7ceaa5707826a4285ebd50cf7408262709a949e40ea021fcb8a07eb4c47fb746c5ab200ec60dadbb25d51de0f475b9dc9973eb4b71a7febe83bbb1e20
+AUX gpsd-3.17-do_not_rm_library.patch 630 SHA256 5b497b0693efd8bf031bc8ab165b9c25459fdbfe420ebc68f9f92db67c106464 SHA512 70a1db3b2f478885fd0035a8c812f9ddf5230de4ede77c12a6bf3d81d744a902a4c5e14b788f97d9c653e1384653af1cdf849f72b0eb2f49030776c413c60d42 WHIRLPOOL b0d293fc7725b6d2e59d262fc1e9b1d0908e16c467beaf88455c400011016ac3f3ff9ce140e716ac2588c3c490b7aa1ee4e04c17376260f1002b9fbb5d60c8c8
+AUX gpsd-3.3-setup.py 448 SHA256 3a8f18f7f1e957c1b33ea25046dc4116422d087dd9f880f7bf2ad8fd0153f4c4 SHA512 4036bac7c095ba89795b565461bda8f282b7e1476867437db2beabeb1ba3a2a1b5a5b748acaa9ee1a2df693d854654e07f86610f387995abd0b057d3684b651b WHIRLPOOL fe5acbba6266ae89457c6d4c9361f5c9968c19d5053161c28610bbd563c2e94e17168a6837dfb6e0a46dfbb079f10b40dda3f4e7afb4dc7448b32eb7713bbf45
+AUX gpsd-3.8-ldflags.patch 476 SHA256 83f95296c58ecd63d7ff3a9ca69973613c7f95623b33f45efd92aed095b79c52 SHA512 58cf1622d223ea997543484d7643b15335e3766a58be384a8c8906da097b2bc8c884d739b141b8d060f326f2cb4c43fd72f52aba4714cb023579b77a08c3cda0 WHIRLPOOL cd916dd97e2b1722f5a9f4be457308bc416775d5919c682fa15db02147bc72ef214ea59e5b20b80ca7a705243c30b6de80899edc013e6c560bcabb5ddd8235c8
+AUX gpsd-9999-do_not_rm_library.patch 630 SHA256 5b497b0693efd8bf031bc8ab165b9c25459fdbfe420ebc68f9f92db67c106464 SHA512 70a1db3b2f478885fd0035a8c812f9ddf5230de4ede77c12a6bf3d81d744a902a4c5e14b788f97d9c653e1384653af1cdf849f72b0eb2f49030776c413c60d42 WHIRLPOOL b0d293fc7725b6d2e59d262fc1e9b1d0908e16c467beaf88455c400011016ac3f3ff9ce140e716ac2588c3c490b7aa1ee4e04c17376260f1002b9fbb5d60c8c8
+AUX gpsd.conf-2 198 SHA256 f0fb3dedcafaaba20a6d79f25c38acde9b4b240eb2d4909f0272b7b785aa3a24 SHA512 75dbfe39eb900cc9587dd70794ee77ae2230765bbede47760ca227145aa3f2290b6995335ffcfeae6cd86f56b01ca87367548f4fbcf810aff1bc012b7416deef WHIRLPOOL 5c8dad0f3064897b51f857735221e7fa1a19824f57ef6c83f8a84486152428d93b9974dea5433e402850b19622a92bb55e9e187f8497fafe1fc94cedcb7c862b
+AUX gpsd.init-2 825 SHA256 eb6a7684c8d911271a806e6f3269b72d4a1100a351c92f03af5f5adcc11d5b05 SHA512 51319247eb78c3021d3eb897cb5d6026cc09d46a532a245a835459ed525947ffb6239f08126dd7e344de52e3b0387226bce060191ec3f14f99fc9f255d96f8ea WHIRLPOOL eeac0cf875f5c097bdf15c2b4ec07e178d1fda2237c0e1012308e54d11022b1e58a979c2afbc08cc33063685d49b8e8a60ef3823109c5985b34dfbd27742fa94
+DIST gpsd-3.10.tar.gz 1566622 SHA256 706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320 SHA512 fd452185a8a9f9b8dfb2a5c2d5b6410f795d56dc46a7c216d8fcd686e43c5555a5f0421434060e9bb7afa465bb8a45a1e358108c4de42300eeb972caa334d8b6 WHIRLPOOL 52aa2285eff48f72a3e554c40bdb2b521bc36e35680a928d7ee53f3b55578d8451a573f4c75dcadc905eba7c48b41b5a317704aaf17b9699b614595560011514
+DIST gpsd-3.16.tar.gz 8587490 SHA256 03579af13a4d3fe0c5b79fa44b5f75c9f3cac6749357f1d99ce5d38c09bc2029 SHA512 a8ad85a1f17d3ea550a4b99c262e47a834ed8fd16b00e10574f7cf5f34b6c506142aa77a870a61f8827c0d0c88fe7f65f6e916089d64e84c5667d4a2ca89c543 WHIRLPOOL 67d6db04593d6df62c64848965fd2c72d806003df9ad8a3623665ecf73a165e12c977d1d3988e46f7aec3c1cdee8bc026c515fd3be855b6da282def4e32498be
+DIST gpsd-3.17.tar.gz 8755304 SHA256 68e0dbecfb5831997f8b3d6ba48aed812eb465d8c0089420ab68f9ce4d85e77a SHA512 71085053f600730e0f2de269c59ce0a17ae106ef01403f02d78418b267c6adb9818d541fba59eb23bf71cdb67c5442c82b4948d262ef7e74bb993dcae677a1b1 WHIRLPOOL 373c3f5f69696013b9af247bb929bd9019d39440d758d79a9c4f5797b36c69af0085fed79c3a5c42ca9412bd0b754d574afc48e44567b029b789dccf8589a17e
+EBUILD gpsd-3.10.ebuild 4785 SHA256 78af1c5d0582938e61a5fed3a4d9fa228d0411173afc769e8e5279ad9b858171 SHA512 6c253b1459de0a8233537543a8c5031b6b30b2f78b4a080f31745f0fe75bb90254843a66e4f59ada264f0bfaacc3c1756351c2b0bb357a6056d96a3164bbe026 WHIRLPOOL ace163b9ccc8bddfba7db4a38b93d4caa8f5622177a5e89a3ba3c4eb76a8330b647f5445c9a783ab98a46078ac92f157bb99db8412439104b9b141d5f4aae747
+EBUILD gpsd-3.16.ebuild 4930 SHA256 6274a586ef8a29af3a3503691799eb4ee6d5a96cba7bb877b09eb403bc431e78 SHA512 0b977e0cf70f20ac136046ba83d3be128e0a78c3f4a62e593a7e17daeacf0b300803e34c90b15b3e3ee51c58c1c304925f9b25e78f1679edfddd7b1ffb8f26d4 WHIRLPOOL 73dac8aeb0c74d5058c1167ae127b984138bbdf2ec8528bf71353880e0fb47a97d099ee7599e96d3e3585e9ef39b4071dddf8d71c3d0519aaa48ed0ac419c5f3
+EBUILD gpsd-3.17.ebuild 4629 SHA256 05745dd4fcf3e8f9f500cce9063baecc7ac8a92570aa21f2038b2c59496b45cc SHA512 0b7a2df7735101138d71a1076f4625e8b6e4c066953f0d2aff6ea55fcd966a0da7a77d30a924717745ea063f4a02eab857dca8063f46d0674b7c6c54969e02aa WHIRLPOOL 9f2185544fe16fcc8052ebea1894db70bdb256c55232bf6c781763f083e3df041cf9b27161bbfc8ec48a8190a0dac9523b39572fc14b220485f370f3c0610612
+EBUILD gpsd-9999.ebuild 4629 SHA256 05745dd4fcf3e8f9f500cce9063baecc7ac8a92570aa21f2038b2c59496b45cc SHA512 0b7a2df7735101138d71a1076f4625e8b6e4c066953f0d2aff6ea55fcd966a0da7a77d30a924717745ea063f4a02eab857dca8063f46d0674b7c6c54969e02aa WHIRLPOOL 9f2185544fe16fcc8052ebea1894db70bdb256c55232bf6c781763f083e3df041cf9b27161bbfc8ec48a8190a0dac9523b39572fc14b220485f370f3c0610612
+MISC ChangeLog 6084 SHA256 b4b74a420fccfc90719a513f9c892fc733ef90f3e8c323e5d1ef40cda90d7be1 SHA512 53aa16d14019deda8de0f125175c649c5c4039109d55c00e370d701c7b4eb6bc3cd41e4ec97a3cd1ad70151990aee0f045caea9fb4d13d0651ee980b0e3b3baa WHIRLPOOL d811759c121ef5be99180dda63a6a3df20273647c6d109ad0428320ad9a97e0c93dd2db2f0cf08c958151d63089c23e6f2abd15093fdc34d428539da1722116c
+MISC ChangeLog-2015 22188 SHA256 6a3c9ff31f9b2f818fdf55961b1446449caf441e1c7821695fafd8c38c90b323 SHA512 8f8880c98d97c28cf30aa87a771b91609219dd7c17029cf815c6fb6e618c7dff5eb1147f281873e6af1f6ed0ff9a27eb437058277066adbd620117d13c87cce4 WHIRLPOOL 644a8edda09936e2ef3ffeb67bb4457c9308961ede2ab64da5f4c70396cb5505b0c91959f5e2820289e4c48bb4d66f5cdc13a524089668cfc47204818f78463c
+MISC metadata.xml 950 SHA256 8f358f5c43e91db78dbf4ab30be6ee39167ead2c603c05c1e21fd0144f185e4d SHA512 a5e8e60afc8c02e769cf496caa30003173455d82554378457ee7350bcc64b57a88b697cf2284a7a56f008461a33d260d167ce866bde0710e235f684e201a5bf8 WHIRLPOOL a8641307501969495a9d176389853f59bfed34ceacd3638059daf182961bcdd5ebe9dfbc5a4a7a816401230cf91188fefb9e01b9876ab735243eb9139ccdb425
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch b/sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch
new file mode 100644
index 000000000000..3ea68386e2f1
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-dbus.patch
@@ -0,0 +1,32 @@
+From efaf7972ca95ff52464dedfe30bafa45095d299e Mon Sep 17 00:00:00 2001
+From: Bernd Zeimetz <bernd@bzed.de>
+Date: Sat, 23 Nov 2013 02:56:22 +0100
+Subject: [PATCH] Make it build abain with dbus enabled.
+
+This reverts a bad change to SConstruct in 57e9bdea.
+
+It still leaves the issue that scons links all file sstaically now.
+---
+ SConstruct | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/SConstruct b/SConstruct
+index 290910b..51b07e1 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -968,7 +968,11 @@ gpsdlibs = ["-lgpsd"] + usblibs + bluezlibs + gpslibs
+ # linking
+ # The final executable will build but not be portable.
+
+-env.StaticLibrary(target = 'libgps.a', source = libgps_sources)
++env.StaticLibrary(target='libgps.a',
++ source=libgps_sources,
++ parse_flags=dbus_libs + rtlibs)
++
++
+
+ # Source groups
+
+--
+1.8.4.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch b/sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch
new file mode 100644
index 000000000000..e87eff8a5644
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-nmea-disabled.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/493022
+
+From c31095e1562494a74d56b46fcc01541d1444cd5c Mon Sep 17 00:00:00 2001
+From: Simon Dawson <spdawson@gmail.com>
+Date: Sun, 8 Dec 2013 10:31:25 +0000
+Subject: [PATCH] gpsmon: fix build when nmea is false
+
+When nmea is False and ncurses support is enabled, the build fails as
+follows.
+
+gpsmon.o: In function `gpsmon_hook':
+gpsmon.c:(.text+0x974): undefined reference to `driver_nmea0183'
+collect2: error: ld returned 1 exit status
+scons: *** [gpsmon] Error 1
+scons: building terminated because of errors.
+
+The problem appears to be a failure to protect use of the driver_nmea0183
+variable with appropriate #ifdef guards.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+Signed-off-by: Eric S. Raymond <esr@thyrsus.com>
+---
+ gpsmon.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gpsmon.c b/gpsmon.c
+index de1f14b..b030979 100644
+--- a/gpsmon.c
++++ b/gpsmon.c
+@@ -36,7 +36,9 @@ extern struct monitor_object_t garmin_mmt, garmin_bin_ser_mmt;
+ extern struct monitor_object_t italk_mmt, ubx_mmt, superstar2_mmt;
+ extern struct monitor_object_t fv18_mmt, gpsclock_mmt, mtk3301_mmt;
+ extern struct monitor_object_t oncore_mmt, tnt_mmt, aivdm_mmt;
++#ifdef NMEA_ENABLE
+ extern const struct gps_type_t driver_nmea0183;
++#endif /* NMEA_ENABLE */
+
+ /* These are public */
+ struct gps_device_t session;
+@@ -477,9 +479,11 @@ static void select_packet_monitor(struct gps_device_t *device)
+ */
+ if (device->packet.type != last_type) {
+ const struct gps_type_t *active_type = device->device_type;
++#ifdef NMEA_ENABLE
+ if (device->packet.type == NMEA_PACKET
+ && ((device->device_type->flags & DRIVER_STICKY) != 0))
+ active_type = &driver_nmea0183;
++#endif /* NMEA_ENABLE */
+ if (!switch_type(active_type))
+ longjmp(terminate, TERM_DRIVER_SWITCH);
+ else {
+--
+2.1.2
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch b/sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch
new file mode 100644
index 000000000000..8d4a309f0957
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-rpath.patch
@@ -0,0 +1,13 @@
+don't set the -rpath flag to the install dir as this breaks DESTDIR
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -287,7 +287,7 @@ def installdir(dir, add_destdir=True):
+ # Honor the specified installation prefix in link paths.
+ if env["sysroot"]:
+ env.Prepend(LIBPATH=[env["sysroot"] + installdir('libdir', add_destdir=False)])
+-if env["shared"]:
++if env["shared"] and env["chrpath"]:
+ env.Prepend(RPATH=[installdir('libdir')])
+
+ # Give deheader a way to set compiler flags
diff --git a/sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch b/sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch
new file mode 100644
index 000000000000..5d81466b9709
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.10-udev-install.patch
@@ -0,0 +1,40 @@
+From 6821edb2d40956e5f93a80420ae1dbf825b95281 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 11 Mar 2013 13:26:57 -0400
+Subject: [PATCH] fix DESTDIR handling with udev rules install again
+
+Commit 102e29d16c3fd9b414eeac53c794302f902ae8da reverted the DESTDIR
+logic when upgrading the udev path handling.
+
+I fixed that with commit a41cd69c87e312198834a2e6232134176c9352e5.
+
+It's been reverted yet again in an unrelated commit
+57e9bdeae2f00664616ee1d9a936a5cfe27bfd30. Why do people keep doing this?
+
+Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+---
+ SConstruct | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 51b07e1..caed21e 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1790,10 +1790,10 @@ if env['python']:
+ # is plugged in.
+
+ Utility('udev-install', 'install', [
+- 'mkdir -p ' + env['udevdir'],
+- 'cp $SRCDIR/gpsd.rules ' + env['udevdir'] + '/rules.d/25-gpsd.rules',
+- 'cp $SRCDIR/gpsd.hotplug ' + env['udevdir'],
+- 'chmod a+x ' + env['udevdir'] + '/gpsd.hotplug',
++ 'mkdir -p ' + DESTDIR + env['udevdir'] + '/rules.d',
++ 'cp $SRCDIR/gpsd.rules ' + DESTDIR + env['udevdir'] + '/rules.d/25-gpsd.rules',
++ 'cp $SRCDIR/gpsd.hotplug ' + DESTDIR + env['udevdir'],
++ 'chmod a+x ' + DESTDIR + env['udevdir'] + '/gpsd.hotplug',
+ ])
+
+ Utility('udev-uninstall', '', [
+--
+1.8.4.3
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch b/sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch
new file mode 100644
index 000000000000..ec68a3c21a9c
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-broken-install.patch
@@ -0,0 +1,28 @@
+From 798629da485b9504dbb5bd5c96c9ea1d3454ebe3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 7 Jun 2015 13:39:55 -0400
+Subject: [PATCH] Revert "# Work arount a minor bug in InstallSharedLib() link
+ handling"
+
+This reverts commit 0532106c1ea0807922ea6f868fcde384f22d4e92 as it breaks
+parallel installs. The original commit itself contains no real details.
+---
+ SConstruct | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 39a6b6a..c8a977e 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1336,8 +1336,6 @@ if env["ncurses"]:
+ binaryinstall.append(env.Install(installdir('bindir'), [cgps, gpsmon]))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib, libgps_version))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpsdlib, libgps_version))
+-# Work arount a minor bug in InstallSharedLib() link handling
+-env.AddPreAction(binaryinstall, 'rm -f %s/libgps.*' % (installdir('libdir'), ))
+
+ if qt_env:
+ binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib, libgps_version))
+--
+2.4.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch b/sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch
new file mode 100644
index 000000000000..9461a666b031
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-dynamic-libs.patch
@@ -0,0 +1,100 @@
+From ac48583654e97ef04e8cbb52c2ae77a617c7add3 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 7 Jun 2015 01:08:39 -0400
+Subject: [PATCH] reenable dynamic libs
+
+Upstream decided to staticly link their own programs against their libs
+instead of using the shared ones. Restore dynamic linking to save space
+and such.
+---
+ SConstruct | 64 ++++++++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 35 insertions(+), 29 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 28cebf0..a050f38 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -961,6 +961,9 @@ if qt_env:
+ gpsflags = ["-lm"] + rtlibs + dbusflags
+ gpsdflags = usbflags + bluezflags + gpsflags
+
++gpslibs = ["-lgps"] + gpsflags
++gpsdlibs = ["-lgpsd"] + gpsdflags + gpslibs
++
+ # Source groups
+
+ gpsd_sources = ['gpsd.c','timehint.c', 'shmexport.c','dbusexport.c']
+@@ -983,38 +986,41 @@ gpsmon_sources = [
+ ## Production programs
+
+ gpsd = env.Program('gpsd', gpsd_sources,
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags+gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
++env.Depends(gpsd, [compiled_gpslib])
++
+ gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'],
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags+gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
++env.Depends(gpsdecode, [compiled_gpslib])
++
+ gpsctl = env.Program('gpsctl', ['gpsctl.c'],
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags+gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
++env.Depends(gpsctl, [compiled_gpslib])
++
+ gpsmon = env.Program('gpsmon', gpsmon_sources,
+- LIBS=['gpsd', 'gps_static'], LIBPATH='.',
+- parse_flags=gpsdflags + gpsflags + ncurseslibs)
+-gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-gpspipe = env.Program('gpspipe', ['gpspipe.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-gps2udp = env.Program('gps2udp', ['gps2udp.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-gpxlogger = env.Program('gpxlogger', ['gpxlogger.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-lcdgps = env.Program('lcdgps', ['lcdgps.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
+-cgps = env.Program('cgps', ['cgps.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags + ncurseslibs)
+-ntpshmmon = env.Program('ntpshmmon', ['ntpshmmon.c'],
+- LIBS=['gps_static'], LIBPATH='.',
+- parse_flags=gpsflags)
++ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs + ncurseslibs)
++env.Depends(gpsmon, [compiled_gpslib])
++
++gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'], parse_flags=gpslibs)
++env.Depends(gpsdctl, compiled_gpslib)
++
++gpspipe = env.Program('gpspipe', ['gpspipe.c'], parse_flags=gpslibs)
++env.Depends(gpspipe, compiled_gpslib)
++
++gps2udp = env.Program('gps2udp', ['gps2udp.c'], parse_flags=gpslibs)
++env.Depends(gps2udp, compiled_gpslib)
++
++gpxlogger = env.Program('gpxlogger', ['gpxlogger.c'], parse_flags=gpslibs)
++env.Depends(gpxlogger, compiled_gpslib)
++
++lcdgps = env.Program('lcdgps', ['lcdgps.c'], parse_flags=gpslibs)
++env.Depends(lcdgps, compiled_gpslib)
++
++cgps = env.Program('cgps', ['cgps.c'], parse_flags=gpslibs + ncurseslibs)
++env.Depends(cgps, compiled_gpslib)
++
++ntpshmmon = env.Program('ntpshmmon', ['ntpshmmon.c'], parse_flags=gpslibs)
++env.Depends(ntpshmmon, compiled_gpslib)
+
+ binaries = [gpsd, gpsdecode, gpsctl, gpsdctl, gpspipe, gps2udp, gpxlogger, lcdgps, ntpshmmon]
+ if env["ncurses"]:
+--
+2.4.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch b/sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch
new file mode 100644
index 000000000000..77ba8a7966f6
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-libgpsd.patch
@@ -0,0 +1,81 @@
+From 7b29fcb88a476daab12957ac22512edf66aee813 Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Sun, 7 Jun 2015 01:08:48 -0400
+Subject: [PATCH] reenable libgpsd
+
+Upstream has decided to drop the shared libgpsd (since it wasn't used
+externally anymore), but this also meant they statically link the code
+into every app. Re-enable the shared lib so that the various runtime
+programs can continue to share and save on resources.
+---
+ SConstruct | 25 +++++++++++++------------
+ 1 file changed, 13 insertions(+), 12 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index a050f38..53f697d 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -903,7 +903,7 @@ else:
+ obj_list = []
+ for s in Flatten(sources):
+ if type(s) is str:
+- obj_list.append(env.SharedObject(s))
++ obj_list.append(env.SharedObject(s, parse_flags=parse_flags))
+ else:
+ obj_list.append(s)
+ return env.SharedLibrary(target=target,
+@@ -925,9 +925,12 @@ static_gpslib = env.StaticLibrary("gps_static",
+ [env.StaticObject(s) for s in libgps_sources],
+ rtlibs)
+
+-compiled_gpsdlib = env.StaticLibrary(target="gpsd",
+- source=[env.StaticObject(s, parse_flags=usbflags + bluezflags) for s in libgpsd_sources],
+- parse_flags=usbflags + bluezflags)
++compiled_gpsdlib = Library(env=env,
++ target="gpsd",
++ sources=libgpsd_sources,
++ version=libgps_version,
++ parse_flags=usbflags + rtlibs + bluezflags + ["-lgps"])
++env.Depends(compiled_gpsdlib, [compiled_gpslib])
+
+ libraries = [compiled_gpslib, compiled_gpsdlib]
+
+@@ -985,21 +987,19 @@ gpsmon_sources = [
+
+ ## Production programs
+
+-gpsd = env.Program('gpsd', gpsd_sources,
+- LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
+-env.Depends(gpsd, [compiled_gpslib])
++gpsd = env.Program('gpsd', gpsd_sources, parse_flags=gpsdlibs)
++env.Depends(gpsd, [compiled_gpsdlib, compiled_gpslib])
+
+-gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'],
+- LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
+-env.Depends(gpsdecode, [compiled_gpslib])
++gpsdecode = env.Program('gpsdecode', ['gpsdecode.c'], parse_flags=gpsdlibs)
++env.Depends(gpsdecode, [compiled_gpsdlib, compiled_gpslib])
+
+ gpsctl = env.Program('gpsctl', ['gpsctl.c'],
+ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs)
+-env.Depends(gpsctl, [compiled_gpslib])
++env.Depends(gpsctl, [compiled_gpsdlib, compiled_gpslib])
+
+ gpsmon = env.Program('gpsmon', gpsmon_sources,
+ LIBS=['gpsd'], parse_flags=gpsdflags+gpslibs + ncurseslibs)
+-env.Depends(gpsmon, [compiled_gpslib])
++env.Depends(gpsmon, [compiled_gpsdlib, compiled_gpslib])
+
+ gpsdctl = env.Program('gpsdctl', ['gpsdctl.c'], parse_flags=gpslibs)
+ env.Depends(gpsdctl, compiled_gpslib)
+@@ -1339,6 +1339,7 @@ binaryinstall.append(env.Install(installdir('bindir'), [gpsdecode, gpsctl, gpsp
+ if env["ncurses"]:
+ binaryinstall.append(env.Install(installdir('bindir'), [cgps, gpsmon]))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib, libgps_version))
++binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpsdlib, libgps_version))
+ # Work arount a minor bug in InstallSharedLib() link handling
+ env.AddPreAction(binaryinstall, 'rm -f %s/libgps.*' % (installdir('libdir'), ))
+
+--
+2.4.1
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.15-timebase.patch b/sci-geosciences/gpsd/files/gpsd-3.15-timebase.patch
new file mode 100644
index 000000000000..2477d30ce6cc
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.15-timebase.patch
@@ -0,0 +1,12 @@
+don't always rebuild this header as it won't change between compile & install
+
+--- a/SConstruct
++++ b/SConstruct
+@@ -1174,7 +1174,6 @@
+ f.close()
+ timebase = env.Command(target="timebase.h",
+ source=["leapseconds.cache"], action=timebase_h)
+-env.AlwaysBuild(timebase)
+
+ env.Textfile(target="gpsd_config.h", source=confdefs)
+ env.Textfile(target="gpsd.h", source=[File("gpsd.h-head"), File("gpsd_config.h"), File("gpsd.h-tail")])
diff --git a/sci-geosciences/gpsd/files/gpsd-3.16-sysmacros.patch b/sci-geosciences/gpsd/files/gpsd-3.16-sysmacros.patch
new file mode 100644
index 000000000000..d9863c9280f5
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.16-sysmacros.patch
@@ -0,0 +1,31 @@
+https://bugs.gentoo.org/581740
+
+From 87027243d101cfa7e01d9b697f890ea7b247449b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vapier@gentoo.org>
+Date: Mon, 9 May 2016 14:33:06 -0400
+Subject: [PATCH] include sys/sysmacros.h for major
+
+These functions are not part of any official spec, and Linux C libs have
+always kept them in sys/sysmacros.h. Include the header directly to fix
+builds w/alternative C libs, and to work with future glibc versions.
+---
+ serial.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/serial.c b/serial.c
+index d8bdd8c..b748cab 100644
+--- a/serial.c
++++ b/serial.c
+@@ -14,6 +14,9 @@
+ #include <unistd.h>
+ #include <sys/socket.h>
+ #include <sys/param.h> /* defines BSD */
++#ifdef __linux__
++#include <sys/sysmacros.h>
++#endif
+
+ #include "gpsd_config.h"
+ #ifdef ENABLE_BLUEZ
+--
+2.7.4
+
diff --git a/sci-geosciences/gpsd/files/gpsd-3.17-do_not_rm_library.patch b/sci-geosciences/gpsd/files/gpsd-3.17-do_not_rm_library.patch
new file mode 100644
index 000000000000..83e2907fca5b
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.17-do_not_rm_library.patch
@@ -0,0 +1,12 @@
+diff --git a/SConstruct b/SConstruct
+index c0f083a..4a98580 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1646,7 +1646,6 @@ binaryinstall.append(env.Install(installdir('sbindir'), sbin_binaries))
+ binaryinstall.append(env.Install(installdir('bindir'), bin_binaries))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib, libgps_version))
+ # Work around a minor bug in InstallSharedLib() link handling
+-env.AddPreAction(binaryinstall, 'rm -f %s/libgps.*' % (installdir('libdir'), ))
+
+ if qt_env:
+ binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib, libgps_version))
diff --git a/sci-geosciences/gpsd/files/gpsd-3.3-setup.py b/sci-geosciences/gpsd/files/gpsd-3.3-setup.py
new file mode 100644
index 000000000000..93cc5e8f2149
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.3-setup.py
@@ -0,0 +1,17 @@
+from distutils.core import setup, Extension
+
+setup(
+ name = "gps",
+ version = @VERSION@,
+ description = 'Python libraries for the gpsd service daemon',
+ url = @URL@,
+ author = 'the GPSD project',
+ author_email = @EMAIL@,
+ license = "BSD",
+ ext_modules=[
+ Extension("gps.packet", @GPS_PACKET_SOURCES@, include_dirs=["."]),
+ Extension("gps.clienthelpers", @GPS_CLIENT_SOURCES@, include_dirs=["."]),
+ ],
+ packages = ['gps'],
+ scripts = @SCRIPTS@,
+)
diff --git a/sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch b/sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch
new file mode 100644
index 000000000000..b41be8b66e54
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-3.8-ldflags.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/391299
+
+split up linking flags into multiple arguments
+
+--- gpsd-3.8/SConstruct
++++ gpsd-3.8/SConstruct
+@@ -214,7 +214,7 @@
+ env.Replace(**{j: os.getenv(i)})
+ for flag in ["LDFLAGS", "LINKFLAGS", "SHLINKFLAGS", "CPPFLAGS"]:
+ if os.environ.has_key(flag):
+- env.MergeFlags({flag : [os.getenv(flag)]})
++ env.MergeFlags({flag : Split(os.getenv(flag))})
+
+
+ # Placeholder so we can kluge together something like VPATH builds.
diff --git a/sci-geosciences/gpsd/files/gpsd-9999-do_not_rm_library.patch b/sci-geosciences/gpsd/files/gpsd-9999-do_not_rm_library.patch
new file mode 100644
index 000000000000..83e2907fca5b
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd-9999-do_not_rm_library.patch
@@ -0,0 +1,12 @@
+diff --git a/SConstruct b/SConstruct
+index c0f083a..4a98580 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -1646,7 +1646,6 @@ binaryinstall.append(env.Install(installdir('sbindir'), sbin_binaries))
+ binaryinstall.append(env.Install(installdir('bindir'), bin_binaries))
+ binaryinstall.append(LibraryInstall(env, installdir('libdir'), compiled_gpslib, libgps_version))
+ # Work around a minor bug in InstallSharedLib() link handling
+-env.AddPreAction(binaryinstall, 'rm -f %s/libgps.*' % (installdir('libdir'), ))
+
+ if qt_env:
+ binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib, libgps_version))
diff --git a/sci-geosciences/gpsd/files/gpsd.conf-2 b/sci-geosciences/gpsd/files/gpsd.conf-2
new file mode 100644
index 000000000000..0f52aa9b5e06
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd.conf-2
@@ -0,0 +1,7 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+# Config file for gpsd server
+GPSD_OPTIONS=""
+DEVICES=""
+GPSD_SOCKET="/var/run/gpsd.sock"
diff --git a/sci-geosciences/gpsd/files/gpsd.init-2 b/sci-geosciences/gpsd/files/gpsd.init-2
new file mode 100644
index 000000000000..d2a30071a22b
--- /dev/null
+++ b/sci-geosciences/gpsd/files/gpsd.init-2
@@ -0,0 +1,38 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after dbus
+ before ntpd
+}
+
+PIDFILE=/var/run/${SVCNAME}.pid
+DAEMON=/usr/sbin/gpsd
+
+checkconfig() {
+ # Note: these GPSD_xxx var names should be kept in sync with the udev rules.
+ if [ -z "${GPSD_SOCKET}" ] && [ -z "${DEVICES}" ]; then
+ GPSD_SOCKET="/var/run/gpsd.sock"
+ fi
+
+ if [ -n "${GPSD_SOCKET}" ]; then
+ GPSD_OPTIONS="${GPSD_OPTIONS} -F ${GPSD_SOCKET}"
+ fi
+}
+
+start() {
+ checkconfig
+ ebegin "Starting gpsd"
+
+ start-stop-daemon --start --quiet --pidfile ${PIDFILE} --exec ${DAEMON} -- \
+ ${GPSD_OPTIONS} -P ${PIDFILE} ${DEVICES}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping gpsd"
+ start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile ${PIDFILE}
+ eend $?
+ rm -f ${PIDFILE}
+}
diff --git a/sci-geosciences/gpsd/gpsd-3.10.ebuild b/sci-geosciences/gpsd/gpsd-3.10.ebuild
new file mode 100644
index 000000000000..e7b5410cc430
--- /dev/null
+++ b/sci-geosciences/gpsd/gpsd-3.10.ebuild
@@ -0,0 +1,167 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python2_7 )
+SCONS_MIN_VERSION="1.2.1"
+
+inherit eutils udev user multilib distutils-r1 scons-utils toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/gpsd.git"
+ inherit git-2
+else
+ SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 arm ppc ppc64 x86"
+fi
+
+DESCRIPTION="GPS daemon and library for USB/serial GPS devices and GPS/mapping clients"
+HOMEPAGE="http://catb.org/gpsd/"
+
+LICENSE="BSD"
+SLOT="0"
+
+GPSD_PROTOCOLS=(
+ aivdm ashtech earthmate evermore fury fv18 garmin garmintxt
+ geostar gpsclock itrax mtk3301 navcom nmea nmea2000 ntrip
+ oceanserver oncore rtcm104v2 rtcm104v3 sirf superstar2 tnt
+ tripmate tsip ublox
+)
+IUSE_GPSD_PROTOCOLS=${GPSD_PROTOCOLS[@]/#/gpsd_protocols_}
+IUSE="${IUSE_GPSD_PROTOCOLS} bluetooth cxx debug dbus ipv6 latency_timing ncurses ntp python qt4 +shm +sockets static test udev usb X"
+REQUIRED_USE="X? ( python )
+ gpsd_protocols_nmea2000? ( gpsd_protocols_aivdm )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="X? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ ncurses? ( sys-libs/ncurses:= )
+ bluetooth? ( net-wireless/bluez )
+ usb? ( virtual/libusb:1 )
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ ntp? ( || ( net-misc/ntp net-misc/chrony ) )
+ qt4? ( dev-qt/qtgui:4 )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sys-devel/bc )"
+
+# xml packages are for man page generation
+if [[ ${PV} == "9999" ]] ; then
+ DEPEND+="
+ app-text/xmlto
+ =app-text/docbook-xml-dtd-4.1*"
+fi
+
+src_prepare() {
+ # Make sure our list matches the source.
+ local src_protocols=$(echo $(
+ sed -n '/GPS protocols/,/Time service/{s:#.*::;s:[(",]::g;p}' "${S}"/SConstruct | awk '{print $1}' | LC_ALL=C sort
+ ) )
+ if [[ ${src_protocols} != ${GPSD_PROTOCOLS[*]} ]] ; then
+ eerror "Detected protocols: ${src_protocols}"
+ eerror "Ebuild protocols: ${GPSD_PROTOCOLS[*]}"
+ die "please sync ebuild & source"
+ fi
+
+ epatch "${FILESDIR}"/${PN}-3.8-ldflags.patch
+ epatch "${FILESDIR}"/${PN}-3.10-rpath.patch
+ epatch "${FILESDIR}"/${PN}-3.10-dbus.patch
+ epatch "${FILESDIR}"/${PN}-3.10-udev-install.patch
+ epatch "${FILESDIR}"/${PN}-3.10-nmea-disabled.patch #493022
+
+ # Avoid useless -L paths to the install dir
+ sed -i \
+ -e 's:\<STAGING_PREFIX\>:SYSROOT:g' \
+ SConstruct || die
+
+ use python && distutils-r1_src_prepare
+}
+
+python_prepare_all() {
+ python_export_best
+ # Extract python info out of SConstruct so we can use saner distribute
+ pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
+ local pybins=$(pyvar python_progs)
+ local pysrcs=$(sed -n '/^ *python_extensions = {/,/}/{s:^ *::;s:os[.]sep:"/":g;p}' SConstruct)
+ local packet=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/packet'])")
+ local client=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/clienthelpers'])")
+ sed \
+ -e "s|@VERSION@|$(pyvar gpsd_version)|" \
+ -e "s|@URL@|$(pyvar website)|" \
+ -e "s|@EMAIL@|$(pyvar devmail)|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ -e "s|@GPS_PACKET_SOURCES@|${packet}|" \
+ -e "s|@GPS_CLIENT_SOURCES@|${client}|" \
+ -e "s|@SCRIPTS@|$(pyvar python_progs)|" \
+ "${FILESDIR}"/${PN}-3.3-setup.py > setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ myesconsargs=(
+ prefix="${EPREFIX}/usr"
+ libdir="\$prefix/$(get_libdir)"
+ udevdir="$(get_udevdir)"
+ chrpath=False
+ gpsd_user=gpsd
+ gpsd_group=uucp
+ strip=False
+ python=False
+ manbuild=False
+ shared=$(usex !static True False)
+ $(use_scons bluetooth bluez)
+ $(use_scons cxx libgpsmm)
+ $(use_scons debug clientdebug)
+ $(use_scons dbus dbus_export)
+ $(use_scons ipv6)
+ $(use_scons latency_timing timing)
+ $(use_scons ncurses)
+ $(use_scons ntp ntpshm)
+ $(use_scons ntp pps)
+ $(use_scons shm shm_export)
+ $(use_scons sockets socket_export)
+ $(use_scons qt4 libQgpsmm)
+ $(use_scons usb)
+ )
+
+ # enable specified protocols
+ local protocol
+ for protocol in ${GPSD_PROTOCOLS[@]} ; do
+ myesconsargs+=( $(use_scons gpsd_protocols_${protocol} ${protocol}) )
+ done
+}
+
+src_compile() {
+ export CHRPATH=
+ tc-export CC CXX PKG_CONFIG
+ export SHLINKFLAGS=${LDFLAGS} LINKFLAGS=${LDFLAGS}
+ escons
+
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ DESTDIR="${D}" escons install $(usex udev udev-install "")
+
+ newconfd "${FILESDIR}"/gpsd.conf-2 gpsd
+ newinitd "${FILESDIR}"/gpsd.init-2 gpsd
+
+ if use python ; then
+ distutils-r1_src_install
+ # Delete all X related packages if user doesn't want them
+ if ! use X ; then
+ rm "${ED%/}"/usr/bin/xgps* || die
+ fi
+ fi
+}
+
+pkg_preinst() {
+ # Run the gpsd daemon as gpsd and group uucp; create it here
+ # as it doesn't seem to be needed during compile/install ...
+ enewuser gpsd -1 -1 -1 "uucp"
+}
diff --git a/sci-geosciences/gpsd/gpsd-3.16.ebuild b/sci-geosciences/gpsd/gpsd-3.16.ebuild
new file mode 100644
index 000000000000..bf36c89f403a
--- /dev/null
+++ b/sci-geosciences/gpsd/gpsd-3.16.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python2_7 )
+SCONS_MIN_VERSION="1.2.1"
+
+inherit eutils udev user multilib distutils-r1 scons-utils toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/gpsd.git"
+ inherit git-2
+else
+ SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 arm ppc ppc64 x86"
+fi
+
+DESCRIPTION="GPS daemon and library for USB/serial GPS devices and GPS/mapping clients"
+HOMEPAGE="http://catb.org/gpsd/"
+
+LICENSE="BSD"
+SLOT="0/22"
+
+GPSD_PROTOCOLS=(
+ aivdm ashtech earthmate evermore fury fv18 garmin garmintxt
+ geostar gpsclock itrax mtk3301 navcom nmea0183 nmea2000 ntrip
+ oceanserver oncore passthrough rtcm104v2 rtcm104v3 sirf superstar2
+ tnt tripmate tsip ublox
+)
+IUSE_GPSD_PROTOCOLS=${GPSD_PROTOCOLS[@]/#/gpsd_protocols_}
+IUSE="${IUSE_GPSD_PROTOCOLS} bluetooth cxx debug dbus ipv6 latency_timing ncurses ntp python qt4 +shm +sockets static test udev usb X"
+REQUIRED_USE="X? ( python )
+ gpsd_protocols_nmea2000? ( gpsd_protocols_aivdm )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="X? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ ncurses? ( sys-libs/ncurses:= )
+ bluetooth? ( net-wireless/bluez )
+ usb? ( virtual/libusb:1 )
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ ntp? ( || ( net-misc/ntp net-misc/chrony ) )
+ qt4? ( dev-qt/qtgui:4 )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sys-devel/bc )"
+
+# xml packages are for man page generation
+if [[ ${PV} == "9999" ]] ; then
+ DEPEND+="
+ app-text/xmlto
+ =app-text/docbook-xml-dtd-4.1*"
+fi
+
+src_prepare() {
+ # Make sure our list matches the source.
+ local src_protocols=$(echo $(
+ sed -n '/# GPS protocols/,/# Time service/{s:#.*::;s:[(",]::g;p}' "${S}"/SConstruct | awk '{print $1}' | LC_ALL=C sort
+ ) )
+ if [[ ${src_protocols} != ${GPSD_PROTOCOLS[*]} ]] ; then
+ eerror "Detected protocols: ${src_protocols}"
+ eerror "Ebuild protocols: ${GPSD_PROTOCOLS[*]}"
+ die "please sync ebuild & source"
+ fi
+
+ epatch "${FILESDIR}"/${PN}-3.8-ldflags.patch
+ epatch "${FILESDIR}"/${PN}-3.15-dynamic-libs.patch
+ epatch "${FILESDIR}"/${PN}-3.15-libgpsd.patch
+ epatch "${FILESDIR}"/${PN}-3.15-broken-install.patch
+ epatch "${FILESDIR}"/${PN}-3.15-timebase.patch
+ epatch "${FILESDIR}"/${PN}-3.16-sysmacros.patch #581740
+
+ # Avoid useless -L paths to the install dir
+ sed -i \
+ -e 's:\<STAGING_PREFIX\>:SYSROOT:g' \
+ SConstruct || die
+
+ sed -e 's:libusb.h:libusb-1.0/libusb.h:' -i driver_garmin.c || die
+
+ use python && distutils-r1_src_prepare
+}
+
+python_prepare_all() {
+ python_export_best
+ # Extract python info out of SConstruct so we can use saner distribute
+ pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
+ local pybins=$(pyvar python_progs | tail -1)
+ local pysrcs=$(sed -n '/^ *python_extensions = {/,/}/{s:^ *::;s:os[.]sep:"/":g;p}' SConstruct)
+ local packet=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/packet'])")
+ local client=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/clienthelpers'])")
+ sed \
+ -e "s|@VERSION@|$(pyvar gpsd_version)|" \
+ -e "s|@URL@|$(pyvar website)|" \
+ -e "s|@EMAIL@|$(pyvar devmail)|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ -e "s|@GPS_PACKET_SOURCES@|${packet}|" \
+ -e "s|@GPS_CLIENT_SOURCES@|${client}|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ "${FILESDIR}"/${PN}-3.3-setup.py > setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ myesconsargs=(
+ prefix="${EPREFIX}/usr"
+ libdir="\$prefix/$(get_libdir)"
+ udevdir="$(get_udevdir)"
+ chrpath=False
+ gpsd_user=gpsd
+ gpsd_group=uucp
+ nostrip=True
+ python=False
+ manbuild=False
+ shared=$(usex !static True False)
+ $(use_scons bluetooth bluez)
+ $(use_scons cxx libgpsmm)
+ $(use_scons debug clientdebug)
+ $(use_scons dbus dbus_export)
+ $(use_scons ipv6)
+ $(use_scons latency_timing timing)
+ $(use_scons ncurses)
+ $(use_scons ntp ntpshm)
+ $(use_scons ntp pps)
+ $(use_scons shm shm_export)
+ $(use_scons sockets socket_export)
+ $(use_scons qt4 libQgpsmm)
+ $(use_scons usb)
+ )
+
+ # enable specified protocols
+ local protocol
+ for protocol in ${GPSD_PROTOCOLS[@]} ; do
+ myesconsargs+=( $(use_scons gpsd_protocols_${protocol} ${protocol}) )
+ done
+}
+
+src_compile() {
+ export CHRPATH=
+ tc-export CC CXX PKG_CONFIG
+ export SHLINKFLAGS=${LDFLAGS} LINKFLAGS=${LDFLAGS}
+ escons
+
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ DESTDIR="${D}" escons install $(usex udev udev-install "")
+
+ newconfd "${FILESDIR}"/gpsd.conf-2 gpsd
+ newinitd "${FILESDIR}"/gpsd.init-2 gpsd
+
+ if use python ; then
+ distutils-r1_src_install
+ # Delete all X related packages if user doesn't want them
+ if ! use X ; then
+ rm "${ED%/}"/usr/bin/xgps* || die
+ fi
+ fi
+}
+
+pkg_preinst() {
+ # Run the gpsd daemon as gpsd and group uucp; create it here
+ # as it doesn't seem to be needed during compile/install ...
+ enewuser gpsd -1 -1 -1 "uucp"
+}
diff --git a/sci-geosciences/gpsd/gpsd-3.17.ebuild b/sci-geosciences/gpsd/gpsd-3.17.ebuild
new file mode 100644
index 000000000000..cd3ef4ffa066
--- /dev/null
+++ b/sci-geosciences/gpsd/gpsd-3.17.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python2_7 )
+SCONS_MIN_VERSION="1.2.1"
+
+inherit eutils udev user multilib distutils-r1 scons-utils toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/gpsd.git"
+ inherit git-2
+else
+ SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="GPS daemon and library for USB/serial GPS devices and GPS/mapping clients"
+HOMEPAGE="http://catb.org/gpsd/"
+
+LICENSE="BSD"
+SLOT="0/23"
+
+GPSD_PROTOCOLS=(
+ aivdm ashtech earthmate evermore fury fv18 garmin garmintxt geostar
+ gpsclock isync itrax mtk3301 navcom nmea0183 nmea2000 ntrip oceanserver
+ oncore passthrough rtcm104v2 rtcm104v3 sirf skytraq superstar2 tnt
+ tripmate tsip ublox
+)
+IUSE_GPSD_PROTOCOLS=${GPSD_PROTOCOLS[@]/#/gpsd_protocols_}
+IUSE="${IUSE_GPSD_PROTOCOLS} bluetooth cxx debug dbus ipv6 latency_timing ncurses ntp python qt4 +shm +sockets static test udev usb X"
+REQUIRED_USE="X? ( python )
+ gpsd_protocols_nmea2000? ( gpsd_protocols_aivdm )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="X? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ ncurses? ( sys-libs/ncurses:= )
+ bluetooth? ( net-wireless/bluez )
+ usb? ( virtual/libusb:1 )
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ ntp? ( || ( net-misc/ntp net-misc/chrony ) )
+ qt4? ( dev-qt/qtgui:4 )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sys-devel/bc )"
+
+# xml packages are for man page generation
+if [[ ${PV} == "9999" ]] ; then
+ DEPEND+="
+ app-text/xmlto
+ =app-text/docbook-xml-dtd-4.1*"
+fi
+
+src_prepare() {
+ # Make sure our list matches the source.
+ local src_protocols=$(echo $(
+ sed -n '/# GPS protocols/,/# Time service/{s:#.*::;s:[(",]::g;p}' "${S}"/SConstruct | awk '{print $1}' | LC_ALL=C sort
+ ) )
+ if [[ ${src_protocols} != ${GPSD_PROTOCOLS[*]} ]] ; then
+ eerror "Detected protocols: ${src_protocols}"
+ eerror "Ebuild protocols: ${GPSD_PROTOCOLS[*]}"
+ die "please sync ebuild & source"
+ fi
+
+ epatch "${FILESDIR}"/${P}-do_not_rm_library.patch
+
+ # Avoid useless -L paths to the install dir
+ sed -i \
+ -e 's:\<STAGING_PREFIX\>:SYSROOT:g' \
+ SConstruct || die
+
+ use python && distutils-r1_src_prepare
+}
+
+python_prepare_all() {
+ python_export_best
+ # Extract python info out of SConstruct so we can use saner distribute
+ pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
+ local pybins=$(pyvar python_progs | tail -1)
+ local pysrcs=$(sed -n '/^ *python_extensions = {/,/}/{s:^ *::;s:os[.]sep:"/":g;p}' SConstruct)
+ local packet=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/packet'])")
+ local client=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/clienthelpers'])")
+ sed \
+ -e "s|@VERSION@|$(pyvar gpsd_version)|" \
+ -e "s|@URL@|$(pyvar website)|" \
+ -e "s|@EMAIL@|$(pyvar devmail)|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ -e "s|@GPS_PACKET_SOURCES@|${packet}|" \
+ -e "s|@GPS_CLIENT_SOURCES@|${client}|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ "${FILESDIR}"/${PN}-3.3-setup.py > setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ myesconsargs=(
+ prefix="${EPREFIX}/usr"
+ libdir="\$prefix/$(get_libdir)"
+ udevdir="$(get_udevdir)"
+ chrpath=False
+ gpsd_user=gpsd
+ gpsd_group=uucp
+ nostrip=True
+ python=False
+ manbuild=False
+ shared=$(usex !static True False)
+ $(use_scons bluetooth bluez)
+ $(use_scons cxx libgpsmm)
+ $(use_scons debug clientdebug)
+ $(use_scons dbus dbus_export)
+ $(use_scons ipv6)
+ $(use_scons latency_timing timing)
+ $(use_scons ncurses)
+ $(use_scons ntp ntpshm)
+ $(use_scons ntp pps)
+ $(use_scons shm shm_export)
+ $(use_scons sockets socket_export)
+ $(use_scons qt4 libQgpsmm)
+ $(use_scons usb)
+ )
+
+ # enable specified protocols
+ local protocol
+ for protocol in ${GPSD_PROTOCOLS[@]} ; do
+ myesconsargs+=( $(use_scons gpsd_protocols_${protocol} ${protocol}) )
+ done
+}
+
+src_compile() {
+ export CHRPATH=
+ tc-export CC CXX PKG_CONFIG
+ export SHLINKFLAGS=${LDFLAGS} LINKFLAGS=${LDFLAGS}
+ escons
+
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ DESTDIR="${D}" escons install $(usex udev udev-install "")
+
+ newconfd "${FILESDIR}"/gpsd.conf-2 gpsd
+ newinitd "${FILESDIR}"/gpsd.init-2 gpsd
+
+ if use python ; then
+ distutils-r1_src_install
+ # Delete all X related packages if user doesn't want them
+ if ! use X ; then
+ rm "${ED%/}"/usr/bin/xgps* || die
+ fi
+ fi
+}
+
+pkg_preinst() {
+ # Run the gpsd daemon as gpsd and group uucp; create it here
+ # as it doesn't seem to be needed during compile/install ...
+ enewuser gpsd -1 -1 -1 "uucp"
+}
diff --git a/sci-geosciences/gpsd/gpsd-9999.ebuild b/sci-geosciences/gpsd/gpsd-9999.ebuild
new file mode 100644
index 000000000000..cd3ef4ffa066
--- /dev/null
+++ b/sci-geosciences/gpsd/gpsd-9999.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python2_7 )
+SCONS_MIN_VERSION="1.2.1"
+
+inherit eutils udev user multilib distutils-r1 scons-utils toolchain-funcs
+
+if [[ ${PV} == "9999" ]] ; then
+ EGIT_REPO_URI="git://git.savannah.nongnu.org/gpsd.git"
+ inherit git-2
+else
+ SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86"
+fi
+
+DESCRIPTION="GPS daemon and library for USB/serial GPS devices and GPS/mapping clients"
+HOMEPAGE="http://catb.org/gpsd/"
+
+LICENSE="BSD"
+SLOT="0/23"
+
+GPSD_PROTOCOLS=(
+ aivdm ashtech earthmate evermore fury fv18 garmin garmintxt geostar
+ gpsclock isync itrax mtk3301 navcom nmea0183 nmea2000 ntrip oceanserver
+ oncore passthrough rtcm104v2 rtcm104v3 sirf skytraq superstar2 tnt
+ tripmate tsip ublox
+)
+IUSE_GPSD_PROTOCOLS=${GPSD_PROTOCOLS[@]/#/gpsd_protocols_}
+IUSE="${IUSE_GPSD_PROTOCOLS} bluetooth cxx debug dbus ipv6 latency_timing ncurses ntp python qt4 +shm +sockets static test udev usb X"
+REQUIRED_USE="X? ( python )
+ gpsd_protocols_nmea2000? ( gpsd_protocols_aivdm )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="X? ( dev-python/pygtk:2[${PYTHON_USEDEP}] )
+ ncurses? ( sys-libs/ncurses:= )
+ bluetooth? ( net-wireless/bluez )
+ usb? ( virtual/libusb:1 )
+ dbus? (
+ sys-apps/dbus
+ dev-libs/dbus-glib
+ )
+ ntp? ( || ( net-misc/ntp net-misc/chrony ) )
+ qt4? ( dev-qt/qtgui:4 )
+ python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ test? ( sys-devel/bc )"
+
+# xml packages are for man page generation
+if [[ ${PV} == "9999" ]] ; then
+ DEPEND+="
+ app-text/xmlto
+ =app-text/docbook-xml-dtd-4.1*"
+fi
+
+src_prepare() {
+ # Make sure our list matches the source.
+ local src_protocols=$(echo $(
+ sed -n '/# GPS protocols/,/# Time service/{s:#.*::;s:[(",]::g;p}' "${S}"/SConstruct | awk '{print $1}' | LC_ALL=C sort
+ ) )
+ if [[ ${src_protocols} != ${GPSD_PROTOCOLS[*]} ]] ; then
+ eerror "Detected protocols: ${src_protocols}"
+ eerror "Ebuild protocols: ${GPSD_PROTOCOLS[*]}"
+ die "please sync ebuild & source"
+ fi
+
+ epatch "${FILESDIR}"/${P}-do_not_rm_library.patch
+
+ # Avoid useless -L paths to the install dir
+ sed -i \
+ -e 's:\<STAGING_PREFIX\>:SYSROOT:g' \
+ SConstruct || die
+
+ use python && distutils-r1_src_prepare
+}
+
+python_prepare_all() {
+ python_export_best
+ # Extract python info out of SConstruct so we can use saner distribute
+ pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
+ local pybins=$(pyvar python_progs | tail -1)
+ local pysrcs=$(sed -n '/^ *python_extensions = {/,/}/{s:^ *::;s:os[.]sep:"/":g;p}' SConstruct)
+ local packet=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/packet'])")
+ local client=$("${PYTHON}" -c "${pysrcs}; print(python_extensions['gps/clienthelpers'])")
+ sed \
+ -e "s|@VERSION@|$(pyvar gpsd_version)|" \
+ -e "s|@URL@|$(pyvar website)|" \
+ -e "s|@EMAIL@|$(pyvar devmail)|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ -e "s|@GPS_PACKET_SOURCES@|${packet}|" \
+ -e "s|@GPS_CLIENT_SOURCES@|${client}|" \
+ -e "s|@SCRIPTS@|${pybins}|" \
+ "${FILESDIR}"/${PN}-3.3-setup.py > setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ myesconsargs=(
+ prefix="${EPREFIX}/usr"
+ libdir="\$prefix/$(get_libdir)"
+ udevdir="$(get_udevdir)"
+ chrpath=False
+ gpsd_user=gpsd
+ gpsd_group=uucp
+ nostrip=True
+ python=False
+ manbuild=False
+ shared=$(usex !static True False)
+ $(use_scons bluetooth bluez)
+ $(use_scons cxx libgpsmm)
+ $(use_scons debug clientdebug)
+ $(use_scons dbus dbus_export)
+ $(use_scons ipv6)
+ $(use_scons latency_timing timing)
+ $(use_scons ncurses)
+ $(use_scons ntp ntpshm)
+ $(use_scons ntp pps)
+ $(use_scons shm shm_export)
+ $(use_scons sockets socket_export)
+ $(use_scons qt4 libQgpsmm)
+ $(use_scons usb)
+ )
+
+ # enable specified protocols
+ local protocol
+ for protocol in ${GPSD_PROTOCOLS[@]} ; do
+ myesconsargs+=( $(use_scons gpsd_protocols_${protocol} ${protocol}) )
+ done
+}
+
+src_compile() {
+ export CHRPATH=
+ tc-export CC CXX PKG_CONFIG
+ export SHLINKFLAGS=${LDFLAGS} LINKFLAGS=${LDFLAGS}
+ escons
+
+ use python && distutils-r1_src_compile
+}
+
+src_install() {
+ DESTDIR="${D}" escons install $(usex udev udev-install "")
+
+ newconfd "${FILESDIR}"/gpsd.conf-2 gpsd
+ newinitd "${FILESDIR}"/gpsd.init-2 gpsd
+
+ if use python ; then
+ distutils-r1_src_install
+ # Delete all X related packages if user doesn't want them
+ if ! use X ; then
+ rm "${ED%/}"/usr/bin/xgps* || die
+ fi
+ fi
+}
+
+pkg_preinst() {
+ # Run the gpsd daemon as gpsd and group uucp; create it here
+ # as it doesn't seem to be needed during compile/install ...
+ enewuser gpsd -1 -1 -1 "uucp"
+}
diff --git a/sci-geosciences/gpsd/metadata.xml b/sci-geosciences/gpsd/metadata.xml
new file mode 100644
index 000000000000..cb80bead87d3
--- /dev/null
+++ b/sci-geosciences/gpsd/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-geosciences@gentoo.org</email>
+ <name>Gentoo Geosciences Project</name>
+ </maintainer>
+ <longdescription>
+ Unbundled GPS daemon and library to support USB and serial
+ GPS devices and various GPS/mapping clients, such as GPSDrive,
+ kismet, and pygps.
+ </longdescription>
+ <slots>
+ <subslots>Reflect major ABI of libgps.so.</subslots>
+ </slots>
+ <use>
+ <flag name="dbus">export gpsd data over dbus connections</flag>
+ <flag name="latency_timing">support latency timing information</flag>
+ <flag name="ntp">Enable <pkg>net-misc/ntp</pkg> shared memory interface
+ and PPS kernel support for GPS time</flag>
+ <flag name="sockets">export gpsd over unix sockets</flag>
+ <flag name="shm">export gpsd over shared memory</flag>
+ </use>
+</pkgmetadata>