commit:     045561eb7c94dc7d4acf061a421d541c3a3d3e58
Author:     Tim Harder <radhermit <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 22 07:41:29 2018 +0000
Commit:     Tim Harder <radhermit <AT> gentoo <DOT> org>
CommitDate: Sat Dec 22 07:49:04 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=045561eb

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 <AT> gentoo.org>

 app-text/llpp/Manifest                   |  1 +
 app-text/llpp/files/Makefile             | 90 ++++++++++++++++++++++++++++++++
 app-text/llpp/files/llpp-30-keysym.patch | 55 +++++++++++++++++++
 app-text/llpp/files/llpp.desktop         | 14 +++++
 app-text/llpp/llpp-30.ebuild             | 70 +++++++++++++++++++++++++
 5 files changed, 230 insertions(+)

diff --git a/app-text/llpp/Manifest b/app-text/llpp/Manifest
index bfbf28930ce..b3c280baf7e 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 00000000000..1fb99c9a211
--- /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 00000000000..b1527e1856f
--- /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 <eschwart...@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 00000000000..9d81141aede
--- /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 00000000000..9f5ec30d506
--- /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
+}

Reply via email to