1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pefile,
6 pillow,
7 pythonOlder,
8 setuptools,
9}:
10
11buildPythonPackage rec {
12 pname = "icoextract";
13 version = "0.1.5";
14 pyproject = true;
15
16 disabled = pythonOlder "3.8";
17
18 src = fetchPypi {
19 inherit pname version;
20 extension = "tar.gz";
21 hash = "sha256-/UxnWNyRNtwI4Rxx97i5QyjeMrUr5Sq+TfLTmU0xWyc=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [
27 pefile
28 pillow
29 ];
30
31 # tests expect mingw and multiarch
32 doCheck = false;
33
34 pythonImportsCheck = [ "icoextract" ];
35
36 postInstall = ''
37 mkdir -p $out/share/thumbnailers
38 substituteAll ${./exe-thumbnailer.thumbnailer} $out/share/thumbnailers/exe-thumbnailer.thumbnailer
39 '';
40
41 meta = with lib; {
42 description = "Extract icons from Windows PE files";
43 homepage = "https://github.com/jlu5/icoextract";
44 changelog = "https://github.com/jlu5/icoextract/blob/${version}/CHANGELOG.md";
45 license = licenses.mit;
46 maintainers = with maintainers; [
47 bryanasdev000
48 donovanglover
49 ];
50 };
51}