From 22162d223e0e9946cb9e59a19d403745bc2081fa Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 20 Apr 2023 11:53:57 +0300 Subject: [PATCH 1/6] pigpio: init at 79 --- pkgs/by-name/pi/pigpio/package.nix | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 pkgs/by-name/pi/pigpio/package.nix diff --git a/pkgs/by-name/pi/pigpio/package.nix b/pkgs/by-name/pi/pigpio/package.nix new file mode 100644 index 000000000000..ddde61ca0b7b --- /dev/null +++ b/pkgs/by-name/pi/pigpio/package.nix @@ -0,0 +1,35 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + buildPythonPackage ? null, +}: + +let + mkDerivation = + if builtins.isNull buildPythonPackage then stdenv.mkDerivation else buildPythonPackage; +in +mkDerivation rec { + pname = "pigpio"; + version = "79"; + + src = fetchFromGitHub { + owner = "joan2937"; + repo = "pigpio"; + tag = "v${version}"; + hash = "sha256-Z+SwUlBbtWtnbjTe0IghR3gIKS43ZziN0amYtmXy7HE="; + }; + + nativeBuildInputs = [ + cmake + ]; + + meta = { + description = "C library for the Raspberry which allows control of the General Purpose Input Outputs (GPIO)"; + homepage = "https://github.com/joan2937/pigpio"; + license = with lib.licenses; [ unlicense ]; + maintainers = with lib.maintainers; [ doronbehar ]; + platforms = lib.platforms.linux; + }; +} From 5899b0d12f639ee94c34a051cc5faa808b91c59b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 3 Jun 2024 21:23:39 +0300 Subject: [PATCH 2/6] python312Packages.pigpio: init at 79 --- pkgs/top-level/python-packages.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16ed1fa0480e..e9f913506703 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11174,6 +11174,12 @@ self: super: with self; { piexif = callPackage ../development/python-modules/piexif { }; + pigpio = toPythonModule ( + pkgs.pigpio.override { + inherit buildPythonPackage; + } + ); + pijuice = callPackage ../development/python-modules/pijuice { }; pika = callPackage ../development/python-modules/pika { }; From 3397b0a70c8d70f42337050a6a88bd5d9a4e311b Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 20 Apr 2023 12:14:52 +0300 Subject: [PATCH 3/6] piscope: init at 0.8 --- pkgs/by-name/pi/piscope/package.nix | 56 +++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 pkgs/by-name/pi/piscope/package.nix diff --git a/pkgs/by-name/pi/piscope/package.nix b/pkgs/by-name/pi/piscope/package.nix new file mode 100644 index 000000000000..8191f53aa1c9 --- /dev/null +++ b/pkgs/by-name/pi/piscope/package.nix @@ -0,0 +1,56 @@ +{ + lib, + stdenv, + fetchFromGitHub, + + # nativeBuildInputs + pkg-config, + wrapGAppsHook3, + installShellFiles, + + # buildInputs + gtk3, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "piscope"; + version = "0.8"; + + src = fetchFromGitHub { + owner = "joan2937"; + repo = "piscope"; + tag = "V${finalAttrs.version}"; + hash = "sha256-VDrx/RLSpMhyD64PmdeWVacb9LleHakcy7D6zFxeyhw="; + }; + # Fix FHS paths + postConfigure = '' + substituteInPlace piscope.c \ + --replace /usr/share/piscope $out/share/piscope + ''; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook3 + installShellFiles + ]; + buildInputs = [ + gtk3 + ]; + # Upstream's Makefile assumes FHS + installPhase = '' + runHook preInstall + + installBin piscope + install -D -m 0644 piscope.glade $out/share/piscope/piscope.glade + + runHook postInstall + ''; + + meta = { + homepage = "http://abyz.me.uk/rpi/pigpio/piscope.html"; + description = "A logic analyser (digital waveform viewer) for the Raspberry"; + license = lib.licenses.unlicense; + maintainers = with lib.maintainers; [ doronbehar ]; + platforms = lib.platforms.linux; + }; +}) From 201c4b07578e53eedf4020a079974a8c93946e5e Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Thu, 20 Apr 2023 12:50:04 +0300 Subject: [PATCH 4/6] lgpio: init at 0.2.2 --- pkgs/by-name/lg/lgpio/package.nix | 71 +++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 pkgs/by-name/lg/lgpio/package.nix diff --git a/pkgs/by-name/lg/lgpio/package.nix b/pkgs/by-name/lg/lgpio/package.nix new file mode 100644 index 000000000000..a472ceff3136 --- /dev/null +++ b/pkgs/by-name/lg/lgpio/package.nix @@ -0,0 +1,71 @@ +{ + lib, + stdenv, + fetchFromGitHub, + swig, + # If we build the python packages, these two are not null + buildPythonPackage ? null, + lgpioWithoutPython ? null, + # When building a python Packages, this specifies the python subproject + pyProject ? "", +}: + +let + mkDerivation = if pyProject == "" then stdenv.mkDerivation else buildPythonPackage; +in +mkDerivation rec { + pname = "lgpio"; + version = "0.2.2"; + + src = fetchFromGitHub { + owner = "joan2937"; + repo = "lg"; + tag = "v${version}"; + hash = "sha256-92lLV+EMuJj4Ul89KIFHkpPxVMr/VvKGEocYSW2tFiE="; + }; + + nativeBuildInputs = lib.optionals (pyProject == "PY_LGPIO") [ + swig + ]; + + preConfigure = + if pyProject != "" then + '' + cd ${pyProject} + '' + else + ""; + # Emulate ldconfig when building the C API + postConfigure = + if pyProject == "" then + '' + substituteInPlace Makefile \ + --replace ldconfig 'echo ldconfig' + '' + else + ""; + + preBuild = + if pyProject == "PY_LGPIO" then + '' + swig -python lgpio.i + '' + else + ""; + + buildInputs = [ + lgpioWithoutPython + ]; + + makeFlags = [ + "prefix=$(out)" + ]; + + meta = { + description = "Linux C libraries and Python modules for manipulating GPIO"; + homepage = "https://github.com/joan2937/lg"; + license = with lib.licenses; [ unlicense ]; + maintainers = with lib.maintainers; [ doronbehar ]; + platforms = lib.platforms.linux; + }; +} From 456568f99eeb3886e793d06ce32c66c4f473e1a1 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 3 Jun 2024 17:56:13 +0300 Subject: [PATCH 5/6] python312Packages.lgpio: init at 0.2.2 --- pkgs/top-level/python-packages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e9f913506703..42cebe34084f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7791,6 +7791,14 @@ self: super: with self; { lexilang = callPackage ../development/python-modules/lexilang { }; + lgpio = toPythonModule ( + pkgs.lgpio.override { + inherit buildPythonPackage; + pyProject = "PY_LGPIO"; + lgpioWithoutPython = pkgs.lgpio; + } + ); + lhapdf = toPythonModule (pkgs.lhapdf.override { python3 = python; }); lib4package = callPackage ../development/python-modules/lib4package { }; From cf715599cdc39ad5a19aa26c719cf4daa397fa72 Mon Sep 17 00:00:00 2001 From: Doron Behar Date: Mon, 3 Jun 2024 17:56:26 +0300 Subject: [PATCH 6/6] python312Packages.rgpio: init at 0.2.2 --- pkgs/top-level/python-packages.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 42cebe34084f..c9e6a284a9cd 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -15213,6 +15213,13 @@ self: super: with self; { rflink = callPackage ../development/python-modules/rflink { }; + rgpio = toPythonModule ( + pkgs.lgpio.override { + inherit buildPythonPackage; + pyProject = "PY_RGPIO"; + } + ); + rich = callPackage ../development/python-modules/rich { }; rich-argparse = callPackage ../development/python-modules/rich-argparse { };