package.nix (3722B)
1 { 2 stdenv, 3 lib, 4 fetchurl, 5 fetchpatch, 6 cmake, 7 qt5, 8 garmindev, 9 gdal, 10 gpsd, 11 libdmtx, 12 libexif, 13 libgeotiff, 14 libGLU, 15 libspatialite, 16 proj_7, 17 }: 18 19 stdenv.mkDerivation (finalAttrs: { 20 pname = "qlandkartegt"; 21 version = "1.8.1"; 22 23 __structuredAttrs = true; 24 25 src = fetchurl { 26 url = "mirror://sourceforge/qlandkartegt/qlandkartegt-${finalAttrs.version}.tar.gz"; 27 sha256 = "1rwv5ar5jv15g1cc6pp0lk69q3ip10pjazsh3ds2ggaciymha1ly"; 28 }; 29 30 patches = [ 31 (fetchpatch { 32 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-gps_read.patch?h=qlandkartegt"; 33 sha256 = "1xyqxdqxwviq7b8jjxssxjlkldk01ms8dzqdjgvjs8n3fh7w0l70"; 34 }) 35 (fetchpatch { 36 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-incomplete-type.patch?h=qlandkartegt"; 37 sha256 = "1q7rm321az3q6pq5mq0yjrihxl9sf3nln9z3xp20g9qldslv2cy2"; 38 }) 39 (fetchpatch { 40 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-proj_api.patch?h=qlandkartegt"; 41 sha256 = "12yibxn85z2n30azmhyv02q091jj5r50nlnjq4gfzyqd3xb9582n"; 42 }) 43 (fetchpatch { 44 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-qt5-build.patch?h=qlandkartegt"; 45 sha256 = "1wq2hr06gzq8m7zddh10vizmvpwp4lcy1g86rlpppvdc5cm3jpkl"; 46 }) 47 (fetchpatch { 48 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-qtgui-include.patch?h=qlandkartegt"; 49 sha256 = "16hql8ignzw4n1hlp4icbvaddqcadh2rjns0bvis720535112sc8"; 50 }) 51 (fetchpatch { 52 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-timespec.patch?h=qlandkartegt"; 53 sha256 = "1yzdwfsgjn7q04r9f7s5qk50y25hdl384dxrmpfmkm97fmpgyr7w"; 54 }) 55 (fetchpatch { 56 url = "https://aur.archlinux.org/cgit/aur.git/plain/fix-ver_str.patch?h=qlandkartegt"; 57 sha256 = "13fg05gqrjfa9j00lrqz1b06xf6r5j01kl6l06vkn0hz1jzxss5m"; 58 }) 59 (fetchpatch { 60 url = "https://aur.archlinux.org/cgit/aur.git/plain/improve-gpx-creator.patch?h=qlandkartegt"; 61 sha256 = "1sdf5z8qrd43azrhwfw06zc0qr48z925hgbcfqlp0xrsxv2n6kks"; 62 }) 63 (fetchpatch { 64 url = "https://aur.archlinux.org/cgit/aur.git/plain/improve-gpx-name.patch?h=qlandkartegt"; 65 sha256 = "10phafhns79i3rl4zpc7arw11x46cywgkdkxm7gw1i9y5h0cal79"; 66 }) 67 ]; 68 69 nativeBuildInputs = [ 70 cmake 71 qt5.wrapQtAppsHook 72 ]; 73 74 buildInputs = [ 75 qt5.qtmultimedia 76 qt5.qtserialport 77 qt5.qtscript 78 qt5.qtwebkit 79 garmindev 80 (gdal.override { 81 libgeotiff = libgeotiff.override { proj = proj_7; }; 82 libspatialite = libspatialite.override { proj = proj_7; }; 83 proj = proj_7; 84 }) 85 gpsd 86 libdmtx 87 libexif 88 libGLU 89 proj_7 90 ]; 91 92 cmakeFlags = [ 93 (lib.cmakeBool "QK_QT5_PORT" true) 94 (lib.cmakeFeature "EXIF_LIBRARIES" "${libexif}/lib/libexif.so") 95 (lib.cmakeFeature "EXIF_INCLUDE_DIRS" "${libexif}/include") 96 ]; 97 98 postPatch = '' 99 substituteInPlace ConfigureChecks.cmake \ 100 --replace-fail \$\{PLUGIN_INSTALL_DIR\} "${garmindev}/lib/qlandkartegt" 101 ''; 102 103 postInstall = '' 104 mkdir -p $out/share/mime/packages 105 cat << EOF > $out/share/mime/packages/qlandkartegt.xml 106 <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'> 107 <mime-type type="application/vnd.qlandkartegt.qlb"> 108 <comment>QLandkarteGT File</comment> 109 <glob pattern="*.qlb"/> 110 </mime-type> 111 </mime-info> 112 EOF 113 ''; 114 115 meta = { 116 homepage = "http://www.qlandkarte.org/"; 117 description = '' 118 QLandkarte GT is the ultimate outdoor aficionado's tool. 119 It supports GPS maps in GeoTiff format as well as Garmin's img vector map format. 120 ''; 121 license = lib.licenses.gpl2; 122 maintainers = [ lib.maintainers.sikmir ]; 123 platforms = lib.platforms.linux; 124 skip.ci = true; 125 }; 126 })
