llpp icon indicating copy to clipboard operation
llpp copied to clipboard

how can i build it for void linux

Open zeyad-elkholy opened this issue 2 years ago • 6 comments

how can i build or compile this project for using it in void linux, i didn't know how to compile ocaml project, i tried to do it in c way (cmake, make install) but it didn't work

zeyad-elkholy avatar Sep 24 '23 19:09 zeyad-elkholy

This reply is a bit late, but in case anyone else is wondering: llpp is written in OCaml and uses a simple bash script as a build system. You just build it with

bash build.bash build

For more details, see the package definition used by Arch Linux: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=llpp

fstecker avatar Nov 09 '23 00:11 fstecker

a small patch needed for the latest mupdf:

diff --git a/build.bash b/build.bash
index 7830f6c..efdb9d0 100755
--- a/build.bash
+++ b/build.bash
@@ -275,7 +275,7 @@ for m in ml_gl ml_glarray ml_raw; do
 done
 
 libs="str.cma unix.cma"
-clibs="-ljbig2dec $(pkg-config --libs "${mudeps[@]}") -lmupdf -lpthread"
+clibs="-ljbig2dec $(pkg-config --libs "${mudeps[@]}") -lmupdf -lz -lmupdf-third -lpthread"
 if $darwin; then
     mcomp=$ccomp
     clibs+=" -framework Cocoa -framework OpenGL"

Sfinx avatar Apr 07 '24 05:04 Sfinx

@Sfinx What kind of system are you on? On Arch Linux -lz -lmupdf-third are not needed, which might be related to how Arch builds libmupdf. It compiles libmupdf using

USE_SYSTEM_LIBS=yes make shared=yes build=release libs apps

and with that it looks like only -lmupdf is needed for llpp. I assume this is different for your distro? Do you know what libmupdf-third is and what it's needed for?

fstecker avatar Apr 10 '24 15:04 fstecker

I do not think it is system dependent. I'm using the current mupdf git.

Sfinx avatar Apr 10 '24 15:04 Sfinx

Made this its own issue, thanks for reporting it! Would be great if we can fix it in a way which works for both of us (and everyone else).

fstecker avatar Apr 11 '24 03:04 fstecker

BTW: this small patch switches PgUp/PgDown and Space/BackSpace so reading books by Space is now much more comfortable:

diff --git a/main.ml b/main.ml
index 7fdf5a9..9f07986 100644
--- a/main.ml
+++ b/main.ml
@@ -3372,8 +3372,8 @@ let viewkeyboard key mask =
      | [] -> ()
      | l :: _ -> gotoxy !S.x (getpagey l.pageno)
      end
-  | Ascii ' ' -> nextpage ()
-  | Delete -> prevpage ()
+  | Next -> nextpage ()
+  | Prior -> prevpage ()
   | Ascii '=' -> showtext ' ' (describe_layout !S.layout);
   | Ascii 'w' ->
      begin match !S.layout with
@@ -3481,7 +3481,7 @@ let viewkeyboard key mask =
        S.text := E.s;
        Glutils.postRedisplay "left/right"
      )
-  | Prior ->
+  | Delete ->
      let y =
        if ctrl
        then
@@ -3491,7 +3491,7 @@ let viewkeyboard key mask =
        else U.add_to_y_and_clamp (U.pgscale ~- !S.winh)
      in
      gotoxy !S.x y
-  | Next ->
+  | Ascii ' ' ->
      let y =
        if ctrl
        then

Sfinx avatar Apr 11 '24 05:04 Sfinx