summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Benes <nbenes.gh@xandea.de>2022-08-14 10:12:19 +0200
committerNicolas Benes <nbenes.gh@xandea.de>2022-08-16 15:51:13 +0200
commitbc36ea147b85d13fb37ecf5e87afc79617e6ac43 (patch)
treeb6e8165d37d3e813e6b80f1e138c94c395d49a2e
parent0b0c92af76de9c064a205c80e89fa138b0cb0646 (diff)
downloadnixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.tar
nixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.tar.gz
nixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.tar.bz2
nixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.tar.lz
nixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.tar.xz
nixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.tar.zst
nixpkgs-bc36ea147b85d13fb37ecf5e87afc79617e6ac43.zip
sigrok-firmware-fx2lafw: init at 0.1.7
Cross-compile the firmware files instead of downloading the binaries.
Bump 0.1.6 -> 0.1.7.
-rw-r--r--pkgs/development/tools/libsigrok/default.nix8
-rw-r--r--pkgs/development/tools/sigrok-firmware-fx2lafw/default.nix35
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 39 insertions, 6 deletions
diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix
index eceb267c139..6df1a043b6a 100644
--- a/pkgs/development/tools/libsigrok/default.nix
+++ b/pkgs/development/tools/libsigrok/default.nix
@@ -15,6 +15,7 @@
 , hidapi
 , libieee1284
 , bluez
+, sigrok-firmware-fx2lafw
 }:
 
 stdenv.mkDerivation rec {
@@ -26,11 +27,6 @@ stdenv.mkDerivation rec {
     sha256 = "0g6fl684bpqm5p2z4j12c62m45j1dircznjina63w392ns81yd2d";
   };
 
-  firmware = fetchurl {
-    url = "https://sigrok.org/download/binary/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-bin-0.1.6.tar.gz";
-    sha256 = "14sd8xqph4kb109g073daiavpadb20fcz7ch1ipn0waz7nlly4sw";
-  };
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ doxygen pkg-config python ];
@@ -45,7 +41,7 @@ stdenv.mkDerivation rec {
     cp contrib/*.rules $out/etc/udev/rules.d
 
     mkdir -p "$out/share/sigrok-firmware/"
-    tar --strip-components=1 -xvf "${firmware}" -C "$out/share/sigrok-firmware/"
+    cp ${sigrok-firmware-fx2lafw}/share/sigrok-firmware/* "$out/share/sigrok-firmware/"
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/development/tools/sigrok-firmware-fx2lafw/default.nix b/pkgs/development/tools/sigrok-firmware-fx2lafw/default.nix
new file mode 100644
index 00000000000..86b1f3be33c
--- /dev/null
+++ b/pkgs/development/tools/sigrok-firmware-fx2lafw/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, stdenv
+, fetchurl
+, sdcc
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sigrok-firmware-fx2lafw";
+  version = "0.1.7";
+
+  src = fetchurl {
+    url = "https://sigrok.org/download/source/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw-${version}.tar.gz";
+    sha256 = "sha256-o/RA1qhSpG4sXRmfwcjk2s0Aa8BODVV2KY7lXQVqzjs=";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ sdcc ];
+
+  meta = with lib; {
+    description = "Firmware for FX2 logic analyzers";
+    homepage = "https://sigrok.org/";
+
+    # licensing details explained in:
+    # https://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=blob;f=README;hb=HEAD#l122
+    license = with licenses; [
+      gpl2Plus    # overall
+      lgpl21Plus  # fx2lib, Hantek 6022BE, Sainsmart DDS120 firmwares
+    ];
+
+    sourceProvenance = with sourceTypes; [ fromSource ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ panicgh ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c4d018cdf1a..76fa96ea96a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -15864,6 +15864,8 @@ with pkgs;
   libsigrok4dsl = callPackage ../applications/science/electronics/dsview/libsigrok4dsl.nix { };
   libsigrokdecode4dsl = callPackage ../applications/science/electronics/dsview/libsigrokdecode4dsl.nix { };
 
+  sigrok-firmware-fx2lafw = callPackage ../development/tools/sigrok-firmware-fx2lafw { };
+
   cli11 = callPackage ../development/tools/misc/cli11 { };
 
   datree = callPackage ../development/tools/datree { };