commit
f341d42886
3 changed files with 14 additions and 80 deletions
|
@ -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 = ''
|
||||
|
|
|
@ -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"
|
13
pkgs/applications/misc/llpp/fix-mupdf.patch
Normal file
13
pkgs/applications/misc/llpp/fix-mupdf.patch
Normal file
|
@ -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);
|
Loading…
Reference in a new issue