nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildNpmPackage,
4 fetchFromGitHub,
5
6 # for patching bundled 7z binary from the 7zip-bin node module
7 # at lib/node_modules/igir/node_modules/7zip-bin/linux/x64/7za
8 autoPatchelfHook,
9 stdenv,
10
11 libusb1,
12 libuv,
13 libz,
14 lz4,
15 sdl2-compat,
16 systemd,
17}:
18
19buildNpmPackage rec {
20 pname = "igir";
21 version = "4.1.2";
22
23 src = fetchFromGitHub {
24 owner = "emmercm";
25 repo = "igir";
26 rev = "v${version}";
27 hash = "sha256-L9bY3ep0HqRimYTqfW1yqbnnas4gjsD2emtJnWxGQaQ=";
28 };
29
30 npmDepsHash = "sha256-56pTJ1VZcoqDb56qzvfxEZUubu82n55O5R0JFRNy5HE=";
31
32 # I have no clue why I have to do this
33 postPatch = ''
34 patchShebangs scripts/update-readme-help.sh
35 '';
36
37 nativeBuildInputs = [ autoPatchelfHook ];
38
39 buildInputs = [
40 (lib.getLib stdenv.cc.cc)
41 libusb1
42 libuv
43 libz
44 lz4
45 sdl2-compat
46 systemd
47 ];
48
49 # from lib/node_modules/igir/node_modules/@node-rs/crc32-linux-x64-musl/crc32.linux-x64-musl.node
50 # Irrelevant to our use
51 autoPatchelfIgnoreMissingDeps = [ "libc.musl-x86_64.so.1" ];
52
53 meta = with lib; {
54 description = "Video game ROM collection manager to help filter, sort, patch, archive, and report on collections on any OS";
55 mainProgram = "igir";
56 homepage = "https://igir.io";
57 changelog = "https://github.com/emmercm/igir/releases/tag/${src.rev}";
58 license = licenses.gpl3Plus;
59 maintainers = with maintainers; [ mjm ];
60 platforms = platforms.linux;
61 };
62}