You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
3.1 KiB

# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit eutils multilib toolchain-funcs vcs-snapshot
DESCRIPTION="graphical PDF viewer which aims to superficially resemble less(1)"
HOMEPAGE="http://repo.or.cz/w/llpp.git"
SRC_URI="http://repo.or.cz/w/llpp.git/snapshot/973e613ec9062e5c41323fc58fa3435fc6c45551.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="+ocamlopt static"
#IUSE="egl +ocamlopt static"
LIB_DEPEND=">=app-text/mupdf-1.5:0=[static-libs]
<app-text/mupdf-1.7:0=[static-libs]
media-libs/openjpeg:2[static-libs]
media-libs/fontconfig:1.0[static-libs]
media-libs/freetype:2[static-libs]
media-libs/jbig2dec[static-libs]
sys-libs/zlib[static-libs]
virtual/jpeg:0[static-libs]
x11-libs/libX11[static-libs]"
# egl? ( media-libs/mesa[static-libs] )
RDEPEND="x11-misc/xsel
!static? ( ${LIB_DEPEND//\[static-libs]} )"
DEPEND="${RDEPEND}
static? ( ${LIB_DEPEND}
app-arch/bzip2[static-libs]
media-libs/libXcm[static-libs]
x11-libs/libXau[static-libs]
x11-libs/libXdmcp[static-libs]
x11-libs/libXmu[static-libs] )
>=dev-lang/ocaml-4.02[ocamlopt?]
dev-ml/lablgl[glut,ocamlopt?]"
RESTRICT="!ocamlopt? ( strip )"
src_prepare() {
epatch "${FILESDIR}"/${PN}-20-WM_CLASS.patch
}
src_compile() {
local ocaml=$(usex ocamlopt ocamlopt.opt ocamlc.opt)
local cmo=$(usex ocamlopt cmx cmo)
local cma=$(usex ocamlopt cmxa cma)
local ccopt="$(freetype-config --cflags ) -O -include ft2build.h -D_GNU_SOURCE -DUSE_FONTCONFIG"
#if use egl ; then
# ccopt+=" -DUSE_EGL $(pkg-config --cflags egl)"
# local egl="egl"
#fi
if use static ; then
local cclib=""
local slib=""
local spath=( ${EROOT}usr/$(get_libdir) $($(tc-getPKG_CONFIG) --libs-only-L --static mupdf x11 ${egl} | sed 's:-L::g') )
for slib in $($(tc-getPKG_CONFIG) --libs-only-l --static mupdf x11 ${egl} fontconfig) -ljpeg -ljbig2dec ; do
case ${slib} in
-lm|-ldl|-lpthread)
einfo "${slib}: shared"
cclib+="${slib} " ;;
*)
local ccnew=$(find ${spath} -name "lib${slib/-l}.a")
einfo "${slib}: use ${ccnew}"
cclib+="${ccnew} " ;;
esac
done
else
local cclib="$($(tc-getPKG_CONFIG) --libs mupdf x11 ${egl} fontconfig) -lpthread"
fi
verbose() { echo "$@" >&2 ; "$@" || die ; }
verbose ocaml str.cma keystoml.ml < KEYS > help.ml
verbose printf 'let version ="%s";;\n' ${PV} >> help.ml
verbose ${ocaml} -c -o link.o -ccopt "${ccopt}" link.c
verbose ${ocaml} -c -o bo.${cmo} le/bo.ml
verbose ${ocaml} -c -o help.${cmo} help.ml
verbose ${ocaml} -c -o utils.${cmo} utils.ml
verbose ${ocaml} -c -o wsi.cmi wsi.mli
verbose ${ocaml} -c -o wsi.${cmo} wsi.ml
verbose ${ocaml} -c -o parser.${cmo} parser.ml
verbose ${ocaml} -c -o config.${cmo} -I +lablGL config.ml
verbose ${ocaml} -c -pp "sed -f pp.sed" -o main.${cmo} -I +lablGL main.ml
verbose ${ocaml} $(usex ocamlopt "" -custom) -o llpp -I +lablGL\
str.${cma} unix.${cma} lablgl.${cma} link.o \
-cclib "${cclib}" \
bo.${cmo} help.${cmo} utils.${cmo} parser.${cmo} wsi.${cmo} config.${cmo} main.${cmo}
}
src_install() {
dobin ${PN} misc/${PN}ac
dodoc KEYS README Thanks fixme
}