diff options
Diffstat (limited to 'sci-geosciences/gpsd')
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> |