mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-17 15:22:59 +01:00
commit
ae34904ee9
6 changed files with 69 additions and 66 deletions
|
@ -1,33 +1,36 @@
|
||||||
{ stdenv, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
|
{ stdenv, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
|
||||||
, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl }:
|
, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }:
|
||||||
|
|
||||||
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
|
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "llpp-${version}";
|
name = "llpp-${version}";
|
||||||
version = "21-git-2015-07-30";
|
version = "21-git-2016-05-07";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "git://repo.or.cz/llpp.git";
|
url = "git://repo.or.cz/llpp.git";
|
||||||
rev = "e9fe06d684b145a104cc319673076e069e853cac";
|
rev = "1beb003ca0f4ed90fda2823cb07c2eb674fc3ca4";
|
||||||
sha256 = "0w6kdjmh6jp5j88m213r0dg66ma42nxl6j4hjy4xnhkf52mg0iwx";
|
sha256 = "1r59yfm81zmiij401d3wc3zb1zc873ss02gkplbwi4lad2l0chba";
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
|
buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
|
||||||
gtk3 jbig2dec openjpeg mujs openssl ];
|
gtk3 jbig2dec openjpeg mujs openssl freetype ncurses ];
|
||||||
|
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
sh configure.sh -O -F ${mupdf}
|
sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype}/include+' build.sh
|
||||||
sed -i 's;-lopenjpeg;-lopenjp2;g' .config
|
sed -i -e 's+-lmupdf +-lfreetype -lz -lharfbuzz -ljbig2dec -lopenjp2 -ljpeg -lmupdf +' build.sh
|
||||||
sed -i 's;$builddir/link\.so;link.so;g' build.ninja
|
sed -i -e 's+-L\$srcdir/mupdf/build/native ++' build.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = "${ninja}/bin/ninja";
|
buildPhase = ''
|
||||||
|
sh ./build.sh build
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
install -d $out/bin $out/lib
|
install -d $out/bin $out/lib
|
||||||
install build/llpp $out/bin
|
install build/llpp $out/bin
|
||||||
install link.so $out/lib
|
|
||||||
wrapProgram $out/bin/llpp \
|
wrapProgram $out/bin/llpp \
|
||||||
--prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
|
--prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
|
||||||
--prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \
|
--prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \
|
||||||
|
|
|
@ -1,42 +1,25 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, freetype, libjpeg, jbig2dec, openjpeg
|
{ stdenv, fetchurl, fetchpatch, pkgconfig
|
||||||
, libX11, libXext }:
|
, zlib, freetype, libjpeg, jbig2dec, openjpeg
|
||||||
|
, libX11, libXcursor, libXrandr, libXinerama, libXext, harfbuzz, mesa }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.8";
|
version = "1.9";
|
||||||
name = "mupdf-${version}";
|
name = "mupdf-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://mupdf.com/downloads/archive/${name}-source.tar.gz";
|
url = "http://mupdf.com/downloads/archive/${name}-source.tar.gz";
|
||||||
sha256 = "01n26cy41lc2fjri63s4js23ixxb4nd37aafry3hz4i4id6wd8x2";
|
sha256 = "15p2k1n3afc7bnqrc0zfqz31fjfq3rrrrj4fwwy5az26d11ynxhp";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE= [ "-fPIC" ];
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
propagatedBuildInputs = [ openjpeg libjpeg jbig2dec ];
|
buildInputs = [ zlib freetype libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama];
|
||||||
buildInputs = [ zlib freetype libX11 libXext ];
|
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
installPhase = ''
|
||||||
|
make install prefix=$out
|
||||||
|
gcc -shared -o $out/lib/libmupdf.so.${version} -Wl,--whole-archive $out/lib/libmupdf.a -Wl,--no-whole-archive
|
||||||
|
|
||||||
my_soname = "libmupdf.so.1.3";
|
ln -s $out/lib/libmupdf.so.${version} $out/lib/libmupdf.so
|
||||||
my_soname_js_none = "libmupdf-js-none.so.1.3";
|
|
||||||
preBuild = ''
|
|
||||||
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"
|
mkdir -p "$out/lib/pkgconfig"
|
||||||
cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
|
cat >"$out/lib/pkgconfig/mupdf.pc" <<EOF
|
||||||
|
@ -63,14 +46,14 @@ stdenv.mkDerivation rec {
|
||||||
Terminal=false
|
Terminal=false
|
||||||
EOF
|
EOF
|
||||||
'';
|
'';
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://mupdf.com/;
|
homepage = http://mupdf.com;
|
||||||
repositories.git = git://git.ghostscript.com/mupdf.git;
|
repositories.git = git://git.ghostscript.com/mupdf.git;
|
||||||
description = "Lightweight PDF viewer and toolkit written in portable C";
|
description = "Lightweight PDF viewer and toolkit written in portable C";
|
||||||
license = stdenv.lib.licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
maintainers = with maintainers; [ viric vrthra ];
|
||||||
platforms = with stdenv.lib.platforms; linux;
|
platforms = platforms.linux;
|
||||||
inherit version;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
--- zathura-pdf-mupdf-0.2.7/config.mk
|
|
||||||
+++ zathura-pdf-mupdf-0.2.7/config.mk
|
|
||||||
@@ -32,10 +32,11 @@
|
|
||||||
OPENSSL_INC ?= $(shell pkg-config --cflags libcrypto)
|
|
||||||
OPENSSL_LIB ?= $(shell pkg-config --libs libcrypto)
|
|
||||||
|
|
||||||
-MUPDF_LIB ?= -lmupdf -lmujs
|
|
||||||
+MUPDF_INC ?= $(shell pkg-config --cflags mupdf)
|
|
||||||
+MUPDF_LIB ?= $(shell pkg-config --libs mupdf)
|
|
||||||
|
|
||||||
-INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC}
|
|
||||||
-LIBS = ${GTK_LIB} ${GIRARA_LIB} ${MUPDF_LIB} ${OPENSSL_LIB} -ljbig2dec -lopenjp2 -ljpeg
|
|
||||||
+INCS = ${GTK_INC} ${GIRARA_INC} ${OPENSSL_INC} ${ZATHURA_INC} ${MUPDF_INC}
|
|
||||||
+LIBS = ${GTK_LIB} ${GIRARA_LIB} ${OPENSSL_LIB} ${MUPDF_LIB} -ljbig2dec -ljpeg
|
|
||||||
|
|
||||||
# flags
|
|
||||||
CFLAGS += -std=c99 -fPIC -pedantic -Wall -Wno-format-zero-length $(INCS)
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl }:
|
{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, libjpeg, jbig2dec, openjpeg, fetchpatch}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.3.0";
|
version = "0.3.0";
|
||||||
|
@ -9,13 +9,15 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1j3j3wbp49walb19f0966qsnlqbd26wnsjpcxfbf021dav8vk327";
|
sha256 = "1j3j3wbp49walb19f0966qsnlqbd26wnsjpcxfbf021dav8vk327";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf ];
|
buildInputs = [ pkgconfig zathura_core gtk girara openssl mupdf libjpeg jbig2dec openjpeg ];
|
||||||
|
|
||||||
makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
|
makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
|
||||||
|
|
||||||
patches = [
|
patches = [(fetchpatch {
|
||||||
./config.patch
|
name = "mupdf-1.9.patch";
|
||||||
];
|
url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.9.patch?h=packages/zathura-pdf-mupdf";
|
||||||
|
sha256 = "185wgg0z4b0z5aybcnnyvbs50h43imn5xz3nqmya4rk4v5bwy49y";
|
||||||
|
})];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = http://pwmt.org/projects/zathura/;
|
homepage = http://pwmt.org/projects/zathura/;
|
||||||
|
|
|
@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
|
||||||
imlib2
|
imlib2
|
||||||
];
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./mupdf-1.9.patch
|
||||||
|
];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
# Hack. Probing (`ldconfig -p`) fails with ‘cannot execute binary file’.
|
# Hack. Probing (`ldconfig -p`) fails with ‘cannot execute binary file’.
|
||||||
# Overriding `OPENJP2 =` later works, but makes build output misleading:
|
# Overriding `OPENJP2 =` later works, but makes build output misleading:
|
||||||
|
|
28
pkgs/os-specific/linux/jfbview/mupdf-1.9.patch
Normal file
28
pkgs/os-specific/linux/jfbview/mupdf-1.9.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
--- JFBView-0.5.2-src/Makefile 2016-06-11 23:27:54.969894750 -0700
|
||||||
|
+++ JFBView-0.5.2-src/Makefile 2016-06-11 23:24:45.181142832 -0700
|
||||||
|
@@ -134,13 +134,22 @@
|
||||||
|
|
||||||
|
.PHONY: detect_libopenjp2
|
||||||
|
detect_libopenjp2:
|
||||||
|
- $(eval OPENJP2 = $(shell ldconfig -p | grep -q libopenjp2 && echo 'openjp2' || echo 'openjpeg'))
|
||||||
|
+ $(eval OPENJP2 = $(shell echo libopenjp2 | grep -q libopenjp2 && echo 'openjp2' || echo 'openjpeg'))
|
||||||
|
@echo "OPENJP2 = $(OPENJP2)" >> $(CONFIG_MK)
|
||||||
|
|
||||||
|
# mupdf_version only depends on -lmupdf.
|
||||||
|
mupdf_version: mupdf_version.cpp
|
||||||
|
- $(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) -lmupdf
|
||||||
|
-
|
||||||
|
+ $(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) -lmupdf \
|
||||||
|
+ -lpthread \
|
||||||
|
+ -lform \
|
||||||
|
+ -lncurses \
|
||||||
|
+ -lfreetype \
|
||||||
|
+ -lharfbuzz \
|
||||||
|
+ -lz \
|
||||||
|
+ -ljbig2dec \
|
||||||
|
+ -ljpeg \
|
||||||
|
+ -lmujs \
|
||||||
|
+ -lopenjp2
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue