parlay

yet another gentoo overlay
git clone https://git.parazyd.org/parlay
Log | Files | Refs | README

commit aa041f31c9bda11a1adbacd6ea4d9eaf0baf4ceb
parent 8bc5c1abd4b8848ef23aab40e03b7eb563cb2761
Author: parazyd <parazyd@dyne.org>
Date:   Mon, 10 Oct 2016 14:21:49 +0200

app-text/mupdf: Add 1.9a-r99 with musl-libc support.

Diffstat:
Aapp-text/mupdf/Manifest | 1+
Aapp-text/mupdf/files/mupdf-1.3-CFLAGS.patch | 11+++++++++++
Aapp-text/mupdf/files/mupdf-1.3-pkg-config.patch | 20++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.3-zoom-2.patch | 10++++++++++
Aapp-text/mupdf/files/mupdf-1.5-Makerules-openssl-curl.patch | 27+++++++++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.5-format-security-error.patch | 22++++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.5-old-debian-files.patch | 533+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.5-openjpeg-2.1.patch | 28++++++++++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.7a-system-mujs.patch | 11+++++++++++
Aapp-text/mupdf/files/mupdf-1.8-system-glfw.patch | 11+++++++++++
Aapp-text/mupdf/files/mupdf-1.9a-CFLAGS.patch | 11+++++++++++
Aapp-text/mupdf/files/mupdf-1.9a-CVE-2016-6265.patch | 34++++++++++++++++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.9a-CVE-2016-6525.patch | 24++++++++++++++++++++++++
Aapp-text/mupdf/files/mupdf-1.9a-debug-build.patch | 10++++++++++
Aapp-text/mupdf/files/mupdf-1.9a-no-thirdlibs.patch | 113+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aapp-text/mupdf/mupdf-1.9a-r99.ebuild | 147+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16 files changed, 1013 insertions(+), 0 deletions(-)

diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest @@ -0,0 +1 @@ +DIST mupdf-1.9a.tar.gz 13282205 SHA256 2a7d6d73cd1f6de8f70792dff9936b84c54c127feecd485675e0d0c17debc98d SHA512 aa268484371597f2082bff61052b3f80e30b8d41018bf0477b8975e4520849090b75e6c4be6be15d6af9cea6d9315deb28f82c6afc8b6f3c5bfc3498eca91140 WHIRLPOOL b552e68d0412e723e23c645516e87d695e00af0c88b14ab1ebc6b65e374f525fab6df2b5f81fe72fc8a61a8a9f616712ef0d215a07327745d33fb0238509eac9 diff --git a/app-text/mupdf/files/mupdf-1.3-CFLAGS.patch b/app-text/mupdf/files/mupdf-1.3-CFLAGS.patch @@ -0,0 +1,11 @@ +--- mupdf-1.3/Makerules ++++ mupdf-1.3/Makerules +@@ -6,7 +6,7 @@ + CFLAGS += -Wall + + ifeq "$(build)" "debug" +-CFLAGS += -pipe -g -DDEBUG ++CFLAGS += -DDEBUG + else ifeq "$(build)" "profile" + CFLAGS += -pipe -O2 -DNDEBUG -pg + LDFLAGS += -pg diff --git a/app-text/mupdf/files/mupdf-1.3-pkg-config.patch b/app-text/mupdf/files/mupdf-1.3-pkg-config.patch @@ -0,0 +1,20 @@ +no pkgconfig data for jbig2dec and jpeg +http://bugs.ghostscript.com/show_bug.cgi?id=694301 + +openjpeg-2 +http://bugs.ghostscript.com/show_bug.cgi?id=693518 + +--- mupdf-1.3/platform/debian/mupdf.pc ++++ mupdf-1.3/platform/debian/mupdf.pc +@@ -4,9 +4,9 @@ + includedir=${prefix}/include + + Name: mupdf + Description: Library for rendering PDF documents +-Requires.private: freetype2 ++Requires: freetype2 libopenjp2 libcrypto + Version: 0.5.0 + Libs: -L${libdir} -lmupdf +-Libs.private: -lopenjpeg -ljbig2dec -ljpeg -lz -lm ++Libs.private: -lmupdf-js-none + Cflags: -I${includedir} diff --git a/app-text/mupdf/files/mupdf-1.3-zoom-2.patch b/app-text/mupdf/files/mupdf-1.3-zoom-2.patch @@ -0,0 +1,10 @@ +--- mupdf-1.3/platform/x11/pdfapp.c ++++ mupdf-1.3/platform/x11/pdfapp.c +@@ -866,6 +867,7 @@ + break; + + case ' ': ++ case 'F': + panto = DONT_PAN; + if (app->numberlen > 0) + app->pageno += atoi(app->number); diff --git a/app-text/mupdf/files/mupdf-1.5-Makerules-openssl-curl.patch b/app-text/mupdf/files/mupdf-1.5-Makerules-openssl-curl.patch @@ -0,0 +1,27 @@ +--- mupdf-1.5/Makerules ++++ mupdf-1.5/Makerules +@@ -58,17 +58,23 @@ + + HAVE_X11 ?= yes + ++WANT_OPENSSL ?= yes ++ifeq "$(WANT_OPENSSL)" "yes" + ifeq "$(shell pkg-config --exists libcrypto && echo yes)" "yes" + SYS_OPENSSL_CFLAGS = -DHAVE_OPENSSL $(shell pkg-config --cflags libcrypto) + SYS_OPENSSL_LIBS = $(shell pkg-config --libs libcrypto) + endif ++endif + ++WANT_CURL ?= yes ++ifeq "$(WANT_CURL)" "yes" + ifeq "$(shell pkg-config --exists libcurl && echo yes)" "yes" + HAVE_CURL = yes + SYS_CURL_CFLAGS = $(shell pkg-config --cflags libcurl) + SYS_CURL_LIBS = $(shell pkg-config --libs libcurl) +-endif + SYS_CURL_DEPS = -lpthread -lrt ++endif ++endif + + SYS_X11_CFLAGS = $(shell pkg-config --cflags x11 xext) + SYS_X11_LIBS = $(shell pkg-config --libs x11 xext) diff --git a/app-text/mupdf/files/mupdf-1.5-format-security-error.patch b/app-text/mupdf/files/mupdf-1.5-format-security-error.patch @@ -0,0 +1,22 @@ +From: =?utf-8?q?=22Kan-Ru_Chen_=28=E9=99=B3=E4=BE=83=E5=A6=82=29=22?= + <koster@debian.org> +Date: Sat, 20 Sep 2014 13:12:16 +0800 +Subject: Fix -Werror=format-security error + +--- + source/pdf/pdf-op-run.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/pdf/pdf-op-run.c b/source/pdf/pdf-op-run.c +index 2bea94b..da881b2 100644 +--- a/source/pdf/pdf-op-run.c ++++ b/source/pdf/pdf-op-run.c +@@ -1729,7 +1729,7 @@ run_xobject(pdf_csi *csi, void *state, pdf_obj *resources, pdf_xobject *xobj, co + + /* Rethrow postponed errors */ + if (errmess[0]) +- fz_throw(ctx, FZ_ERROR_GENERIC, errmess); ++ fz_throw(ctx, FZ_ERROR_GENERIC, "%s", errmess); + } + + static void pdf_run_BDC(pdf_csi *csi, void *state) diff --git a/app-text/mupdf/files/mupdf-1.5-old-debian-files.patch b/app-text/mupdf/files/mupdf-1.5-old-debian-files.patch @@ -0,0 +1,533 @@ +--- /dev/null ++++ platform/debian/mupdf.desktop +@@ -0,0 +1,15 @@ ++[Desktop Entry] ++Name=MuPDF ++GenericName=PDF file viewer ++Exec=mupdf %f ++TryExec=mupdf ++Icon=mupdf ++Terminal=false ++Type=Application ++MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;image/jpeg;image/pjpeg;image/png;image/tiff;image/x-tiff ++Categories=Viewer;Graphics; ++Actions=View ++ ++[Desktop Action View] ++Name=View with mupdf ++Exec=mupdf %f +--- /dev/null ++++ platform/debian/mupdf.pc +@@ -0,0 +1,12 @@ ++prefix=/usr ++exec_prefix=${prefix} ++libdir=${exec_prefix}/lib ++includedir=${prefix}/include ++ ++Name: mupdf ++Description: Library for rendering PDF documents ++Requires.private: freetype2 ++Version: 0.5.0 ++Libs: -L${libdir} -lmupdf ++Libs.private: -lopenjpeg -ljbig2dec -ljpeg -lz -lm ++Cflags: -I${includedir} +--- /dev/null ++++ platform/debian/mupdf.xpm +@@ -0,0 +1,497 @@ ++/* XPM */ ++static char *mupdf[] = { ++/* width height ncolors chars_per_pixel */ ++"48 48 442 2", ++/* colors */ ++" c #000000", ++" . c #2E4558", ++" X c #252121", ++" o c #AFAFAF", ++" O c #28313B", ++" + c #231F1F", ++" @ c #686666", ++" # c #98BDD7", ++" $ c #201B1C", ++" % c #7CABCC", ++" & c #4487B6", ++" * c #DFDEDE", ++" = c #4285B4", ++" - c #615E5F", ++" ; c #605E5E", ++" : c #23262C", ++" > c #D9D8D8", ++" , c #F7FAFC", ++" < c #D7D6D6", ++" 1 c #BFD6E6", ++" 2 c #6BA0C5", ++" 3 c #232122", ++" 4 c #555253", ++" 5 c #CDCCCC", ++" 6 c #E7EFF6", ++" 7 c #4786B2", ++" 8 c #CADDEA", ++" 9 c #4085B5", ++" 0 c #AECBDF", ++" q c #CBCACA", ++" w c #92B9D4", ++" e c #365F7D", ++" r c #5A95BE", ++" t c #3E83B3", ++" y c #304B60", ++" u c #C7C6C6", ++" i c #4D8EBB", ++" p c #F1F6F9", ++" a c #C1C0C0", ++" s c #454243", ++" d c #669CC3", ++" f c #81AECD", ++" g c #7A7777", ++" h c #434041", ++" j c #3E779F", ++" k c #272E36", ++" l c #413E3F", ++" z c #3F3C3D", ++" x c #5895BF", ++" c c #3D3A3B", ++" v c #C6DBE9", ++" b c #B8B6B7", ++" n c #4282B0", ++" m c #FDFDFE", ++" M c #B7B6B6", ++" N c #8DB5D2", ++" B c #242529", ++" V c #B3B2B2", ++" C c #222327", ++" Z c #B0AEAF", ++" A c #EDF4F8", ++" S c #686565", ++" D c #488AB9", ++" F c #9ABED8", ++" G c #7EACCD", ++" H c #ECF2F7", ++" J c #211C1C", ++" K c #666363", ++" L c #F1F1F2", ++" P c #ABAAAA", ++" I c #4588B6", ++" U c #A9A8A8", ++" Y c #2D2A2B", ++" T c #A7A6A6", ++" R c #615D5E", ++" E c #2B2829", ++" W c #8DB7D5", ++" Q c #F9FBFD", ++" ! c #DDE9F2", ++" ~ c #F8FBFC", ++" ^ c #DCE9F1", ++" / c #A5C5DC", ++" ( c #89B3D1", ++" ) c #5C5959", ++" _ c #A4C5DB", ++" ` c #335A76", ++" ' c #518FBB", ++" ] c #E6E7E7", ++" [ c #5A5757", ++" { c #232021", ++" } c #33536C", ++" | c #98BED9", ++". c #E0E1E1", ++".. c #7CACCE", ++".X c #4488B8", ++".o c #2D3F4F", ++".O c #999898", ++".+ c #4388B7", ++".@ c #5E98C1", ++".# c #CDCDCB", ++".$ c #524F4F", ++".% c #B0CCE0", ++".& c #979696", ++".* c #78A8CA", ++".= c #5C96BF", ++".- c #969495", ++".; c #4084B4", ++".: c #252930", ++".> c #949293", ++"., c #929091", ++".< c #417FAB", ++".1 c #4F8FBC", ++".2 c #F3F7FA", ++".3 c #D3D3D4", ++".4 c #D7E5EF", ++".5 c #222023", ++".6 c #9FC1D9", ++".7 c #679DC3", ++".8 c #37678A", ++".9 c #4B8BB8", ++".0 c #3E769E", ++".q c #3C749C", ++".w c #403D3D", ++".e c #92BAD6", ++".r c #C8DCEA", ++".t c #FEFEFE", ++".y c #3D393A", ++".u c #3B3738", ++".i c #355974", ++".p c #353132", ++".a c #7A7879", ++".s c #498BB9", ++".d c #9BBFD8", ++".f c #4E8AB4", ++".g c #787677", ++".h c #F2F2F2", ++".j c #F0F0F0", ++".k c #2F2B2C", ++".l c #EEEEEE", ++".z c #727071", ++".x c #26282D", ++".c c #ECECEC", ++".v c #2B2728", ++".b c #FAFCFD", ++".n c #EAEAEA", ++".m c #DEEAF2", ++".M c #E9EAE9", ++".N c #C2D8E7", ++".B c #6E6C6D", ++".V c #5390BC", ++".C c #E8E8E8", ++".Z c #6EA2C6", ++".A c #272324", ++".S c #E7E6E7", ++".D c #E6E6E6", ++".F c #252122", ++".G c #29333D", ++".H c #E4E4E4", ++".J c #3F7AA5", ++".K c #231F20", ++".L c #E2E2E2", ++".P c #211D1E", ++".I c #E0E0E0", ++".U c #EAF1F7", ++".Y c #6099C2", ++".T c #1F1B1C", ++".R c #E9F1F6", ++".E c #CDDFEB", ++".W c #4387B6", ++".Q c #96BBD6", ++".! c #B1CDE0", ++".~ c #DEDEDE", ++".^ c #79A9CA", ++"./ c #4285B5", ++".( c #272A31", ++".) c #5D97BF", ++"._ c #4185B4", ++".` c #DCDCDC", ++".' c #959393", ++".] c #DADADA", ++".[ c #314B5F", ++".{ c #D8D8D8", ++".} c #D7D8D7", ++".| c #D6D6D6", ++"X c #F5F8FB", ++"X. c #D4D4D4", ++"XX c #6AA0C5", ++"Xo c #BDD4E5", ++"XO c #3A6A8C", ++"X+ c #232123", ++"X@ c #D3D4D3", ++"X# c #D2D2D2", ++"X$ c #D0D0D0", ++"X% c #CECECE", ++"X& c #CCCCCC", ++"X* c #CADDEB", ++"X= c #37617F", ++"X- c #242A31", ++"X; c #CACACA", ++"X: c #C8DBE9", ++"X> c #90B7D3", ++"X, c #817F7F", ++"X< c #3F7EAB", ++"X1 c #548FB9", ++"X2 c #355873", ++"X3 c #7D7B7B", ++"X4 c #C2C2C2", ++"X5 c #4B8CBA", ++"X6 c #C0C0C0", ++"X7 c #D4E4EE", ++"X8 c #81AECE", ++"X9 c #659CC3", ++"X0 c #787576", ++"Xq c #4788B6", ++"Xw c #252C35", ++"Xe c #757373", ++"Xr c #BABABA", ++"Xt c #FCFDFE", ++"Xy c #B6B6B6", ++"Xu c #C4D9E8", ++"Xi c #706D6E", ++"Xp c #8CB5D2", ++"Xa c #70A3C7", ++"Xs c #8BB5D1", ++"Xd c #5491BC", ++"Xf c #5391BB", ++"Xg c #282424", ++"Xh c #272223", ++"Xj c #6C696A", ++"Xk c #2F4659", ++"Xl c #6B6969", ++"Xz c #407BA5", ++"Xx c #6A6768", ++"Xc c #E4E3E3", ++"Xv c #3E79A3", ++"Xb c #231E1F", ++"Xn c #221E1E", ++"Xm c #E2E1E1", ++"XM c #211C1D", ++"XN c #EBF2F7", ++"XB c #201C1C", ++"XV c #CFE0EC", ++"XC c #4588B7", ++"XZ c #B3CEE1", ++"XA c #366384", ++"XS c #5F98C0", ++"XD c #4386B5", ++"XF c #DEDDDD", ++"XG c #2B3D4B", ++"XH c #615F5F", ++"XJ c #5F5D5D", ++"XK c #5E5B5C", ++"XL c #DCE9F2", ++"XP c #407DA8", ++"XI c #86B1CF", ++"XU c #D4D3D3", ++"XY c #3A698B", ++"XT c #3E7BA6", ++"XR c #232022", ++"XE c #545152", ++"XW c #999899", ++"XQ c #79AACC", ++"X! c #524F50", ++"X~ c #CCCDCB", ++"X^ c #3D749B", ++"X/ c #93BAD5", ++"X( c #77A8CA", ++"X) c #37607E", ++"X_ c #5B96BF", ++"X` c #3F84B4", ++"X' c #CAC9C9", ++"X] c #C6C5C5", ++"X[ c #3F7DAA", ++"X{ c #F2F7FA", ++"X} c #C2C1C1", ++"X| c #212023", ++"o c #9EC1D9", ++"o. c #444142", ++"oX c #3F78A0", ++"oo c #90B8D5", ++"oO c #FEFEFF", ++"o+ c #E2ECF4", ++"o@ c #2B3A47", ++"o# c #25262A", ++"o$ c #B1AFB0", ++"o% c #28313A", ++"o& c #221D1D", ++"o* c #262F38", ++"o= c #629BC2", ++"o- c #302D2E", ++"o; c #6199C1", ++"o: c #201B1B", ++"o> c #4587B6", ++"o, c #F0F0F1", ++"o< c #2D3E4C", ++"o1 c #2E2B2C", ++"o2 c #4385B4", ++"o3 c #A8A7A7", ++"o4 c #A7A5A6", ++"o5 c #3D7197", ++"o6 c #4183B2", ++"o7 c #4083B1", ++"o8 c #A5A3A4", ++"o9 c #3B6F95", ++"o0 c #5290BC", ++"oq c #A4C4DB", ++"ow c #E9F1F7", ++"oe c #4387B7", ++"or c #E7EFF5", ++"ot c #CBDDEA", ++"oy c #4185B5", ++"ou c #5B95BE", ++"oi c #3F83B3", ++"op c #939192", ++"oa c #929191", ++"os c #2B3743", ++"od c #4C4849", ++"of c #2A3742", ++"og c #F4F8FB", ++"oh c #D8E6F0", ++"oj c #4C8CB9", ++"ok c #211F22", ++"ol c #CFD0D0", ++"oz c #444041", ++"ox c #262C34", ++"oc c #413E3E", ++"ov c #403C3D", ++"ob c #3B739B", ++"on c #858384", ++"om c #FFFFFF", ++"oM c #E3EDF4", ++"oN c #5995BF", ++"oB c #3E3A3B", ++"oV c #C7DBE9", ++"oC c #2F4B61", ++"oZ c #5793BD", ++"oA c #3C3839", ++"oS c #2A3945", ++"oD c #7E7D7D", ++"oF c #345873", ++"oG c #363233", ++"oH c #7B797A", ++"oJ c #EFF4F9", ++"oK c #EEF4F8", ++"oL c #F3F3F3", ++"oP c #9ABED7", ++"oI c #4788B7", ++"oU c #629AC1", ++"oY c #ACAAAA", ++"oT c #F1F1F1", ++"oR c #EFEFEF", ++"oE c #737172", ++"oW c #EDEDED", ++"oQ c #A9C9DF", ++"o! c #FBFDFE", ++"o~ c #EBEBEB", ++"o^ c #DFEBF3", ++"o/ c #4581AB", ++"o( c #6F6D6E", ++"o) c #EAE9EA", ++"o_ c #E9E9E9", ++"o` c #C1D7E6", ++"o' c #E7E7E7", ++"o] c #E6E7E6", ++"o[ c #E5E5E5", ++"o{ c #3F7BA5", ++"o} c #242021", ++"o| c #E3E3E3", ++"O c #3E79A4", ++"O. c #221E1F", ++"OX c #26303A", ++"Oo c #9C9A9A", ++"OO c #E1E1E1", ++"O+ c #201C1D", ++"O@ c #4488B7", ++"O# c #DFDFDF", ++"O$ c #7BAACC", ++"O% c #356384", ++"O& c #1E1A1B", ++"O* c #4386B6", ++"O= c #4286B5", ++"O- c #95BAD5", ++"O; c #DDDDDD", ++"O: c #1C1819", ++"O> c #DBDBDB", ++"O, c #D9D9D9", ++"O< c #D7D7D7", ++"O1 c #417FAA", ++"O2 c #DAE7F1", ++"O3 c #F5F9FB", ++"O4 c #D5D5D5", ++"O5 c #242224", ++"O6 c #D4D3D4", ++"O7 c #85B1CF", ++"O8 c #D3D3D3", ++"O9 c #699FC4", ++"O0 c #4D8DB9", ++"Oq c #222022", ++"Ow c #34556F", ++"Oe c #D1D1D1", ++"Or c #D0CFD0", ++"Ot c #8A8888", ++"Oy c #CFCFCF", ++"Ou c #CDCDCD", ++"Oi c #CCCDCC", ++"Op c #CADEEB", ++"Oa c #E5EEF5", ++"Os c #C9DCEA", ++"Od c #ADCADF", ++"Of c #C8DCE9", ++"Og c #91B8D4", ++"Oh c #5994BE", ++"Oj c #3D82B3", ++"Ok c #5894BD", ++"Ol c #3C82B2", ++"Oz c #4181AD", ++"Ox c #3B3737", ++"Oc c #C5C5C5", ++"Ov c #293643", ++"Ob c #3E7DAA", ++"On c #C1C1C1", ++"Om c #353131", ++"OM c #D4E3EE", ++"ON c #B8D1E3", ++"OB c #BFBFBF", ++"OV c #9CBFD8", ++"OC c #80ADCD", ++"OZ c #649BC2", ++"OA c #4889B7", ++"OS c #BDBDBD", ++"OD c #2E292A", ++"OF c #4283B1", ++"OG c #B7B7B7", ++"OH c #4183B0", ++"OJ c #5794BF", ++"OK c #A7C6DC", ++"OL c #365B77", ++"OP c #8BB4D1", ++"OI c #282324", ++"OU c #272323", ++"OY c #6C6A6A", ++"OT c None", ++/* pixels */ ++" oToToToT L.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h.h LoToToToT ", ++"o,.joToToToToToToToToToToToToToToToToToToToT.h.h.h.hoToToToToToToToToToToToToToToToToToToToT.j.j", ++".j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.joToLoLoR.D.~ > >.~.DoRoLoLoT.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j", ++"oRoRoRoRoRoRoRoRoRoRoRoRoRoRoRoT.hXcOBoaXjX!oz c cozX!XjoaOBXc.hoToRoRoRoRoRoRoRoRoRoRoRoRoRoRoR", ++".l.l.l.l.l.l.l.l.l.l.l.l.loR.j <.'X! Y.P.To: $ J J $o:.T.P YX!.' <.joR.l.l.l.l.l.l.l.l.l.l.l.l.l", ++".l.l.l.l.l.l.l.l.l.l.l.l.jXm.&oz + $o& 3.x OoSXGXGoS O.x 3o& $ +oz.&Xm.j.l.l.l.l.l.l.l.l.l.l.l.l", ++"oWoWoWoWoWoWoWoWoWoWoWoR uXK X $XRo% yXA.qo/.fX1X1.fo/.qXA yo%XR $ XXK uoRoWoWoWoWoWoWoWoWoWoWoW", ++".c.c.c.c.c.c.c.c.c.coW Z z $ {os eXTo0..oQX*XLoMoMXLOpoQ..o0XT eos { $ z ZoW.c.c.c.c.c.c.c.c.c.c", ++"o~o~o~o~o~o~o~o~o~.co3.p $.(X2X[OJ FOM !Of 0.d wOg.d 0Os.mOM FOJObX2.( $.po3.co~o~o~o~o~o~o~o~o~", ++".n.n.n.n.n.n.n.noW VoGXMoso9XC G.N.!.^XfXD tOjOlOlOj tXDXd.^.% 1O$O@o9osXMoG VoW.n.n.n.n.n.n.n.n", ++".n.n.n.n.n.n.n.c qo.XBo<XvX5 No oUO0 fOPXpXpXpXpXpXpXpXpOP ( NOdo^OV.sXvo<XBo. q.c.n.n.n.n.n.n.n", ++"o_o_o_o_o_o_.M.L @ $o@o{.s.^.Z & t.* ~omomomomomomomomomomomom.toO.b _ D.Jo@ $ @.Lo)o_o_o_o_o_o_", ++".C.C.C.C.C.Co~o8Xg kX^oeoZXf._XDXD 0omomomomomomomomomomomomomomomom.b #XCX^ kXgo8o~.C.C.C.C.C.C", ++"o'o'o'o'o'.CO>.$okX=oeXDo>O=XD./Xd.momomomomomomomomomomomomomom pX7.NOK 'oeX=ok.$O>.Co'o'o'o'o'", ++" ]o'o'o'.So_ TXh.o nXDXDXDXDXD.; %.bomomomomomomomomomomomomoOo`O9ojo>XDXDXD n.oXh To_ ]o'o'o'.S", ++".D.D.D.D.Do| SX|XY.+XDXDXDXDXDXDXZomomomomomomomomomomomomom.4Xd.;O=XDXDXDXD.+XYX| So|.D.D.D.D.D", ++"o[o[o[o[.D 5OxOvOzO*XDXDXDXD =oZo+omomomomomomomomomomomomomoP.;XDXDXDXDXDXDO*OzOvOx 5o]o[o[o[o[", ++".H.H.H.Ho' POU }oeXDXDXDXDXD.;X8o!omomomomomomomomomomomom.bX(.;XDXDXDXDXDXDXDoe }OU Po'.H.H.H.H", ++"o|o|o|o|.DOt.5XO.+XDXDXDXDXD &ONomomomomomomomomomomomomom.2.7._XDXDXDXDXDXDXD.+XO.5Ot.Do|o|o|o|", ++"o|o|o|o|o|Xi : j.WXDXDXDXD = rOaomomomomomomomomomomomomom AXS._XDXDXDXDXDXDXD.W j :Xio|o|o|o|o|", ++".L.L.L.L.I RXwXP.WXDXDXDXD.;XI momomomomomomomomomomomomomXN.=._XDXDXDXDXDXDXD.WXPXw R.I.L.L.L.L", ++"OOOOOOOOO; [OX.<O*XDXDXDXD IXoomomomomomomomomomomomomomom.UX_._XDXDXDXDXDXDXDO*.<OX [O;OOOOOOOO", ++".I.I.I.IO; )o*O1O*XDXDXD._.).Romomomomomog ~omomomomomomom.UX_._XDXDXDXDXDXDXDO*O1o* )O;.I.I.I.I", ++"O#O#O#O#O# KX-Xz.WXDXDXD.;XsoOomomomomom vowomomomomomomom.UX_._XDXDXDXDXDXDXD.WXzX- KO#O#O#O#O#", ++"O#O#O#O#. g Co5oeXDXDXDXq.Nomomomomom ,X>oromomomomomomom.UX_._XDXDXDXDXDXDXDoeo5 C gOOO#O#O#O#", ++".~.~.~.~OO.- {X).XXDXD._o; HomomomomomohO9.Romomomomomomom.UX_._XDXDXDXDXDXDXD.XX) {.-OO.~.~.~.~", ++"O;O;O;O;O#XyOD .o2XDXD.;Ogomomomomomom / r.Uomomomomomomom.UX_._XDXDXDXDXDXDXDo2 .ODXyO#O;O;O;O;", ++".`.`.`.`O;Oeod.:oX.WXDOAoVomomomomomO3XaOk.Uomomomomomomom.UX_._XDXDXDXDXDXD.WoX.:odOeO;.`.`.`.`", ++"O>O>O>O>O>O;X,.POw.W._ doJomomomomomOMoj r.Uomomomomomomom.UX_._XDXDXDXDXDXD.WOw.PX,O;O>O>O>O>O>", ++"O>O>O>O>O>O;XrOmox.0 9X8Xtomomomomom.6X`ou.Uomomomomomomom.UX_._XDXDXDXDXDoe.0oxOmXrO;O>O>O>O>O>", ++".].].].].].]O,.z JXkOH.VotomomomomX{ 2oiou.Uomomomomomomom.UX_._XDO= &O0 &OFXk J.zO,.].].].].].]", ++"O,O,O,O,O,O,O>OS.yOq.i._OZ ^omomom.E.9._ou.Uomomomomomomom.UX_._._.9.ZXdO=.iOq.yOSO>O,O,O,O,O,O,", ++".{.{.{.{.{.{.{.].,.A BX)oyXXO2omom.Q.;._ou.Uomomomomomomom.UOh._ dO-X9O=X) BOI.,.].{.{.{.{.{.{.{", ++"O<O<O<O<O<O<O<.{O8o(Xno#OLo7.YXuX O7oIoiOk.Romomomomomomom HOCoqOdo=o6OLo#Xno(O8.{O<O<O<O<O<O<O<", ++"O<O<O<O<O<O<O<O<.{X'XJ.PO5.[O iOgXVX:OVXsoKomomomomomomom.bOMX/.1O .[O5.PXJX'.{O<O<O<O<O<O<O<O<", ++".|.|.|.|.|.|.|.|.|.}X]XH.KXn.G eX<oN.e 8 6 Qomomomom.bXN.roo xX< e.GXn.KXHX].}.|.|.|.|.|.|.|.|.|", ++"O4O4O4O4O4O4O4O4O4O4O<X;Xe.vXBX+ofoFob 7.@XQ W | | WXQ.@ 7oboFofX+XB.vXeX;O<O4O4O4O4O4O4O4O4O4O4", ++"X.X.X.X.X.X.X.X.X.X.X.O4X#XW sO. J.K.xo@oC `O%.8.8O% `oCo@.x.K JO. sXWX#O4X.X.X.X.X.X.X.X.X.X.X.", ++"O8O8O8O6O8XUXUO8O8XUXUO8X..|OnX,oc.F $ Jo&XbXRO5O5XRXbo& J $.FocX,On.|X.O8XUX@X@O8.3O8O8O8O8O8X@", ++"O8O8O8O8O8O8O8O8O8O8O8O8O8O8X.X. aop ; c Eo}.PXMXM.Po} E c ;op aX.X.O8O8O8O8O8O8O8O8O8O8O8O8O8O8", ++"X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#O8O4X$X6 P.-onX3X3on.- PX6X$O4O8X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#X#", ++"OeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeO8X4OGOnOcOcX} MOSX#OeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOeOe", ++"X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$O8ono-oAov.w.u.koEX#X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$X$", ++"X$X$X$X$X$X$X$X$X$olX$X$X$X$X$X$X$X$X$X#oD l.>o1O+.P.T.BOeX$X$X$X$X$X$X$OrOrX$X$X$X$X$X$X$X$X$X$", ++"OyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyX#oHXEXFoBO&.TO:OYX$OyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOyOy", ++"X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%Oy POo.CX0 -Xx.g TOyX%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%X%", ++"X%X%OuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuX% oo$.h boYo4.O UX%OuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuOuX%X%", ++" Ou.#OuOuOiX&X&X&X&X&X&X&X&X&X&X&X&X&Oy.a 4 * h.K.KO&XlX%X&X&X&X&X&X&X&X&X&X&X&X&X&X&OuOuX~Ou " ++}; diff --git a/app-text/mupdf/files/mupdf-1.5-openjpeg-2.1.patch b/app-text/mupdf/files/mupdf-1.5-openjpeg-2.1.patch @@ -0,0 +1,28 @@ +--- mupdf-1.9a-source/source/fitz/load-jpx.c.orig ++++ mupdf-1.9a-source/source/fitz/load-jpx.c +@@ -1,15 +1,7 @@ + #include "mupdf/fitz.h" + +-/* Without the definition of OPJ_STATIC, compilation fails on windows +- * due to the use of __stdcall. We believe it is required on some +- * linux toolchains too. */ +-#define OPJ_STATIC +-#ifndef _MSC_VER +-#define OPJ_HAVE_STDINT_H +-#endif ++#include <openjpeg-2.1/openjpeg.h> + +-#include <openjpeg.h> +- + static void fz_opj_error_callback(const char *msg, void *client_data) + { + fz_context *ctx = (fz_context *)client_data; +@@ -117,7 +109,7 @@ + opj_stream_set_read_function(stream, fz_opj_stream_read); + opj_stream_set_skip_function(stream, fz_opj_stream_skip); + opj_stream_set_seek_function(stream, fz_opj_stream_seek); +- opj_stream_set_user_data(stream, &sb); ++ opj_stream_set_user_data(stream, &sb, NULL); + /* Set the length to avoid an assert */ + opj_stream_set_user_data_length(stream, size); + diff --git a/app-text/mupdf/files/mupdf-1.7a-system-mujs.patch b/app-text/mupdf/files/mupdf-1.7a-system-mujs.patch @@ -0,0 +1,11 @@ +--- mupdf-1.7a/Makefile ++++ mupdf-1.7a/Makefile +@@ -98,7 +98,7 @@ + ifeq "$(HAVE_MUJS)" "yes" + PDF_OBJ += $(OUT)/pdf/js/pdf-js.o + PDF_OBJ += $(OUT)/pdf/js/pdf-jsimp-mu.o +-THIRD_LIBS += $(MUJS_LIB) ++THIRD_LIBS += + LIBS += $(MUJS_LIBS) + CFLAGS += $(MUJS_CFLAGS) + else ifeq "$(HAVE_JSCORE)" "yes" diff --git a/app-text/mupdf/files/mupdf-1.8-system-glfw.patch b/app-text/mupdf/files/mupdf-1.8-system-glfw.patch @@ -0,0 +1,11 @@ +--- mupdf-1.8/Makerules ++++ mupdf-1.8/Makerules +@@ -119,6 +119,8 @@ + SYS_JBIG2DEC_LIBS = -ljbig2dec + SYS_JPEG_LIBS = -ljpeg + SYS_ZLIB_LIBS = -lz ++SYS_GLFW_CFLAGS = $(shell pkg-config --cflags glfw3 gl) ++SYS_GLFW_LIBS = $(shell pkg-config --libs glfw3 gl) + + endif + diff --git a/app-text/mupdf/files/mupdf-1.9a-CFLAGS.patch b/app-text/mupdf/files/mupdf-1.9a-CFLAGS.patch @@ -0,0 +1,11 @@ +--- mupdf-1.9a/Makerules ++++ mupdf-1.9a/Makerules +@@ -10,7 +10,7 @@ + CFLAGS += -Wall + + ifeq "$(build)" "debug" +-CFLAGS += -pipe -g -DDEBUG ++CFLAGS += -DDEBUG + LDFLAGS += -g + else ifeq "$(build)" "release" + CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer diff --git a/app-text/mupdf/files/mupdf-1.9a-CVE-2016-6265.patch b/app-text/mupdf/files/mupdf-1.9a-CVE-2016-6265.patch @@ -0,0 +1,34 @@ +From: Robin Watts <robin.watts@artifex.com> +Date: Thu, 21 Jul 2016 14:39:11 +0000 (+0100) +Subject: Bug 696941: Fix use after free. +X-Git-Url: http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=fa1936405b6a84e5c9bb440912c23d532772f958;hp=e98091d56afdf1cf6c9a017fa0bd35dd0b8968f0 + +Bug 696941: Fix use after free. + +The file is HORRIBLY corrupt, and triggers Sophos to think it's +PDF malware (which it isn't). It does however trigger a use +after free, worked around here. +--- + +diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c +index 576c315..3222599 100644 +--- a/source/pdf/pdf-xref.c ++++ b/source/pdf/pdf-xref.c +@@ -1184,8 +1184,14 @@ pdf_load_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf) + fz_throw(ctx, FZ_ERROR_GENERIC, "object offset out of range: %d (%d 0 R)", (int)entry->ofs, i); + } + if (entry->type == 'o') +- if (entry->ofs <= 0 || entry->ofs >= xref_len || pdf_get_xref_entry(ctx, doc, entry->ofs)->type != 'n') +- fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)entry->ofs, i); ++ { ++ /* Read this into a local variable here, because pdf_get_xref_entry ++ * may solidify the xref, hence invalidating "entry", meaning we ++ * need a stashed value for the throw. */ ++ fz_off_t ofs = entry->ofs; ++ if (ofs <= 0 || ofs >= xref_len || pdf_get_xref_entry(ctx, doc, ofs)->type != 'n') ++ fz_throw(ctx, FZ_ERROR_GENERIC, "invalid reference to an objstm that does not exist: %d (%d 0 R)", (int)ofs, i); ++ } + } + } + + diff --git a/app-text/mupdf/files/mupdf-1.9a-CVE-2016-6525.patch b/app-text/mupdf/files/mupdf-1.9a-CVE-2016-6525.patch @@ -0,0 +1,24 @@ +From: Sebastian Rasmussen <sebras@gmail.com> +Date: Wed, 27 Jul 2016 14:19:39 +0000 (+0800) +Subject: Make sure that number of colors in mesh params is valid. +X-Git-Url: http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e;hp=fa1936405b6a84e5c9bb440912c23d532772f958 + +Make sure that number of colors in mesh params is valid. + +Fixes bug 696954. +--- + +diff --git a/source/pdf/pdf-shade.c b/source/pdf/pdf-shade.c +index 7815b3c..6e25efa 100644 +--- a/source/pdf/pdf-shade.c ++++ b/source/pdf/pdf-shade.c +@@ -206,7 +206,7 @@ pdf_load_mesh_params(fz_context *ctx, pdf_document *doc, fz_shade *shade, pdf_ob + obj = pdf_dict_get(ctx, dict, PDF_NAME_Decode); + if (pdf_array_len(ctx, obj) >= 6) + { +- n = (pdf_array_len(ctx, obj) - 4) / 2; ++ n = fz_mini(FZ_MAX_COLORS, (pdf_array_len(ctx, obj) - 4) / 2); + shade->u.m.x0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 0)); + shade->u.m.x1 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 1)); + shade->u.m.y0 = pdf_to_real(ctx, pdf_array_get(ctx, obj, 2)); + diff --git a/app-text/mupdf/files/mupdf-1.9a-debug-build.patch b/app-text/mupdf/files/mupdf-1.9a-debug-build.patch @@ -0,0 +1,10 @@ +--- mupdf-1.9a/Makefile ++++ mupdf-1.9a/Makefile +@@ -1,6 +1,6 @@ + # GNU Makefile + +-build ?= release ++build ?= debug + + OUT := build/$(build) + GEN := generated diff --git a/app-text/mupdf/files/mupdf-1.9a-no-thirdlibs.patch b/app-text/mupdf/files/mupdf-1.9a-no-thirdlibs.patch @@ -0,0 +1,113 @@ +--- mupdf-1.9a/Makefile ++++ mupdf-1.9a/Makefile +@@ -142,15 +141,12 @@ + # --- Library --- + + MUPDF_LIB = $(OUT)/libmupdf.a +-THIRD_LIB = $(OUT)/libmupdfthird.a + + MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) +-THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) + + $(MUPDF_LIB) : $(MUPDF_OBJ) +-$(THIRD_LIB) : $(THIRD_OBJ) + +-INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) ++INSTALL_LIBS := $(MUPDF_LIB) + + # --- Rules --- + +@@ -251,19 +247,19 @@ + MUTOOL := $(addprefix $(OUT)/, mutool) + MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.o mudraw.o murun.o pdfclean.o pdfcreate.o pdfextract.o pdfinfo.o pdfposter.o pdfshow.o pdfpages.o pdfmerge.o) + $(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) +-$(MUTOOL) : $(MUPDF_LIB) $(THIRD_LIB) ++$(MUTOOL) : $(MUPDF_LIB) + $(MUTOOL) : $(MUTOOL_OBJ) + $(LINK_CMD) + + MJSGEN := $(OUT)/mjsgen +-$(MJSGEN) : $(MUPDF_LIB) $(THIRD_LIB) ++$(MJSGEN) : $(MUPDF_LIB) + $(MJSGEN) : $(addprefix $(OUT)/tools/, mjsgen.o) + $(LINK_CMD) + + MUJSTEST := $(OUT)/mujstest + MUJSTEST_OBJ := $(addprefix $(OUT)/platform/x11/, jstest_main.o pdfapp.o) + $(MUJSTEST_OBJ) : $(FITZ_HDR) $(PDF_HDR) +-$(MUJSTEST) : $(MUPDF_LIB) $(THIRD_LIB) ++$(MUJSTEST) : $(MUPDF_LIB) + $(MUJSTEST) : $(MUJSTEST_OBJ) + $(LINK_CMD) + +@@ -271,7 +267,7 @@ + MUVIEW_X11 := $(OUT)/mupdf-x11 + MUVIEW_X11_OBJ := $(addprefix $(OUT)/platform/x11/, x11_main.o x11_image.o pdfapp.o) + $(MUVIEW_X11_OBJ) : $(FITZ_HDR) $(PDF_HDR) +-$(MUVIEW_X11) : $(MUPDF_LIB) $(THIRD_LIB) ++$(MUVIEW_X11) : $(MUPDF_LIB) + $(MUVIEW_X11) : $(MUVIEW_X11_OBJ) + $(LINK_CMD) $(X11_LIBS) + +@@ -279,7 +275,7 @@ + MUVIEW_GLFW := $(OUT)/mupdf-gl + MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) + $(MUVIEW_GLFW_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h +-$(MUVIEW_GLFW) : $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) ++$(MUVIEW_GLFW) : $(MUPDF_LIB) $(GLFW_LIB) + $(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) + $(LINK_CMD) $(GLFW_LIBS) + endif +@@ -288,7 +284,7 @@ + MUVIEW_X11_CURL := $(OUT)/mupdf-x11-curl + MUVIEW_X11_CURL_OBJ := $(addprefix $(OUT)/platform/x11/curl/, x11_main.o x11_image.o pdfapp.o curl_stream.o) + $(MUVIEW_X11_CURL_OBJ) : $(FITZ_HDR) $(PDF_HDR) +-$(MUVIEW_X11_CURL) : $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) ++$(MUVIEW_X11_CURL) : $(MUPDF_LIB) $(CURL_LIB) + $(MUVIEW_X11_CURL) : $(MUVIEW_X11_CURL_OBJ) + $(LINK_CMD) $(X11_LIBS) $(CURL_LIBS) $(SYS_CURL_DEPS) + endif +@@ -298,7 +294,7 @@ + MUVIEW_WIN32 := $(OUT)/mupdf + MUVIEW_WIN32_OBJ := $(addprefix $(OUT)/platform/x11/, win_main.o pdfapp.o win_res.o) + $(MUVIEW_WIN32_OBJ) : $(FITZ_HDR) $(PDF_HDR) +-$(MUVIEW_WIN32) : $(MUPDF_LIB) $(THIRD_LIB) ++$(MUVIEW_WIN32) : $(MUPDF_LIB) + $(MUVIEW_WIN32) : $(MUVIEW_WIN32_OBJ) + $(LINK_CMD) $(WIN32_LIBS) + endif +@@ -312,9 +308,9 @@ + + examples: $(OUT)/example $(OUT)/multi-threaded + +-$(OUT)/example: docs/example.c $(MUPDF_LIB) $(THIRD_LIB) ++$(OUT)/example: docs/example.c $(MUPDF_LIB) + $(LINK_CMD) $(CFLAGS) +-$(OUT)/multi-threaded: docs/multi-threaded.c $(MUPDF_LIB) $(THIRD_LIB) ++$(OUT)/multi-threaded: docs/multi-threaded.c $(MUPDF_LIB) + $(LINK_CMD) $(CFLAGS) -lpthread + + # --- Update version string header --- +@@ -343,7 +339,6 @@ + mandir ?= $(prefix)/share/man + docdir ?= $(prefix)/share/doc/mupdf + +-third: $(THIRD_LIB) + extra: $(CURL_LIB) $(GLFW_LIB) + libs: $(INSTALL_LIBS) + apps: $(INSTALL_APPS) +@@ -376,7 +371,7 @@ + java: + $(MAKE) -C platform/java + +-tags: $(shell find include source platform thirdparty -name '*.[ch]' -or -name '*.cc' -or -name '*.hh') ++tags: $(shell find include source platform -name '*.[ch]' -or -name '*.cc' -or -name '*.hh') + ctags $^ + + cscope.files: $(shell find include source platform -name '*.[ch]') +@@ -397,4 +392,4 @@ + debug: + $(MAKE) build=debug + +-.PHONY: all clean nuke install third libs apps generate ++.PHONY: all clean nuke install libs apps generate diff --git a/app-text/mupdf/mupdf-1.9a-r99.ebuild b/app-text/mupdf/mupdf-1.9a-r99.ebuild @@ -0,0 +1,147 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +inherit eutils flag-o-matic multilib toolchain-funcs vcs-snapshot + +DESCRIPTION="a lightweight PDF viewer and toolkit written in portable C" +HOMEPAGE="http://mupdf.com/" +SRC_URI="http://git.ghostscript.com/?p=mupdf.git;a=snapshot;h=027860688eafc89ca3d57937a77a43a9bb96f590;sf=tgz -> ${P}.tar.gz" + +LICENSE="AGPL-3" +MY_SOVER=1.9 +SLOT="0/${MY_SOVER}" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos ~x86-macos" +IUSE="X vanilla +curl libressl opengl +openssl static static-libs" + +LIB_DEPEND=" + !libressl? ( dev-libs/openssl:0[static-libs?] ) + libressl? ( dev-libs/libressl[static-libs?] ) + >=dev-lang/mujs-0_p20160504 + media-libs/freetype:2[static-libs?] + media-libs/harfbuzz[static-libs?] + media-libs/jbig2dec[static-libs?] + media-libs/libpng:0[static-libs?] + media-libs/openjpeg:2[static-libs?] + net-misc/curl[static-libs?] + virtual/jpeg[static-libs?] + X? ( x11-libs/libX11[static-libs?] + x11-libs/libXext[static-libs?] ) + opengl? ( >=media-libs/glfw-3 )" +RDEPEND="${LIB_DEPEND}" +DEPEND="${RDEPEND} + virtual/pkgconfig + static-libs? ( ${LIB_DEPEND} ) + static? ( ${LIB_DEPEND//?} + app-arch/bzip2[static-libs] + x11-libs/libXau[static-libs] + x11-libs/libXdmcp[static-libs] + x11-libs/libxcb[static-libs] )" + +REQUIRED_USE="opengl? ( X !static !static-libs )" + +src_prepare() { + use hppa && append-cflags -ffunction-sections + + rm -rf thirdparty || die + + epatch \ + "${FILESDIR}"/${PN}-1.9a-CFLAGS.patch \ + "${FILESDIR}"/${PN}-1.9a-debug-build.patch \ + "${FILESDIR}"/${PN}-1.5-old-debian-files.patch \ + "${FILESDIR}"/${PN}-1.3-pkg-config.patch \ + "${FILESDIR}"/${PN}-1.5-Makerules-openssl-curl.patch \ + "${FILESDIR}"/${PN}-1.9a-no-thirdlibs.patch \ + "${FILESDIR}"/${PN}-1.8-system-glfw.patch \ + "${FILESDIR}"/${PN}-1.9a-CVE-2016-6265.patch \ + "${FILESDIR}"/${PN}-1.9a-CVE-2016-6525.patch + + + if has_version ">=media-libs/openjpeg-2.1:2" ; then + epatch \ + "${FILESDIR}"/${PN}-1.5-openjpeg-2.1.patch + fi + + sed -e "/^libdir=/s:/lib:/$(get_libdir):" \ + -e "/^prefix=/s:=.*:=${EROOT}/usr:" \ + -i platform/debian/${PN}.pc || die + + use vanilla || epatch \ + "${FILESDIR}"/${PN}-1.3-zoom-2.patch + + #http://bugs.ghostscript.com/show_bug.cgi?id=693467 + sed -e '/^\(Actions\|MimeType\)=/s:\(.*\):\1;:' \ + -i platform/debian/${PN}.desktop || die + + sed -e "1iOS = Linux" \ + -e "1iCC = $(tc-getCC)" \ + -e "1iLD = $(tc-getCC)" \ + -e "1iAR = $(tc-getAR)" \ + -e "1iverbose = yes" \ + -e "1ibuild = debug" \ + -e "1iprefix = ${ED}usr" \ + -e "1ilibdir = ${ED}usr/$(get_libdir)" \ + -e "1idocdir = ${ED}usr/share/doc/${PF}" \ + -e "1iHAVE_X11 = $(usex X)" \ + -e "1iWANT_OPENSSL = $(usex openssl)" \ + -e "1iWANT_CURL = $(usex curl)" \ + -e "1iHAVE_MUJS = yes" \ + -e "1iMUJS_LIBS = -lmujs" \ + -e "1iMUJS_CFLAGS =" \ + -e "1iHAVE_GLFW = $(usex opengl yes no)" \ + -i Makerules || die + + if use static-libs || use static ; then + cp -a "${S}" "${S}"-static || die + #add missing Libs.private for xcb and freetype + sed -e 's:\(pkg-config --libs\):\1 --static:' \ + -e '/^SYS_X11_LIBS = /s:\(.*\):\1 -lpthread:' \ + -e '/^SYS_FREETYPE_LIBS = /s:\(.*\):\1 -lbz2:' \ + -i "${S}"-static/Makerules || die + fi + + my_soname=libmupdf.so.${MY_SOVER} + my_soname_js_none=libmupdf-js-none.so.${MY_SOVER} + sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \ + -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \ + -e "/^MUPDF_LIB =/s:=.*:= \$(OUT)/${my_soname}:" \ + -e "\$a\$(MUPDF_JS_NONE_LIB):" \ + -e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \ + -e "/install/s: COPYING : :" \ + -i Makefile || die +} + +src_compile() { + emake XCFLAGS="-fpic" + use static-libs && \ + emake -C "${S}"-static build/debug/lib${PN}{,-js-none}.a + use static && \ + emake -C "${S}"-static XLIBS="-static" +} + +src_install() { + if use X ; then + domenu platform/debian/${PN}.desktop + doicon platform/debian/${PN}.xpm + else + rm docs/man/${PN}.1 + fi + + emake install + dosym ${my_soname} /usr/$(get_libdir)/lib${PN}.so + + use static-libs && \ + dolib.a "${S}"-static/build/debug/lib${PN}{,-js-none}.a + if use static ; then + dobin "${S}"-static/build/debug/mu{tool,draw} + use X && dobin "${S}"-static/build/debug/${PN}-x11 + fi + use X && dosym ${PN}-x11 /usr/bin/${PN} + + insinto /usr/$(get_libdir)/pkgconfig + doins platform/debian/${PN}.pc + + dodoc README docs/*.{txt,c} +}