From 6211e7366a4e7d97961c56d521f743a78a9d9b6b Mon Sep 17 00:00:00 2001 From: Mark Nipper Date: Wed, 23 Jul 2025 11:03:00 -0700 Subject: Define local version of igir --- overlays/default.nix | 18 ------------------ pkgs/default.nix | 3 ++- pkgs/igir/default.nix | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 19 deletions(-) create mode 100644 pkgs/igir/default.nix diff --git a/overlays/default.nix b/overlays/default.nix index cd61a78..592131f 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -30,24 +30,6 @@ ''; }); - igir = prev.igir.overrideAttrs (_old: rec { - buildInputs = [ (lib.getLib stdenv.cc.cc) libusb libuv libz lz4 sdl2-compat udev ]; - npmDeps = final.fetchNpmDeps { - inherit src; - name = "${pname}-${version}-npm-deps"; - hash = npmDepsHash; - }; - npmDepsHash = "sha256-qPyS2F5jt1C5SZxvRuyPX4+TkYZKTffcekanWtH82EY="; - pname = "igir"; - src = final.fetchFromGitHub { - hash = "sha256-f/3XIBFMxSPwJpfZTBhuznU/psChfnQEwZASOoH4Ij0="; - owner = "emmercm"; - repo = "igir"; - rev = "v${version}"; - }; - version = "4.1.1"; - }); - #linux-firmware = prev.linux-firmware.overrideAttrs (old: rec { # pname = "linux-firmware"; # version = "20250708"; diff --git a/pkgs/default.nix b/pkgs/default.nix index dda9e84..7d110eb 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,5 @@ pkgs: { - sdrconnect = pkgs.callPackage ./sdrconnect { }; gearmulator = pkgs.callPackage ./gearmulator { }; + igir = pkgs.callPackage ./igir { }; + sdrconnect = pkgs.callPackage ./sdrconnect { }; } diff --git a/pkgs/igir/default.nix b/pkgs/igir/default.nix new file mode 100644 index 0000000..b56b586 --- /dev/null +++ b/pkgs/igir/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildNpmPackage, + fetchFromGitHub, + + # for patching bundled 7z binary from the 7zip-bin node module + # at lib/node_modules/igir/node_modules/7zip-bin/linux/x64/7za + autoPatchelfHook, + stdenv, +}: + +buildNpmPackage rec { + pname = "igir"; + version = "4.1.1"; + + src = fetchFromGitHub { + owner = "emmercm"; + repo = "igir"; + rev = "v${version}"; + hash = "sha256-f/3XIBFMxSPwJpfZTBhuznU/psChfnQEwZASOoH4Ij0="; + }; + + npmDepsHash = "sha256-qPyS2F5jt1C5SZxvRuyPX4+TkYZKTffcekanWtH82EY="; + + # I have no clue why I have to do this + postPatch = '' + patchShebangs scripts/update-readme-help.sh + ''; + + nativeBuildInputs = [ autoPatchelfHook ]; + + buildInputs = [ (lib.getLib stdenv.cc.cc) ]; + + # from lib/node_modules/igir/node_modules/@node-rs/crc32-linux-x64-musl/crc32.linux-x64-musl.node + # Irrelevant to our use + autoPatchelfIgnoreMissingDeps = [ "libc.musl-x86_64.so.1" ]; + + meta = with lib; { + description = "Video game ROM collection manager to help filter, sort, patch, archive, and report on collections on any OS"; + mainProgram = "igir"; + homepage = "https://igir.io"; + changelog = "https://github.com/emmercm/igir/releases/tag/${src.rev}"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ]; + platforms = platforms.linux; + }; +} -- cgit v1.2.3