summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gentoo.org>2018-12-22 01:41:29 -0600
committerTim Harder <radhermit@gentoo.org>2018-12-22 01:49:04 -0600
commit045561eb7c94dc7d4acf061a421d541c3a3d3e58 (patch)
treeca13a09d3da71c1728ee26bf482af0c0737dc883 /app-text/llpp
parentmedia-sound/abcmidi: remove old (diff)
downloadgentoo-045561eb7c94dc7d4acf061a421d541c3a3d3e58.tar.gz
gentoo-045561eb7c94dc7d4acf061a421d541c3a3d3e58.tar.bz2
gentoo-045561eb7c94dc7d4acf061a421d541c3a3d3e58.zip
app-text/llpp: version bump to 30
Closes: https://bugs.gentoo.org/662206 Closes: https://bugs.gentoo.org/672360 Signed-off-by: Tim Harder <radhermit@gentoo.org>
Diffstat (limited to 'app-text/llpp')
-rw-r--r--app-text/llpp/Manifest1
-rw-r--r--app-text/llpp/files/Makefile90
-rw-r--r--app-text/llpp/files/llpp-30-keysym.patch55
-rw-r--r--app-text/llpp/files/llpp.desktop14
-rw-r--r--app-text/llpp/llpp-30.ebuild70
5 files changed, 230 insertions, 0 deletions
diff --git a/app-text/llpp/Manifest b/app-text/llpp/Manifest
index bfbf28930ced..b3c280baf7e7 100644
--- a/app-text/llpp/Manifest
+++ b/app-text/llpp/Manifest
@@ -1 +1,2 @@
DIST llpp-26b_p20180114.tar.gz 170204 BLAKE2B c7f46491d69350e8e94b444f0be4d7375f5658cccded792ecce2a246c907ae98bcca45d73e3b6c15765bd926d559327491559b5e5eec63bf2645cba84f6ee0d3 SHA512 1bc544f4bae268f573c2c111b69f7129bd3d1c1c8cc635c06f76e12670ad9476b4c2a2776e3959203ab6e53ea8ad1c68be290619298f7ebc1ae8203875f88314
+DIST llpp-30.tar.gz 165821 BLAKE2B 755648f9f7e0e0740dd9647559c085ab1626edfceb91d8df4aa783610f32499d744f24a2e0ac0d6f13e747695e8829112e59bcf0fc78c7ef5f4b2427c759353d SHA512 1dfcf273bdabfb3c7b38366bac60659555b943f459cb3fd6e656df1a33c0f84e6745d62522c5498df0bd6182bda13973144724054588c07145018bb3e758d893
diff --git a/app-text/llpp/files/Makefile b/app-text/llpp/files/Makefile
new file mode 100644
index 000000000000..1fb99c9a2118
--- /dev/null
+++ b/app-text/llpp/files/Makefile
@@ -0,0 +1,90 @@
+VERSION = $(shell test -d .git && git describe --tags --dirty 2>/dev/null)
+ifeq "$(VERSION)" ""
+VERSION = 28
+endif
+
+# paths
+PREFIX ?= /usr/local
+
+# includes and libs
+PKGCONF_DEPS := freetype2 harfbuzz libopenjp2 libjpeg mupdf x11 zlib
+CPPFLAGS += -D_GNU_SOURCE -DFFP
+CFLAGS += -g -std=c99 -pedantic -Wall -Wextra -Wshadow $(shell pkg-config --cflags $(PKGCONF_DEPS))
+LDLIBS = -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 adoc/asciidoc.conf
+ a2x -d manpage -f manpage --asciidoc-opts="-f adoc/asciidoc.conf --out-file=$@.xml" $<
+
+# 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/files/llpp-30-keysym.patch b/app-text/llpp/files/llpp-30-keysym.patch
new file mode 100644
index 000000000000..b1527e1856f1
--- /dev/null
+++ b/app-text/llpp/files/llpp-30-keysym.patch
@@ -0,0 +1,55 @@
+From 6e40f7315cb620fef1d96bbe56cfe24dd91e182a Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Tue, 5 Jun 2018 11:56:06 -0400
+Subject: [PATCH] Do not use CPPFLAGS to add headers to source files
+
+Source code, e.g. #include, belongs in the source code, not the build
+system. Build systems are for defining include paths, not the includes
+themselves.
+
+Drop the KeySym keyword since it seems to be a useless alias for
+uint32_t which might as well be used directly instead of indirectly
+using #define everywhere.
+---
+ link.c | 4 ++--
+ wsi/x11/keysym2ucs.c | 4 +++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/link.c b/link.c
+index 783b12f..e8dcac3 100644
+--- a/link.c
++++ b/link.c
+@@ -3437,9 +3437,9 @@ CAMLprim value ml_keysymtoutf8 (value keysym_v)
+ {
+ CAMLparam1 (keysym_v);
+ CAMLlocal1 (str_v);
+- KeySym keysym = Int_val (keysym_v);
++ uint32_t keysym = Int_val (keysym_v);
+ Rune rune;
+- extern long keysym2ucs (KeySym);
++ extern long keysym2ucs (uint32_t);
+ int len;
+ char buf[5];
+
+diff --git a/wsi/x11/keysym2ucs.c b/wsi/x11/keysym2ucs.c
+index 38f9f1f..0f907c2 100644
+--- a/wsi/x11/keysym2ucs.c
++++ b/wsi/x11/keysym2ucs.c
+@@ -37,6 +37,8 @@
+ * AUTOMATICALLY GENERATED FILE, DO NOT EDIT !!! (unicode/convmap.pl)
+ */
+
++#include <inttypes.h>
++
+ struct codepair {
+ unsigned short keysym;
+ unsigned short ucs;
+@@ -816,7 +818,7 @@ struct codepair {
+ { 0x20ac, 0x20ac }, /* EuroSign € EURO SIGN */
+ };
+
+-long keysym2ucs(KeySym keysym)
++long keysym2ucs(uint32_t keysym)
+ {
+ int min = 0;
+ int max = sizeof(keysymtab) / sizeof(struct codepair) - 1;
diff --git a/app-text/llpp/files/llpp.desktop b/app-text/llpp/files/llpp.desktop
new file mode 100644
index 000000000000..9d81141aede6
--- /dev/null
+++ b/app-text/llpp/files/llpp.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Name=llpp
+GenericName=PDF Pager
+Exec=llpp %f
+TryExec=llpp
+Terminal=false
+Type=Application
+MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip;image/png;image/jpeg;image/pjpeg;image/gif;image/bmp;image/jpx;image/jp2;image/vnd.ms-photo;image/jxr;image/x-portable-bitmap;image/x-portable-greymap;image/x-portable-pixmap;image/x-portable-arbitrarymap;image/png;
+Categories=Office;Viewer;Graphics
+Actions=View
+Version=1.0
+[Desktop Action View]
+Name=View with llpp
+Exec=llpp %f
diff --git a/app-text/llpp/llpp-30.ebuild b/app-text/llpp/llpp-30.ebuild
new file mode 100644
index 000000000000..9f5ec30d5069
--- /dev/null
+++ b/app-text/llpp/llpp-30.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+ocamlopt static"
+
+LIB_DEPEND=">=app-text/mupdf-1.12.0:0=[static-libs]
+ media-libs/openjpeg:2[static-libs]
+ media-libs/fontconfig:1.0[static-libs]
+ media-libs/freetype:2[static-libs]
+ media-libs/jbig2dec[static-libs]
+ sys-libs/zlib[static-libs]
+ virtual/jpeg:0[static-libs]
+ x11-libs/libX11[static-libs]"
+RDEPEND="x11-misc/xsel
+ !static? ( ${LIB_DEPEND//\[static-libs]} )"
+DEPEND="${RDEPEND}
+ app-text/asciidoc
+ virtual/pkgconfig
+ static? ( ${LIB_DEPEND}
+ app-arch/bzip2[static-libs]
+ media-libs/libXcm[static-libs]
+ x11-libs/libXau[static-libs]
+ x11-libs/libXdmcp[static-libs]
+ x11-libs/libXmu[static-libs] )
+ >=dev-lang/ocaml-4.02[ocamlopt?]
+ dev-ml/lablgl[glut,ocamlopt?]"
+
+RESTRICT="!ocamlopt? ( strip )"
+
+PATCHES=( "${FILESDIR}"/${P}-keysym.patch )
+
+src_prepare() {
+ default
+
+ # use custom makefile from archlinux with minor changes
+ cp "${FILESDIR}"/Makefile "${S}" || die
+
+ # re-add desktop file removed upstream
+ cp "${FILESDIR}"/llpp.desktop "${S}"/misc || die
+}
+
+src_compile() {
+ emake -j1 VERSION=${PV}
+}
+
+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
+}