summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/misc/mupdf/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/misc/mupdf/default.nix')
-rw-r--r--pkgs/applications/misc/mupdf/default.nix47
1 files changed, 36 insertions, 11 deletions
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index ef7571f5d14f..a56460827f50 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -1,30 +1,54 @@
-{ stdenv, fetchurl, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
+{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
, libX11, libXext }:
stdenv.mkDerivation rec {
- name = "mupdf-1.3";
+ version = "1.5";
+ name = "mupdf-${version}";
src = fetchurl {
url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
- sha256 = "0y247nka5gkr1ajn47jrlp5rcnf6h4ff7dfsprma3h4wxqdv7a5b";
+ sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
};
- patches = [(fetchurl {
- name = "CVE-2014-2013.patch";
- url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;"
- + "h=60dabde18d7fe12b19da8b509bdfee9cc886aafc";
- sha256 = "1walj3wir9x50i6lph33bx14c8593r9xrn08gkd3v7r6d15lmjps";
- })];
-
buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
enableParallelBuilding = true;
+ my_soname = "libmupdf.so.1.3";
+ my_soname_js_none = "libmupdf-js-none.so.1.3";
preBuild = ''
- export makeFlags="prefix=$out build=release"
+ export makeFlags="prefix=$out build=release XCFLAGS=-fpic"
export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
+
+ # Copied from Gentoo ebuild
+ rm -rf thirdparty
+ sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \
+ -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \
+ -e "/^MUPDF_LIB :=/s:=.*:= \$(OUT)/${my_soname}:" \
+ -e "\$a\$(MUPDF_JS_NONE_LIB):" \
+ -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \
+ -e "/^MUPDF_JS_NONE_LIB :=/s:=.*:= \$(OUT)/${my_soname_js_none}:" \
+ -i Makefile
+
+ sed -e "s/libopenjpeg1/libopenjp2/" -i Makerules
'';
postInstall = ''
+ ln -s ${my_soname} $out/lib/libmupdf.so
+
+ mkdir -p "$out/lib/pkgconfig"
+ cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
+ prefix=$out
+ libdir=$out/lib
+ includedir=$out/include
+
+ Name: mupdf
+ Description: Library for rendering PDF documents
+ Requires: freetype2 libopenjp2 libcrypto
+ Version: 1.3
+ Libs: -L$out/lib -lmupdf
+ Cflags: -I$out/include
+ EOF
+
mkdir -p $out/share/applications
cat > $out/share/applications/mupdf.desktop <<EOF
[Desktop Entry]
@@ -44,5 +68,6 @@ stdenv.mkDerivation rec {
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [ viric ];
platforms = with stdenv.lib.platforms; linux;
+ inherit version;
};
}