2014-05-17 11:14:52 +01:00
|
|
|
{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
|
2010-08-09 21:59:38 +01:00
|
|
|
, libX11, libXext }:
|
|
|
|
stdenv.mkDerivation rec {
|
2014-06-13 10:29:52 +01:00
|
|
|
version = "1.5";
|
|
|
|
name = "mupdf-${version}";
|
2010-08-09 21:59:38 +01:00
|
|
|
|
|
|
|
src = fetchurl {
|
2012-10-04 07:37:54 +01:00
|
|
|
url = "http://mupdf.com/download/archive/${name}-source.tar.gz";
|
2014-06-13 10:29:52 +01:00
|
|
|
sha256 = "0sl47zqf4c9fhs4h5zg046vixjmwgy4vhljhr5g4md733nash7z4";
|
2010-08-09 21:59:38 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
buildInputs = [ pkgconfig zlib freetype libjpeg jbig2dec openjpeg libX11 libXext ];
|
|
|
|
|
2013-11-05 13:44:54 +00:00
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
2014-05-17 13:14:42 +01:00
|
|
|
my_soname = "libmupdf.so.1.3";
|
|
|
|
my_soname_js_none = "libmupdf-js-none.so.1.3";
|
2010-08-09 21:59:38 +01:00
|
|
|
preBuild = ''
|
2014-05-17 13:14:07 +01:00
|
|
|
export makeFlags="prefix=$out build=release XCFLAGS=-fpic"
|
2012-10-04 07:37:54 +01:00
|
|
|
export NIX_CFLAGS_COMPILE=" $NIX_CFLAGS_COMPILE -I$(echo ${openjpeg}/include/openjpeg-*) "
|
2014-05-17 13:14:42 +01:00
|
|
|
|
|
|
|
# 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
|
2010-08-09 21:59:38 +01:00
|
|
|
'';
|
|
|
|
|
2013-08-29 18:29:22 +01:00
|
|
|
postInstall = ''
|
2014-05-17 13:14:42 +01:00
|
|
|
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
|
|
|
|
|
2013-08-29 18:29:22 +01:00
|
|
|
mkdir -p $out/share/applications
|
|
|
|
cat > $out/share/applications/mupdf.desktop <<EOF
|
|
|
|
[Desktop Entry]
|
|
|
|
Type=Application
|
|
|
|
Version=1.0
|
|
|
|
Name=mupdf
|
|
|
|
Comment=PDF viewer
|
|
|
|
Exec=$out/bin/mupdf-x11
|
|
|
|
Terminal=false
|
|
|
|
EOF
|
|
|
|
'';
|
|
|
|
|
2010-08-09 21:59:38 +01:00
|
|
|
meta = {
|
|
|
|
homepage = http://mupdf.com/;
|
2014-04-03 05:55:17 +01:00
|
|
|
repositories.git = git://git.ghostscript.com/mupdf.git;
|
2010-08-09 21:59:38 +01:00
|
|
|
description = "Lightweight PDF viewer and toolkit written in portable C";
|
|
|
|
license = "GPLv3+";
|
|
|
|
maintainers = with stdenv.lib.maintainers; [ viric ];
|
|
|
|
platforms = with stdenv.lib.platforms; linux;
|
2014-06-13 10:29:52 +01:00
|
|
|
inherit version;
|
2010-08-09 21:59:38 +01:00
|
|
|
};
|
|
|
|
}
|