summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/llpp')
-rw-r--r--app-text/llpp/Manifest1
-rw-r--r--app-text/llpp/files/llpp-33-makefile91
-rw-r--r--app-text/llpp/llpp-33.ebuild68
3 files changed, 160 insertions, 0 deletions
diff --git a/app-text/llpp/Manifest b/app-text/llpp/Manifest
index bd31a873817b..0825c3930b0d 100644
--- a/app-text/llpp/Manifest
+++ b/app-text/llpp/Manifest
@@ -2,3 +2,4 @@ DIST llpp-30.tar.gz 165821 BLAKE2B 755648f9f7e0e0740dd9647559c085ab1626edfceb91d
DIST llpp-30_p20190316.tar.gz 169517 BLAKE2B 56dbb4fc1f46e654f15986edf870bec22c3d26c694915db88125d99b8f0460c70ac3bd48c82f45f32939f5a09753a4ec6f2e6d544397a0d6ba242640c363917d SHA512 c736b94595eab1fd45e6fb6aa89a988e0c3ec1f4c7c88f8655d17a88c9ff62c6b7db4396a3934690861b5e61af595baa6736b92c585ad68c51677f3e577bd713
DIST llpp-31.tar.gz 169199 BLAKE2B 3f60db741fb94bf1b4753f5443705e68f062a68212fd3d0d8062f54b3b71002dc0ee3ba3040f9be028a40d8e96de11c8c53966196e631458f65d863f90f7226f SHA512 d9e213078899ece4a92291199bc2ea962c40a185b9908a7db241a773f57c64e08b004a8433984b86cc4b59088f97991b2ee8ee94e75d71536ce378dd32316e57
DIST llpp-31_p20191016.tar.gz 169480 BLAKE2B af8f01d156863b642ad1c062b4b1a00a744955fdc1e7446b7a5023e6d03b58af77c699140b54d337c0eeacf65fba7a06ccfd6baa6ab9e1920bd7fd0fcfa90d97 SHA512 6fdd2621aec9f026e175c52957c77293a105adc81e42dad33f24631d5d2ae6775978834e84e1cab73cc8d1246af684384f9057a0f613438a19eaf7b607f92ddf
+DIST llpp-33.tar.gz 172410 BLAKE2B 6f45d262520bb9e09a08088b9d6b6a1c272ca32d44b507537e7887c76f17ec782d805f4fb94e528d7bca5a9eb87c35ff64b883bd0fdab5609f2807bc8043b1d5 SHA512 f14669eab8934ddc0ac530a67055199a73c7f0c2906dc4a80a729326340691ad53433afce2e638848471852901c88fcc99ae1d66b1abf179e4f5892976b585e8
diff --git a/app-text/llpp/files/llpp-33-makefile b/app-text/llpp/files/llpp-33-makefile
new file mode 100644
index 000000000000..3a5c3122e251
--- /dev/null
+++ b/app-text/llpp/files/llpp-33-makefile
@@ -0,0 +1,91 @@
+VERSION = $(shell test -d .git && git describe --tags --dirty 2>/dev/null)
+ifeq "$(VERSION)" ""
+VERSION = 33
+endif
+
+# paths
+PREFIX ?= /usr/local
+LIBDIR ?= /usr/lib
+
+# includes and libs
+PKGCONF_DEPS := freetype2 harfbuzz libopenjp2 libjpeg mupdf x11 zlib
+CPPFLAGS += -D_GNU_SOURCE -DFFP
+CFLAGS += -std=c99 -pedantic -Wall -Wextra -Wshadow $(shell pkg-config --cflags $(PKGCONF_DEPS))
+LDLIBS = -L$(LIBDIR) -lpthread -ljbig2dec $(shell pkg-config --libs $(PKGCONF_DEPS))
+
+# ocaml
+CAMLOPT = ocamlopt
+CAMLFLAGS = -g -w +a -safe-string -I +lablGL
+
+VPATH = wsi/x11
+
+C_SRC = cutils.c keysym2ucs.c link.c xlib.c version.c
+C_OBJ = $(C_SRC:.c=.o)
+OCAML_SRC = utils.ml wsi.ml confstruct.ml parser.ml config.ml ffi.ml glutils.ml help.ml keys.ml utf8syms.ml listview.ml main.ml
+OCAML_OBJ = $(OCAML_SRC:.ml=.cmx)
+MOD = unix.cmxa str.cmxa lablgl.cmxa
+SRCMANS = $(wildcard adoc/*.adoc)
+MANS = $(SRCMANS:.adoc=.1)
+
+DISTFILES := Makefile $(OCAML_SRC) link.c glfont.c keysym2ucs.c wsi.mli
+DISTFILES += $(wildcard *.sh) KEYS README BUILDING
+DISTFILES += misc/ adoc/
+
+all: llpp $(MANS)
+
+# dependency ordering
+config.cmx: wsi.cmi parser.cmx utils.cmx confstruct.cmx
+confstruct.cmx: wsi.cmx utils.cmx
+ffi.cmx: config.cmx
+glutils.cmx: ffi.cmx
+help.cmx: help.cmi config.cmx utils.cmx
+listview.cmx: utils.cmx glutils.cmx config.cmx utf8syms.cmx
+main.cmx: main.ml utils.cmx config.cmx glutils.cmx listview.cmx ffi.cmx keys.cmx wsi.cmx
+main.cmx: CAMLFLAGS += -thread
+parser.cmx: utils.cmx
+wsi.cmi: utils.cmx keys.cmx
+wsi.cmx: wsi.cmi
+
+link.o: glfont.c
+version.o: CPPFLAGS += -DLLPP_VERSION=$(VERSION)
+
+# ordinary targets
+llpp: $(OCAML_OBJ) $(C_OBJ)
+ $(CAMLOPT) -o $@ $(CAMLFLAGS) $(C_OBJ) -ccopt '$(LDFLAGS)' -cclib '$(LDLIBS)' $(MOD) $(OCAML_OBJ)
+
+
+confstruct.ml: genconfstr.sh
+ sh $< >$@
+
+# pattern rules
+%.o: %.c
+ $(CAMLOPT) -c -o $@ $(CAMLFLAGS) -cc $(CC) -ccopt '$(CFLAGS) $(CPPFLAGS)' $<
+
+%.cmx: %.ml
+ $(CAMLOPT) -c -o $@ $(CAMLFLAGS) $<
+
+%.cmi: %.mli
+ $(CAMLOPT) -c -o $@ $(CAMLFLAGS) $<
+
+%.1: %.adoc
+ a2x -d manpage -f manpage $<
+
+# special targets
+clean:
+ $(RM) llpp link.o help.ml $(OCAML_OBJ) $(OCAML_OBJ:.cmx=.cmi) $(OCAML_OBJ:.cmx=.o) $(MANS) $(MANS:.1=.xml)
+
+dist: clean
+ mkdir llpp-$(VERSION)
+ cp -r $(DISTFILES) llpp-$(VERSION)
+ tar czf llpp-$(VERSION).tar.gz llpp-$(VERSION)
+ rm -rf llpp-$(VERSION)
+
+install:
+ install -Dm755 llpp "$(DESTDIR)"$(PREFIX)/bin/llpp
+ install -Dm644 -t "$(DESTDIR)"$(PREFIX)/share/man/man1 $(MANS)
+ install -Dm755 misc/llppac "$(DESTDIR)"$(PREFIX)/bin/llppac
+ install -Dm755 misc/llpp.inotify "$(DESTDIR)"$(PREFIX)/bin/llpp.inotify
+ install -Dm755 misc/llpphtml "$(DESTDIR)"$(PREFIX)/bin/llpphtml
+ install -Dm644 misc/llpp.desktop "$(DESTDIR)"$(PREFIX)/share/applications/llpp.desktop
+
+.PHONY: all clean dist install
diff --git a/app-text/llpp/llpp-33.ebuild b/app-text/llpp/llpp-33.ebuild
new file mode 100644
index 000000000000..5161e2bfb42d
--- /dev/null
+++ b/app-text/llpp/llpp-33.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs xdg-utils
+
+DESCRIPTION="Graphical PDF viewer which aims to superficially resemble less(1)"
+HOMEPAGE="https://github.com/moosotc/llpp"
+SRC_URI="https://github.com/moosotc/llpp/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+ocamlopt static-libs"
+
+RDEPEND=">=app-text/mupdf-1.17.0:0=[static-libs?]
+ app-arch/bzip2[static-libs?]
+ media-libs/fontconfig:1.0[static-libs?]
+ media-libs/freetype:2[static-libs?]
+ media-libs/jbig2dec:=[static-libs?]
+ media-libs/openjpeg:2[static-libs?]
+ sys-libs/zlib[static-libs?]
+ virtual/jpeg:0[static-libs?]
+ x11-libs/libX11[static-libs?]
+ x11-libs/libXau[static-libs?]
+ x11-libs/libXdmcp[static-libs?]
+ x11-misc/xsel"
+DEPEND="${RDEPEND}
+ dev-ml/lablgl[glut,ocamlopt?]"
+BDEPEND="
+ >=dev-lang/ocaml-4.09[ocamlopt?]
+ app-text/asciidoc
+ virtual/pkgconfig"
+
+RESTRICT="!ocamlopt? ( strip )"
+
+src_prepare() {
+ default
+
+ # use custom makefile from archlinux with minor changes
+ cp "${FILESDIR}"/${P}-makefile "${S}"/Makefile || die
+
+ # re-add desktop file removed upstream
+ cp "${FILESDIR}"/llpp.desktop "${S}"/misc || die
+
+ # remove empty interface definition
+ rm "${S}"/main.mli || die
+}
+
+src_compile() {
+ emake -j1 VERSION=${PV} CC="$(tc-getCC)" LIBDIR="/usr/$(get_libdir)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="/usr" install
+ dodoc README Thanks
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}