about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/llpp
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/llpp')
-rw-r--r--nixpkgs/pkgs/applications/misc/llpp/default.nix1
-rw-r--r--nixpkgs/pkgs/applications/misc/llpp/fix-build-bash.patch80
-rw-r--r--nixpkgs/pkgs/applications/misc/llpp/fix-mupdf.patch13
3 files changed, 14 insertions, 80 deletions
diff --git a/nixpkgs/pkgs/applications/misc/llpp/default.nix b/nixpkgs/pkgs/applications/misc/llpp/default.nix
index 427be6031585..ba004e343844 100644
--- a/nixpkgs/pkgs/applications/misc/llpp/default.nix
+++ b/nixpkgs/pkgs/applications/misc/llpp/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
       url = "https://aur.archlinux.org/cgit/aur.git/plain/system-makedeps.patch?h=llpp&id=0d2913056aaf3dbf7431e57b7b08b55568ba076c";
       hash = "sha256-t9PLXsM8+exCeYqJBe0LSDK0D2rpktmozS8qNcEAcHo=";
     })
+    ./fix-mupdf.patch
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/misc/llpp/fix-build-bash.patch b/nixpkgs/pkgs/applications/misc/llpp/fix-build-bash.patch
deleted file mode 100644
index c12828f2d94d..000000000000
--- a/nixpkgs/pkgs/applications/misc/llpp/fix-build-bash.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-diff --git a/build.bash b/build.bash
-index 7c278b6..41494c5 100755
-with manual adjustments
---- a/build.bash
-+++ b/build.bash
-@@ -30,7 +30,6 @@ srcd="$(dirname $0)"
- mudir=$outd/mupdf
- muinc="-I $mudir/include -I $mudir/thirdparty/freetype/include"
- 
--test -d "$mudir" || die muPDF not found, consult $(dirname $0)/BUILDING
- 
- mkdir -p $outd/{$wsid,lablGL}
- :>$outd/ordered
-@@ -41,12 +40,6 @@ isfresh() { test -r "$1.past" && . "$1.past" && test "$k" = "$2"; }
- mulibst="$mudir/build/$mbt/libs"
- mulibs="$mudir/build/$mbt/libmupdf.a $mudir/build/$mbt/libmupdf-third.a"
- 
--keycmd="(cd $mudir && make -q build=$mbt libs && echo); digest $mulibs"
--isfresh "$mulibst" "$(eval $keycmd)" || (
--    make -C "$mudir" build=$mbt -j $mjobs libs
--    eval $keycmd >${mulibst}.past
--) && vecho "fresh mupdf"
--
- oincs() {
-     local i=
-     local incs1=
-@@ -100,35 +93,6 @@ mflags() {
- }
- 
- overs="$(ocamlc -vnum 2>/dev/null)" || overs=""
--test "$overs" = "4.11.1" || {
--    url=https://caml.inria.fr/pub/distrib/ocaml-4.11/ocaml-4.11.1.tar.xz
--    txz=$outd/$(basename $url)
--    keycmd="printf $url; digest $txz;"
--    isfresh $txz "$(eval $keycmd)" || {
--        executable_p() { command -v "$1" >/dev/null 2>&1; }
--        if executable_p wget; then dl() { wget -q "$1" -O "$2"; }
--        elif executable_p curl; then dl() { curl -L "$1" -o "$2"; }
--        else die "no program to fetch remote urls found"
--        fi
--        dl $url $txz
--        eval $keycmd >$txz.past
--    } && vecho "fresh $txz"
--    absprefix=$(cd $outd &>/dev/null; pwd -P)
--    export PATH=$absprefix/bin:$PATH
--    ocamlc=$absprefix/bin/ocamlc
--    keycmd="printf $url; digest $ocamlc;"
--    isfresh $ocamlc "$(eval $keycmd)" || (
--        tar xf $txz -C $outd
--        bn=$(basename $url)
--        cd $outd/${bn%.tar.xz}
--        ./configure --disable-ocamldoc --disable-ocamltest      \
--                    --enable-debugger=no --prefix=$absprefix
--        make -j $mjobs world
--        make install
--        eval $keycmd >$absprefix/bin/ocamlc.past
--    ) && vecho "fresh ocamlc"
--    overs=$(ocamlc -vnum 2>/dev/null)
--}
- 
- ccomp=${LLPP_CC-$(ocamlc -config | grep "^c_compiler: " | \
-                       { read _ c; echo $c; })}
-@@ -243,7 +208,7 @@ bobjc() {
-     } && vecho "fresh $o"
- }
- 
--ver=$(cd $srcd && git describe --tags --dirty) || ver=unknown
-+ver=@version@
- 
- cmd="(. $srcd/genconfstr.sh >$outd/confstruct.ml)"
- keycmd="digest $srcd/genconfstr.sh $outd/confstruct.ml"
-@@ -291,7 +256,7 @@ for m in ml_gl ml_glarray ml_raw; do
- done
- 
- libs="str.cma unix.cma"
--clibs="-L$mudir/build/$mbt -lmupdf -lmupdf-third -lpthread"
-+clibs="-lmupdf -lmupdf-third -lfreetype -lgumbo -ljpeg -lopenjp2 -ljbig2dec -llcms2 -lharfbuzz -lpthread -lz"
- if $darwin; then
-     mcomp=$(ocamlc -config | grep bytecomp_c_co | { read _ c; echo $c; })
-     clibs="$clibs -framework Cocoa -framework OpenGL"
diff --git a/nixpkgs/pkgs/applications/misc/llpp/fix-mupdf.patch b/nixpkgs/pkgs/applications/misc/llpp/fix-mupdf.patch
new file mode 100644
index 000000000000..1a3c2516fc11
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/llpp/fix-mupdf.patch
@@ -0,0 +1,13 @@
+--- a/link.c
++++ b/link.c
+@@ -1522,8 +1522,9 @@ static void *mainloop (void UNUSED_ATTR *unused)
+             if (pdf && nameddest && *nameddest) {
+                 fz_point xy;
+                 struct pagedim *pdim;
+-                int pageno = pdf_lookup_anchor (state.ctx, pdf, nameddest,
++                fz_location location = fz_resolve_link (state.ctx, state.doc, nameddest,
+                                                 &xy.x, &xy.y);
++                int pageno = location.page;
+                 pdim = pdimofpageno (pageno);
+                 xy = fz_transform_point (xy, pdim->ctm);
+                 printd ("a %d %d %d", pageno, (int) xy.x, (int) xy.y);