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
20 src = fetchFromGitHub {
21 owner = "nexB";
22 repo = "scancode-plugins";
23 rev = "v${version}";
24 sha256 = "02qinla281fc6pmg5xzsrmqnf9js76f2qcbf98zq7m2dkn70as4w";
25 };
26
27 sourceRoot = "${src.name}/builtins/extractcode_libarchive-linux";
28
29 preBuild = ''
30 pushd src/extractcode_libarchive/lib
31
32 rm *.so *.so.*
33 ln -s ${lib.getLib libarchive}/lib/libarchive.so libarchive.so
34 ln -s ${lib.getLib libb2}/lib/libb2.so libb2-la3511.so.1
35 ln -s ${lib.getLib bzip2}/lib/libbz2.so libbz2-la3511.so.1.0
36 ln -s ${lib.getLib expat}/lib/libexpat.so libexpat-la3511.so.1
37 ln -s ${lib.getLib lz4}/lib/liblz4.so liblz4-la3511.so.1
38 ln -s ${lib.getLib xz}/lib/liblzma.so liblzma-la3511.so.5
39 ln -s ${lib.getLib zlib}/lib/libz.so libz-la3511.so.1
40 ln -s ${lib.getLib zstd}/lib/libzstd.so libzstd-la3511.so.1
41
42 popd
43 '';
44
45 propagatedBuildInputs = [ plugincode ];
46
47 # no tests
48 doCheck = false;
49
50 pythonImportsCheck = [ "extractcode_libarchive" ];
51
52 meta = with lib; {
53 description = "ScanCode Toolkit plugin to provide pre-built binary libraries and utilities and their locations";
54 homepage = "https://github.com/nexB/scancode-plugins/tree/main/builtins/extractcode_libarchive-linux";
55 license = with licenses; [
56 asl20
57 bsd2
58 ];
59 maintainers = [ ];
60 platforms = platforms.linux;
61 };
62}