summary refs log tree commit diff
path: root/pkgs/tools/graphics/cuneiform/default.nix
blob: 38d5df22fd7a30a99e9954fc8300cbe1e8f5d718 (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
a :  
let 
  fetchurl = a.fetchurl;

  version = "1.1.0";
  buildInputs = with a; [
    cmake imagemagick patchelf
  ];
in
rec {
  src = fetchurl {
    url = "https://launchpad.net/cuneiform-linux/1.1/1.1/+download/cuneiform-linux-1.1.0.tar.bz2";
    sha256 = "1bdvppyfx2184zmzcylskd87cxv56d8f32jf7g1qc8779l2hszjp";
  };

  inherit buildInputs;
  configureFlags = [];

  /* doConfigure should be removed if not needed */
  phaseNames = ["doCmake" "doMakeInstall" "postInstall"];

  libc = if a.stdenv ? glibc then a.stdenv.glibc else "";

  doCmake = a.fullDepEntry(''
    mkdir -p $PWD/builddir
    cd builddir
    export NIX_LDFLAGS="$NIX_LDFLAGS -ldl -L$out/lib"
    cmake .. -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=$out -DDL_LIB=${libc}/lib
  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
      
  needLib64 = a.stdenv.system == "x86_64-linux";

  postInstall = a.fullDepEntry(''
    patchelf --set-rpath $out/lib${if needLib64 then "64" else ""}${if a.stdenv.cc.gcc != null then ":${a.stdenv.cc.gcc}/lib" else ""}${if a.stdenv.cc.gcc != null && needLib64 then ":${a.stdenv.cc.gcc}/lib64" else ""}:${a.imagemagick}/lib $out/bin/cuneiform
  '') ["minInit" "addInputs" "doMakeInstall"];

  name = "cuneiform-" + version;
  meta = {
    inherit version;
    description = "Multi-language OCR system";
  };
}