public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/
@ 2023-11-08  0:16 orbea
  0 siblings, 0 replies; 6+ messages in thread
From: orbea @ 2023-11-08  0:16 UTC (permalink / raw
  To: gentoo-commits

commit:     8996e2a6f25c6039962521ec64706dffa037f7ba
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Tue Nov  7 23:49:05 2023 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Tue Nov  7 23:49:05 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=8996e2a6

app-text/mupdf: treeclean

Signed-off-by: orbea <orbea <AT> riseup.net>

 app-text/mupdf/Manifest                            |   1 -
 .../mupdf-1.10a-add-desktop-pc-xpm-files.patch     | 533 ---------------------
 app-text/mupdf/files/mupdf-1.15-CFLAGS.patch       |  13 -
 app-text/mupdf/files/mupdf-1.15-openssl-x11.patch  |  18 -
 app-text/mupdf/files/mupdf-1.19.0-Makefile.patch   |  37 --
 .../mupdf/files/mupdf-1.19.0-cross-fixes.patch     | 130 -----
 app-text/mupdf/files/mupdf-1.19.0-darwin.patch     |  39 --
 app-text/mupdf/files/mupdf-1.20.3-libressl.patch   |  15 -
 app-text/mupdf/metadata.xml                        |  15 -
 app-text/mupdf/mupdf-1.19.1.ebuild                 | 154 ------
 10 files changed, 955 deletions(-)

diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
deleted file mode 100644
index 34a0dc1..0000000
--- a/app-text/mupdf/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mupdf-1.19.1-source.tar.xz 64884172 BLAKE2B a0dc3783c70cee1b7eb48d1658eb48186e35a42513aa9e98f7155bb82ed771ed0c5d5032013d09d93cdca4f49deda65553fe0e1af7645893722dafa855b2c958 SHA512 d6bc5b6adb6a418de50021864f4b3a75da653fa534eeedbfe9875cb202efeb13efdec66b4d108ca8fa6b0dc76733468b214e5fdf331bebc35fc6f722203fa3f7

diff --git a/app-text/mupdf/files/mupdf-1.10a-add-desktop-pc-xpm-files.patch b/app-text/mupdf/files/mupdf-1.10a-add-desktop-pc-xpm-files.patch
deleted file mode 100644
index decab50..0000000
--- a/app-text/mupdf/files/mupdf-1.10a-add-desktop-pc-xpm-files.patch
+++ /dev/null
@@ -1,533 +0,0 @@
---- /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: freetype2 libopenjp2 libcrypto
-+Version: 0.5.0
-+Libs: -L${libdir} -lmupdf
-+Libs.private: -lmupdf-js-none
-+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.15-CFLAGS.patch b/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
deleted file mode 100644
index a7de530..0000000
--- a/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makerules b/Makerules
-index 298b5737..71c307e6 100644
---- a/Makerules
-+++ b/Makerules
-@@ -21,8 +21,6 @@ SANITIZE_FLAGS += -fsanitize=address
- SANITIZE_FLAGS += -fsanitize=leak
- 
- ifeq ($(build),debug)
--  CFLAGS += -pipe -g
--  LDFLAGS += -g
- else ifeq ($(build),release)
-   CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
-   LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s

diff --git a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
deleted file mode 100644
index 3f3aac4..0000000
--- a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -119,13 +119,13 @@ else ifeq ($(OS),Linux)
- 	SYS_GLUT_LIBS := -lglut -lGL
-   endif
- 
--  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
-+  HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
- 	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
- 	X11_LIBS := $(shell pkg-config --libs x11 xext)
-   endif
- 
--  HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
-+  HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   ifeq ($(HAVE_LIBCRYPTO),yes)
- 	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
- 	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)

diff --git a/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch b/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
deleted file mode 100644
index b266655..0000000
--- a/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7fa74b3..e842374 100644
---- a/Makefile
-+++ b/Makefile
-@@ -3,7 +3,7 @@
- -include user.make
- 
- ifndef build
--  build := release
-+  build := debug
- endif
- 
- default: all
-@@ -252,17 +252,19 @@ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)
- else
--MUPDF_LIB = $(OUT)/libmupdf.a
-+MUPDF_LIB = libmupdf.so.$(GENTOO_PV) 
- LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB)
--THIRD_LIB = $(OUT)/libmupdf-third.a
-+THIRD_LIB = 
-+MUPDF_STATIC = $(OUT)/libmupdf.a
- ifneq ($(USE_SYSTEM_GLUT),yes)
- THIRD_GLUT_LIB = $(OUT)/libmupdf-glut.a
- endif
- THREAD_LIB = $(OUT)/libmupdf-threads.a
- PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
- 
--$(MUPDF_LIB) : $(MUPDF_OBJ)
--$(THIRD_LIB) : $(THIRD_OBJ)
-+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ)
-+	$(QUIET_LINK) $(CC) $(LDFLAGS) --shared -Wl,-soname -Wl,$(MUPDF_LIB) -o $@ $^ $(THIRD_LIBS) $(LIBS)
-+$(MUPDF_STATIC): $(MUPDF_OBJ) $(THIRD_OBJ)
- $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)

diff --git a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
deleted file mode 100644
index 643b6d2..0000000
--- a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-Refreshed patches based on:
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
---- a/Makefile
-+++ b/Makefile
-@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
-
- HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
-
-+$(HEXDUMP_EXE): scripts/hexdump.c
-+	$(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
-+
- FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
- FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
- FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
---- a/Makerules
-+++ b/Makerules
-@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
- OS := $(OS:Windows_NT=MINGW)
- OS := $(OS:Darwin=MACOS)
- 
-+PKG_CONFIG ?= pkg-config
-+CC_FOR_BUILD ?= $(CC)
-+
- WARNING_CFLAGS := -Wall -Wsign-compare
- 
- # Feature configuration options
-@@ -156,51 +159,51 @@ else ifeq ($(OS),MACOS)
-   endif
- endif
- 
--  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
--	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
--	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
-+	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
-+	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
-   endif
--  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
--	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
--	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
-+  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
-+	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
-+	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
-   endif
--  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
--	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
--	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
-+  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
-+	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
-+	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
-   endif
--  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
--	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
--	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
-+	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
-+	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
-   endif
--  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
--	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
--	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
-+	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
-+	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
-   endif
--  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
--	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
--	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
-+	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
-+	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
-   endif
--  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
--	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
--	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
-+  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
-+	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
-+	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
-   endif
- 
--  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
-+  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
-   ifeq ($(HAVE_SYS_LEPTONICA),yes)
--	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
--	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
-+	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
-+	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
-   endif
- 
--  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
-+  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
-   ifeq ($(HAVE_SYS_TESSERACT),yes)
--	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
--	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
-+	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
-+	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
-   endif
- 
--  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
-+  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
-   ifeq ($(HAVE_SYS_CURL),yes)
--	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
--	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
-+	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
-+	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
-   endif
- 
-   HAVE_GLUT := yes
-@@ -209,16 +212,16 @@ endif
- 	SYS_GLUT_LIBS := -lglut -lGL
-   endif
- 
-   HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
--	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
--	X11_LIBS := $(shell pkg-config --libs x11 xext)
-+	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
-+	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
-   endif
- 
-   HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   ifeq ($(HAVE_LIBCRYPTO),yes)
--	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
--	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
-+	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
-+	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
-   endif
- 
-   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
deleted file mode 100644
index a81c7a0..0000000
--- a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -139,11 +139,11 @@ ifeq ($(OS),MINGW)
- else ifeq ($(OS),MACOS)
-   HAVE_GLUT := yes
-   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
--  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
--  CC = xcrun cc
--  AR = xcrun ar
--  LD = xcrun ld
--  RANLIB = xcrun ranlib
-+  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
-+  CC ?= xcrun cc
-+  AR ?= xcrun ar
-+  LD ?= xcrun ld
-+  RANLIB ?= xcrun ranlib
- 
-   ifeq (, $(shell which pkg-config))
-     $(warning "No pkg-config found, install it for proper integration of libcrypto")
-@@ -154,9 +154,7 @@ else ifeq ($(OS),MACOS)
- 	  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
-     endif
-   endif
--
--else ifeq ($(OS),Linux)
--  HAVE_OBJCOPY := yes
-+endif
- 
-   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
- 	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-@@ -229,8 +227,6 @@ else ifeq ($(OS),Linux)
- 	PTHREAD_LIBS := -lpthread
-   endif
- 
--endif
--
- # The following section has various cross compilation configurations.
- #
- # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.20.3-libressl.patch b/app-text/mupdf/files/mupdf-1.20.3-libressl.patch
deleted file mode 100644
index ad0cc47..0000000
--- a/app-text/mupdf/files/mupdf-1.20.3-libressl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-From: orbea <orbea@riseup.net>
-Date: Fri, 7 Oct 2022 03:33:15 -0700
-Subject: [PATCH] Support libressl 3.6.x
-
---- a/source/helpers/pkcs7/pkcs7-openssl.c
-+++ b/source/helpers/pkcs7/pkcs7-openssl.c
-@@ -119,7 +119,7 @@ static const char AdobeCA_p7c[] = {
- #warning detect version of openssl at compile time
- #endif
- 
--#ifdef LIBRESSL_VERSION_NUMBER
-+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3060000fL
- 
- static inline const STACK_OF(PKCS12_SAFEBAG) *
- PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag)

diff --git a/app-text/mupdf/metadata.xml b/app-text/mupdf/metadata.xml
deleted file mode 100644
index c0d6177..0000000
--- a/app-text/mupdf/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="person" proxied="yes">
-		<email>rndxelement@protonmail.com</email>
-		<name>Philipp Rösner</name>
-	</maintainer>
-	<maintainer type="project" proxied="proxy">
-		<email>proxy-maint@gentoo.org</email>
-		<name>Proxy Maintainers</name>
-	</maintainer>
-	<use>
-		<flag name="drm">Enable support for Digital rights management (DRM)</flag>
-	</use>
-</pkgmetadata>

diff --git a/app-text/mupdf/mupdf-1.19.1.ebuild b/app-text/mupdf/mupdf-1.19.1.ebuild
deleted file mode 100644
index 125462a..0000000
--- a/app-text/mupdf/mupdf-1.19.1.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please check upstream git regularly for relevant security-related commits
-# to backport.
-
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
-HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
-SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.xz"
-S="${WORKDIR}"/${P}-source
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 x86"
-IUSE="+javascript opengl ssl X"
-REQUIRED_USE="opengl? ( javascript )"
-
-# Although we use the bundled, patched version of freeglut in mupdf (because of
-# bug #653298), the best way to ensure that its dependencies are present is to
-# install system's freeglut.
-RDEPEND="
-	dev-libs/gumbo
-	media-libs/freetype:2=
-	media-libs/harfbuzz:=[truetype]
-	media-libs/jbig2dec:=
-	media-libs/libpng:0=
-	>=media-libs/openjpeg-2.1:2=
-	>=media-libs/libjpeg-turbo-1.5.3-r2:0
-	javascript? ( >=dev-lang/mujs-1.0.7:= )
-	opengl? ( >=media-libs/freeglut-3.0.0 )
-	ssl? ( >=dev-libs/openssl-1.1:0= )
-	X? (
-		x11-libs/libX11
-		x11-libs/libXext
-	)
-"
-DEPEND="${RDEPEND}"
-BDEPEND="X? ( x11-base/xorg-proto )
-	virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
-	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
-	"${FILESDIR}"/${PN}-1.10a-add-desktop-pc-xpm-files.patch
-	"${FILESDIR}"/${PN}-1.19.0-darwin.patch
-	# See bugs #662352
-	"${FILESDIR}"/${PN}-1.15-openssl-x11.patch
-	# General cross fixes from Debian (refreshed)
-	"${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
-	"${FILESDIR}"/${PN}-1.20.3-libressl.patch
-)
-
-src_prepare() {
-	default
-
-	use hppa && append-cflags -ffunction-sections
-
-	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
-
-	sed -e "1iOS = Linux" \
-		-e "1iCC = $(tc-getCC)" \
-		-e "1iCXX = $(tc-getCXX)" \
-		-e "1iLD = $(tc-getLD)" \
-		-e "1iAR = $(tc-getAR)" \
-		-e "1iverbose = yes" \
-		-e "1ibuild = debug" \
-		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
-}
-
-_emake() {
-	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
-	#
-	# Bundled libs
-	# * General
-	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
-	# recommendations. It does not mean "always use system libs".
-	# See [0] below for what it means in a specific version.
-	#
-	# * freeglut
-	# We don't use system's freeglut because upstream has a special modified
-	# version of it that gives mupdf clipboard support. See bug #653298
-	#
-	# * mujs
-	# As of v1.15.0, mupdf started using symbols in mujs that were not part
-	# of any release. We then went back to using the bundled version of it.
-	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
-	# when bumping and check!
-	# See bug #685244
-	#
-	# * lmms2
-	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
-	# It is therefore not appropriate for us to unbundle it at this time.
-	#
-	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
-	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
-	local myemakeargs=(
-		GENTOO_PV=${PV}
-		HAVE_GLUT=$(usex opengl)
-		HAVE_LIBCRYPTO=$(usex ssl)
-		HAVE_X11=$(usex X)
-		USE_SYSTEM_LIBS=yes
-		USE_SYSTEM_MUJS=$(usex javascript)
-		USE_SYSTEM_GLUT=no
-		HAVE_OBJCOPY=no
-		"$@"
-	)
-
-	emake "${myemakeargs[@]}"
-}
-
-src_compile() {
-	tc-export PKG_CONFIG
-
-	_emake XCFLAGS="-fPIC"
-}
-
-src_install() {
-	if use opengl || use X ; then
-		domenu platform/debian/${PN}.desktop
-		doicon platform/debian/${PN}.xpm
-	else
-		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
-	fi
-
-	sed -i \
-		-e "1iprefix = ${ED}/usr" \
-		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
-		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
-		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
-
-	_emake install
-
-	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
-
-	if use opengl ; then
-		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
-		dosym ${PN}-gl /usr/bin/${PN}
-	elif use X ; then
-		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
-		dosym ${PN}-x11 /usr/bin/${PN}
-	fi
-
-	# Respect libdir (bug #734898)
-	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc || die "Failed to sed pkgconfig file to respect libdir in src_install()"
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins platform/debian/${PN}.pc
-
-	dodoc README CHANGES CONTRIBUTORS
-}


^ permalink raw reply related	[flat|nested] 6+ messages in thread
* [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/
@ 2024-09-13  1:40 orbea
  0 siblings, 0 replies; 6+ messages in thread
From: orbea @ 2024-09-13  1:40 UTC (permalink / raw
  To: gentoo-commits

commit:     a4904bd74fa8dd259d8948039cbe7f45533a6fa8
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Sep 13 01:16:16 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Fri Sep 13 01:16:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=a4904bd7

app-text/mupdf: treeclean

Signed-off-by: orbea <orbea <AT> riseup.net>

 app-text/mupdf/Manifest                            |   1 -
 app-text/mupdf/files/mupdf-1.15-CFLAGS.patch       |  13 --
 app-text/mupdf/files/mupdf-1.19.0-Makefile.patch   |  37 -----
 .../files/mupdf-1.21.0-add-desktop-pc-files.patch  |  33 ----
 .../mupdf-1.21.1-fix-aliasing-violation.patch      |  63 --------
 .../mupdf/files/mupdf-1.23.3-cross-fixes.patch     | 120 ---------------
 app-text/mupdf/files/mupdf-1.23.3-darwin.patch     |  45 ------
 .../mupdf/files/mupdf-1.23.3-openssl-x11.patch     |  19 ---
 app-text/mupdf/files/mupdf-1.23.7-libressl.patch   |  15 --
 app-text/mupdf/metadata.xml                        |  15 --
 app-text/mupdf/mupdf-1.23.7-r1.ebuild              | 166 ---------------------
 11 files changed, 527 deletions(-)

diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
deleted file mode 100644
index dac6798..0000000
--- a/app-text/mupdf/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST mupdf-1.23.7-source.tar.gz 55312697 BLAKE2B 7ceb7c1871d33b77d4a3d52ed2d1af514c09349df019a189fa7df8ad09648fae313d63de4c1ce6b0666d17f9a897d5ac788d0be2d8896d9b7e4e6ecf679bad7c SHA512 581a4a5a16041bb405fbd7c1b9fba47da5745f00cbdf30e0e0468bfe67ac542884193b5957b293a4cdfc52f043b4f19612086f294b93dbd242d34735a1088777

diff --git a/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch b/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
deleted file mode 100644
index a7de530..0000000
--- a/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makerules b/Makerules
-index 298b5737..71c307e6 100644
---- a/Makerules
-+++ b/Makerules
-@@ -21,8 +21,6 @@ SANITIZE_FLAGS += -fsanitize=address
- SANITIZE_FLAGS += -fsanitize=leak
- 
- ifeq ($(build),debug)
--  CFLAGS += -pipe -g
--  LDFLAGS += -g
- else ifeq ($(build),release)
-   CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
-   LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s

diff --git a/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch b/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
deleted file mode 100644
index b266655..0000000
--- a/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 7fa74b3..e842374 100644
---- a/Makefile
-+++ b/Makefile
-@@ -3,7 +3,7 @@
- -include user.make
- 
- ifndef build
--  build := release
-+  build := debug
- endif
- 
- default: all
-@@ -252,17 +252,19 @@ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)
- else
--MUPDF_LIB = $(OUT)/libmupdf.a
-+MUPDF_LIB = libmupdf.so.$(GENTOO_PV) 
- LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB)
--THIRD_LIB = $(OUT)/libmupdf-third.a
-+THIRD_LIB = 
-+MUPDF_STATIC = $(OUT)/libmupdf.a
- ifneq ($(USE_SYSTEM_GLUT),yes)
- THIRD_GLUT_LIB = $(OUT)/libmupdf-glut.a
- endif
- THREAD_LIB = $(OUT)/libmupdf-threads.a
- PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
- 
--$(MUPDF_LIB) : $(MUPDF_OBJ)
--$(THIRD_LIB) : $(THIRD_OBJ)
-+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ)
-+	$(QUIET_LINK) $(CC) $(LDFLAGS) --shared -Wl,-soname -Wl,$(MUPDF_LIB) -o $@ $^ $(THIRD_LIBS) $(LIBS)
-+$(MUPDF_STATIC): $(MUPDF_OBJ) $(THIRD_OBJ)
- $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)

diff --git a/app-text/mupdf/files/mupdf-1.21.0-add-desktop-pc-files.patch b/app-text/mupdf/files/mupdf-1.21.0-add-desktop-pc-files.patch
deleted file mode 100644
index 4d449a2..0000000
--- a/app-text/mupdf/files/mupdf-1.21.0-add-desktop-pc-files.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- /dev/null
-+++ ./platform/debian/mupdf.desktop
-@@ -0,0 +1,15 @@
-+[Desktop Entry]
-+Name=MuPDF
-+GenericName=PDF file viewer
-+Exec=mupdf %f
-+TryExec=mupdf
-+Icon=new-mupdf-icon
-+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: freetype2 libopenjp2 libcrypto
-+Version: 0.5.0
-+Libs: -L${libdir} -lmupdf
-+Libs.private: -lmupdf-js-none
-+Cflags: -I${includedir}

diff --git a/app-text/mupdf/files/mupdf-1.21.1-fix-aliasing-violation.patch b/app-text/mupdf/files/mupdf-1.21.1-fix-aliasing-violation.patch
deleted file mode 100644
index 4f51f72..0000000
--- a/app-text/mupdf/files/mupdf-1.21.1-fix-aliasing-violation.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-https://bugs.gentoo.org/859847
-
-From 8c6f6bf3ad2fd33d15de6ee96175cd29bf804d9f Mon Sep 17 00:00:00 2001
-From: Matt Turner <mattst88@gmail.com>
-Date: Tue, 26 Jul 2022 15:47:02 -0400
-Subject: [PATCH] Fix aliasing violation
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Noticed when compiling with link-time optimizations.
-
-include/GL/freeglut_std.h:240:18: error: type of `glutBitmapHelvetica18` does not match original declaration [-Werror=lto-type-mismatch]
-  240 |     extern void* glutBitmapHelvetica18;
-      |                  ^
-src/x11/fg_glutfont_definitions_x11.c:103:27: note: `glutBitmapHelvetica18` was previously declared here
-  103 | struct freeglutBitmapFont glutBitmapHelvetica18 ;
-      |                           ^
-src/x11/fg_glutfont_definitions_x11.c:103:27: note: code may be misoptimized unless `-fno-strict-aliasing` is used
----
- src/x11/fg_glutfont_definitions_x11.c | 29 ++++++++++++++++++---------
- 1 file changed, 20 insertions(+), 9 deletions(-)
-
---- a/thirdparty/freeglut/src/x11/fg_glutfont_definitions_x11.c
-+++ b/thirdparty/freeglut/src/x11/fg_glutfont_definitions_x11.c
-@@ -91,14 +91,25 @@ struct freeglutBitmapFont
- };
- 
- 
--struct freeglutStrokeFont glutStrokeRoman ;
--struct freeglutStrokeFont glutStrokeMonoRoman ;
-+static struct freeglutStrokeFont glutStrokeRoman_ ;
-+static struct freeglutStrokeFont glutStrokeMonoRoman_ ;
- 
--struct freeglutBitmapFont glutBitmap9By15 ;
--struct freeglutBitmapFont glutBitmap8By13 ;
--struct freeglutBitmapFont glutBitmapTimesRoman10 ;
--struct freeglutBitmapFont glutBitmapTimesRoman24 ;
--struct freeglutBitmapFont glutBitmapHelvetica10 ;
--struct freeglutBitmapFont glutBitmapHelvetica12 ;
--struct freeglutBitmapFont glutBitmapHelvetica18 ;
-+static struct freeglutBitmapFont glutBitmap9By15_ ;
-+static struct freeglutBitmapFont glutBitmap8By13_ ;
-+static struct freeglutBitmapFont glutBitmapTimesRoman10_ ;
-+static struct freeglutBitmapFont glutBitmapTimesRoman24_ ;
-+static struct freeglutBitmapFont glutBitmapHelvetica10_ ;
-+static struct freeglutBitmapFont glutBitmapHelvetica12_ ;
-+static struct freeglutBitmapFont glutBitmapHelvetica18_ ;
- 
-+
-+void *glutStrokeRoman = &glutStrokeRoman_ ;
-+void *glutStrokeMonoRoman = &glutStrokeMonoRoman_ ;
-+
-+void *glutBitmap9By15 = &glutBitmap9By15_ ;
-+void *glutBitmap8By13 = &glutBitmap8By13_ ;
-+void *glutBitmapTimesRoman10 = &glutBitmapTimesRoman10_ ;
-+void *glutBitmapTimesRoman24 = &glutBitmapTimesRoman24_ ;
-+void *glutBitmapHelvetica10 = &glutBitmapHelvetica10_ ;
-+void *glutBitmapHelvetica12 = &glutBitmapHelvetica12_ ;
-+void *glutBitmapHelvetica18 = &glutBitmapHelvetica18_ ;
--- 
-2.35.1
-

diff --git a/app-text/mupdf/files/mupdf-1.23.3-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.23.3-cross-fixes.patch
deleted file mode 100644
index 02fa3bf..0000000
--- a/app-text/mupdf/files/mupdf-1.23.3-cross-fixes.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-Refreshed patches based on:
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
---- a/Makerules
-+++ b/Makerules
-@@ -9,6 +9,9 @@ ifeq ($(OS),)
-   OS := $(OS:Darwin=MACOS)
- endif
- 
-+PKG_CONFIG ?= pkg-config
-+CC_FOR_BUILD ?= $(CC)
-+
- WARNING_CFLAGS := -Wall -Wsign-compare
- 
- # Feature configuration options
-@@ -190,51 +193,51 @@ else ifeq ($(OS),Linux)
-     LDFLAGS += -sTOTAL_MEMORY=48MB
-   endif
- 
--  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
--	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
--	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
-+	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
-+	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
-   endif
--  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
--	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
--	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
-+  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
-+	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
-+	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
-   endif
--  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
--	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
--	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
-+  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
-+	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
-+	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
-   endif
--  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
--	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
--	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
-+	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
-+	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
-   endif
--  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
--	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
--	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
-+	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
-+	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
-   endif
--  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
--	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
--	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
-+	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
-+	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
-   endif
--  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
--	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
--	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
-+  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
-+	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
-+	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
-   endif
- 
--  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
-+  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
-   ifeq ($(HAVE_SYS_LEPTONICA),yes)
--	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
--	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
-+	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
-+	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
-   endif
- 
--  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
-+  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
-   ifeq ($(HAVE_SYS_TESSERACT),yes)
--	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
--	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
-+	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
-+	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
-   endif
- 
--  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
-+  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
-   ifeq ($(HAVE_SYS_CURL),yes)
--	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
--	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
-+	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
-+	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
-   endif
- 
-   HAVE_GLUT := yes
-@@ -243,18 +246,18 @@ else ifeq ($(OS),Linux)
- 	SYS_GLUT_LIBS := -lglut -lGL
-   endif
- 
-   HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
--	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
--	X11_LIBS := $(shell pkg-config --libs x11 xext)
-+	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
-+	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
-   endif
- 
-   ifeq ($(HAVE_LIBCRYPTO),)
-     HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   endif
-   ifeq ($(HAVE_LIBCRYPTO),yes)
--	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
--	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
-+	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
-+	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
-   endif
- 
-   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.23.3-darwin.patch b/app-text/mupdf/files/mupdf-1.23.3-darwin.patch
deleted file mode 100644
index c151d81..0000000
--- a/app-text/mupdf/files/mupdf-1.23.3-darwin.patch
+++ /dev/null
@@ -1,45 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -161,11 +161,11 @@ ifeq ($(OS),MINGW)
- else ifeq ($(OS),MACOS)
-   HAVE_GLUT := yes
-   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
--  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
--  CC = xcrun cc
--  AR = xcrun ar
--  LD = xcrun ld
--  RANLIB = xcrun ranlib
-+  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
-+  CC ?= xcrun cc
-+  AR ?= xcrun ar
-+  LD ?= xcrun ld
-+  RANLIB ?= xcrun ranlib
- 
-   ifneq ($(ARCHFLAGS),)
-     $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
-@@ -180,15 +180,7 @@ else ifeq ($(OS),MACOS)
-     endif
-   endif
- 
--else ifeq ($(OS),Linux)
--  ifeq ($(PYODIDE_ROOT),)
--    HAVE_OBJCOPY := yes
--  else
--    # Pyodide's ld does not support -b so we cannot use it to create object
--    # files containing font data, so leave HAVE_OBJCOPY unset. And we need
--    # extra memory when linking.
--    LDFLAGS += -sTOTAL_MEMORY=48MB
--  endif
-+endif
- 
-   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
- 	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-@@ -263,8 +255,6 @@ else ifeq ($(OS),Linux)
- 	PTHREAD_LIBS := -lpthread
-   endif
- 
--endif
--
- # The following section has various cross compilation configurations.
- #
- # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.23.3-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.23.3-openssl-x11.patch
deleted file mode 100644
index b91bd9a..0000000
--- a/app-text/mupdf/files/mupdf-1.23.3-openssl-x11.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -243,14 +243,14 @@ else ifeq ($(OS),Linux)
- 	SYS_GLUT_LIBS := -lglut -lGL
-   endif
- 
--  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
-+  HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
- 	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
- 	X11_LIBS := $(shell pkg-config --libs x11 xext)
-   endif
- 
-   ifeq ($(HAVE_LIBCRYPTO),)
--    HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
-+    HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   endif
-   ifeq ($(HAVE_LIBCRYPTO),yes)
- 	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO

diff --git a/app-text/mupdf/files/mupdf-1.23.7-libressl.patch b/app-text/mupdf/files/mupdf-1.23.7-libressl.patch
deleted file mode 100644
index 02c91e3..0000000
--- a/app-text/mupdf/files/mupdf-1.23.7-libressl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-EVP_add_digest is no longer needed with LibreSSL >= 3.9.0
-
---- a/source/helpers/pkcs7/pkcs7-openssl.c
-+++ b/source/helpers/pkcs7/pkcs7-openssl.c
-@@ -793,8 +793,10 @@ pdf_pkcs7_signer *pkcs7_openssl_read_pfx(fz_context *ctx, const char *pfile, con
- 
- 		OpenSSL_add_all_algorithms();
- 
-+#if !defined(LIBRESSL_VERSION_NUMBER) || (LIBRESSL_VERSION_NUMBER < 0x3090000fL)
- 		EVP_add_digest(EVP_md5());
- 		EVP_add_digest(EVP_sha1());
-+#endif
- 
- 		ERR_load_crypto_strings();
- 

diff --git a/app-text/mupdf/metadata.xml b/app-text/mupdf/metadata.xml
deleted file mode 100644
index 44f3788..0000000
--- a/app-text/mupdf/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-	<maintainer type="person" proxied="yes">
-		<email>rndxelement@protonmail.com</email>
-		<name>Philipp Rösner</name>
-	</maintainer>
-	<maintainer type="project" proxied="proxy">
-		<email>proxy-maint@gentoo.org</email>
-		<name>Proxy Maintainers</name>
-	</maintainer>
-	<use>
-		<flag name="archive">Enable support for CBR and other archive formats using libarchive</flag>
-	</use>
-</pkgmetadata>

diff --git a/app-text/mupdf/mupdf-1.23.7-r1.ebuild b/app-text/mupdf/mupdf-1.23.7-r1.ebuild
deleted file mode 100644
index 931128e..0000000
--- a/app-text/mupdf/mupdf-1.23.7-r1.ebuild
+++ /dev/null
@@ -1,166 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please check upstream git regularly for relevant security-related commits
-# to backport.
-
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
-HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
-SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
-S="${WORKDIR}"/${P}-source
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+javascript opengl ssl X"
-REQUIRED_USE="opengl? ( javascript )"
-
-# Although we use the bundled, patched version of freeglut in mupdf (because of
-# bug #653298), the best way to ensure that its dependencies are present is to
-# install system's freeglut.
-RDEPEND="
-	dev-libs/gumbo:=
-	media-libs/freetype:2
-	media-libs/harfbuzz:=[truetype]
-	media-libs/jbig2dec:=
-	media-libs/libpng:0=
-	>=media-libs/openjpeg-2.1:2=
-	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
-	net-misc/curl
-	javascript? ( >=dev-lang/mujs-1.2.0:= )
-	opengl? ( >=media-libs/freeglut-3.0.0 )
-	ssl? ( >=dev-libs/openssl-1.1:0= )
-	sys-libs/zlib
-	X? (
-		media-libs/libglvnd[X]
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXrandr
-	)
-"
-DEPEND="${RDEPEND}
-	X? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
-	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
-	"${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
-	"${FILESDIR}"/${PN}-1.23.3-darwin.patch
-	# See bugs #662352
-	"${FILESDIR}"/${PN}-1.23.3-openssl-x11.patch
-	# General cross fixes from Debian (refreshed)
-	"${FILESDIR}"/${PN}-1.23.3-cross-fixes.patch
-	"${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
-	"${FILESDIR}"/${PN}-1.23.7-libressl.patch
-)
-
-src_prepare() {
-	default
-
-	use hppa && append-cflags -ffunction-sections
-
-	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
-
-	sed -e "1iOS = Linux" \
-		-e "1iCC = $(tc-getCC)" \
-		-e "1iCXX = $(tc-getCXX)" \
-		-e "1iLD = $(tc-getLD)" \
-		-e "1iAR = $(tc-getAR)" \
-		-e "1iverbose = yes" \
-		-e "1ibuild = debug" \
-		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
-
-	# Adjust MuPDF version in .pc file created by the
-	# mupdf-1.21.0-add-desktop-pc-files.patch file
-	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
-		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
-}
-
-_emake() {
-	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
-	#
-	# Bundled libs
-	# * General
-	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
-	# recommendations. It does not mean "always use system libs".
-	# See [0] below for what it means in a specific version.
-	#
-	# * freeglut
-	# We don't use system's freeglut because upstream has a special modified
-	# version of it that gives mupdf clipboard support. See bug #653298
-	#
-	# * mujs
-	# As of v1.15.0, mupdf started using symbols in mujs that were not part
-	# of any release. We then went back to using the bundled version of it.
-	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
-	# when bumping and check!
-	# See bug #685244
-	#
-	# * lmms2
-	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
-	# It is therefore not appropriate for us to unbundle it at this time.
-	#
-	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
-	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
-	local myemakeargs=(
-		GENTOO_PV=${PV}
-		HAVE_GLUT=$(usex opengl)
-		HAVE_LIBCRYPTO=$(usex ssl)
-		HAVE_X11=$(usex X)
-		USE_SYSTEM_LIBS=yes
-		USE_SYSTEM_MUJS=$(usex javascript)
-		USE_SYSTEM_GLUT=no
-		HAVE_OBJCOPY=no
-		"$@"
-	)
-
-	emake "${myemakeargs[@]}"
-}
-
-src_compile() {
-	tc-export PKG_CONFIG
-
-	_emake XCFLAGS="-fPIC"
-}
-
-src_install() {
-	if use opengl || use X ; then
-		domenu platform/debian/${PN}.desktop
-		doicon -s scalable docs/logo/new-${PN}-icon.svg
-	else
-		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
-	fi
-
-	sed -i \
-		-e "1iprefix = ${ED}/usr" \
-		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
-		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
-		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
-
-	_emake install
-
-	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
-
-	if use opengl ; then
-		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
-		dosym ${PN}-gl /usr/bin/${PN}
-	elif use X ; then
-		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
-		dosym ${PN}-x11 /usr/bin/${PN}
-	fi
-
-	# Respect libdir and EPREFIX (bugs #734898, #911965)
-	sed -i -e "s:/lib:/$(get_libdir):" \
-		-e "s:/usr:${EPREFIX}/usr:" platform/debian/${PN}.pc \
-		|| die "Failed to sed pkgconfig file to respect libdir and EPREFIX in src_install()"
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins platform/debian/${PN}.pc
-
-	dodoc README CHANGES CONTRIBUTORS
-}


^ permalink raw reply related	[flat|nested] 6+ messages in thread
* [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/
@ 2024-08-01 18:35 orbea
  0 siblings, 0 replies; 6+ messages in thread
From: orbea @ 2024-08-01 18:35 UTC (permalink / raw
  To: gentoo-commits

commit:     6b8b4ee5f045930f0d59c6b71a35752e71e33f70
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Thu Aug  1 18:03:32 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Thu Aug  1 18:06:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=6b8b4ee5

app-text/mupdf: drop 1.22.0-r1, 1.23.3-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 app-text/mupdf/Manifest                            |   2 -
 app-text/mupdf/files/mupdf-1.15-openssl-x11.patch  |  18 ---
 .../mupdf/files/mupdf-1.19.0-cross-fixes.patch     | 130 ----------------
 app-text/mupdf/files/mupdf-1.19.0-darwin.patch     |  39 -----
 app-text/mupdf/files/mupdf-1.21.1-no-drm.patch     |  18 ---
 app-text/mupdf/metadata.xml                        |   2 +-
 app-text/mupdf/mupdf-1.22.0-r1.ebuild              | 165 ---------------------
 app-text/mupdf/mupdf-1.23.3-r1.ebuild              | 165 ---------------------
 8 files changed, 1 insertion(+), 538 deletions(-)

diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
index a835f7c..dac6798 100644
--- a/app-text/mupdf/Manifest
+++ b/app-text/mupdf/Manifest
@@ -1,3 +1 @@
-DIST mupdf-1.22.0-source.tar.gz 55043552 BLAKE2B 745a2fd1d0406acf4fa696585bcd21a4ff36e7539c1d45f886dfe5c9bbf966169e5183e89940d81e88db3014f1ebb0446ae1732b6c2fa25a135251853b71f1f7 SHA512 ba073b977306420343c969e6fec37cca4559031ad06cfdee2356edfdfa013ebe7654175aff931684fa48a935bf87f68537754b5e83f767517bc428ac07709a59
-DIST mupdf-1.23.3-source.tar.gz 55144800 BLAKE2B 816e2bf46c2431df9726976efeaa0d7ebd8809cbdd9331a747cca32088aaf21b70e9522614d1dc20c856cc597003be6285f866eae8bbde3098e702acfdea8465 SHA512 37fbebd07680d79a38d289264a4028396ee58fad52c541efa37463e63a45ed8bab71188d6c05eb15e602964d89ee6633575dceb972f7bd8b0b5efdde5af9b737
 DIST mupdf-1.23.7-source.tar.gz 55312697 BLAKE2B 7ceb7c1871d33b77d4a3d52ed2d1af514c09349df019a189fa7df8ad09648fae313d63de4c1ce6b0666d17f9a897d5ac788d0be2d8896d9b7e4e6ecf679bad7c SHA512 581a4a5a16041bb405fbd7c1b9fba47da5745f00cbdf30e0e0468bfe67ac542884193b5957b293a4cdfc52f043b4f19612086f294b93dbd242d34735a1088777

diff --git a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
deleted file mode 100644
index 3f3aac4..0000000
--- a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -119,13 +119,13 @@ else ifeq ($(OS),Linux)
- 	SYS_GLUT_LIBS := -lglut -lGL
-   endif
- 
--  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
-+  HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
- 	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
- 	X11_LIBS := $(shell pkg-config --libs x11 xext)
-   endif
- 
--  HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
-+  HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   ifeq ($(HAVE_LIBCRYPTO),yes)
- 	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
- 	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)

diff --git a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
deleted file mode 100644
index 643b6d2..0000000
--- a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-Refreshed patches based on:
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
---- a/Makefile
-+++ b/Makefile
-@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
-
- HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
-
-+$(HEXDUMP_EXE): scripts/hexdump.c
-+	$(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
-+
- FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
- FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
- FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
---- a/Makerules
-+++ b/Makerules
-@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
- OS := $(OS:Windows_NT=MINGW)
- OS := $(OS:Darwin=MACOS)
- 
-+PKG_CONFIG ?= pkg-config
-+CC_FOR_BUILD ?= $(CC)
-+
- WARNING_CFLAGS := -Wall -Wsign-compare
- 
- # Feature configuration options
-@@ -156,51 +159,51 @@ else ifeq ($(OS),MACOS)
-   endif
- endif
- 
--  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
--	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
--	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
-+	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
-+	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
-   endif
--  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
--	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
--	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
-+  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
-+	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
-+	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
-   endif
--  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
--	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
--	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
-+  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
-+	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
-+	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
-   endif
--  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
--	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
--	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
-+	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
-+	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
-   endif
--  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
--	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
--	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
-+	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
-+	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
-   endif
--  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
--	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
--	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
-+	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
-+	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
-   endif
--  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
--	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
--	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
-+  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
-+	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
-+	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
-   endif
- 
--  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
-+  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
-   ifeq ($(HAVE_SYS_LEPTONICA),yes)
--	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
--	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
-+	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
-+	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
-   endif
- 
--  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
-+  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
-   ifeq ($(HAVE_SYS_TESSERACT),yes)
--	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
--	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
-+	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
-+	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
-   endif
- 
--  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
-+  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
-   ifeq ($(HAVE_SYS_CURL),yes)
--	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
--	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
-+	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
-+	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
-   endif
- 
-   HAVE_GLUT := yes
-@@ -209,16 +212,16 @@ endif
- 	SYS_GLUT_LIBS := -lglut -lGL
-   endif
- 
-   HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
--	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
--	X11_LIBS := $(shell pkg-config --libs x11 xext)
-+	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
-+	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
-   endif
- 
-   HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   ifeq ($(HAVE_LIBCRYPTO),yes)
--	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
--	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
-+	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
-+	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
-   endif
- 
-   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
deleted file mode 100644
index a81c7a0..0000000
--- a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -139,11 +139,11 @@ ifeq ($(OS),MINGW)
- else ifeq ($(OS),MACOS)
-   HAVE_GLUT := yes
-   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
--  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
--  CC = xcrun cc
--  AR = xcrun ar
--  LD = xcrun ld
--  RANLIB = xcrun ranlib
-+  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
-+  CC ?= xcrun cc
-+  AR ?= xcrun ar
-+  LD ?= xcrun ld
-+  RANLIB ?= xcrun ranlib
- 
-   ifeq (, $(shell which pkg-config))
-     $(warning "No pkg-config found, install it for proper integration of libcrypto")
-@@ -154,9 +154,7 @@ else ifeq ($(OS),MACOS)
- 	  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
-     endif
-   endif
--
--else ifeq ($(OS),Linux)
--  HAVE_OBJCOPY := yes
-+endif
- 
-   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
- 	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
-@@ -229,8 +227,6 @@ else ifeq ($(OS),Linux)
- 	PTHREAD_LIBS := -lpthread
-   endif
- 
--endif
--
- # The following section has various cross compilation configurations.
- #
- # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch b/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch
deleted file mode 100644
index 9f2b9d6..0000000
--- a/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/source/html/epub-doc.c b/source/html/epub-doc.c
-index f764242..83888dc 100644
---- a/source/html/epub-doc.c
-+++ b/source/html/epub-doc.c
-@@ -692,10 +692,12 @@ epub_parse_header(fz_context *ctx, epub_document *doc)
- 	epub_chapter **tailp;
- 	int i;
- 
-+	#ifdef GENTOO_MUPDF_DRM
-	if (fz_has_archive_entry(ctx, zip, "META-INF/rights.xml"))
- 		fz_throw(ctx, FZ_ERROR_GENERIC, "EPUB is locked by DRM");
- 	if (fz_has_archive_entry(ctx, zip, "META-INF/encryption.xml"))
- 		fz_throw(ctx, FZ_ERROR_GENERIC, "EPUB is locked by DRM");
-+	#endif
- 
- 	fz_var(buf);
- 	fz_var(container_xml);
-

diff --git a/app-text/mupdf/metadata.xml b/app-text/mupdf/metadata.xml
index c0d6177..44f3788 100644
--- a/app-text/mupdf/metadata.xml
+++ b/app-text/mupdf/metadata.xml
@@ -10,6 +10,6 @@
 		<name>Proxy Maintainers</name>
 	</maintainer>
 	<use>
-		<flag name="drm">Enable support for Digital rights management (DRM)</flag>
+		<flag name="archive">Enable support for CBR and other archive formats using libarchive</flag>
 	</use>
 </pkgmetadata>

diff --git a/app-text/mupdf/mupdf-1.22.0-r1.ebuild b/app-text/mupdf/mupdf-1.22.0-r1.ebuild
deleted file mode 100644
index 2d59cac..0000000
--- a/app-text/mupdf/mupdf-1.22.0-r1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please check upstream git regularly for relevant security-related commits
-# to backport.
-
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
-HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
-SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
-S="${WORKDIR}"/${P}-source
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+drm +javascript opengl ssl X"
-REQUIRED_USE="opengl? ( javascript )"
-
-# Although we use the bundled, patched version of freeglut in mupdf (because of
-# bug #653298), the best way to ensure that its dependencies are present is to
-# install system's freeglut.
-RDEPEND="
-	dev-libs/gumbo:=
-	media-libs/freetype:2
-	media-libs/harfbuzz:=[truetype]
-	media-libs/jbig2dec:=
-	media-libs/libpng:0=
-	>=media-libs/openjpeg-2.1:2=
-	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
-	javascript? ( >=dev-lang/mujs-1.2.0:= )
-	opengl? ( >=media-libs/freeglut-3.0.0 )
-	ssl? ( >=dev-libs/openssl-1.1:0= )
-	sys-libs/zlib
-	X? (
-		x11-libs/libX11
-		x11-libs/libXext
-	)
-"
-DEPEND="${RDEPEND}"
-BDEPEND="X? ( x11-base/xorg-proto )
-	virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
-	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
-	"${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
-	"${FILESDIR}"/${PN}-1.19.0-darwin.patch
-	# See bugs #662352
-	"${FILESDIR}"/${PN}-1.15-openssl-x11.patch
-	# General cross fixes from Debian (refreshed)
-	"${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
-	"${FILESDIR}"/${PN}-1.21.1-no-drm.patch
-	"${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
-	"${FILESDIR}"/${PN}-1.23.7-libressl.patch
-)
-
-src_prepare() {
-	default
-
-	use hppa && append-cflags -ffunction-sections
-
-	use drm && append-cflags -DGENTOO_MUPDF_DRM
-
-	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
-
-	sed -e "1iOS = Linux" \
-		-e "1iCC = $(tc-getCC)" \
-		-e "1iCXX = $(tc-getCXX)" \
-		-e "1iLD = $(tc-getLD)" \
-		-e "1iAR = $(tc-getAR)" \
-		-e "1iverbose = yes" \
-		-e "1ibuild = debug" \
-		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
-
-	# Adjust MuPDF version in .pc file created by the
-	# mupdf-1.10a-add-desktop-pc-xpm-files.patch file
-	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
-		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
-}
-
-_emake() {
-	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
-	#
-	# Bundled libs
-	# * General
-	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
-	# recommendations. It does not mean "always use system libs".
-	# See [0] below for what it means in a specific version.
-	#
-	# * freeglut
-	# We don't use system's freeglut because upstream has a special modified
-	# version of it that gives mupdf clipboard support. See bug #653298
-	#
-	# * mujs
-	# As of v1.15.0, mupdf started using symbols in mujs that were not part
-	# of any release. We then went back to using the bundled version of it.
-	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
-	# when bumping and check!
-	# See bug #685244
-	#
-	# * lmms2
-	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
-	# It is therefore not appropriate for us to unbundle it at this time.
-	#
-	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
-	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
-	local myemakeargs=(
-		GENTOO_PV=${PV}
-		HAVE_GLUT=$(usex opengl)
-		HAVE_LIBCRYPTO=$(usex ssl)
-		HAVE_X11=$(usex X)
-		USE_SYSTEM_LIBS=yes
-		USE_SYSTEM_MUJS=$(usex javascript)
-		USE_SYSTEM_GLUT=no
-		HAVE_OBJCOPY=no
-		"$@"
-	)
-
-	emake "${myemakeargs[@]}"
-}
-
-src_compile() {
-	tc-export PKG_CONFIG
-
-	_emake XCFLAGS="-fPIC"
-}
-
-src_install() {
-	if use opengl || use X ; then
-		domenu platform/debian/${PN}.desktop
-		doicon -s scalable docs/logo/new-${PN}-icon.svg
-	else
-		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
-	fi
-
-	sed -i \
-		-e "1iprefix = ${ED}/usr" \
-		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
-		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
-		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
-
-	_emake install
-
-	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
-
-	if use opengl ; then
-		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
-		dosym ${PN}-gl /usr/bin/${PN}
-	elif use X ; then
-		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
-		dosym ${PN}-x11 /usr/bin/${PN}
-	fi
-
-	# Respect libdir (bug #734898)
-	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc \
-		|| die "Failed to sed pkgconfig file to respect libdir in src_install()"
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins platform/debian/${PN}.pc
-
-	dodoc README CHANGES CONTRIBUTORS
-}

diff --git a/app-text/mupdf/mupdf-1.23.3-r1.ebuild b/app-text/mupdf/mupdf-1.23.3-r1.ebuild
deleted file mode 100644
index ff5f1e0..0000000
--- a/app-text/mupdf/mupdf-1.23.3-r1.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# Please check upstream git regularly for relevant security-related commits
-# to backport.
-
-inherit desktop flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
-HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
-SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
-S="${WORKDIR}"/${P}-source
-
-LICENSE="AGPL-3"
-SLOT="0/${PV}"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+javascript opengl ssl X"
-REQUIRED_USE="opengl? ( javascript )"
-
-# Although we use the bundled, patched version of freeglut in mupdf (because of
-# bug #653298), the best way to ensure that its dependencies are present is to
-# install system's freeglut.
-RDEPEND="
-	dev-libs/gumbo:=
-	media-libs/freetype:2
-	media-libs/harfbuzz:=[truetype]
-	media-libs/jbig2dec:=
-	media-libs/libpng:0=
-	>=media-libs/openjpeg-2.1:2=
-	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
-	net-misc/curl
-	javascript? ( >=dev-lang/mujs-1.2.0:= )
-	opengl? ( >=media-libs/freeglut-3.0.0 )
-	ssl? ( >=dev-libs/openssl-1.1:0= )
-	sys-libs/zlib
-	X? (
-		media-libs/libglvnd[X]
-		x11-libs/libX11
-		x11-libs/libXext
-		x11-libs/libXrandr
-	)
-"
-DEPEND="${RDEPEND}
-	X? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
-	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
-	"${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
-	"${FILESDIR}"/${P}-darwin.patch
-	# See bugs #662352
-	"${FILESDIR}"/${P}-openssl-x11.patch
-	# General cross fixes from Debian (refreshed)
-	"${FILESDIR}"/${P}-cross-fixes.patch
-	"${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
-	"${FILESDIR}"/${PN}-1.23.7-libressl.patch
-)
-
-src_prepare() {
-	default
-
-	use hppa && append-cflags -ffunction-sections
-
-	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
-
-	sed -e "1iOS = Linux" \
-		-e "1iCC = $(tc-getCC)" \
-		-e "1iCXX = $(tc-getCXX)" \
-		-e "1iLD = $(tc-getLD)" \
-		-e "1iAR = $(tc-getAR)" \
-		-e "1iverbose = yes" \
-		-e "1ibuild = debug" \
-		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
-
-	# Adjust MuPDF version in .pc file created by the
-	# mupdf-1.10a-add-desktop-pc-xpm-files.patch file
-	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
-		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
-}
-
-_emake() {
-	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
-	#
-	# Bundled libs
-	# * General
-	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
-	# recommendations. It does not mean "always use system libs".
-	# See [0] below for what it means in a specific version.
-	#
-	# * freeglut
-	# We don't use system's freeglut because upstream has a special modified
-	# version of it that gives mupdf clipboard support. See bug #653298
-	#
-	# * mujs
-	# As of v1.15.0, mupdf started using symbols in mujs that were not part
-	# of any release. We then went back to using the bundled version of it.
-	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
-	# when bumping and check!
-	# See bug #685244
-	#
-	# * lmms2
-	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
-	# It is therefore not appropriate for us to unbundle it at this time.
-	#
-	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
-	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
-	local myemakeargs=(
-		GENTOO_PV=${PV}
-		HAVE_GLUT=$(usex opengl)
-		HAVE_LIBCRYPTO=$(usex ssl)
-		HAVE_X11=$(usex X)
-		USE_SYSTEM_LIBS=yes
-		USE_SYSTEM_MUJS=$(usex javascript)
-		USE_SYSTEM_GLUT=no
-		HAVE_OBJCOPY=no
-		"$@"
-	)
-
-	emake "${myemakeargs[@]}"
-}
-
-src_compile() {
-	tc-export PKG_CONFIG
-
-	_emake XCFLAGS="-fPIC"
-}
-
-src_install() {
-	if use opengl || use X ; then
-		domenu platform/debian/${PN}.desktop
-		doicon -s scalable docs/logo/new-${PN}-icon.svg
-	else
-		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
-	fi
-
-	sed -i \
-		-e "1iprefix = ${ED}/usr" \
-		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
-		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
-		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
-
-	_emake install
-
-	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
-
-	if use opengl ; then
-		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
-		dosym ${PN}-gl /usr/bin/${PN}
-	elif use X ; then
-		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
-		dosym ${PN}-x11 /usr/bin/${PN}
-	fi
-
-	# Respect libdir (bug #734898)
-	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc \
-		|| die "Failed to sed pkgconfig file to respect libdir in src_install()"
-
-	insinto /usr/$(get_libdir)/pkgconfig
-	doins platform/debian/${PN}.pc
-
-	dodoc README CHANGES CONTRIBUTORS
-}


^ permalink raw reply related	[flat|nested] 6+ messages in thread
* [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/
@ 2024-03-11  0:42 orbea
  0 siblings, 0 replies; 6+ messages in thread
From: orbea @ 2024-03-11  0:42 UTC (permalink / raw
  To: gentoo-commits

commit:     f53a38c35fb954c8a7fa05b3984daa0af0868a8c
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sun Mar 10 21:29:30 2024 +0000
Commit:     orbea <orbea <AT> riseup <DOT> net>
CommitDate: Sun Mar 10 21:29:30 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=f53a38c3

app-text/mupdf: new package, add 1.22.0-r1, 1.23.3-r1, 1.23.7-r1

Signed-off-by: orbea <orbea <AT> riseup.net>

 app-text/mupdf/Manifest                            |   3 +
 app-text/mupdf/files/mupdf-1.15-CFLAGS.patch       |  13 ++
 app-text/mupdf/files/mupdf-1.15-openssl-x11.patch  |  18 +++
 app-text/mupdf/files/mupdf-1.19.0-Makefile.patch   |  37 +++++
 .../mupdf/files/mupdf-1.19.0-cross-fixes.patch     | 130 ++++++++++++++++
 app-text/mupdf/files/mupdf-1.19.0-darwin.patch     |  39 +++++
 .../files/mupdf-1.21.0-add-desktop-pc-files.patch  |  33 ++++
 .../mupdf-1.21.1-fix-aliasing-violation.patch      |  63 ++++++++
 app-text/mupdf/files/mupdf-1.21.1-no-drm.patch     |  18 +++
 .../mupdf/files/mupdf-1.23.3-cross-fixes.patch     | 120 +++++++++++++++
 app-text/mupdf/files/mupdf-1.23.3-darwin.patch     |  45 ++++++
 .../mupdf/files/mupdf-1.23.3-openssl-x11.patch     |  19 +++
 app-text/mupdf/files/mupdf-1.23.7-libressl.patch   |  15 ++
 app-text/mupdf/metadata.xml                        |  15 ++
 app-text/mupdf/mupdf-1.22.0-r1.ebuild              | 165 ++++++++++++++++++++
 app-text/mupdf/mupdf-1.23.3-r1.ebuild              | 165 ++++++++++++++++++++
 app-text/mupdf/mupdf-1.23.7-r1.ebuild              | 166 +++++++++++++++++++++
 17 files changed, 1064 insertions(+)

diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
new file mode 100644
index 0000000..a835f7c
--- /dev/null
+++ b/app-text/mupdf/Manifest
@@ -0,0 +1,3 @@
+DIST mupdf-1.22.0-source.tar.gz 55043552 BLAKE2B 745a2fd1d0406acf4fa696585bcd21a4ff36e7539c1d45f886dfe5c9bbf966169e5183e89940d81e88db3014f1ebb0446ae1732b6c2fa25a135251853b71f1f7 SHA512 ba073b977306420343c969e6fec37cca4559031ad06cfdee2356edfdfa013ebe7654175aff931684fa48a935bf87f68537754b5e83f767517bc428ac07709a59
+DIST mupdf-1.23.3-source.tar.gz 55144800 BLAKE2B 816e2bf46c2431df9726976efeaa0d7ebd8809cbdd9331a747cca32088aaf21b70e9522614d1dc20c856cc597003be6285f866eae8bbde3098e702acfdea8465 SHA512 37fbebd07680d79a38d289264a4028396ee58fad52c541efa37463e63a45ed8bab71188d6c05eb15e602964d89ee6633575dceb972f7bd8b0b5efdde5af9b737
+DIST mupdf-1.23.7-source.tar.gz 55312697 BLAKE2B 7ceb7c1871d33b77d4a3d52ed2d1af514c09349df019a189fa7df8ad09648fae313d63de4c1ce6b0666d17f9a897d5ac788d0be2d8896d9b7e4e6ecf679bad7c SHA512 581a4a5a16041bb405fbd7c1b9fba47da5745f00cbdf30e0e0468bfe67ac542884193b5957b293a4cdfc52f043b4f19612086f294b93dbd242d34735a1088777

diff --git a/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch b/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
new file mode 100644
index 0000000..a7de530
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
@@ -0,0 +1,13 @@
+diff --git a/Makerules b/Makerules
+index 298b5737..71c307e6 100644
+--- a/Makerules
++++ b/Makerules
+@@ -21,8 +21,6 @@ SANITIZE_FLAGS += -fsanitize=address
+ SANITIZE_FLAGS += -fsanitize=leak
+ 
+ ifeq ($(build),debug)
+-  CFLAGS += -pipe -g
+-  LDFLAGS += -g
+ else ifeq ($(build),release)
+   CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
+   LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s

diff --git a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
new file mode 100644
index 0000000..3f3aac4
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
@@ -0,0 +1,18 @@
+--- a/Makerules
++++ b/Makerules
+@@ -119,13 +119,13 @@ else ifeq ($(OS),Linux)
+ 	SYS_GLUT_LIBS := -lglut -lGL
+   endif
+ 
+-  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
++  HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+ 	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+ 	X11_LIBS := $(shell pkg-config --libs x11 xext)
+   endif
+ 
+-  HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
++  HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+ 	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+ 	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)

diff --git a/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch b/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
new file mode 100644
index 0000000..b266655
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
@@ -0,0 +1,37 @@
+diff --git a/Makefile b/Makefile
+index 7fa74b3..e842374 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@
+ -include user.make
+ 
+ ifndef build
+-  build := release
++  build := debug
+ endif
+ 
+ default: all
+@@ -252,17 +252,19 @@ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
+ $(THREAD_LIB) : $(THREAD_OBJ)
+ $(PKCS7_LIB) : $(PKCS7_OBJ)
+ else
+-MUPDF_LIB = $(OUT)/libmupdf.a
++MUPDF_LIB = libmupdf.so.$(GENTOO_PV) 
+ LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB)
+-THIRD_LIB = $(OUT)/libmupdf-third.a
++THIRD_LIB = 
++MUPDF_STATIC = $(OUT)/libmupdf.a
+ ifneq ($(USE_SYSTEM_GLUT),yes)
+ THIRD_GLUT_LIB = $(OUT)/libmupdf-glut.a
+ endif
+ THREAD_LIB = $(OUT)/libmupdf-threads.a
+ PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
+ 
+-$(MUPDF_LIB) : $(MUPDF_OBJ)
+-$(THIRD_LIB) : $(THIRD_OBJ)
++$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ)
++	$(QUIET_LINK) $(CC) $(LDFLAGS) --shared -Wl,-soname -Wl,$(MUPDF_LIB) -o $@ $^ $(THIRD_LIBS) $(LIBS)
++$(MUPDF_STATIC): $(MUPDF_OBJ) $(THIRD_OBJ)
+ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
+ $(THREAD_LIB) : $(THREAD_OBJ)
+ $(PKCS7_LIB) : $(PKCS7_OBJ)

diff --git a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
new file mode 100644
index 0000000..643b6d2
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
@@ -0,0 +1,130 @@
+Refreshed patches based on:
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
+--- a/Makefile
++++ b/Makefile
+@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
+
+ HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
+
++$(HEXDUMP_EXE): scripts/hexdump.c
++	$(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
++
+ FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
+ FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
+ FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
+--- a/Makerules
++++ b/Makerules
+@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
+ OS := $(OS:Windows_NT=MINGW)
+ OS := $(OS:Darwin=MACOS)
+ 
++PKG_CONFIG ?= pkg-config
++CC_FOR_BUILD ?= $(CC)
++
+ WARNING_CFLAGS := -Wall -Wsign-compare
+ 
+ # Feature configuration options
+@@ -156,51 +159,51 @@ else ifeq ($(OS),MACOS)
+   endif
+ endif
+ 
+-  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+-	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+-	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
++	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
++	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
+   endif
+-  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
+-	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
+-	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
++	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
++	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
+   endif
+-  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
+-	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
+-	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
++	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
++	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
+   endif
+-  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
+-	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
+-	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
++  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
++	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
++	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
+   endif
+-  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
+-	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
+-	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
++  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
++	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
++	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
+   endif
+-  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
+-	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
+-	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
++	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
++	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
+   endif
+-  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
+-	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+-	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
++  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
++	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
++	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
+   endif
+ 
+-  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
++  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
+   ifeq ($(HAVE_SYS_LEPTONICA),yes)
+-	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
+-	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
++	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
++	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
+   endif
+ 
+-  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
++  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
+   ifeq ($(HAVE_SYS_TESSERACT),yes)
+-	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
+-	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
++	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
++	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
+   endif
+ 
+-  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
+   ifeq ($(HAVE_SYS_CURL),yes)
+-	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+-	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
++	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
+   endif
+ 
+   HAVE_GLUT := yes
+@@ -209,16 +212,16 @@ endif
+ 	SYS_GLUT_LIBS := -lglut -lGL
+   endif
+ 
+   HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+-	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+-	X11_LIBS := $(shell pkg-config --libs x11 xext)
++	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
++	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
+   endif
+ 
+   HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+-	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+-	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
++	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
+   endif
+ 
+   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
new file mode 100644
index 0000000..a81c7a0
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
@@ -0,0 +1,39 @@
+--- a/Makerules
++++ b/Makerules
+@@ -139,11 +139,11 @@ ifeq ($(OS),MINGW)
+ else ifeq ($(OS),MACOS)
+   HAVE_GLUT := yes
+   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
+-  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
+-  CC = xcrun cc
+-  AR = xcrun ar
+-  LD = xcrun ld
+-  RANLIB = xcrun ranlib
++  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
++  CC ?= xcrun cc
++  AR ?= xcrun ar
++  LD ?= xcrun ld
++  RANLIB ?= xcrun ranlib
+ 
+   ifeq (, $(shell which pkg-config))
+     $(warning "No pkg-config found, install it for proper integration of libcrypto")
+@@ -154,9 +154,7 @@ else ifeq ($(OS),MACOS)
+ 	  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+     endif
+   endif
+-
+-else ifeq ($(OS),Linux)
+-  HAVE_OBJCOPY := yes
++endif
+ 
+   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+ 	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+@@ -229,8 +227,6 @@ else ifeq ($(OS),Linux)
+ 	PTHREAD_LIBS := -lpthread
+   endif
+ 
+-endif
+-
+ # The following section has various cross compilation configurations.
+ #
+ # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.21.0-add-desktop-pc-files.patch b/app-text/mupdf/files/mupdf-1.21.0-add-desktop-pc-files.patch
new file mode 100644
index 0000000..4d449a2
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.21.0-add-desktop-pc-files.patch
@@ -0,0 +1,33 @@
+--- /dev/null
++++ ./platform/debian/mupdf.desktop
+@@ -0,0 +1,15 @@
++[Desktop Entry]
++Name=MuPDF
++GenericName=PDF file viewer
++Exec=mupdf %f
++TryExec=mupdf
++Icon=new-mupdf-icon
++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: freetype2 libopenjp2 libcrypto
++Version: 0.5.0
++Libs: -L${libdir} -lmupdf
++Libs.private: -lmupdf-js-none
++Cflags: -I${includedir}

diff --git a/app-text/mupdf/files/mupdf-1.21.1-fix-aliasing-violation.patch b/app-text/mupdf/files/mupdf-1.21.1-fix-aliasing-violation.patch
new file mode 100644
index 0000000..4f51f72
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.21.1-fix-aliasing-violation.patch
@@ -0,0 +1,63 @@
+https://bugs.gentoo.org/859847
+
+From 8c6f6bf3ad2fd33d15de6ee96175cd29bf804d9f Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Tue, 26 Jul 2022 15:47:02 -0400
+Subject: [PATCH] Fix aliasing violation
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Noticed when compiling with link-time optimizations.
+
+include/GL/freeglut_std.h:240:18: error: type of `glutBitmapHelvetica18` does not match original declaration [-Werror=lto-type-mismatch]
+  240 |     extern void* glutBitmapHelvetica18;
+      |                  ^
+src/x11/fg_glutfont_definitions_x11.c:103:27: note: `glutBitmapHelvetica18` was previously declared here
+  103 | struct freeglutBitmapFont glutBitmapHelvetica18 ;
+      |                           ^
+src/x11/fg_glutfont_definitions_x11.c:103:27: note: code may be misoptimized unless `-fno-strict-aliasing` is used
+---
+ src/x11/fg_glutfont_definitions_x11.c | 29 ++++++++++++++++++---------
+ 1 file changed, 20 insertions(+), 9 deletions(-)
+
+--- a/thirdparty/freeglut/src/x11/fg_glutfont_definitions_x11.c
++++ b/thirdparty/freeglut/src/x11/fg_glutfont_definitions_x11.c
+@@ -91,14 +91,25 @@ struct freeglutBitmapFont
+ };
+ 
+ 
+-struct freeglutStrokeFont glutStrokeRoman ;
+-struct freeglutStrokeFont glutStrokeMonoRoman ;
++static struct freeglutStrokeFont glutStrokeRoman_ ;
++static struct freeglutStrokeFont glutStrokeMonoRoman_ ;
+ 
+-struct freeglutBitmapFont glutBitmap9By15 ;
+-struct freeglutBitmapFont glutBitmap8By13 ;
+-struct freeglutBitmapFont glutBitmapTimesRoman10 ;
+-struct freeglutBitmapFont glutBitmapTimesRoman24 ;
+-struct freeglutBitmapFont glutBitmapHelvetica10 ;
+-struct freeglutBitmapFont glutBitmapHelvetica12 ;
+-struct freeglutBitmapFont glutBitmapHelvetica18 ;
++static struct freeglutBitmapFont glutBitmap9By15_ ;
++static struct freeglutBitmapFont glutBitmap8By13_ ;
++static struct freeglutBitmapFont glutBitmapTimesRoman10_ ;
++static struct freeglutBitmapFont glutBitmapTimesRoman24_ ;
++static struct freeglutBitmapFont glutBitmapHelvetica10_ ;
++static struct freeglutBitmapFont glutBitmapHelvetica12_ ;
++static struct freeglutBitmapFont glutBitmapHelvetica18_ ;
+ 
++
++void *glutStrokeRoman = &glutStrokeRoman_ ;
++void *glutStrokeMonoRoman = &glutStrokeMonoRoman_ ;
++
++void *glutBitmap9By15 = &glutBitmap9By15_ ;
++void *glutBitmap8By13 = &glutBitmap8By13_ ;
++void *glutBitmapTimesRoman10 = &glutBitmapTimesRoman10_ ;
++void *glutBitmapTimesRoman24 = &glutBitmapTimesRoman24_ ;
++void *glutBitmapHelvetica10 = &glutBitmapHelvetica10_ ;
++void *glutBitmapHelvetica12 = &glutBitmapHelvetica12_ ;
++void *glutBitmapHelvetica18 = &glutBitmapHelvetica18_ ;
+-- 
+2.35.1
+

diff --git a/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch b/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch
new file mode 100644
index 0000000..9f2b9d6
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.21.1-no-drm.patch
@@ -0,0 +1,18 @@
+diff --git a/source/html/epub-doc.c b/source/html/epub-doc.c
+index f764242..83888dc 100644
+--- a/source/html/epub-doc.c
++++ b/source/html/epub-doc.c
+@@ -692,10 +692,12 @@ epub_parse_header(fz_context *ctx, epub_document *doc)
+ 	epub_chapter **tailp;
+ 	int i;
+ 
++	#ifdef GENTOO_MUPDF_DRM
+	if (fz_has_archive_entry(ctx, zip, "META-INF/rights.xml"))
+ 		fz_throw(ctx, FZ_ERROR_GENERIC, "EPUB is locked by DRM");
+ 	if (fz_has_archive_entry(ctx, zip, "META-INF/encryption.xml"))
+ 		fz_throw(ctx, FZ_ERROR_GENERIC, "EPUB is locked by DRM");
++	#endif
+ 
+ 	fz_var(buf);
+ 	fz_var(container_xml);
+

diff --git a/app-text/mupdf/files/mupdf-1.23.3-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.23.3-cross-fixes.patch
new file mode 100644
index 0000000..02fa3bf
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.23.3-cross-fixes.patch
@@ -0,0 +1,120 @@
+Refreshed patches based on:
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
+--- a/Makerules
++++ b/Makerules
+@@ -9,6 +9,9 @@ ifeq ($(OS),)
+   OS := $(OS:Darwin=MACOS)
+ endif
+ 
++PKG_CONFIG ?= pkg-config
++CC_FOR_BUILD ?= $(CC)
++
+ WARNING_CFLAGS := -Wall -Wsign-compare
+ 
+ # Feature configuration options
+@@ -190,51 +193,51 @@ else ifeq ($(OS),Linux)
+     LDFLAGS += -sTOTAL_MEMORY=48MB
+   endif
+ 
+-  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+-	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+-	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
++	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
++	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
+   endif
+-  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
+-	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
+-	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
++	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
++	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
+   endif
+-  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
+-	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
+-	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
++	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
++	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
+   endif
+-  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
+-	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
+-	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
++  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
++	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
++	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
+   endif
+-  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
+-	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
+-	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
++  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
++	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
++	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
+   endif
+-  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
+-	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
+-	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
++	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
++	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
+   endif
+-  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
+-	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+-	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
++  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
++	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
++	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
+   endif
+ 
+-  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
++  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
+   ifeq ($(HAVE_SYS_LEPTONICA),yes)
+-	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
+-	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
++	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
++	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
+   endif
+ 
+-  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
++  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
+   ifeq ($(HAVE_SYS_TESSERACT),yes)
+-	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
+-	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
++	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
++	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
+   endif
+ 
+-  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
+   ifeq ($(HAVE_SYS_CURL),yes)
+-	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+-	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
++	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
+   endif
+ 
+   HAVE_GLUT := yes
+@@ -243,18 +246,18 @@ else ifeq ($(OS),Linux)
+ 	SYS_GLUT_LIBS := -lglut -lGL
+   endif
+ 
+   HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+-	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+-	X11_LIBS := $(shell pkg-config --libs x11 xext)
++	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
++	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
+   endif
+ 
+   ifeq ($(HAVE_LIBCRYPTO),)
+     HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   endif
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+-	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+-	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
++	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
+   endif
+ 
+   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.23.3-darwin.patch b/app-text/mupdf/files/mupdf-1.23.3-darwin.patch
new file mode 100644
index 0000000..c151d81
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.23.3-darwin.patch
@@ -0,0 +1,45 @@
+--- a/Makerules
++++ b/Makerules
+@@ -161,11 +161,11 @@ ifeq ($(OS),MINGW)
+ else ifeq ($(OS),MACOS)
+   HAVE_GLUT := yes
+   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
+-  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
+-  CC = xcrun cc
+-  AR = xcrun ar
+-  LD = xcrun ld
+-  RANLIB = xcrun ranlib
++  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
++  CC ?= xcrun cc
++  AR ?= xcrun ar
++  LD ?= xcrun ld
++  RANLIB ?= xcrun ranlib
+ 
+   ifneq ($(ARCHFLAGS),)
+     $(warning "MacOS with ARCHFLAGS set. Assuming we are building for arm64, and setting HAVE_LIBCRYPTO to no.")
+@@ -180,15 +180,7 @@ else ifeq ($(OS),MACOS)
+     endif
+   endif
+ 
+-else ifeq ($(OS),Linux)
+-  ifeq ($(PYODIDE_ROOT),)
+-    HAVE_OBJCOPY := yes
+-  else
+-    # Pyodide's ld does not support -b so we cannot use it to create object
+-    # files containing font data, so leave HAVE_OBJCOPY unset. And we need
+-    # extra memory when linking.
+-    LDFLAGS += -sTOTAL_MEMORY=48MB
+-  endif
++endif
+ 
+   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+ 	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+@@ -263,8 +255,6 @@ else ifeq ($(OS),Linux)
+ 	PTHREAD_LIBS := -lpthread
+   endif
+ 
+-endif
+-
+ # The following section has various cross compilation configurations.
+ #
+ # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.23.3-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.23.3-openssl-x11.patch
new file mode 100644
index 0000000..b91bd9a
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.23.3-openssl-x11.patch
@@ -0,0 +1,19 @@
+--- a/Makerules
++++ b/Makerules
+@@ -243,14 +243,14 @@ else ifeq ($(OS),Linux)
+ 	SYS_GLUT_LIBS := -lglut -lGL
+   endif
+ 
+-  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
++  HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+ 	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+ 	X11_LIBS := $(shell pkg-config --libs x11 xext)
+   endif
+ 
+   ifeq ($(HAVE_LIBCRYPTO),)
+-    HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
++    HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   endif
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+ 	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO

diff --git a/app-text/mupdf/files/mupdf-1.23.7-libressl.patch b/app-text/mupdf/files/mupdf-1.23.7-libressl.patch
new file mode 100644
index 0000000..02c91e3
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.23.7-libressl.patch
@@ -0,0 +1,15 @@
+EVP_add_digest is no longer needed with LibreSSL >= 3.9.0
+
+--- a/source/helpers/pkcs7/pkcs7-openssl.c
++++ b/source/helpers/pkcs7/pkcs7-openssl.c
+@@ -793,8 +793,10 @@ pdf_pkcs7_signer *pkcs7_openssl_read_pfx(fz_context *ctx, const char *pfile, con
+ 
+ 		OpenSSL_add_all_algorithms();
+ 
++#if !defined(LIBRESSL_VERSION_NUMBER) || (LIBRESSL_VERSION_NUMBER < 0x3090000fL)
+ 		EVP_add_digest(EVP_md5());
+ 		EVP_add_digest(EVP_sha1());
++#endif
+ 
+ 		ERR_load_crypto_strings();
+ 

diff --git a/app-text/mupdf/metadata.xml b/app-text/mupdf/metadata.xml
new file mode 100644
index 0000000..c0d6177
--- /dev/null
+++ b/app-text/mupdf/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person" proxied="yes">
+		<email>rndxelement@protonmail.com</email>
+		<name>Philipp Rösner</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<use>
+		<flag name="drm">Enable support for Digital rights management (DRM)</flag>
+	</use>
+</pkgmetadata>

diff --git a/app-text/mupdf/mupdf-1.22.0-r1.ebuild b/app-text/mupdf/mupdf-1.22.0-r1.ebuild
new file mode 100644
index 0000000..2d59cac
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.22.0-r1.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="+drm +javascript opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+	dev-libs/gumbo:=
+	media-libs/freetype:2
+	media-libs/harfbuzz:=[truetype]
+	media-libs/jbig2dec:=
+	media-libs/libpng:0=
+	>=media-libs/openjpeg-2.1:2=
+	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
+	javascript? ( >=dev-lang/mujs-1.2.0:= )
+	opengl? ( >=media-libs/freeglut-3.0.0 )
+	ssl? ( >=dev-libs/openssl-1.1:0= )
+	sys-libs/zlib
+	X? (
+		x11-libs/libX11
+		x11-libs/libXext
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="X? ( x11-base/xorg-proto )
+	virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
+	"${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
+	"${FILESDIR}"/${PN}-1.19.0-darwin.patch
+	# See bugs #662352
+	"${FILESDIR}"/${PN}-1.15-openssl-x11.patch
+	# General cross fixes from Debian (refreshed)
+	"${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
+	"${FILESDIR}"/${PN}-1.21.1-no-drm.patch
+	"${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
+	"${FILESDIR}"/${PN}-1.23.7-libressl.patch
+)
+
+src_prepare() {
+	default
+
+	use hppa && append-cflags -ffunction-sections
+
+	use drm && append-cflags -DGENTOO_MUPDF_DRM
+
+	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+	sed -e "1iOS = Linux" \
+		-e "1iCC = $(tc-getCC)" \
+		-e "1iCXX = $(tc-getCXX)" \
+		-e "1iLD = $(tc-getLD)" \
+		-e "1iAR = $(tc-getAR)" \
+		-e "1iverbose = yes" \
+		-e "1ibuild = debug" \
+		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+
+	# Adjust MuPDF version in .pc file created by the
+	# mupdf-1.10a-add-desktop-pc-xpm-files.patch file
+	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
+		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
+}
+
+_emake() {
+	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+	#
+	# Bundled libs
+	# * General
+	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+	# recommendations. It does not mean "always use system libs".
+	# See [0] below for what it means in a specific version.
+	#
+	# * freeglut
+	# We don't use system's freeglut because upstream has a special modified
+	# version of it that gives mupdf clipboard support. See bug #653298
+	#
+	# * mujs
+	# As of v1.15.0, mupdf started using symbols in mujs that were not part
+	# of any release. We then went back to using the bundled version of it.
+	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+	# when bumping and check!
+	# See bug #685244
+	#
+	# * lmms2
+	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+	# It is therefore not appropriate for us to unbundle it at this time.
+	#
+	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+	local myemakeargs=(
+		GENTOO_PV=${PV}
+		HAVE_GLUT=$(usex opengl)
+		HAVE_LIBCRYPTO=$(usex ssl)
+		HAVE_X11=$(usex X)
+		USE_SYSTEM_LIBS=yes
+		USE_SYSTEM_MUJS=$(usex javascript)
+		USE_SYSTEM_GLUT=no
+		HAVE_OBJCOPY=no
+		"$@"
+	)
+
+	emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	_emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+	if use opengl || use X ; then
+		domenu platform/debian/${PN}.desktop
+		doicon -s scalable docs/logo/new-${PN}-icon.svg
+	else
+		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+	fi
+
+	sed -i \
+		-e "1iprefix = ${ED}/usr" \
+		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+	_emake install
+
+	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+	if use opengl ; then
+		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+		dosym ${PN}-gl /usr/bin/${PN}
+	elif use X ; then
+		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+		dosym ${PN}-x11 /usr/bin/${PN}
+	fi
+
+	# Respect libdir (bug #734898)
+	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc \
+		|| die "Failed to sed pkgconfig file to respect libdir in src_install()"
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins platform/debian/${PN}.pc
+
+	dodoc README CHANGES CONTRIBUTORS
+}

diff --git a/app-text/mupdf/mupdf-1.23.3-r1.ebuild b/app-text/mupdf/mupdf-1.23.3-r1.ebuild
new file mode 100644
index 0000000..ff5f1e0
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.23.3-r1.ebuild
@@ -0,0 +1,165 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+IUSE="+javascript opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+	dev-libs/gumbo:=
+	media-libs/freetype:2
+	media-libs/harfbuzz:=[truetype]
+	media-libs/jbig2dec:=
+	media-libs/libpng:0=
+	>=media-libs/openjpeg-2.1:2=
+	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
+	net-misc/curl
+	javascript? ( >=dev-lang/mujs-1.2.0:= )
+	opengl? ( >=media-libs/freeglut-3.0.0 )
+	ssl? ( >=dev-libs/openssl-1.1:0= )
+	sys-libs/zlib
+	X? (
+		media-libs/libglvnd[X]
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXrandr
+	)
+"
+DEPEND="${RDEPEND}
+	X? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
+	"${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
+	"${FILESDIR}"/${P}-darwin.patch
+	# See bugs #662352
+	"${FILESDIR}"/${P}-openssl-x11.patch
+	# General cross fixes from Debian (refreshed)
+	"${FILESDIR}"/${P}-cross-fixes.patch
+	"${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
+	"${FILESDIR}"/${PN}-1.23.7-libressl.patch
+)
+
+src_prepare() {
+	default
+
+	use hppa && append-cflags -ffunction-sections
+
+	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+	sed -e "1iOS = Linux" \
+		-e "1iCC = $(tc-getCC)" \
+		-e "1iCXX = $(tc-getCXX)" \
+		-e "1iLD = $(tc-getLD)" \
+		-e "1iAR = $(tc-getAR)" \
+		-e "1iverbose = yes" \
+		-e "1ibuild = debug" \
+		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+
+	# Adjust MuPDF version in .pc file created by the
+	# mupdf-1.10a-add-desktop-pc-xpm-files.patch file
+	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
+		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
+}
+
+_emake() {
+	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+	#
+	# Bundled libs
+	# * General
+	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+	# recommendations. It does not mean "always use system libs".
+	# See [0] below for what it means in a specific version.
+	#
+	# * freeglut
+	# We don't use system's freeglut because upstream has a special modified
+	# version of it that gives mupdf clipboard support. See bug #653298
+	#
+	# * mujs
+	# As of v1.15.0, mupdf started using symbols in mujs that were not part
+	# of any release. We then went back to using the bundled version of it.
+	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+	# when bumping and check!
+	# See bug #685244
+	#
+	# * lmms2
+	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+	# It is therefore not appropriate for us to unbundle it at this time.
+	#
+	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+	local myemakeargs=(
+		GENTOO_PV=${PV}
+		HAVE_GLUT=$(usex opengl)
+		HAVE_LIBCRYPTO=$(usex ssl)
+		HAVE_X11=$(usex X)
+		USE_SYSTEM_LIBS=yes
+		USE_SYSTEM_MUJS=$(usex javascript)
+		USE_SYSTEM_GLUT=no
+		HAVE_OBJCOPY=no
+		"$@"
+	)
+
+	emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	_emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+	if use opengl || use X ; then
+		domenu platform/debian/${PN}.desktop
+		doicon -s scalable docs/logo/new-${PN}-icon.svg
+	else
+		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+	fi
+
+	sed -i \
+		-e "1iprefix = ${ED}/usr" \
+		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+	_emake install
+
+	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+	if use opengl ; then
+		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+		dosym ${PN}-gl /usr/bin/${PN}
+	elif use X ; then
+		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+		dosym ${PN}-x11 /usr/bin/${PN}
+	fi
+
+	# Respect libdir (bug #734898)
+	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc \
+		|| die "Failed to sed pkgconfig file to respect libdir in src_install()"
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins platform/debian/${PN}.pc
+
+	dodoc README CHANGES CONTRIBUTORS
+}

diff --git a/app-text/mupdf/mupdf-1.23.7-r1.ebuild b/app-text/mupdf/mupdf-1.23.7-r1.ebuild
new file mode 100644
index 0000000..f2f5248
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.23.7-r1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="+javascript opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+	dev-libs/gumbo:=
+	media-libs/freetype:2
+	media-libs/harfbuzz:=[truetype]
+	media-libs/jbig2dec:=
+	media-libs/libpng:0=
+	>=media-libs/openjpeg-2.1:2=
+	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
+	net-misc/curl
+	javascript? ( >=dev-lang/mujs-1.2.0:= )
+	opengl? ( >=media-libs/freeglut-3.0.0 )
+	ssl? ( >=dev-libs/openssl-1.1:0= )
+	sys-libs/zlib
+	X? (
+		media-libs/libglvnd[X]
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXrandr
+	)
+"
+DEPEND="${RDEPEND}
+	X? ( x11-base/xorg-proto )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
+	"${FILESDIR}"/${PN}-1.21.0-add-desktop-pc-files.patch
+	"${FILESDIR}"/${PN}-1.23.3-darwin.patch
+	# See bugs #662352
+	"${FILESDIR}"/${PN}-1.23.3-openssl-x11.patch
+	# General cross fixes from Debian (refreshed)
+	"${FILESDIR}"/${PN}-1.23.3-cross-fixes.patch
+	"${FILESDIR}"/${PN}-1.21.1-fix-aliasing-violation.patch
+	"${FILESDIR}"/${PN}-1.23.7-libressl.patch
+)
+
+src_prepare() {
+	default
+
+	use hppa && append-cflags -ffunction-sections
+
+	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+	sed -e "1iOS = Linux" \
+		-e "1iCC = $(tc-getCC)" \
+		-e "1iCXX = $(tc-getCXX)" \
+		-e "1iLD = $(tc-getLD)" \
+		-e "1iAR = $(tc-getAR)" \
+		-e "1iverbose = yes" \
+		-e "1ibuild = debug" \
+		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+
+	# Adjust MuPDF version in .pc file created by the
+	# mupdf-1.21.0-add-desktop-pc-files.patch file
+	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
+		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
+}
+
+_emake() {
+	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+	#
+	# Bundled libs
+	# * General
+	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+	# recommendations. It does not mean "always use system libs".
+	# See [0] below for what it means in a specific version.
+	#
+	# * freeglut
+	# We don't use system's freeglut because upstream has a special modified
+	# version of it that gives mupdf clipboard support. See bug #653298
+	#
+	# * mujs
+	# As of v1.15.0, mupdf started using symbols in mujs that were not part
+	# of any release. We then went back to using the bundled version of it.
+	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+	# when bumping and check!
+	# See bug #685244
+	#
+	# * lmms2
+	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+	# It is therefore not appropriate for us to unbundle it at this time.
+	#
+	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+	local myemakeargs=(
+		GENTOO_PV=${PV}
+		HAVE_GLUT=$(usex opengl)
+		HAVE_LIBCRYPTO=$(usex ssl)
+		HAVE_X11=$(usex X)
+		USE_SYSTEM_LIBS=yes
+		USE_SYSTEM_MUJS=$(usex javascript)
+		USE_SYSTEM_GLUT=no
+		HAVE_OBJCOPY=no
+		"$@"
+	)
+
+	emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	_emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+	if use opengl || use X ; then
+		domenu platform/debian/${PN}.desktop
+		doicon -s scalable docs/logo/new-${PN}-icon.svg
+	else
+		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+	fi
+
+	sed -i \
+		-e "1iprefix = ${ED}/usr" \
+		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+	_emake install
+
+	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+	if use opengl ; then
+		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+		dosym ${PN}-gl /usr/bin/${PN}
+	elif use X ; then
+		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+		dosym ${PN}-x11 /usr/bin/${PN}
+	fi
+
+	# Respect libdir and EPREFIX (bugs #734898, #911965)
+	sed -i -e "s:/lib:/$(get_libdir):" \
+		-e "s:/usr:${EPREFIX}/usr:" platform/debian/${PN}.pc \
+		|| die "Failed to sed pkgconfig file to respect libdir and EPREFIX in src_install()"
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins platform/debian/${PN}.pc
+
+	dodoc README CHANGES CONTRIBUTORS
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread
* [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/
@ 2022-12-08 18:31 Quentin Retornaz
  0 siblings, 0 replies; 6+ messages in thread
From: Quentin Retornaz @ 2022-12-08 18:31 UTC (permalink / raw
  To: gentoo-commits

commit:     cfde5b6a4a1b9620af9702fc62230054828a163b
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Thu Dec  8 16:32:56 2022 +0000
Commit:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
CommitDate: Thu Dec  8 18:31:23 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=cfde5b6a

app-text/mupdf: Merge ::gentoo changes

Signed-off-by: orbea <orbea <AT> riseup.net>
Closes: https://github.com/gentoo/libressl/pull/480
Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>

 app-text/mupdf/files/mupdf-1.18-Makefile.patch     |  42 -------
 .../mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch   |  51 --------
 .../mupdf/files/mupdf-1.18.0-cross-fixes.patch     | 128 ---------------------
 app-text/mupdf/files/mupdf-1.18.0-darwin.patch     |  41 -------
 .../files/mupdf-1.18.0-fix-oob-in-pdf-layer.c      | 102 ----------------
 .../mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c   |  41 -------
 app-text/mupdf/mupdf-1.20.3.ebuild                 |   2 +-
 7 files changed, 1 insertion(+), 406 deletions(-)

diff --git a/app-text/mupdf/files/mupdf-1.18-Makefile.patch b/app-text/mupdf/files/mupdf-1.18-Makefile.patch
deleted file mode 100644
index 32ee7e5..0000000
--- a/app-text/mupdf/files/mupdf-1.18-Makefile.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/Makefile b/Makefile
-index b0fb617..528e117 100644
---- a/Makefile
-+++ b/Makefile
-@@ -3,7 +3,7 @@
- -include user.make
- 
- ifndef build
--  build := release
-+  build := debug
- endif
- 
- ifndef OUT
-@@ -214,13 +214,15 @@ MUPDF_LIB = $(OUT)/libmupdf.$(SO)
- 
- $(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ) $(THREAD_OBJ) $(PKCS7_OBJ)
- else
--MUPDF_LIB = $(OUT)/libmupdf.a
--THIRD_LIB = $(OUT)/libmupdf-third.a
-+MUPDF_LIB = libmupdf.so.$(GENTOO_PV)
-+MUPDF_STATIC = $(OUT)/libmupdf.a
-+THIRD_LIB = 
- THREAD_LIB = $(OUT)/libmupdf-threads.a
- PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
- 
--$(MUPDF_LIB) : $(MUPDF_OBJ)
--$(THIRD_LIB) : $(THIRD_OBJ)
-+$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ)
-+	$(QUIET_LINK) $(CC) $(LDFLAGS) --shared -Wl,-soname -Wl,$(MUPDF_LIB) -o $@ $^ $(THIRD_LIBS) $(LIBS)
-+$(MUPDF_STATIC): $(MUPDF_OBJ) $(THIRD_OBJ)
- $(THREAD_LIB) : $(THREAD_OBJ)
- $(PKCS7_LIB) : $(PKCS7_OBJ)
- endif
-@@ -374,7 +376,7 @@ install: libs apps
- 
- 	install -d $(DESTDIR)$(docdir)
- 	install -d $(DESTDIR)$(docdir)/examples
--	install -m 644 README COPYING CHANGES $(DESTDIR)$(docdir)
-+	install -m 644 README CHANGES $(DESTDIR)$(docdir)
- 	install -m 644 docs/*.html docs/*.css docs/*.png $(DESTDIR)$(docdir)
- 	install -m 644 docs/examples/* $(DESTDIR)$(docdir)/examples
- 

diff --git a/app-text/mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch b/app-text/mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch
deleted file mode 100644
index 566ee56..0000000
--- a/app-text/mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-https://bugs.gentoo.org/772311
-
-From cee7cefc610d42fd383b3c80c12cbc675443176a Mon Sep 17 00:00:00 2001
-From: Robin Watts <Robin.Watts@artifex.com>
-Date: Fri, 22 Jan 2021 17:05:15 +0000
-Subject: [PATCH 1/1] Bug 703366: Fix double free of object during
- linearization.
-
-This appears to happen because we parse an illegal object from
-a broken file and assign it to object 0, which is defined to
-be free.
-
-Here, we fix the parsing code so this can't happen.
----
- source/pdf/pdf-parse.c | 6 ++++++
- source/pdf/pdf-xref.c  | 2 ++
- 2 files changed, 8 insertions(+)
-
-diff --git a/source/pdf/pdf-parse.c b/source/pdf/pdf-parse.c
-index 7abc8c3d4..5761c3351 100644
---- a/source/pdf/pdf-parse.c
-+++ b/source/pdf/pdf-parse.c
-@@ -749,6 +749,12 @@ pdf_parse_ind_obj(fz_context *ctx, pdf_document *doc,
- 		fz_throw(ctx, FZ_ERROR_SYNTAX, "expected generation number (%d ? obj)", num);
- 	}
- 	gen = buf->i;
-+	if (gen < 0 || gen >= 65536)
-+	{
-+		if (try_repair)
-+			*try_repair = 1;
-+		fz_throw(ctx, FZ_ERROR_SYNTAX, "invalid generation number (%d)", gen);
-+	}
- 
- 	tok = pdf_lex(ctx, file, buf);
- 	if (tok != PDF_TOK_OBJ)
-diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
-index 1b2bdcd59..30197b4b8 100644
---- a/source/pdf/pdf-xref.c
-+++ b/source/pdf/pdf-xref.c
-@@ -1190,6 +1190,8 @@ pdf_read_new_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf)
- 	{
- 		ofs = fz_tell(ctx, doc->file);
- 		trailer = pdf_parse_ind_obj(ctx, doc, doc->file, buf, &num, &gen, &stm_ofs, NULL);
-+		if (num == 0)
-+			fz_throw(ctx, FZ_ERROR_GENERIC, "Trailer object number cannot be 0\n");
- 	}
- 	fz_catch(ctx)
- 	{
--- 
-2.17.1
-

diff --git a/app-text/mupdf/files/mupdf-1.18.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.18.0-cross-fixes.patch
deleted file mode 100644
index 0576033..0000000
--- a/app-text/mupdf/files/mupdf-1.18.0-cross-fixes.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-Refreshed patches based on:
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
-https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
---- a/Makefile
-+++ b/Makefile
-@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
- 
- HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
- 
-+$(HEXDUMP_EXE): scripts/hexdump.c
-+	$(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
-+
- FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
- FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
- FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
---- a/Makerules
-+++ b/Makerules
-@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
- OS := $(OS:Windows_NT=MINGW)
- OS := $(OS:Darwin=MACOS)
- 
-+PKG_CONFIG ?= pkg-config
-+CC_FOR_BUILD ?= $(CC)
-+
- ifeq ($(findstring -fembed-bitcode,$(XCFLAGS)),)
-   # clang does not support these in combination with -fembed-bitcode
-   CFLAGS += -ffunction-sections -fdata-sections
-@@ -128,51 +128,51 @@ else ifeq ($(OS),MACOS)
- else ifeq ($(OS),Linux)
-   HAVE_OBJCOPY := yes
- 
--  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
--	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
--	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
-+	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
-+	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
-   endif
--  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
--	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
--	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
-+  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
-+	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
-+	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
-   endif
--  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
--	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
--	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
-+  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
-+	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
-+	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
-   endif
--  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
--	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
--	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
-+	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
-+	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
-   endif
--  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
--	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
--	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
-+	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
-+	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
-   endif
--  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
--	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
--	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
-+  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
-+	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
-+	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
-   endif
--  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
--	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
--	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
-+  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
-+	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
-+	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
-   endif
- 
--  HAVE_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
-+  HAVE_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
-   ifeq ($(HAVE_LEPTONICA),yes)
--	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
--	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
-+	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
-+	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
-   endif
- 
--  HAVE_TESSERACT := $(shell pkg-config --exists 'tesseract-ocr >= 4.0.0' && echo yes)
-+  HAVE_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract-ocr >= 4.0.0' && echo yes)
-   ifeq ($(HAVE_TESSERACT),yes)
--	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
--	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
-+	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
-+	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
-   endif
- 
--  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
-+  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
-   ifeq ($(HAVE_SYS_CURL),yes)
--	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
--	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
-+	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
-+	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
-   endif
- 
-   HAVE_GLUT := yes
-@@ -183,14 +183,14 @@ else ifeq ($(OS),Linux)
- 
-   HAVE_X11 := not-unless-portage-tells-me
-   ifeq ($(HAVE_X11),yes)
--	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
--	X11_LIBS := $(shell pkg-config --libs x11 xext)
-+	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
-+	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
-   endif
- 
-   HAVE_LIBCRYPTO := not-unless-portage-tells-me
-   ifeq ($(HAVE_LIBCRYPTO),yes)
--	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
--	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
-+	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
-+	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
-   endif
- 
-   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.18.0-darwin.patch b/app-text/mupdf/files/mupdf-1.18.0-darwin.patch
deleted file mode 100644
index cdd8ccf..0000000
--- a/app-text/mupdf/files/mupdf-1.18.0-darwin.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/Makerules
-+++ b/Makerules
-@@ -117,11 +117,11 @@ ifeq ($(OS),MINGW)
- else ifeq ($(OS),MACOS)
-   HAVE_GLUT := yes
-   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
--  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
--  CC = xcrun cc
--  AR = xcrun ar
--  LD = xcrun ld
--  RANLIB = xcrun ranlib
-+  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
-+  CC ?= xcrun cc
-+  AR ?= xcrun ar
-+  LD ?= xcrun ld
-+  RANLIB ?= xcrun ranlib
- 
- else ifeq ($(OS),Linux)
-   HAVE_OBJCOPY := yes
---- a/Makerules
-+++ b/Makerules
-@@ -122,9 +122,7 @@ else ifeq ($(OS),MACOS)
-   AR ?= xcrun ar
-   LD ?= xcrun ld
-   RANLIB ?= xcrun ranlib
--
--else ifeq ($(OS),Linux)
--  HAVE_OBJCOPY := yes
-+endif
- 
-   ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
- 	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
-@@ -197,8 +195,6 @@ else ifeq ($(OS),Linux)
- 	PTHREAD_LIBS := -lpthread
-   endif
- 
--endif
--
- # The following section has various cross compilation configurations.
- #
- # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pdf-layer.c b/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pdf-layer.c
deleted file mode 100644
index dc4000b..0000000
--- a/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pdf-layer.c
+++ /dev/null
@@ -1,102 +0,0 @@
-From b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54 Mon Sep 17 00:00:00 2001
-From: Robin Watts <Robin.Watts@artifex.com>
-Date: Thu, 8 Oct 2020 16:15:40 +0100
-Subject: [PATCH] Bug 701297: Harden populate_ui against unexpected repairs.
-
-We count the number of layers, and allocate space for them in
-an array. We then walk the tree reading details of those layers
-in. If we hit a problem that causes a repair while reading the
-information, the number of layers can magically increase. In
-the existing code we run off the end of the array.
-
-In the new code we watch for hitting the end of the array and
-realloc as required.
----
- source/pdf/pdf-layer.c | 32 +++++++++++++++++++++++++-------
- 1 file changed, 25 insertions(+), 7 deletions(-)
-
-diff --git a/source/pdf/pdf-layer.c b/source/pdf/pdf-layer.c
-index 177f0c947..b8e9d7cad 100644
---- a/source/pdf/pdf-layer.c
-+++ b/source/pdf/pdf-layer.c
-@@ -104,10 +104,27 @@ count_entries(fz_context *ctx, pdf_obj *obj)
- }
- 
- static pdf_ocg_ui *
--populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *order, int depth, pdf_obj *rbgroups, pdf_obj *locked)
-+get_ocg_ui(fz_context *ctx, pdf_ocg_descriptor *desc, int fill)
-+{
-+	if (fill == desc->num_ui_entries)
-+	{
-+		/* Number of layers changed while parsing;
-+		 * probably due to a repair. */
-+		int newsize = desc->num_ui_entries * 2;
-+		if (newsize == 0)
-+			newsize = 4; /* Arbitrary non-zero */
-+		desc->ui = fz_realloc_array(ctx, desc->ui, newsize, pdf_ocg_ui);
-+		desc->num_ui_entries = newsize;
-+	}
-+	return &desc->ui[fill];
-+}
-+
-+static int
-+populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, int fill, pdf_obj *order, int depth, pdf_obj *rbgroups, pdf_obj *locked)
- {
- 	int len = pdf_array_len(ctx, order);
- 	int i, j;
-+	pdf_ocg_ui *ui;
- 
- 	for (i = 0; i < len; i++)
- 	{
-@@ -118,7 +135,7 @@ populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *
- 				continue;
- 
- 			fz_try(ctx)
--				ui = populate_ui(ctx, desc, ui, o, depth+1, rbgroups, locked);
-+				fill = populate_ui(ctx, desc, fill, o, depth+1, rbgroups, locked);
- 			fz_always(ctx)
- 				pdf_unmark_obj(ctx, o);
- 			fz_catch(ctx)
-@@ -126,14 +143,14 @@ populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *
- 
- 			continue;
- 		}
--		ui->depth = depth;
- 		if (pdf_is_string(ctx, o))
- 		{
-+			ui = get_ocg_ui(ctx, desc, fill++);
-+			ui->depth = depth;
- 			ui->ocg = -1;
- 			ui->name = pdf_to_str_buf(ctx, o);
- 			ui->button_flags = PDF_LAYER_UI_LABEL;
- 			ui->locked = 1;
--			ui++;
- 			continue;
- 		}
- 
-@@ -144,13 +161,14 @@ populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *
- 		}
- 		if (j == desc->len)
- 			continue; /* OCG not found in main list! Just ignore it */
-+		ui = get_ocg_ui(ctx, desc, fill++);
-+		ui->depth = depth;
- 		ui->ocg = j;
- 		ui->name = pdf_dict_get_string(ctx, o, PDF_NAME(Name), NULL);
- 		ui->button_flags = pdf_array_contains(ctx, o, rbgroups) ? PDF_LAYER_UI_RADIOBOX : PDF_LAYER_UI_CHECKBOX;
- 		ui->locked = pdf_array_contains(ctx, o, locked);
--		ui++;
- 	}
--	return ui;
-+	return fill;
- }
- 
- static void
-@@ -188,7 +206,7 @@ load_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_obj *ocprops, pdf_obj *oc
- 	desc->ui = Memento_label(fz_calloc(ctx, count, sizeof(pdf_ocg_ui)), "pdf_ocg_ui");
- 	fz_try(ctx)
- 	{
--		(void)populate_ui(ctx, desc, desc->ui, order, 0, rbgroups, locked);
-+		desc->num_ui_entries = populate_ui(ctx, desc, 0, order, 0, rbgroups, locked);
- 	}
- 	fz_catch(ctx)
- 	{

diff --git a/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c b/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c
deleted file mode 100644
index d19f059..0000000
--- a/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-From 32e4e8b4bcbacbf92af7c88337efae21986d9603 Mon Sep 17 00:00:00 2001
-From: Robin Watts <Robin.Watts@artifex.com>
-Date: Thu, 8 Oct 2020 18:10:28 +0100
-Subject: [PATCH] Bug 702958: Fix overflow in fz_clear_pixmap_with_value.
-
----
- source/fitz/pixmap.c | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c
-index 66873d214..80d8bb62f 100644
---- a/source/fitz/pixmap.c
-+++ b/source/fitz/pixmap.c
-@@ -555,7 +555,8 @@ void
- fz_clear_pixmap_with_value(fz_context *ctx, fz_pixmap *pix, int value)
- {
- 	unsigned char *s;
--	int w, h, n, stride, len;
-+	int w, h, n;
-+	ptrdiff_t stride, len;
- 	int alpha = pix->alpha;
- 
- 	w = pix->w;
-@@ -572,7 +573,7 @@ fz_clear_pixmap_with_value(fz_context *ctx, fz_pixmap *pix, int value)
- 
- 	n = pix->n;
- 	stride = pix->stride;
--	len = w * n;
-+	len = (ptrdiff_t)w * n;
- 
- 	s = pix->samples;
- 	if (value == 255 || !alpha)
-@@ -584,7 +585,7 @@ fz_clear_pixmap_with_value(fz_context *ctx, fz_pixmap *pix, int value)
- 		}
- 		while (h--)
- 		{
--			memset(s, value, (unsigned int)len);
-+			memset(s, value, len);
- 			s += stride;
- 		}
- 	}

diff --git a/app-text/mupdf/mupdf-1.20.3.ebuild b/app-text/mupdf/mupdf-1.20.3.ebuild
index 491449b..a02d3f0 100644
--- a/app-text/mupdf/mupdf-1.20.3.ebuild
+++ b/app-text/mupdf/mupdf-1.20.3.ebuild
@@ -15,7 +15,7 @@ S="${WORKDIR}"/${P}-source
 
 LICENSE="AGPL-3"
 SLOT="0/${PV}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 x86"
 IUSE="+javascript opengl ssl X"
 REQUIRED_USE="opengl? ( javascript )"
 


^ permalink raw reply related	[flat|nested] 6+ messages in thread
* [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/
@ 2022-10-07 21:11 Quentin Retornaz
  0 siblings, 0 replies; 6+ messages in thread
From: Quentin Retornaz @ 2022-10-07 21:11 UTC (permalink / raw
  To: gentoo-commits

commit:     e267d98ca8a3ff4d238255946114b0d6f9a74989
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Fri Oct  7 14:55:11 2022 +0000
Commit:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
CommitDate: Fri Oct  7 21:11:14 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=e267d98c

app-text/mupdf: Added

Signed-off-by: orbea <orbea <AT> riseup.net>
Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>

 app-text/mupdf/Manifest                            |   3 +
 .../mupdf-1.10a-add-desktop-pc-xpm-files.patch     | 533 +++++++++++++++++++++
 app-text/mupdf/files/mupdf-1.15-CFLAGS.patch       |  13 +
 app-text/mupdf/files/mupdf-1.15-openssl-x11.patch  |  18 +
 app-text/mupdf/files/mupdf-1.18-Makefile.patch     |  42 ++
 .../mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch   |  51 ++
 .../mupdf/files/mupdf-1.18.0-cross-fixes.patch     | 128 +++++
 app-text/mupdf/files/mupdf-1.18.0-darwin.patch     |  41 ++
 .../files/mupdf-1.18.0-fix-oob-in-pdf-layer.c      | 102 ++++
 .../mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c   |  41 ++
 app-text/mupdf/files/mupdf-1.19.0-Makefile.patch   |  37 ++
 .../mupdf/files/mupdf-1.19.0-cross-fixes.patch     | 130 +++++
 app-text/mupdf/files/mupdf-1.19.0-darwin.patch     |  39 ++
 app-text/mupdf/files/mupdf-1.20.0-lcms2.patch      |  69 +++
 app-text/mupdf/files/mupdf-1.20.3-libressl.patch   |  15 +
 app-text/mupdf/metadata.xml                        |  12 +
 app-text/mupdf/mupdf-1.19.1.ebuild                 | 154 ++++++
 app-text/mupdf/mupdf-1.20.0.ebuild                 | 160 +++++++
 app-text/mupdf/mupdf-1.20.3.ebuild                 | 161 +++++++
 19 files changed, 1749 insertions(+)

diff --git a/app-text/mupdf/Manifest b/app-text/mupdf/Manifest
new file mode 100644
index 0000000..f87bb21
--- /dev/null
+++ b/app-text/mupdf/Manifest
@@ -0,0 +1,3 @@
+DIST mupdf-1.19.1-source.tar.xz 64884172 BLAKE2B a0dc3783c70cee1b7eb48d1658eb48186e35a42513aa9e98f7155bb82ed771ed0c5d5032013d09d93cdca4f49deda65553fe0e1af7645893722dafa855b2c958 SHA512 d6bc5b6adb6a418de50021864f4b3a75da653fa534eeedbfe9875cb202efeb13efdec66b4d108ca8fa6b0dc76733468b214e5fdf331bebc35fc6f722203fa3f7
+DIST mupdf-1.20.0-source.tar.gz 88455853 BLAKE2B 686d8b02972fc6cb7fa4541e4f0561c11e616f800decd20a79f23b577977785633bd3e17e2007f621db97dab6db1fcf500ac8e283984fbe675a25e7a4301b75b SHA512 6837299c589ece9cc443b027433fa3eee545f5155aeb6359b7a43da239d2e99195e9ae3950ddec6cb6ebae77bc877573c6f89a90754c58723d7e87d9739ed1f4
+DIST mupdf-1.20.3-source.tar.gz 88457290 BLAKE2B b16abfd4d9ac8123f1be60350d6124b8f36b6e8260f266d4dc7798610819128519944de8179a9e5453bc28da695ef8557fd8d755439113e520a8cad19039e52f SHA512 ed3fe09971223c500fb85558bb3f8c4a605c82fca3cd2217cdf4758e44bdfe3ef4106c95037d7a8ea536117414e5acbfa14aa736bfb7e33e591050c12c07a0ee

diff --git a/app-text/mupdf/files/mupdf-1.10a-add-desktop-pc-xpm-files.patch b/app-text/mupdf/files/mupdf-1.10a-add-desktop-pc-xpm-files.patch
new file mode 100644
index 0000000..decab50
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.10a-add-desktop-pc-xpm-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: freetype2 libopenjp2 libcrypto
++Version: 0.5.0
++Libs: -L${libdir} -lmupdf
++Libs.private: -lmupdf-js-none
++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.15-CFLAGS.patch b/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
new file mode 100644
index 0000000..a7de530
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.15-CFLAGS.patch
@@ -0,0 +1,13 @@
+diff --git a/Makerules b/Makerules
+index 298b5737..71c307e6 100644
+--- a/Makerules
++++ b/Makerules
+@@ -21,8 +21,6 @@ SANITIZE_FLAGS += -fsanitize=address
+ SANITIZE_FLAGS += -fsanitize=leak
+ 
+ ifeq ($(build),debug)
+-  CFLAGS += -pipe -g
+-  LDFLAGS += -g
+ else ifeq ($(build),release)
+   CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
+   LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s

diff --git a/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
new file mode 100644
index 0000000..3f3aac4
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.15-openssl-x11.patch
@@ -0,0 +1,18 @@
+--- a/Makerules
++++ b/Makerules
+@@ -119,13 +119,13 @@ else ifeq ($(OS),Linux)
+ 	SYS_GLUT_LIBS := -lglut -lGL
+   endif
+ 
+-  HAVE_X11 := $(shell pkg-config --exists x11 xext && echo yes)
++  HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+ 	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+ 	X11_LIBS := $(shell pkg-config --libs x11 xext)
+   endif
+ 
+-  HAVE_LIBCRYPTO := $(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)
++  HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+ 	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+ 	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)

diff --git a/app-text/mupdf/files/mupdf-1.18-Makefile.patch b/app-text/mupdf/files/mupdf-1.18-Makefile.patch
new file mode 100644
index 0000000..32ee7e5
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.18-Makefile.patch
@@ -0,0 +1,42 @@
+diff --git a/Makefile b/Makefile
+index b0fb617..528e117 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@
+ -include user.make
+ 
+ ifndef build
+-  build := release
++  build := debug
+ endif
+ 
+ ifndef OUT
+@@ -214,13 +214,15 @@ MUPDF_LIB = $(OUT)/libmupdf.$(SO)
+ 
+ $(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ) $(THREAD_OBJ) $(PKCS7_OBJ)
+ else
+-MUPDF_LIB = $(OUT)/libmupdf.a
+-THIRD_LIB = $(OUT)/libmupdf-third.a
++MUPDF_LIB = libmupdf.so.$(GENTOO_PV)
++MUPDF_STATIC = $(OUT)/libmupdf.a
++THIRD_LIB = 
+ THREAD_LIB = $(OUT)/libmupdf-threads.a
+ PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
+ 
+-$(MUPDF_LIB) : $(MUPDF_OBJ)
+-$(THIRD_LIB) : $(THIRD_OBJ)
++$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ)
++	$(QUIET_LINK) $(CC) $(LDFLAGS) --shared -Wl,-soname -Wl,$(MUPDF_LIB) -o $@ $^ $(THIRD_LIBS) $(LIBS)
++$(MUPDF_STATIC): $(MUPDF_OBJ) $(THIRD_OBJ)
+ $(THREAD_LIB) : $(THREAD_OBJ)
+ $(PKCS7_LIB) : $(PKCS7_OBJ)
+ endif
+@@ -374,7 +376,7 @@ install: libs apps
+ 
+ 	install -d $(DESTDIR)$(docdir)
+ 	install -d $(DESTDIR)$(docdir)/examples
+-	install -m 644 README COPYING CHANGES $(DESTDIR)$(docdir)
++	install -m 644 README CHANGES $(DESTDIR)$(docdir)
+ 	install -m 644 docs/*.html docs/*.css docs/*.png $(DESTDIR)$(docdir)
+ 	install -m 644 docs/examples/* $(DESTDIR)$(docdir)/examples
+ 

diff --git a/app-text/mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch b/app-text/mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch
new file mode 100644
index 0000000..566ee56
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.18.0-CVE-2021-3407.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/772311
+
+From cee7cefc610d42fd383b3c80c12cbc675443176a Mon Sep 17 00:00:00 2001
+From: Robin Watts <Robin.Watts@artifex.com>
+Date: Fri, 22 Jan 2021 17:05:15 +0000
+Subject: [PATCH 1/1] Bug 703366: Fix double free of object during
+ linearization.
+
+This appears to happen because we parse an illegal object from
+a broken file and assign it to object 0, which is defined to
+be free.
+
+Here, we fix the parsing code so this can't happen.
+---
+ source/pdf/pdf-parse.c | 6 ++++++
+ source/pdf/pdf-xref.c  | 2 ++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/source/pdf/pdf-parse.c b/source/pdf/pdf-parse.c
+index 7abc8c3d4..5761c3351 100644
+--- a/source/pdf/pdf-parse.c
++++ b/source/pdf/pdf-parse.c
+@@ -749,6 +749,12 @@ pdf_parse_ind_obj(fz_context *ctx, pdf_document *doc,
+ 		fz_throw(ctx, FZ_ERROR_SYNTAX, "expected generation number (%d ? obj)", num);
+ 	}
+ 	gen = buf->i;
++	if (gen < 0 || gen >= 65536)
++	{
++		if (try_repair)
++			*try_repair = 1;
++		fz_throw(ctx, FZ_ERROR_SYNTAX, "invalid generation number (%d)", gen);
++	}
+ 
+ 	tok = pdf_lex(ctx, file, buf);
+ 	if (tok != PDF_TOK_OBJ)
+diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c
+index 1b2bdcd59..30197b4b8 100644
+--- a/source/pdf/pdf-xref.c
++++ b/source/pdf/pdf-xref.c
+@@ -1190,6 +1190,8 @@ pdf_read_new_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf)
+ 	{
+ 		ofs = fz_tell(ctx, doc->file);
+ 		trailer = pdf_parse_ind_obj(ctx, doc, doc->file, buf, &num, &gen, &stm_ofs, NULL);
++		if (num == 0)
++			fz_throw(ctx, FZ_ERROR_GENERIC, "Trailer object number cannot be 0\n");
+ 	}
+ 	fz_catch(ctx)
+ 	{
+-- 
+2.17.1
+

diff --git a/app-text/mupdf/files/mupdf-1.18.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.18.0-cross-fixes.patch
new file mode 100644
index 0000000..0576033
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.18.0-cross-fixes.patch
@@ -0,0 +1,128 @@
+Refreshed patches based on:
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
+--- a/Makefile
++++ b/Makefile
+@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
+ 
+ HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
+ 
++$(HEXDUMP_EXE): scripts/hexdump.c
++	$(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
++
+ FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
+ FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
+ FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
+--- a/Makerules
++++ b/Makerules
+@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
+ OS := $(OS:Windows_NT=MINGW)
+ OS := $(OS:Darwin=MACOS)
+ 
++PKG_CONFIG ?= pkg-config
++CC_FOR_BUILD ?= $(CC)
++
+ ifeq ($(findstring -fembed-bitcode,$(XCFLAGS)),)
+   # clang does not support these in combination with -fembed-bitcode
+   CFLAGS += -ffunction-sections -fdata-sections
+@@ -128,51 +128,51 @@ else ifeq ($(OS),MACOS)
+ else ifeq ($(OS),Linux)
+   HAVE_OBJCOPY := yes
+ 
+-  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+-	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+-	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
++	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
++	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
+   endif
+-  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
+-	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
+-	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
++	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
++	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
+   endif
+-  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
+-	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
+-	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
++	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
++	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
+   endif
+-  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
+-	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
+-	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
++  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
++	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
++	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
+   endif
+-  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
+-	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
+-	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
++  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
++	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
++	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
+   endif
+-  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
+-	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
+-	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
++	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
++	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
+   endif
+-  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
+-	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+-	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
++  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
++	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
++	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
+   endif
+ 
+-  HAVE_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
++  HAVE_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
+   ifeq ($(HAVE_LEPTONICA),yes)
+-	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
+-	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
++	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
++	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
+   endif
+ 
+-  HAVE_TESSERACT := $(shell pkg-config --exists 'tesseract-ocr >= 4.0.0' && echo yes)
++  HAVE_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract-ocr >= 4.0.0' && echo yes)
+   ifeq ($(HAVE_TESSERACT),yes)
+-	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
+-	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
++	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
++	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
+   endif
+ 
+-  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
+   ifeq ($(HAVE_SYS_CURL),yes)
+-	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+-	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
++	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
+   endif
+ 
+   HAVE_GLUT := yes
+@@ -183,14 +183,14 @@ else ifeq ($(OS),Linux)
+ 
+   HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+-	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+-	X11_LIBS := $(shell pkg-config --libs x11 xext)
++	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
++	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
+   endif
+ 
+   HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+-	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+-	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
++	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
+   endif
+ 
+   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.18.0-darwin.patch b/app-text/mupdf/files/mupdf-1.18.0-darwin.patch
new file mode 100644
index 0000000..cdd8ccf
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.18.0-darwin.patch
@@ -0,0 +1,41 @@
+--- a/Makerules
++++ b/Makerules
+@@ -117,11 +117,11 @@ ifeq ($(OS),MINGW)
+ else ifeq ($(OS),MACOS)
+   HAVE_GLUT := yes
+   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
+-  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
+-  CC = xcrun cc
+-  AR = xcrun ar
+-  LD = xcrun ld
+-  RANLIB = xcrun ranlib
++  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
++  CC ?= xcrun cc
++  AR ?= xcrun ar
++  LD ?= xcrun ld
++  RANLIB ?= xcrun ranlib
+ 
+ else ifeq ($(OS),Linux)
+   HAVE_OBJCOPY := yes
+--- a/Makerules
++++ b/Makerules
+@@ -122,9 +122,7 @@ else ifeq ($(OS),MACOS)
+   AR ?= xcrun ar
+   LD ?= xcrun ld
+   RANLIB ?= xcrun ranlib
+-
+-else ifeq ($(OS),Linux)
+-  HAVE_OBJCOPY := yes
++endif
+ 
+   ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
+ 	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
+@@ -197,8 +195,6 @@ else ifeq ($(OS),Linux)
+ 	PTHREAD_LIBS := -lpthread
+   endif
+ 
+-endif
+-
+ # The following section has various cross compilation configurations.
+ #
+ # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pdf-layer.c b/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pdf-layer.c
new file mode 100644
index 0000000..dc4000b
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pdf-layer.c
@@ -0,0 +1,102 @@
+From b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54 Mon Sep 17 00:00:00 2001
+From: Robin Watts <Robin.Watts@artifex.com>
+Date: Thu, 8 Oct 2020 16:15:40 +0100
+Subject: [PATCH] Bug 701297: Harden populate_ui against unexpected repairs.
+
+We count the number of layers, and allocate space for them in
+an array. We then walk the tree reading details of those layers
+in. If we hit a problem that causes a repair while reading the
+information, the number of layers can magically increase. In
+the existing code we run off the end of the array.
+
+In the new code we watch for hitting the end of the array and
+realloc as required.
+---
+ source/pdf/pdf-layer.c | 32 +++++++++++++++++++++++++-------
+ 1 file changed, 25 insertions(+), 7 deletions(-)
+
+diff --git a/source/pdf/pdf-layer.c b/source/pdf/pdf-layer.c
+index 177f0c947..b8e9d7cad 100644
+--- a/source/pdf/pdf-layer.c
++++ b/source/pdf/pdf-layer.c
+@@ -104,10 +104,27 @@ count_entries(fz_context *ctx, pdf_obj *obj)
+ }
+ 
+ static pdf_ocg_ui *
+-populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *order, int depth, pdf_obj *rbgroups, pdf_obj *locked)
++get_ocg_ui(fz_context *ctx, pdf_ocg_descriptor *desc, int fill)
++{
++	if (fill == desc->num_ui_entries)
++	{
++		/* Number of layers changed while parsing;
++		 * probably due to a repair. */
++		int newsize = desc->num_ui_entries * 2;
++		if (newsize == 0)
++			newsize = 4; /* Arbitrary non-zero */
++		desc->ui = fz_realloc_array(ctx, desc->ui, newsize, pdf_ocg_ui);
++		desc->num_ui_entries = newsize;
++	}
++	return &desc->ui[fill];
++}
++
++static int
++populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, int fill, pdf_obj *order, int depth, pdf_obj *rbgroups, pdf_obj *locked)
+ {
+ 	int len = pdf_array_len(ctx, order);
+ 	int i, j;
++	pdf_ocg_ui *ui;
+ 
+ 	for (i = 0; i < len; i++)
+ 	{
+@@ -118,7 +135,7 @@ populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *
+ 				continue;
+ 
+ 			fz_try(ctx)
+-				ui = populate_ui(ctx, desc, ui, o, depth+1, rbgroups, locked);
++				fill = populate_ui(ctx, desc, fill, o, depth+1, rbgroups, locked);
+ 			fz_always(ctx)
+ 				pdf_unmark_obj(ctx, o);
+ 			fz_catch(ctx)
+@@ -126,14 +143,14 @@ populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *
+ 
+ 			continue;
+ 		}
+-		ui->depth = depth;
+ 		if (pdf_is_string(ctx, o))
+ 		{
++			ui = get_ocg_ui(ctx, desc, fill++);
++			ui->depth = depth;
+ 			ui->ocg = -1;
+ 			ui->name = pdf_to_str_buf(ctx, o);
+ 			ui->button_flags = PDF_LAYER_UI_LABEL;
+ 			ui->locked = 1;
+-			ui++;
+ 			continue;
+ 		}
+ 
+@@ -144,13 +161,14 @@ populate_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_ocg_ui *ui, pdf_obj *
+ 		}
+ 		if (j == desc->len)
+ 			continue; /* OCG not found in main list! Just ignore it */
++		ui = get_ocg_ui(ctx, desc, fill++);
++		ui->depth = depth;
+ 		ui->ocg = j;
+ 		ui->name = pdf_dict_get_string(ctx, o, PDF_NAME(Name), NULL);
+ 		ui->button_flags = pdf_array_contains(ctx, o, rbgroups) ? PDF_LAYER_UI_RADIOBOX : PDF_LAYER_UI_CHECKBOX;
+ 		ui->locked = pdf_array_contains(ctx, o, locked);
+-		ui++;
+ 	}
+-	return ui;
++	return fill;
+ }
+ 
+ static void
+@@ -188,7 +206,7 @@ load_ui(fz_context *ctx, pdf_ocg_descriptor *desc, pdf_obj *ocprops, pdf_obj *oc
+ 	desc->ui = Memento_label(fz_calloc(ctx, count, sizeof(pdf_ocg_ui)), "pdf_ocg_ui");
+ 	fz_try(ctx)
+ 	{
+-		(void)populate_ui(ctx, desc, desc->ui, order, 0, rbgroups, locked);
++		desc->num_ui_entries = populate_ui(ctx, desc, 0, order, 0, rbgroups, locked);
+ 	}
+ 	fz_catch(ctx)
+ 	{

diff --git a/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c b/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c
new file mode 100644
index 0000000..d19f059
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.18.0-fix-oob-in-pixmap.c
@@ -0,0 +1,41 @@
+From 32e4e8b4bcbacbf92af7c88337efae21986d9603 Mon Sep 17 00:00:00 2001
+From: Robin Watts <Robin.Watts@artifex.com>
+Date: Thu, 8 Oct 2020 18:10:28 +0100
+Subject: [PATCH] Bug 702958: Fix overflow in fz_clear_pixmap_with_value.
+
+---
+ source/fitz/pixmap.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c
+index 66873d214..80d8bb62f 100644
+--- a/source/fitz/pixmap.c
++++ b/source/fitz/pixmap.c
+@@ -555,7 +555,8 @@ void
+ fz_clear_pixmap_with_value(fz_context *ctx, fz_pixmap *pix, int value)
+ {
+ 	unsigned char *s;
+-	int w, h, n, stride, len;
++	int w, h, n;
++	ptrdiff_t stride, len;
+ 	int alpha = pix->alpha;
+ 
+ 	w = pix->w;
+@@ -572,7 +573,7 @@ fz_clear_pixmap_with_value(fz_context *ctx, fz_pixmap *pix, int value)
+ 
+ 	n = pix->n;
+ 	stride = pix->stride;
+-	len = w * n;
++	len = (ptrdiff_t)w * n;
+ 
+ 	s = pix->samples;
+ 	if (value == 255 || !alpha)
+@@ -584,7 +585,7 @@ fz_clear_pixmap_with_value(fz_context *ctx, fz_pixmap *pix, int value)
+ 		}
+ 		while (h--)
+ 		{
+-			memset(s, value, (unsigned int)len);
++			memset(s, value, len);
+ 			s += stride;
+ 		}
+ 	}

diff --git a/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch b/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
new file mode 100644
index 0000000..b266655
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.19.0-Makefile.patch
@@ -0,0 +1,37 @@
+diff --git a/Makefile b/Makefile
+index 7fa74b3..e842374 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,7 @@
+ -include user.make
+ 
+ ifndef build
+-  build := release
++  build := debug
+ endif
+ 
+ default: all
+@@ -252,17 +252,19 @@ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
+ $(THREAD_LIB) : $(THREAD_OBJ)
+ $(PKCS7_LIB) : $(PKCS7_OBJ)
+ else
+-MUPDF_LIB = $(OUT)/libmupdf.a
++MUPDF_LIB = libmupdf.so.$(GENTOO_PV) 
+ LIBS_TO_INSTALL_IN_LIB = $(MUPDF_LIB) $(THIRD_LIB)
+-THIRD_LIB = $(OUT)/libmupdf-third.a
++THIRD_LIB = 
++MUPDF_STATIC = $(OUT)/libmupdf.a
+ ifneq ($(USE_SYSTEM_GLUT),yes)
+ THIRD_GLUT_LIB = $(OUT)/libmupdf-glut.a
+ endif
+ THREAD_LIB = $(OUT)/libmupdf-threads.a
+ PKCS7_LIB = $(OUT)/libmupdf-pkcs7.a
+ 
+-$(MUPDF_LIB) : $(MUPDF_OBJ)
+-$(THIRD_LIB) : $(THIRD_OBJ)
++$(MUPDF_LIB) : $(MUPDF_OBJ) $(THIRD_OBJ)
++	$(QUIET_LINK) $(CC) $(LDFLAGS) --shared -Wl,-soname -Wl,$(MUPDF_LIB) -o $@ $^ $(THIRD_LIBS) $(LIBS)
++$(MUPDF_STATIC): $(MUPDF_OBJ) $(THIRD_OBJ)
+ $(THIRD_GLUT_LIB) : $(THIRD_GLUT_OBJ)
+ $(THREAD_LIB) : $(THREAD_OBJ)
+ $(PKCS7_LIB) : $(PKCS7_OBJ)

diff --git a/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
new file mode 100644
index 0000000..643b6d2
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.19.0-cross-fixes.patch
@@ -0,0 +1,130 @@
+Refreshed patches based on:
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0004-MuPDF-crossbuild-use-target-arch-pkg-config.patch/
+https://sources.debian.org/patches/mupdf/1.17.0+ds1-1/0005-MuPDF-crossbuild-use-host-cc-for-utils.patch/
+--- a/Makefile
++++ b/Makefile
+@@ -147,6 +147,9 @@ PKCS7_OBJ := $(PKCS7_SRC:%.c=$(OUT)/%.o)
+
+ HEXDUMP_EXE := $(OUT)/scripts/hexdump.exe
+
++$(HEXDUMP_EXE): scripts/hexdump.c
++	$(QUIET_CC) $(MKTGTDIR) ; $(CC_FOR_BUILD) $(CFLAGS) -o $@ $<
++
+ FONT_BIN := $(sort $(wildcard resources/fonts/urw/*.cff))
+ FONT_BIN += $(sort $(wildcard resources/fonts/han/*.ttc))
+ FONT_BIN += $(sort $(wildcard resources/fonts/droid/*.ttf))
+--- a/Makerules
++++ b/Makerules
+@@ -6,6 +6,9 @@ OS := $(OS:MSYS%=MINGW)
+ OS := $(OS:Windows_NT=MINGW)
+ OS := $(OS:Darwin=MACOS)
+ 
++PKG_CONFIG ?= pkg-config
++CC_FOR_BUILD ?= $(CC)
++
+ WARNING_CFLAGS := -Wall -Wsign-compare
+ 
+ # Feature configuration options
+@@ -156,51 +159,51 @@ else ifeq ($(OS),MACOS)
+   endif
+ endif
+ 
+-  ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+-	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+-	SYS_FREETYPE_LIBS := $(shell pkg-config --libs freetype2)
++  ifeq ($(shell $(PKG_CONFIG) --exists freetype2 && echo yes),yes)
++	SYS_FREETYPE_CFLAGS := $(shell $(PKG_CONFIG) --cflags freetype2)
++	SYS_FREETYPE_LIBS := $(shell $(PKG_CONFIG) --libs freetype2)
+   endif
+-  ifeq ($(shell pkg-config --exists gumbo && echo yes),yes)
+-	SYS_GUMBO_CFLAGS := $(shell pkg-config --cflags gumbo)
+-	SYS_GUMBO_LIBS := $(shell pkg-config --libs gumbo)
++  ifeq ($(shell $(PKG_CONFIG) --exists gumbo && echo yes),yes)
++	SYS_GUMBO_CFLAGS := $(shell $(PKG_CONFIG) --cflags gumbo)
++	SYS_GUMBO_LIBS := $(shell $(PKG_CONFIG) --libs gumbo)
+   endif
+-  ifeq ($(shell pkg-config --exists harfbuzz && echo yes),yes)
+-	SYS_HARFBUZZ_CFLAGS := $(shell pkg-config --cflags harfbuzz)
+-	SYS_HARFBUZZ_LIBS := $(shell pkg-config --libs harfbuzz)
++  ifeq ($(shell $(PKG_CONFIG) --exists harfbuzz && echo yes),yes)
++	SYS_HARFBUZZ_CFLAGS := $(shell $(PKG_CONFIG) --cflags harfbuzz)
++	SYS_HARFBUZZ_LIBS := $(shell $(PKG_CONFIG) --libs harfbuzz)
+   endif
+-  ifeq ($(shell pkg-config --exists lcms2 && echo yes),yes)
+-	SYS_LCMS2_CFLAGS := $(shell pkg-config --cflags lcms2)
+-	SYS_LCMS2_LIBS := $(shell pkg-config --libs lcms2)
++  ifeq ($(shell $(PKG_CONFIG) --exists lcms2 && echo yes),yes)
++	SYS_LCMS2_CFLAGS := $(shell $(PKG_CONFIG) --cflags lcms2)
++	SYS_LCMS2_LIBS := $(shell $(PKG_CONFIG) --libs lcms2)
+   endif
+-  ifeq ($(shell pkg-config --exists libjpeg && echo yes),yes)
+-	SYS_LIBJPEG_CFLAGS := $(shell pkg-config --cflags libjpeg)
+-	SYS_LIBJPEG_LIBS := $(shell pkg-config --libs libjpeg)
++  ifeq ($(shell $(PKG_CONFIG) --exists libjpeg && echo yes),yes)
++	SYS_LIBJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libjpeg)
++	SYS_LIBJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libjpeg)
+   endif
+-  ifeq ($(shell pkg-config --exists libopenjp2 && echo yes),yes)
+-	SYS_OPENJPEG_CFLAGS := $(shell pkg-config --cflags libopenjp2)
+-	SYS_OPENJPEG_LIBS := $(shell pkg-config --libs libopenjp2)
++  ifeq ($(shell $(PKG_CONFIG) --exists libopenjp2 && echo yes),yes)
++	SYS_OPENJPEG_CFLAGS := $(shell $(PKG_CONFIG) --cflags libopenjp2)
++	SYS_OPENJPEG_LIBS := $(shell $(PKG_CONFIG) --libs libopenjp2)
+   endif
+-  ifeq ($(shell pkg-config --exists zlib && echo yes),yes)
+-	SYS_ZLIB_CFLAGS := $(shell pkg-config --cflags zlib)
+-	SYS_ZLIB_LIBS := $(shell pkg-config --libs zlib)
++  ifeq ($(shell $(PKG_CONFIG) --exists zlib && echo yes),yes)
++	SYS_ZLIB_CFLAGS := $(shell $(PKG_CONFIG) --cflags zlib)
++	SYS_ZLIB_LIBS := $(shell $(PKG_CONFIG) --libs zlib)
+   endif
+ 
+-  HAVE_SYS_LEPTONICA := $(shell pkg-config --exists 'lept >= 1.7.4' && echo yes)
++  HAVE_SYS_LEPTONICA := $(shell $(PKG_CONFIG) --exists 'lept >= 1.7.4' && echo yes)
+   ifeq ($(HAVE_SYS_LEPTONICA),yes)
+-	SYS_LEPTONICA_CFLAGS := $(shell pkg-config --cflags lept)
+-	SYS_LEPTONICA_LIBS := $(shell pkg-config --libs lept)
++	SYS_LEPTONICA_CFLAGS := $(shell $(PKG_CONFIG) --cflags lept)
++	SYS_LEPTONICA_LIBS := $(shell $(PKG_CONFIG) --libs lept)
+   endif
+ 
+-  HAVE_SYS_TESSERACT := $(shell pkg-config --exists 'tesseract >= 4.0.0' && echo yes)
++  HAVE_SYS_TESSERACT := $(shell $(PKG_CONFIG) --exists 'tesseract >= 4.0.0' && echo yes)
+   ifeq ($(HAVE_SYS_TESSERACT),yes)
+-	SYS_TESSERACT_CFLAGS := $(shell pkg-config --cflags tesseract)
+-	SYS_TESSERACT_LIBS := $(shell pkg-config --libs tesseract)
++	SYS_TESSERACT_CFLAGS := $(shell $(PKG_CONFIG) --cflags tesseract)
++	SYS_TESSERACT_LIBS := $(shell $(PKG_CONFIG) --libs tesseract)
+   endif
+ 
+-  HAVE_SYS_CURL := $(shell pkg-config --exists libcurl && echo yes)
++  HAVE_SYS_CURL := $(shell $(PKG_CONFIG) --exists libcurl && echo yes)
+   ifeq ($(HAVE_SYS_CURL),yes)
+-	SYS_CURL_CFLAGS := $(shell pkg-config --cflags libcurl)
+-	SYS_CURL_LIBS := $(shell pkg-config --libs libcurl)
++	SYS_CURL_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcurl)
++	SYS_CURL_LIBS := $(shell $(PKG_CONFIG) --libs libcurl)
+   endif
+ 
+   HAVE_GLUT := yes
+@@ -209,16 +212,16 @@ endif
+ 	SYS_GLUT_LIBS := -lglut -lGL
+   endif
+ 
+   HAVE_X11 := not-unless-portage-tells-me
+   ifeq ($(HAVE_X11),yes)
+-	X11_CFLAGS := $(shell pkg-config --cflags x11 xext)
+-	X11_LIBS := $(shell pkg-config --libs x11 xext)
++	X11_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11 xext)
++	X11_LIBS := $(shell $(PKG_CONFIG) --libs x11 xext)
+   endif
+ 
+   HAVE_LIBCRYPTO := not-unless-portage-tells-me
+   ifeq ($(HAVE_LIBCRYPTO),yes)
+-	LIBCRYPTO_CFLAGS := $(shell pkg-config --cflags libcrypto) -DHAVE_LIBCRYPTO
+-	LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
++	LIBCRYPTO_CFLAGS := $(shell $(PKG_CONFIG) --cflags libcrypto) -DHAVE_LIBCRYPTO
++	LIBCRYPTO_LIBS := $(shell $(PKG_CONFIG) --libs libcrypto)
+   endif
+ 
+   HAVE_PTHREAD := yes

diff --git a/app-text/mupdf/files/mupdf-1.19.0-darwin.patch b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
new file mode 100644
index 0000000..a81c7a0
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.19.0-darwin.patch
@@ -0,0 +1,39 @@
+--- a/Makerules
++++ b/Makerules
+@@ -139,11 +139,11 @@ ifeq ($(OS),MINGW)
+ else ifeq ($(OS),MACOS)
+   HAVE_GLUT := yes
+   SYS_GLUT_CFLAGS := -Wno-deprecated-declarations
+-  SYS_GLUT_LIBS := -framework GLUT -framework OpenGL
+-  CC = xcrun cc
+-  AR = xcrun ar
+-  LD = xcrun ld
+-  RANLIB = xcrun ranlib
++  SYS_GLUT_LIBS ?= -framework GLUT -framework OpenGL
++  CC ?= xcrun cc
++  AR ?= xcrun ar
++  LD ?= xcrun ld
++  RANLIB ?= xcrun ranlib
+ 
+   ifeq (, $(shell which pkg-config))
+     $(warning "No pkg-config found, install it for proper integration of libcrypto")
+@@ -154,9 +154,7 @@ else ifeq ($(OS),MACOS)
+ 	  LIBCRYPTO_LIBS := $(shell pkg-config --libs libcrypto)
+     endif
+   endif
+-
+-else ifeq ($(OS),Linux)
+-  HAVE_OBJCOPY := yes
++endif
+ 
+   ifeq ($(shell pkg-config --exists freetype2 && echo yes),yes)
+ 	SYS_FREETYPE_CFLAGS := $(shell pkg-config --cflags freetype2)
+@@ -229,8 +227,6 @@ else ifeq ($(OS),Linux)
+ 	PTHREAD_LIBS := -lpthread
+   endif
+ 
+-endif
+-
+ # The following section has various cross compilation configurations.
+ #
+ # Invoke these as:

diff --git a/app-text/mupdf/files/mupdf-1.20.0-lcms2.patch b/app-text/mupdf/files/mupdf-1.20.0-lcms2.patch
new file mode 100644
index 0000000..a5cb30e
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.20.0-lcms2.patch
@@ -0,0 +1,69 @@
+From d98de0bb0b627772625c1acf050ba0dd4b5ac9df Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Tue, 5 Jul 2022 11:35:28 +0200
+Subject: [PATCH] Perform type punning via union without undefined behavior
+
+* The previous code from c3d7f491e2daebda2413fb3d2935c51df1c50ac7
+  still contains undefined behavior, since it just creates
+  temporary pointer variables.
+---
+ src/cmsplugin.c | 31 +++++++++++++++----------------
+ 1 file changed, 15 insertions(+), 16 deletions(-)
+
+This patch slightly differs from the upstream commit, because
+the lcms2 version used in mupdf is slightly behind the upstream
+version.
+
+See: https://github.com/mm2/Little-CMS/commit/d98de0bb0b627772625c1acf050ba0dd4b5ac9df.patch
+
+diff --git a/src/cmsplugin.c b/src/cmsplugin.c
+index 556fbc28..b34e3aab 100644
+--- a/thirdparty/lcms2/src/cmsplugin.c
++++ b/thirdparty/lcms2/src/cmsplugin.c
+@@ -167,17 +167,20 @@ cmsBool CMSEXPORT  _cmsReadUInt32Number(cmsContext ContextID, cmsIOHANDLER* io,
+ 
+ cmsBool CMSEXPORT  _cmsReadFloat32Number(cmsContext ContextID, cmsIOHANDLER* io, cmsFloat32Number* n)
+ {
+-    cmsUInt32Number tmp;
++    union typeConverter {
++        cmsUInt32Number integer;
++        cmsFloat32Number floating_point;
++    } tmp;
+ 
+     _cmsAssert(io != NULL);
+ 
+-    if (io->Read(ContextID, io, &tmp, sizeof(cmsUInt32Number), 1) != 1)
++    if (io->Read(ContextID, io, &tmp.integer, sizeof(cmsUInt32Number), 1) != 1)
+         return FALSE;
+ 
+     if (n != NULL) {
+ 
+-        tmp = _cmsAdjustEndianess32(tmp);
+-        *n = *(cmsFloat32Number*)(void*)&tmp;
++        tmp.integer = _cmsAdjustEndianess32(tmp.integer);
++        *n = tmp.floating_point;
+ 
+         // Safeguard which covers against absurd values
+         if (*n > 1E+20 || *n < -1E+20) return FALSE;
+@@ -304,13 +307,14 @@ cmsBool CMSEXPORT  _cmsWriteUInt32Number(cmsContext ContextID, cmsIOHANDLER* io,
+ 
+ cmsBool CMSEXPORT  _cmsWriteFloat32Number(cmsContext ContextID, cmsIOHANDLER* io, cmsFloat32Number n)
+ {
+-    cmsUInt32Number tmp;
+-
+-    _cmsAssert(io != NULL);
+-
+-    tmp = *(cmsUInt32Number*) (void*) &n;
+-    tmp = _cmsAdjustEndianess32(tmp);
+-    if (io -> Write(ContextID, io, sizeof(cmsUInt32Number), &tmp) != 1)
++    union typeConverter {
++        cmsUInt32Number integer;
++        cmsFloat32Number floating_point;
++    } tmp;
++
++    tmp.floating_point = n;
++    tmp.integer = _cmsAdjustEndianess32(tmp.integer);
++    if (io -> Write(ContextID, io, sizeof(cmsUInt32Number), &tmp.integer) != 1)
+             return FALSE;
+ 
+     return TRUE;

diff --git a/app-text/mupdf/files/mupdf-1.20.3-libressl.patch b/app-text/mupdf/files/mupdf-1.20.3-libressl.patch
new file mode 100644
index 0000000..ad0cc47
--- /dev/null
+++ b/app-text/mupdf/files/mupdf-1.20.3-libressl.patch
@@ -0,0 +1,15 @@
+From: orbea <orbea@riseup.net>
+Date: Fri, 7 Oct 2022 03:33:15 -0700
+Subject: [PATCH] Support libressl 3.6.x
+
+--- a/source/helpers/pkcs7/pkcs7-openssl.c
++++ b/source/helpers/pkcs7/pkcs7-openssl.c
+@@ -119,7 +119,7 @@ static const char AdobeCA_p7c[] = {
+ #warning detect version of openssl at compile time
+ #endif
+ 
+-#ifdef LIBRESSL_VERSION_NUMBER
++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x3060000fL
+ 
+ static inline const STACK_OF(PKCS12_SAFEBAG) *
+ PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag)

diff --git a/app-text/mupdf/metadata.xml b/app-text/mupdf/metadata.xml
new file mode 100644
index 0000000..5d2f87c
--- /dev/null
+++ b/app-text/mupdf/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person" proxied="yes">
+		<email>rndxelement@protonmail.com</email>
+		<name>Philipp Rösner</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+</pkgmetadata>

diff --git a/app-text/mupdf/mupdf-1.19.1.ebuild b/app-text/mupdf/mupdf-1.19.1.ebuild
new file mode 100644
index 0000000..125462a
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.19.1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.xz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 x86"
+IUSE="+javascript opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+	dev-libs/gumbo
+	media-libs/freetype:2=
+	media-libs/harfbuzz:=[truetype]
+	media-libs/jbig2dec:=
+	media-libs/libpng:0=
+	>=media-libs/openjpeg-2.1:2=
+	>=media-libs/libjpeg-turbo-1.5.3-r2:0
+	javascript? ( >=dev-lang/mujs-1.0.7:= )
+	opengl? ( >=media-libs/freeglut-3.0.0 )
+	ssl? ( >=dev-libs/openssl-1.1:0= )
+	X? (
+		x11-libs/libX11
+		x11-libs/libXext
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="X? ( x11-base/xorg-proto )
+	virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
+	"${FILESDIR}"/${PN}-1.10a-add-desktop-pc-xpm-files.patch
+	"${FILESDIR}"/${PN}-1.19.0-darwin.patch
+	# See bugs #662352
+	"${FILESDIR}"/${PN}-1.15-openssl-x11.patch
+	# General cross fixes from Debian (refreshed)
+	"${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
+	"${FILESDIR}"/${PN}-1.20.3-libressl.patch
+)
+
+src_prepare() {
+	default
+
+	use hppa && append-cflags -ffunction-sections
+
+	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+	sed -e "1iOS = Linux" \
+		-e "1iCC = $(tc-getCC)" \
+		-e "1iCXX = $(tc-getCXX)" \
+		-e "1iLD = $(tc-getLD)" \
+		-e "1iAR = $(tc-getAR)" \
+		-e "1iverbose = yes" \
+		-e "1ibuild = debug" \
+		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+}
+
+_emake() {
+	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+	#
+	# Bundled libs
+	# * General
+	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+	# recommendations. It does not mean "always use system libs".
+	# See [0] below for what it means in a specific version.
+	#
+	# * freeglut
+	# We don't use system's freeglut because upstream has a special modified
+	# version of it that gives mupdf clipboard support. See bug #653298
+	#
+	# * mujs
+	# As of v1.15.0, mupdf started using symbols in mujs that were not part
+	# of any release. We then went back to using the bundled version of it.
+	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+	# when bumping and check!
+	# See bug #685244
+	#
+	# * lmms2
+	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+	# It is therefore not appropriate for us to unbundle it at this time.
+	#
+	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+	local myemakeargs=(
+		GENTOO_PV=${PV}
+		HAVE_GLUT=$(usex opengl)
+		HAVE_LIBCRYPTO=$(usex ssl)
+		HAVE_X11=$(usex X)
+		USE_SYSTEM_LIBS=yes
+		USE_SYSTEM_MUJS=$(usex javascript)
+		USE_SYSTEM_GLUT=no
+		HAVE_OBJCOPY=no
+		"$@"
+	)
+
+	emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	_emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+	if use opengl || use X ; then
+		domenu platform/debian/${PN}.desktop
+		doicon platform/debian/${PN}.xpm
+	else
+		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+	fi
+
+	sed -i \
+		-e "1iprefix = ${ED}/usr" \
+		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+	_emake install
+
+	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+	if use opengl ; then
+		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+		dosym ${PN}-gl /usr/bin/${PN}
+	elif use X ; then
+		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+		dosym ${PN}-x11 /usr/bin/${PN}
+	fi
+
+	# Respect libdir (bug #734898)
+	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc || die "Failed to sed pkgconfig file to respect libdir in src_install()"
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins platform/debian/${PN}.pc
+
+	dodoc README CHANGES CONTRIBUTORS
+}

diff --git a/app-text/mupdf/mupdf-1.20.0.ebuild b/app-text/mupdf/mupdf-1.20.0.ebuild
new file mode 100644
index 0000000..b3865ab
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.20.0.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 x86"
+IUSE="+javascript opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+	dev-libs/gumbo
+	media-libs/freetype:2=
+	media-libs/harfbuzz:=[truetype]
+	media-libs/jbig2dec:=
+	media-libs/libpng:0=
+	>=media-libs/openjpeg-2.1:2=
+	>=media-libs/libjpeg-turbo-1.5.3-r2:0
+	javascript? ( >=dev-lang/mujs-1.0.7:= )
+	opengl? ( >=media-libs/freeglut-3.0.0 )
+	ssl? ( >=dev-libs/openssl-1.1:0= )
+	X? (
+		x11-libs/libX11
+		x11-libs/libXext
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="X? ( x11-base/xorg-proto )
+	virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
+	"${FILESDIR}"/${PN}-1.10a-add-desktop-pc-xpm-files.patch
+	"${FILESDIR}"/${PN}-1.19.0-darwin.patch
+	# See bugs #662352
+	"${FILESDIR}"/${PN}-1.15-openssl-x11.patch
+	# General cross fixes from Debian (refreshed)
+	"${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
+	"${FILESDIR}"/${P}-lcms2.patch
+	"${FILESDIR}"/${PN}-1.20.3-libressl.patch
+)
+
+src_prepare() {
+	default
+
+	use hppa && append-cflags -ffunction-sections
+
+	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+	sed -e "1iOS = Linux" \
+		-e "1iCC = $(tc-getCC)" \
+		-e "1iCXX = $(tc-getCXX)" \
+		-e "1iLD = $(tc-getLD)" \
+		-e "1iAR = $(tc-getAR)" \
+		-e "1iverbose = yes" \
+		-e "1ibuild = debug" \
+		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+
+	# Adjust MuPDF version in .pc file created by the
+	# mupdf-1.10a-add-desktop-pc-xpm-files.patch file
+	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
+		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
+}
+
+_emake() {
+	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+	#
+	# Bundled libs
+	# * General
+	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+	# recommendations. It does not mean "always use system libs".
+	# See [0] below for what it means in a specific version.
+	#
+	# * freeglut
+	# We don't use system's freeglut because upstream has a special modified
+	# version of it that gives mupdf clipboard support. See bug #653298
+	#
+	# * mujs
+	# As of v1.15.0, mupdf started using symbols in mujs that were not part
+	# of any release. We then went back to using the bundled version of it.
+	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+	# when bumping and check!
+	# See bug #685244
+	#
+	# * lmms2
+	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+	# It is therefore not appropriate for us to unbundle it at this time.
+	#
+	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+	local myemakeargs=(
+		GENTOO_PV=${PV}
+		HAVE_GLUT=$(usex opengl)
+		HAVE_LIBCRYPTO=$(usex ssl)
+		HAVE_X11=$(usex X)
+		USE_SYSTEM_LIBS=yes
+		USE_SYSTEM_MUJS=$(usex javascript)
+		USE_SYSTEM_GLUT=no
+		HAVE_OBJCOPY=no
+		"$@"
+	)
+
+	emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	_emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+	if use opengl || use X ; then
+		domenu platform/debian/${PN}.desktop
+		doicon platform/debian/${PN}.xpm
+	else
+		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+	fi
+
+	sed -i \
+		-e "1iprefix = ${ED}/usr" \
+		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+	_emake install
+
+	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+	if use opengl ; then
+		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+		dosym ${PN}-gl /usr/bin/${PN}
+	elif use X ; then
+		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+		dosym ${PN}-x11 /usr/bin/${PN}
+	fi
+
+	# Respect libdir (bug #734898)
+	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc || die "Failed to sed pkgconfig file to respect libdir in src_install()"
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins platform/debian/${PN}.pc
+
+	dodoc README CHANGES CONTRIBUTORS
+}

diff --git a/app-text/mupdf/mupdf-1.20.3.ebuild b/app-text/mupdf/mupdf-1.20.3.ebuild
new file mode 100644
index 0000000..491449b
--- /dev/null
+++ b/app-text/mupdf/mupdf-1.20.3.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Please check upstream git regularly for relevant security-related commits
+# to backport.
+
+inherit desktop flag-o-matic toolchain-funcs xdg
+
+DESCRIPTION="A lightweight PDF viewer and toolkit written in portable C"
+HOMEPAGE="https://mupdf.com/ https://git.ghostscript.com/?p=mupdf.git"
+SRC_URI="https://mupdf.com/downloads/archive/${P}-source.tar.gz"
+S="${WORKDIR}"/${P}-source
+
+LICENSE="AGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~x86"
+IUSE="+javascript opengl ssl X"
+REQUIRED_USE="opengl? ( javascript )"
+
+# Although we use the bundled, patched version of freeglut in mupdf (because of
+# bug #653298), the best way to ensure that its dependencies are present is to
+# install system's freeglut.
+RDEPEND="
+	dev-libs/gumbo
+	media-libs/freetype:2
+	media-libs/harfbuzz:=[truetype]
+	media-libs/jbig2dec:=
+	media-libs/libpng:0=
+	>=media-libs/openjpeg-2.1:2=
+	>=media-libs/libjpeg-turbo-1.5.3-r2:0=
+	javascript? ( >=dev-lang/mujs-1.0.7:= )
+	opengl? ( >=media-libs/freeglut-3.0.0 )
+	ssl? ( >=dev-libs/openssl-1.1:0= )
+	sys-libs/zlib
+	X? (
+		x11-libs/libX11
+		x11-libs/libXext
+	)
+"
+DEPEND="${RDEPEND}"
+BDEPEND="X? ( x11-base/xorg-proto )
+	virtual/pkgconfig"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.15-CFLAGS.patch
+	"${FILESDIR}"/${PN}-1.19.0-Makefile.patch
+	"${FILESDIR}"/${PN}-1.10a-add-desktop-pc-xpm-files.patch
+	"${FILESDIR}"/${PN}-1.19.0-darwin.patch
+	# See bugs #662352
+	"${FILESDIR}"/${PN}-1.15-openssl-x11.patch
+	# General cross fixes from Debian (refreshed)
+	"${FILESDIR}"/${PN}-1.19.0-cross-fixes.patch
+	"${FILESDIR}"/${PN}-1.20.0-lcms2.patch
+	"${FILESDIR}"/${PN}-1.20.3-libressl.patch
+)
+
+src_prepare() {
+	default
+
+	use hppa && append-cflags -ffunction-sections
+
+	append-cflags "-DFZ_ENABLE_JS=$(usex javascript 1 0)"
+
+	sed -e "1iOS = Linux" \
+		-e "1iCC = $(tc-getCC)" \
+		-e "1iCXX = $(tc-getCXX)" \
+		-e "1iLD = $(tc-getLD)" \
+		-e "1iAR = $(tc-getAR)" \
+		-e "1iverbose = yes" \
+		-e "1ibuild = debug" \
+		-i Makerules || die "Failed adding build variables to Makerules in src_prepare()"
+
+	# Adjust MuPDF version in .pc file created by the
+	# mupdf-1.10a-add-desktop-pc-xpm-files.patch file
+	sed -e "s/Version: \(.*\)/Version: ${PV}/" \
+		-i platform/debian/${PN}.pc || die "Failed substituting version in ${PN}.pc"
+}
+
+_emake() {
+	# When HAVE_OBJCOPY is yes, we end up with a lot of QA warnings.
+	#
+	# Bundled libs
+	# * General
+	# Note that USE_SYSTEM_LIBS=yes is a metaoption which will set to upstream's
+	# recommendations. It does not mean "always use system libs".
+	# See [0] below for what it means in a specific version.
+	#
+	# * freeglut
+	# We don't use system's freeglut because upstream has a special modified
+	# version of it that gives mupdf clipboard support. See bug #653298
+	#
+	# * mujs
+	# As of v1.15.0, mupdf started using symbols in mujs that were not part
+	# of any release. We then went back to using the bundled version of it.
+	# But v1.17.0 looks ok, so we'll go unbundled again. Be aware of this risk
+	# when bumping and check!
+	# See bug #685244
+	#
+	# * lmms2
+	# mupdf uses a bundled version of lcms2 [0] because Artifex have forked it [1].
+	# It is therefore not appropriate for us to unbundle it at this time.
+	#
+	# [0] https://git.ghostscript.com/?p=mupdf.git;a=blob;f=Makethird;h=c4c540fa4a075df0db85e6fdaab809099881f35a;hb=HEAD#l9
+	# [1] https://www.ghostscript.com/doc/lcms2mt/doc/WhyThisFork.txt
+	local myemakeargs=(
+		GENTOO_PV=${PV}
+		HAVE_GLUT=$(usex opengl)
+		HAVE_LIBCRYPTO=$(usex ssl)
+		HAVE_X11=$(usex X)
+		USE_SYSTEM_LIBS=yes
+		USE_SYSTEM_MUJS=$(usex javascript)
+		USE_SYSTEM_GLUT=no
+		HAVE_OBJCOPY=no
+		"$@"
+	)
+
+	emake "${myemakeargs[@]}"
+}
+
+src_compile() {
+	tc-export PKG_CONFIG
+
+	_emake XCFLAGS="-fPIC"
+}
+
+src_install() {
+	if use opengl || use X ; then
+		domenu platform/debian/${PN}.desktop
+		doicon platform/debian/${PN}.xpm
+	else
+		rm docs/man/${PN}.1 || die "Failed to remove man page in src_install()"
+	fi
+
+	sed -i \
+		-e "1iprefix = ${ED}/usr" \
+		-e "1ilibdir = ${ED}/usr/$(get_libdir)" \
+		-e "1idocdir = ${ED}/usr/share/doc/${PF}" \
+		-i Makerules || die "Failed adding liprefix, lilibdir and lidocdir to Makerules in src_install()"
+
+	_emake install
+
+	dosym libmupdf.so.${PV} /usr/$(get_libdir)/lib${PN}.so
+
+	if use opengl ; then
+		einfo "mupdf symlink points to mupdf-gl (bug 616654)"
+		dosym ${PN}-gl /usr/bin/${PN}
+	elif use X ; then
+		einfo "mupdf symlink points to mupdf-x11 (bug 616654)"
+		dosym ${PN}-x11 /usr/bin/${PN}
+	fi
+
+	# Respect libdir (bug #734898)
+	sed -i -e "s:/lib:/$(get_libdir):" platform/debian/${PN}.pc || die "Failed to sed pkgconfig file to respect libdir in src_install()"
+
+	insinto /usr/$(get_libdir)/pkgconfig
+	doins platform/debian/${PN}.pc
+
+	dodoc README CHANGES CONTRIBUTORS
+}


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-09-13  1:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-08  0:16 [gentoo-commits] repo/proj/libressl:master commit in: app-text/mupdf/files/, app-text/mupdf/ orbea
  -- strict thread matches above, loose matches on Subject: below --
2024-09-13  1:40 orbea
2024-08-01 18:35 orbea
2024-03-11  0:42 orbea
2022-12-08 18:31 Quentin Retornaz
2022-10-07 21:11 Quentin Retornaz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox