1{
2 lib,
3 fetchFromGitHub,
4 buildPythonPackage,
5 libarchive,
6 libb2,
7 bzip2,
8 expat,
9 lz4,
10 xz,
11 zlib,
12 zstd,
13 plugincode,
14}:
15
16buildPythonPackage rec {
17 pname = "extractcode-libarchive";
18 version = "21.5.31";
19 format = "setuptools";
20
21 src = fetchFromGitHub {
22 owner = "aboutcode-org";
23 repo = "scancode-plugins";
24 tag = "v${version}";
25 hash = "sha256-nGgFjp1N1IM/Sm4xLJw5WiZncc369/LqNcwFJBS1EQs=";
26 };
27
28 sourceRoot = "${src.name}/builtins/extractcode_libarchive-linux";
29
30 preBuild = ''
31 pushd src/extractcode_libarchive/lib
32
33 rm *.so *.so.*
34 ln -s ${lib.getLib libarchive}/lib/libarchive.so libarchive.so
35 ln -s ${lib.getLib libb2}/lib/libb2.so libb2-la3511.so.1
36 ln -s ${lib.getLib bzip2}/lib/libbz2.so libbz2-la3511.so.1.0
37 ln -s ${lib.getLib expat}/lib/libexpat.so libexpat-la3511.so.1
38 ln -s ${lib.getLib lz4}/lib/liblz4.so liblz4-la3511.so.1
39 ln -s ${lib.getLib xz}/lib/liblzma.so liblzma-la3511.so.5
40 ln -s ${lib.getLib zlib}/lib/libz.so libz-la3511.so.1
41 ln -s ${lib.getLib zstd}/lib/libzstd.so libzstd-la3511.so.1
42
43 popd
44 '';
45
46 propagatedBuildInputs = [ plugincode ];
47
48 # no tests
49 doCheck = false;
50
51 pythonImportsCheck = [ "extractcode_libarchive" ];
52
53 meta = {
54 description = "ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations";
55 homepage = "https://github.com/aboutcode-org/scancode-plugins/tree/main/builtins/extractcode_libarchive-linux";
56 license = with lib.licenses; [
57 asl20
58 bsd2
59 ];
60 maintainers = [ ];
61 platforms = lib.platforms.linux;
62 };
63}