diff options
Diffstat (limited to 'app-text/llpp')
-rw-r--r-- | app-text/llpp/Manifest | 1 | ||||
-rw-r--r-- | app-text/llpp/files/llpp-33-makefile | 91 | ||||
-rw-r--r-- | app-text/llpp/llpp-33.ebuild | 68 |
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 +} |