55 fetchpatch ,
66} :
77
8- stdenv . mkDerivation rec {
8+ stdenv . mkDerivation ( finalAttrs : {
99 pname = "jbigkit" ;
1010 version = "2.1" ;
1111
1212 src = fetchurl {
13- url = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/${ pname } -${ version } .tar.gz" ;
14- sha256 = "0cnrcdr1dwp7h7m0a56qw09bv08krb37mpf7cml5sjdgpyv0cwfy " ;
13+ url = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit -${ finalAttrs . version } .tar.gz" ;
14+ hash = "sha256-3nEGtr+vSV1oZcfdesbKE4G9EuDYFAXqgefyFnJj2TI= " ;
1515 } ;
1616
1717 patches = [
18+ # Archlinux patch: build shared object
19+ ( fetchpatch {
20+ url = "https://gitlab.archlinux.org/archlinux/packaging/packages/jbigkit/-/raw/main/jbigkit-2.1-shared_lib.patch" ;
21+ hash = "sha256-+efeeKg3FJ/TjSOj58kD+DwnaCm3zhGzKLfUes/d5rg=" ;
22+ } )
23+ ( fetchpatch {
24+ url = "https://gitlab.archlinux.org/archlinux/packaging/packages/jbigkit/-/raw/main/jbigkit-2.1-ldflags.patch" ;
25+ hash = "sha256-ik3NifyuhDHnIMTrNLAKInPgu2F5u6Gvk9daqrn8ZhY=" ;
26+ } )
27+ # Archlinux patch: update coverity
28+ ( fetchpatch {
29+ url = "https://gitlab.archlinux.org/archlinux/packaging/packages/jbigkit/-/raw/main/jbigkit-2.1-coverity.patch" ;
30+ hash = "sha256-APm9A2f4sMufuY3cnL9HOcSCa9ov3pyzgQTTKLd49/E=" ;
31+ } )
32+ # Archlinux patch: fix build warnings
33+ ( fetchpatch {
34+ url = "https://gitlab.archlinux.org/archlinux/packaging/packages/jbigkit/-/raw/main/jbigkit-2.1-build_warnings.patch" ;
35+ hash = "sha256-lDEJ1bvZ+zR7K4CiTq+aXJ8PGjILE3W13kznLLlGOOg=" ;
36+ } )
1837 # Archlinux patch: this helps users to reduce denial-of-service risks, as in CVE-2017-9937
1938 ( fetchpatch {
2039 url = "https://gitlab.archlinux.org/archlinux/packaging/packages/jbigkit/-/raw/main/0013-new-jbig.c-limit-s-maxmem-maximum-decoded-image-size.patch" ;
@@ -28,8 +47,9 @@ stdenv.mkDerivation rec {
2847 ] ;
2948
3049 makeFlags = [
31- "CC=${ stdenv . cc } /bin/${ stdenv . cc . targetPrefix } cc"
3250 "AR=${ lib . getBin stdenv . cc . bintools . bintools } /bin/${ stdenv . cc . targetPrefix } ar"
51+ "CC=${ stdenv . cc } /bin/${ stdenv . cc . targetPrefix } cc"
52+ "DESTDIR=${ placeholder "out" } "
3353 "RANLIB=${ lib . getBin stdenv . cc . bintools . bintools } /bin/${ stdenv . cc . targetPrefix } ranlib"
3454 ] ;
3555
@@ -44,27 +64,26 @@ stdenv.mkDerivation rec {
4464 installPhase = ''
4565 runHook preInstall
4666
47- install -D -m644 libjbig/libjbig.a $out/lib/libjbig.a
48- install -D -m644 libjbig/libjbig85.a $out/lib/libjbig85.a
49- install -D -m644 libjbig/jbig.h $out/include/jbig.h
50- install -D -m644 libjbig/jbig_ar.h $out/include/jbig_ar.h
51- install -D -m644 libjbig/jbig85.h $out/include/jbig85.h
67+ install -vDm 644 libjbig/*.h -t "$out/include/"
68+ install -vDm 755 pbmtools/{jbgtopbm{,85},pbmtojbg{,85}} -t "$out/bin/"
69+ install -vDm 644 pbmtools/*.1* -t "$out/share/man/man1/"
5270
53- install -d -m755 $out/share/man/man1
54- install -m644 pbmtools/*.1* $out/share/man/man1
55-
56- install -D -m755 pbmtools/jbgtopbm $out/bin/jbgtopbm
57- install -D -m755 pbmtools/pbmtojbg $out/bin/pbmtojbg
58- install -D -m755 pbmtools/jbgtopbm85 $out/bin/jbgtopbm85
59- install -D -m755 pbmtools/pbmtojbg85 $out/bin/pbmtojbg85
71+ install -vDm 755 libjbig/*.so.* -t "$out/lib/"
72+ for lib in libjbig.so libjbig85.so; do
73+ ln -sv "$lib.${ finalAttrs . version } " "$out/lib/$lib"
74+ ln -sv "$out/lib/$lib.${ finalAttrs . version } " "$out/lib/$lib.0"
75+ done
6076
6177 runHook postInstall
6278 '' ;
6379
64- meta = with lib ; {
65- homepage = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/" ;
80+ doCheck = true ;
81+
82+ meta = {
83+ broken = stdenv . hostPlatform . isDarwin ;
6684 description = "Software implementation of the JBIG1 data compression standard" ;
67- license = licenses . gpl2Plus ;
68- platforms = platforms . all ;
85+ homepage = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/" ;
86+ license = lib . licenses . gpl2Plus ;
87+ platforms = lib . platforms . all ;
6988 } ;
70- }
89+ } )
0 commit comments