summary refs log tree commit diff
diff options
context:
space:
mode:
authorSCOTT-HAMILTON <sgn.hamilton+github@protonmail.com>2021-02-15 21:31:34 +0100
committerSCOTT-HAMILTON <sgn.hamilton+github@protonmail.com>2021-02-17 21:18:42 +0100
commit055345eb8938dc18d56ea125cffa4688a9ed3130 (patch)
tree1df45a161b5a5e53bfd6f671527ebe9203205071
parent2ed859799985f12da6531126e4c7a1f8ac0fe745 (diff)
downloadnixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.tar
nixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.tar.gz
nixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.tar.bz2
nixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.tar.lz
nixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.tar.xz
nixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.tar.zst
nixpkgs-055345eb8938dc18d56ea125cffa4688a9ed3130.zip
cqrlog: init at 2.5.2
-rw-r--r--pkgs/applications/radio/cqrlog/default.nix101
-rw-r--r--pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch13
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 116 insertions, 0 deletions
diff --git a/pkgs/applications/radio/cqrlog/default.nix b/pkgs/applications/radio/cqrlog/default.nix
new file mode 100644
index 00000000000..d86a08f3a1b
--- /dev/null
+++ b/pkgs/applications/radio/cqrlog/default.nix
@@ -0,0 +1,101 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fpc
+, lazarus
+, atk
+, cairo
+, gdk-pixbuf
+, glib
+, gtk2-x11
+, libX11
+, pango
+, hamlib
+, mysql57
+, tqsl
+, xdg-utils
+, xplanet
+, autoPatchelfHook
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "cqrlog";
+  version = "2.5.2";
+
+  src = fetchFromGitHub {
+    owner = "ok2cqr";
+    repo = "cqrlog";
+    rev = "v${version}";
+    sha256 = "0zzcg0bl6mq4wfifj998x9x09w8sigbh46synpqx034fpr0swyhb";
+  };
+
+  # Adds the possiblity to change the lazarus directory,
+  # otherwise, we would get error : "directory lcl not found"
+  patches = [ ./fix-makefile-lazarusdir.patch ];
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace @Lazarusdir@ "${lazarus}/share/lazarus" \
+      --replace /usr ""
+    substituteInPlace src/fTRXControl.pas \
+      --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld"
+    substituteInPlace src/fCallAttachment.pas \
+      --replace "/usr/bin/xdg-open" "${xdg-utils}/bin/xdg-open"
+    substituteInPlace src/fRotControl.pas \
+      --replace "/usr/bin/rotctld" "${hamlib}/bin/rotctld"
+    substituteInPlace src/fPreferences.pas \
+      --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld" \
+      --replace "/usr/bin/rotctld" "${hamlib}/bin/rotctld" \
+      --replace "/usr/bin/xplanet" "${xplanet}/bin/xplanet"
+    substituteInPlace src/fLoTWExport.pas \
+      --replace "/usr/bin/tqsl" "${tqsl}/bin/tqsl"
+    substituteInPlace src/dUtils.pas \
+      --replace "/usr/bin/xplanet" "${xplanet}/bin/xplanet" \
+      --replace "/usr/bin/rigctld" "${hamlib}/bin/rigctld"
+    # Order is important
+    substituteInPlace src/dData.pas \
+      --replace "/usr/bin/mysqld_safe" "${mysql57}/bin/mysqld_safe" \
+      --replace "/usr/bin/mysqld" "${mysql57}/bin/mysqld"
+
+    # To be fail when I need to patch a new hardcoded binary
+    ! grep -C src -RC0 "/usr"
+  '';
+
+  nativeBuildInputs = [ lazarus fpc autoPatchelfHook wrapGAppsHook ];
+  buildInputs = [
+    atk
+    cairo
+    gdk-pixbuf
+    glib
+    gtk2-x11
+    libX11
+    pango
+  ];
+  propagatedBuildInputs = [
+    hamlib
+    mysql57
+    tqsl
+    xdg-utils
+    xplanet
+  ];
+
+  makeFlags = [
+    "FPC=fpc"
+    "PP=fpc"
+    "DESTDIR=$(out)"
+  ];
+
+  postFixup = ''
+    libmysqlclient=$(find "${mysql57}/lib" -name "libmysqlclient.so.*" | tail -n1)
+    patchelf --add-needed "$libmysqlclient" "$out/bin/.cqrlog-wrapped"
+  '';
+
+  meta = with lib; {
+    description = "Linux logging program for amateur radio operators";
+    homepage = "https://www.cqrlog.com/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ shamilton ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch b/pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch
new file mode 100644
index 00000000000..9170387966a
--- /dev/null
+++ b/pkgs/applications/radio/cqrlog/fix-makefile-lazarusdir.patch
@@ -0,0 +1,13 @@
+Seulement dans b: logs
+diff --color -ur a/Makefile b/Makefile
+--- a/Makefile	2021-02-15 17:07:14.333810200 +0100
++++ b/Makefile	2021-02-15 17:19:18.599426984 +0100
+@@ -6,7 +6,7 @@
+ tmpdir   = /tmp
+ 
+ cqrlog: src/cqrlog.lpi
+-	$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus src/cqrlog.lpi
++	$(CC) --ws=gtk2 --pcp=$(tmpdir)/.lazarus --lazarusdir=@Lazarusdir@ src/cqrlog.lpi
+ 	$(ST) src/cqrlog
+ 	gzip tools/cqrlog.1 -c > tools/cqrlog.1.gz
+ 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5fb8b0cd463..81bbf201bbb 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -21516,6 +21516,8 @@ in
     python3Packages = python37Packages;
   };
 
+  cqrlog = callPackage ../applications/radio/cqrlog { };
+
   crun = callPackage ../applications/virtualization/crun {};
 
   csdp = callPackage ../applications/science/math/csdp { };