File tree 3 files changed +131
-37
lines changed
3 files changed +131
-37
lines changed Original file line number Diff line number Diff line change @@ -8,40 +8,5 @@ final: prev:
8
8
nativeCheckInputs = ( super . nativeCheckInputs or [ ] ) ++ [ final . which ] ;
9
9
} ) ;
10
10
11
- unblob =
12
- let
13
- pyproject_toml = ( builtins . fromTOML ( builtins . readFile ./pyproject.toml ) ) ;
14
- version = pyproject_toml . project . version ;
15
- in
16
- ( prev . unblob . override { e2fsprogs = final . e2fsprogs-nofortify ; } ) . overridePythonAttrs ( super : rec {
17
- inherit version ;
18
-
19
- src = final . nix-filter {
20
- root = ./. ;
21
- include = [
22
- "Cargo.lock"
23
- "Cargo.toml"
24
- "pyproject.toml"
25
- "python"
26
- "rust"
27
- "tests"
28
- "README.md"
29
- ] ;
30
- } ;
31
-
32
- # remove this when packaging changes are upstreamed
33
- cargoDeps = final . rustPlatform . importCargoLock {
34
- lockFile = ./Cargo.lock ;
35
- } ;
36
-
37
- nativeBuildInputs = with final . rustPlatform ; [
38
- cargoSetupHook
39
- maturinBuildHook
40
- ] ;
41
-
42
- # override disabling of 'test_all_handlers[filesystem.extfs]' from upstream
43
- pytestFlagsArray = [
44
- "--no-cov"
45
- ] ;
46
- } ) ;
11
+ unblob = final . callPackage ./package.nix { } ;
47
12
}
Original file line number Diff line number Diff line change
1
+ {
2
+ lib ,
3
+ python3 ,
4
+ fetchFromGitHub ,
5
+ makeWrapper ,
6
+ e2fsprogs-nofortify ,
7
+ jefferson ,
8
+ lz4 ,
9
+ lziprecover ,
10
+ lzop ,
11
+ p7zip ,
12
+ nix-filter ,
13
+ sasquatch ,
14
+ sasquatch-v4be ,
15
+ simg2img ,
16
+ ubi_reader ,
17
+ unar ,
18
+ zstd ,
19
+ versionCheckHook ,
20
+ rustPlatform ,
21
+ } :
22
+
23
+ let
24
+ # These dependencies are only added to PATH
25
+ runtimeDeps = [
26
+ e2fsprogs-nofortify
27
+ jefferson
28
+ lziprecover
29
+ lzop
30
+ p7zip
31
+ sasquatch
32
+ sasquatch-v4be
33
+ ubi_reader
34
+ simg2img
35
+ unar
36
+ zstd
37
+ lz4
38
+ ] ;
39
+ pyproject_toml = ( builtins . fromTOML ( builtins . readFile ./pyproject.toml ) ) ;
40
+ version = pyproject_toml . project . version ;
41
+ in
42
+ python3 . pkgs . buildPythonApplication rec {
43
+ pname = "unblob" ;
44
+ pyproject = true ;
45
+ disabled = python3 . pkgs . pythonOlder "3.9" ;
46
+ inherit version ;
47
+ src = nix-filter {
48
+ root = ./. ;
49
+ include = [
50
+ "Cargo.lock"
51
+ "Cargo.toml"
52
+ "pyproject.toml"
53
+ "python"
54
+ "rust"
55
+ "tests"
56
+ "README.md"
57
+ ] ;
58
+ } ;
59
+
60
+ strictDeps = true ;
61
+
62
+ build-system = with python3 . pkgs ; [ poetry-core ] ;
63
+
64
+ dependencies = with python3 . pkgs ; [
65
+ arpy
66
+ attrs
67
+ click
68
+ cryptography
69
+ dissect-cstruct
70
+ lark
71
+ lief . py
72
+ python3 . pkgs . lz4 # shadowed by pkgs.lz4
73
+ plotext
74
+ pluggy
75
+ pyfatfs
76
+ pyperscan
77
+ python-magic
78
+ pyzstd
79
+ rarfile
80
+ rich
81
+ structlog
82
+ treelib
83
+ unblob-native
84
+ ] ;
85
+
86
+ cargoDeps = rustPlatform . importCargoLock {
87
+ lockFile = ./Cargo.lock ;
88
+ } ;
89
+
90
+ nativeBuildInputs = with rustPlatform ; [
91
+ cargoSetupHook
92
+ maturinBuildHook
93
+ makeWrapper
94
+ ] ;
95
+
96
+ # These are runtime-only CLI dependencies, which are used through
97
+ # their CLI interface
98
+ pythonRemoveDeps = [
99
+ "jefferson"
100
+ "ubi-reader"
101
+ ] ;
102
+
103
+ pythonImportsCheck = [ "unblob" ] ;
104
+
105
+ makeWrapperArgs = [
106
+ "--prefix PATH : ${ lib . makeBinPath runtimeDeps } "
107
+ ] ;
108
+
109
+ nativeCheckInputs =
110
+ with python3 . pkgs ;
111
+ [
112
+ pytestCheckHook
113
+ pytest-cov
114
+ versionCheckHook
115
+ ]
116
+ ++ runtimeDeps ;
117
+
118
+ versionCheckProgramArg = "--version" ;
119
+
120
+ pytestFlagsArray = [
121
+ "--no-cov"
122
+ ] ;
123
+
124
+ passthru = {
125
+ # helpful to easily add these to a nix-shell environment
126
+ inherit runtimeDeps ;
127
+ } ;
128
+
129
+ }
Original file line number Diff line number Diff line change 4
4
./flake.lock
5
5
./flake.nix
6
6
./overlay.nix
7
- ./nix
7
+ ./package. nix
8
8
] ;
9
9
10
10
lock = builtins . fromJSON ( builtins . readFile ./flake.lock ) ;
You can’t perform that action at this time.
0 commit comments