blob: d275c29d17d5a3d1d5761afa71c3a1ae99ad2fa4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils git-2 multilib toolchain-funcs
DESCRIPTION="a lightweight PDF viewer and toolkit written in portable C"
HOMEPAGE="http://mupdf.com/"
EGIT_REPO_URI="git://git.ghostscript.com/mupdf.git"
#EGIT_HAS_SUBMODULES=1
LICENSE="AGPL-3"
MY_SOVER=1.7
SLOT="0/${MY_SOVER}"
KEYWORDS=""
IUSE="X vanilla curl libressl openssl static static-libs"
LIB_DEPEND="
!libressl? ( dev-libs/openssl:0[static-libs?] )
libressl? ( dev-libs/libressl[static-libs?] )
media-libs/freetype:2[static-libs?]
media-libs/jbig2dec[static-libs?]
media-libs/openjpeg:2[static-libs?]
net-misc/curl[static-libs?]
virtual/jpeg[static-libs?]
X? ( x11-libs/libX11[static-libs?]
x11-libs/libXext[static-libs?] )"
RDEPEND="${LIB_DEPEND}"
DEPEND="${RDEPEND}
virtual/pkgconfig
static-libs? ( ${LIB_DEPEND} )
static? ( ${LIB_DEPEND//?}
app-arch/bzip2[static-libs]
x11-libs/libXau[static-libs]
x11-libs/libXdmcp[static-libs]
x11-libs/libxcb[static-libs] )"
src_prepare() {
rm -rf thirdparty || die
epatch \
"${FILESDIR}"/${PN}-1.3-CFLAGS.patch \
"${FILESDIR}"/${PN}-1.5-old-debian-files.patch \
"${FILESDIR}"/${PN}-1.3-pkg-config.patch \
"${FILESDIR}"/${PN}-1.5-Makerules-openssl-curl.patch
if has_version ">=media-libs/openjpeg-2.1:2" ; then
epatch \
"${FILESDIR}"/${PN}-1.5-openjpeg-2.1.patch
fi
sed -e "/^libdir=/s:/lib:/$(get_libdir):" \
-e "/^prefix=/s:=.*:=${EROOT}/usr:" \
-i platform/debian/${PN}.pc || die
use vanilla || epatch \
"${FILESDIR}"/${PN}-1.3-zoom-2.patch
#http://bugs.ghostscript.com/show_bug.cgi?id=693467
sed -e '/^\(Actions\|MimeType\)=/s:\(.*\):\1;:' \
-i platform/debian/${PN}.desktop || die
sed -e "1iOS = Linux" \
-e "1iCC = $(tc-getCC)" \
-e "1iLD = $(tc-getCC)" \
-e "1iAR = $(tc-getAR)" \
-e "1iverbose = yes" \
-e "1ibuild = debug" \
-e "1iprefix = ${ED}usr" \
-e "1ilibdir = ${ED}usr/$(get_libdir)" \
-e "1idocdir = ${ED}usr/share/doc/${PF}" \
-e "1iHAVE_X11 = $(usex X)" \
-e "1iWANT_OPENSSL = $(usex openssl)" \
-e "1iWANT_CURL = $(usex curl)" \
-i Makerules || die
if use static-libs || use static ; then
cp -a "${S}" "${S}"-static || die
#add missing Libs.private for xcb and freetype
sed -e 's:\(pkg-config --libs\):\1 --static:' \
-e '/^SYS_X11_LIBS = /s:\(.*\):\1 -lpthread:' \
-e '/^SYS_FREETYPE_LIBS = /s:\(.*\):\1 -lbz2:' \
-i "${S}"-static/Makerules || die
fi
my_soname=libmupdf.so.${MY_SOVER}
my_soname_js_none=libmupdf-js-none.so.${MY_SOVER}
sed -e "\$a\$(MUPDF_LIB): \$(MUPDF_JS_NONE_LIB)" \
-e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname} -Wl,--no-undefined -o \$@ \$^ \$(MUPDF_JS_NONE_LIB) \$(LIBS)" \
-e "/^MUPDF_LIB :=/s:=.*:= \$(OUT)/${my_soname}:" \
-e "\$a\$(MUPDF_JS_NONE_LIB):" \
-e "\$a\\\t\$(QUIET_LINK) \$(CC) \$(LDFLAGS) --shared -Wl,-soname -Wl,${my_soname_js_none} -Wl,--no-undefined -o \$@ \$^ \$(LIBS)" \
-e "/install/s: COPYING : :" \
-i Makefile || die
}
src_compile() {
emake XCFLAGS="-fpic"
use static-libs && \
emake -C "${S}"-static build/debug/lib${PN}{,-js-none}.a
use static && \
emake -C "${S}"-static XLIBS="-static"
}
src_install() {
if use X ; then
domenu platform/debian/${PN}.desktop
doicon platform/debian/${PN}.xpm
else
rm docs/man/${PN}.1
fi
emake install
dosym ${my_soname} /usr/$(get_libdir)/lib${PN}.so
use static-libs && \
dolib.a "${S}"-static/build/debug/lib${PN}{,-js-none}.a
if use static ; then
dobin "${S}"-static/build/debug/mu{tool,draw}
use X && dobin "${S}"-static/build/debug/${PN}-x11
fi
use X && dosym ${PN}-x11 /usr/bin/${PN}
insinto /usr/$(get_libdir)/pkgconfig
doins platform/debian/${PN}.pc
dodoc README docs/*.{txt,c}
}
|