summary refs log tree commit diff
path: root/pkgs/development/libraries/jbig2enc/default.nix
blob: 734cb3839ad4982db832c46e54a7290f3fda00a3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, leptonica
, zlib
, libwebp
, giflib
, libjpeg
, libpng
, libtiff
, autoreconfHook
}:

stdenv.mkDerivation rec {
  pname = "jbig2enc";
  version = "0.29";

  src = fetchFromGitHub {
    owner = "agl";
    repo = "jbig2enc";
    rev = version;
    hash = "sha256-IAL4egXgaGmCilzcryjuvOoHhahyrfGWY68GBfXXgAM=";
  };

  nativeBuildInputs = [ autoreconfHook ];
  propagatedBuildInputs = [
    leptonica
    zlib
    libwebp
    giflib
    libjpeg
    libpng
    libtiff
  ];

  patches = [
    (fetchpatch {
      name = "fix-build-leptonica-1.83.patch";
      url = "https://github.com/agl/jbig2enc/commit/ea050190466f5336c69c6a11baa1cb686677fcab.patch";
      hash = "sha256-+kScjFgDEU9F7VOUNAhm2XBjGm49fzAH8hYhmTm8xv8=";
    })
  ];

  # This is necessary, because the resulting library has
  # /tmp/nix-build-jbig2enc/src/.libs before /nix/store/jbig2enc/lib
  # in its rpath, which means that patchelf --shrink-rpath removes
  # the /nix/store one.  By cleaning up before fixup, we ensure that
  # the /tmp/nix-build-jbig2enc/src/.libs directory is gone.
  preFixup = ''
    make clean
  '';

  meta = {
    description = "Encoder for the JBIG2 image compression format";
    license = lib.licenses.asl20;
    platforms = lib.platforms.all;
    homepage = "https://github.com/agl/jbig2enc";
  };
}