From fcc47aec15d3eea8fc1fe685bb5efa1b4af37467 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sun, 14 Aug 2022 10:12:20 +0200 Subject: [PATCH 1/4] collectd: unpin libsigrok The pinning of `libsigrok` was introduced in 300e49510124 for `collectd-5.5.1`. It is now at 5.12.0 and the pinning seems outdated. --- pkgs/top-level/all-packages.nix | 8 -------- 1 file changed, 8 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ff8d0d543c9..c4d018cdf1ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5004,7 +5004,6 @@ with pkgs; convertlit = callPackage ../tools/text/convertlit { }; collectd = callPackage ../tools/system/collectd { - libsigrok = libsigrok_0_3; # not compatible with >= 0.4.0 yet jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 inherit (darwin.apple_sdk.frameworks) IOKit; }; @@ -15856,13 +15855,6 @@ with pkgs; libsigrok = callPackage ../development/tools/libsigrok { python = python3; }; - # old version: - libsigrok_0_3 = libsigrok.override { - python = python3; - version = "0.3.0"; - sha256 = "0l3h7zvn3w4c1b9dgvl3hirc4aj1csfkgbk87jkpl7bgl03nk4j3"; - doInstallCheck = false; - }; libsigrokdecode = callPackage ../development/tools/libsigrokdecode { python3 = python38; From 0b0c92af76de9c064a205c80e89fa138b0cb0646 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sun, 14 Aug 2022 10:12:19 +0200 Subject: [PATCH 2/4] libsigrok: 0.5.1 -> 0.5.2 * bump version * enable hidapi: add support for many serial devices, such as digital multimeters and data loggers * enable ieee1284 and bluetooth support on Linux * install udev rules --- pkgs/development/tools/libsigrok/default.nix | 34 ++++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix index 5a11db8b3b94..eceb267c139d 100644 --- a/pkgs/development/tools/libsigrok/default.nix +++ b/pkgs/development/tools/libsigrok/default.nix @@ -1,15 +1,29 @@ -{ lib, stdenv, fetchurl, pkg-config, libzip, glib, libusb1, libftdi1, check -, libserialport, librevisa, doxygen, glibmm, python -, version ? "0.5.1", sha256 ? "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4", doInstallCheck ? true +{ lib +, stdenv +, fetchurl +, pkg-config +, libzip +, glib +, libusb1 +, libftdi1 +, check +, libserialport +, librevisa +, doxygen +, glibmm +, python +, hidapi +, libieee1284 +, bluez }: stdenv.mkDerivation rec { - inherit version doInstallCheck; pname = "libsigrok"; + version = "0.5.2"; src = fetchurl { url = "https://sigrok.org/download/source/${pname}/${pname}-${version}.tar.gz"; - inherit sha256; + sha256 = "0g6fl684bpqm5p2z4j12c62m45j1dircznjina63w392ns81yd2d"; }; firmware = fetchurl { @@ -17,16 +31,24 @@ stdenv.mkDerivation rec { sha256 = "14sd8xqph4kb109g073daiavpadb20fcz7ch1ipn0waz7nlly4sw"; }; + enableParallelBuilding = true; + nativeBuildInputs = [ doxygen pkg-config python ]; - buildInputs = [ libzip glib libusb1 libftdi1 check libserialport librevisa glibmm ]; + buildInputs = [ + libzip glib libusb1 libftdi1 check libserialport librevisa glibmm hidapi + ] ++ lib.optionals stdenv.isLinux [ libieee1284 bluez ]; strictDeps = true; postInstall = '' + mkdir -p $out/etc/udev/rules.d + 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/" ''; + doInstallCheck = true; installCheckPhase = '' # assert that c++ bindings are included # note that this is only true for modern (>0.5) versions; the 0.3 series does not have these From bc36ea147b85d13fb37ecf5e87afc79617e6ac43 Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sun, 14 Aug 2022 10:12:19 +0200 Subject: [PATCH 3/4] 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. --- pkgs/development/tools/libsigrok/default.nix | 8 ++--- .../tools/sigrok-firmware-fx2lafw/default.nix | 35 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 pkgs/development/tools/sigrok-firmware-fx2lafw/default.nix diff --git a/pkgs/development/tools/libsigrok/default.nix b/pkgs/development/tools/libsigrok/default.nix index eceb267c139d..6df1a043b6ad 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 000000000000..86b1f3be33c1 --- /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 c4d018cdf1ae..76fa96ea96a1 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 { }; From d8f986d90268bc641df910f1c916dbf6cb8fb31c Mon Sep 17 00:00:00 2001 From: Nicolas Benes Date: Sun, 14 Aug 2022 10:12:20 +0200 Subject: [PATCH 4/4] pulseview: 0.4.1 -> 0.4.2 --- .../science/electronics/pulseview/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix index e9496ce60c22..af8daf71309a 100644 --- a/pkgs/applications/science/electronics/pulseview/default.nix +++ b/pkgs/applications/science/electronics/pulseview/default.nix @@ -1,15 +1,15 @@ { mkDerivation, lib, fetchurl, fetchpatch, pkg-config, cmake, glib, boost, libsigrok , libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi1, glibmm -, pcre, librevisa, python3, qtbase, qtsvg +, pcre, librevisa, python3, qtbase, qtsvg, qttools }: mkDerivation rec { pname = "pulseview"; - version = "0.4.1"; + version = "0.4.2"; src = fetchurl { url = "https://sigrok.org/download/source/pulseview/${pname}-${version}.tar.gz"; - sha256 = "0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy"; + sha256 = "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph"; }; nativeBuildInputs = [ cmake pkg-config ]; @@ -17,7 +17,7 @@ mkDerivation rec { buildInputs = [ glib boost libsigrok libsigrokdecode libserialport libzip udev libusb1 libftdi1 glibmm pcre librevisa python3 - qtbase qtsvg + qtbase qtsvg qttools ]; patches = [