Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gpsd: 3.16 -> 3.21 #105835

Merged
merged 4 commits into from Dec 6, 2020
Merged

gpsd: 3.16 -> 3.21 #105835

merged 4 commits into from Dec 6, 2020

Conversation

hjones2199
Copy link
Member

@hjones2199 hjones2199 commented Dec 3, 2020

Motivation for this change

Update gpsd to v3.21, make X11 dependencies optional to better support headless systems, move from python2 deps to python3, and move from gtk2 to gtk3.

Closes #35604 and Closes #90794

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@ajs124
Copy link
Member

ajs124 commented Dec 3, 2020

Closes #35604 and #90794

@RaghavSood
Copy link
Member

Result of nixpkgs-review pr 105835 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • libsForQt5.kreport
  • libsForQt515.kreport
3 packages failed to build:
  • direwolf
  • foxtrotgps
  • qlandkartegt
13 packages built:
  • alfred
  • calligra
  • digikam
  • gpredict
  • gpsd
  • libsForQt5.marble (kdeApplications.marble ,libsForQt515.marble)
  • kexi
  • libsForQt512.kreport
  • libsForQt512.marble
  • libsForQt514.kreport
  • libsForQt514.marble
  • viking
  • zombietrackergps

@RaghavSood
Copy link
Member

direwolf, foxtrotgps, and qlandkartegt are not broken on master.

direwold
builder for '/nix/store/1y58a9a8m4i8jzr9n2jsgd21kkj8lg2p-direwolf-1.5.drv' failed with exit code 2; last 10 log lines:
    260 |    if (gps_read (&gpsdata) == -1) {
        |        ^~~~~~~~
  In file included from dwgpsd.c:55:
  /nix/store/fcnx80lpa1hnjvcxwjwwxxfz59d2ivki-gpsd-3.21/include/gps.h:2440:12: note: declared here
   2440 | extern int gps_read(struct gps_data_t *, char *message, int message_len);
        |            ^~~~~~~~
  dwgpsd.c:316:15: error: 'struct gps_data_t' has no member named 'status'
    316 |    if (gpsdata.status >= STATUS_FIX && gpsdata.fix.mode >= MODE_2D) {
        |               ^
  make: *** [: dwgpsd.o] Error 1
  
foxtrotgps
builder for '/nix/store/q80haq2vrc2sga6r8qwxqvwyw7w41c6d-foxtrotgps-1.2.2.drv' failed with exit code 2; last 10 log lines:
    756 |   gpsdata->fix.time = libgps_gpsdata.fix.time;
        |                       ^~~~~~~~~~~~~~
  gps_functions.c:761:35: error: 'struct gps_data_t' has no member named 'status'
    761 |   gpsdata->valid = (libgps_gpsdata.status != STATUS_NO_FIX);
        |                                   ^
  make[2]: *** [Makefile:541: gps_functions.o] Error 1
  make[2]: Leaving directory '/build/foxtrotgps-1.2.2/src'
  make[1]: *** [Makefile:506: all-recursive] Error 1
  make[1]: Leaving directory '/build/foxtrotgps-1.2.2'
  make: *** [Makefile:417: all] Error 2
  
qlandkartegt
builder for '/nix/store/d1a8l7yl6i5b59bkdn28l2zszhnb65gx-qlandkartegt-1.8.1.drv' failed with exit code 2; last 10 log lines:
                   from /nix/store/kl8s4d6ybm8bjwxxz6j2d9zmrgv0zqq2-qtbase-5.14.2-dev/include/QtCore/qobject.h:49,
                   from /nix/store/kl8s4d6ybm8bjwxxz6j2d9zmrgv0zqq2-qtbase-5.14.2-dev/include/QtWidgets/qwidget.h:45,
                   from /nix/store/kl8s4d6ybm8bjwxxz6j2d9zmrgv0zqq2-qtbase-5.14.2-dev/include/QtWidgets/QWidget:1,
                   from /build/qlandkartegt-1.8.1/src/CGeoDB.h:21,
                   from /build/qlandkartegt-1.8.1/src/CGeoDB.cpp:19:
  /nix/store/kl8s4d6ybm8bjwxxz6j2d9zmrgv0zqq2-qtbase-5.14.2-dev/include/QtCore/qalgorithms.h:181:46: note: declared here
    181 | QT_DEPRECATED_X("Use std::sort") inline void qSort(RandomAccessIterator start, RandomAccessIterator end, LessThan lessThan)
        |                                              ^~~~~
  make[1]: *** [CMakeFiles/Makefile2:576: src/CMakeFiles/qlandkartegt.dir/all] Error 2
  make: *** [Makefile:171: all] Error 2
  

@SuperSandro2000 SuperSandro2000 marked this pull request as draft December 4, 2020 07:32
@SuperSandro2000
Copy link
Member

Result of nixpkgs-review pr 105835 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • libsForQt5.kreport
  • libsForQt515.kreport
3 packages failed to build:
  • direwolf
  • foxtrotgps
  • qlandkartegt
13 packages built:
  • alfred
  • calligra
  • digikam
  • gpredict
  • gpsd
  • libsForQt5.marble (kdeApplications.marble ,libsForQt515.marble)
  • kexi
  • libsForQt512.kreport
  • libsForQt512.marble
  • libsForQt514.kreport
  • libsForQt514.marble
  • viking
  • zombietrackergps

@hjones2199
Copy link
Member Author

Latest commit fixes direwolf by updating to v1.6 which supports the newer gpsd api. My system configuration doesn't really allow me to test direwolf properly, but it builds and has the same behavior as the existing version.

@hjones2199
Copy link
Member Author

hjones2199 commented Dec 4, 2020

Latest commit fixes foxtrotgps by moving from source tarball to a more up to date bzr revision that supports gpsd v3.20, and applies a small patch to support v3.21. That's the last of the broken packages, in all their cases the problem was API changes between gpsd 3.16 and 3.21. Direwolf just had to be updated to the newest release, qlandkartegt is abandoned upstream and needed patches, foxtrotgps hasnt added support for the newest api release.

@hjones2199
Copy link
Member Author

Result of nixpkgs-review pr 105835 1

2 packages marked as broken and skipped:
  • libsForQt5.kreport
  • libsForQt515.kreport
16 packages built:
  • alfred
  • calligra
  • digikam
  • direwolf
  • foxtrotgps
  • gpredict
  • gpsd
  • libsForQt5.marble (kdeApplications.marble ,libsForQt515.marble)
  • kexi
  • libsForQt512.kreport
  • libsForQt512.marble
  • libsForQt514.kreport
  • libsForQt514.marble
  • qlandkartegt
  • viking
  • zombietrackergps

Copy link
Contributor

@lasandell lasandell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested direwolf on Linux, including gpsd functionality, with no issues. However, one thing your edit dropped was the ability of the desktop file to launch direwolf in the preferred terminal rather than xterm. I'd made that change because xterm was not installed by default on NixOS. The Terminal=true option seems to work for launching console applications in the default terminal, at least under GNOME Shell. Here's a diff that will add it back in:

diff --git a/pkgs/applications/radio/direwolf/default.nix b/pkgs/applications/radio/direwolf/default.nix
index af4148c03ca..321b103c7f7 100644
--- a/pkgs/applications/radio/direwolf/default.nix
+++ b/pkgs/applications/radio/direwolf/default.nix
@@ -33,6 +33,9 @@ stdenv.mkDerivation rec {
       --replace /opt/local/share/direwolf/tocalls.txt $out/share/direwolf/tocalls.txt
     substituteInPlace scripts/dwespeak.sh \
       --replace espeak ${espeak}/bin/espeak
+    substituteInPlace cmake/cpack/direwolf.desktop.in \
+      --replace 'Terminal=false' 'Terminal=true' \
+      --replace 'Exec=@APPLICATION_DESKTOP_EXEC@' 'Exec=direwolf' \
   '';
 
   meta = {

@RaghavSood
Copy link
Member

Result of nixpkgs-review pr 105835 run on x86_64-linux 1

2 packages marked as broken and skipped:
  • libsForQt5.kreport
  • libsForQt515.kreport
16 packages built:
  • alfred
  • calligra
  • digikam
  • direwolf
  • foxtrotgps
  • gpredict
  • gpsd
  • libsForQt5.marble (kdeApplications.marble ,libsForQt515.marble)
  • kexi
  • libsForQt512.kreport
  • libsForQt512.marble
  • libsForQt514.kreport
  • libsForQt514.marble
  • qlandkartegt
  • viking
  • zombietrackergps

@RaghavSood RaghavSood merged commit 37a449f into NixOS:master Dec 6, 2020
@hjones2199 hjones2199 mentioned this pull request Dec 6, 2020
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vulnerability roundup 85: gpsd-3.16: 1 advisory [8.8] gpsd 3.17
6 participants