parent
e77aa0165c
commit
35ce1f6b22
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,31 @@
|
||||
--- Makefile.orig 2018-01-21 01:00:58.000000000 -0500
|
||||
+++ Makefile 2018-02-15 22:03:01.565862308 -0500
|
||||
@@ -1,4 +1,4 @@
|
||||
-CFLAGS += -std=c99 -Wall -O2 -D_REENTRANT
|
||||
+CFLAGS += -std=c99 -Wall -D_REENTRANT
|
||||
LIBS := -lpthread -lm -lssl -lcrypto
|
||||
|
||||
TARGET := $(shell uname -s | tr '[A-Z]' '[a-z]' 2>/dev/null || echo unknown)
|
||||
@@ -30,20 +30,8 @@
|
||||
CFLAGS += -I$(ODIR)/include
|
||||
LDFLAGS += -L$(ODIR)/lib
|
||||
|
||||
-ifneq ($(WITH_LUAJIT),)
|
||||
- CFLAGS += -I$(WITH_LUAJIT)/include
|
||||
- LDFLAGS += -L$(WITH_LUAJIT)/lib
|
||||
-else
|
||||
- CFLAGS += -I$(ODIR)/include/luajit-2.1
|
||||
- DEPS += $(ODIR)/lib/libluajit-5.1.a
|
||||
-endif
|
||||
-
|
||||
-ifneq ($(WITH_OPENSSL),)
|
||||
- CFLAGS += -I$(WITH_OPENSSL)/include
|
||||
- LDFLAGS += -L$(WITH_OPENSSL)/lib
|
||||
-else
|
||||
- DEPS += $(ODIR)/lib/libssl.a
|
||||
-endif
|
||||
+CFLAGS += $(shell pkg-config openssl luajit --cflags)
|
||||
+LDFLAGS += $(shell pkg-config openssl luajit --libs)
|
||||
|
||||
all: $(BIN)
|
||||
|
Binary file not shown.
@ -1,104 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
DISTUTILS_OPTIONAL=1
|
||||
|
||||
inherit distutils-r1 flag-o-matic ltprune qmake-utils toolchain-funcs
|
||||
inherit git-r3 autotools
|
||||
|
||||
DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use"
|
||||
HOMEPAGE="http://www.gnupg.org/related_software/gpgme"
|
||||
EGIT_REPO_URI="git://git.gnupg.org/gpgme.git"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2.1"
|
||||
SLOT="1/11" # subslot = soname major version
|
||||
KEYWORDS=""
|
||||
IUSE="common-lisp static-libs cxx python qt5"
|
||||
|
||||
COMMON_DEPEND=">=app-crypt/gnupg-2
|
||||
>=dev-libs/libassuan-2.0.2:=
|
||||
>=dev-libs/libgpg-error-1.17:=
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
qt5? ( dev-qt/qtcore:5 )"
|
||||
#doc? ( app-doc/doxygen[dot] )
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
python? ( dev-lang/swig )
|
||||
qt5? ( dev-qt/qttest:5 )"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
cxx? (
|
||||
!<kde-apps/gpgmepp-4.14.11_pre20160611:4
|
||||
!kde-apps/gpgmepp:5
|
||||
!<kde-apps/kdepimlibs-4.14.10_p20160611:4
|
||||
!=kde-apps/kdepimlibs-4.14.11_pre20160211*:4
|
||||
)"
|
||||
|
||||
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
do_python() {
|
||||
if use python; then
|
||||
pushd "lang/python" > /dev/null || die
|
||||
top_builddir="../.." srcdir="." CPP=$(tc-getCPP) distutils-r1_src_${EBUILD_PHASE}
|
||||
popd > /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
addpredict /run/user/$(id -u)/gnupg
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local languages=()
|
||||
use common-lisp && languages+=( "cl" )
|
||||
use cxx && languages+=( "cpp" )
|
||||
if use qt5; then
|
||||
languages+=( "qt" )
|
||||
#use doc ||
|
||||
export DOXYGEN=true
|
||||
export MOC="$(qt5_get_bindir)/moc"
|
||||
fi
|
||||
|
||||
econf \
|
||||
--enable-languages="${languages[*]}" \
|
||||
$(use_enable static-libs static)
|
||||
|
||||
use python && make -C lang/python prepare
|
||||
|
||||
do_python
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
do_python
|
||||
}
|
||||
|
||||
src_test() {
|
||||
default
|
||||
if use python; then
|
||||
test_python() {
|
||||
emake -C lang/python/tests check \
|
||||
PYTHON=${EPYTHON} \
|
||||
PYTHONS=${EPYTHON} \
|
||||
TESTFLAGS="--python-libdir=${BUILD_DIR}/lib"
|
||||
}
|
||||
python_foreach_impl test_python
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
do_python
|
||||
prune_libtool_files
|
||||
|
||||
# backward compatibility for gentoo
|
||||
# in the past we had slots
|
||||
dodir /usr/include/gpgme
|
||||
dosym ../gpgme.h /usr/include/gpgme/gpgme.h
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,3 +1 @@
|
||||
DIST CodeMirror-5.18.2.tar.gz 923001 BLAKE2B ef3ce5802f1d019a569be03f55d59aa22ebae25b2d6b9e5cd920d7b66ad9e919eb87e212540a6b203f787a39bcdcf22005124ec6f1adbff5ab762b45bac9e901 SHA512 c979c1ef02bb222b08e64847e5caab9c8a525c96d0eef656a00730d6710b0144144ac656eddef05d50c30c7d33da7dffe1a7580b9d47a5d958af9d6484ea705f
|
||||
DIST notepadqq-1.0.1.tar.gz 1056249 BLAKE2B cae61f3481cb1f5cc7c2febfc441906786e411267dcc8a2fea382eb789d049ad9c5344482de08c4af5b262c6b8ae405fb96c7041b639ed1830ff8e1ed04d29a5 SHA512 781ddf9960227c4ad21fb7e763180cfed7f1c5c0237277335577932678a42a4c2f303f61922d93ec850dbc86df36c292ff10ae053a6e00d7127a48c7ac4e359c
|
||||
DIST notepadqq-1.2.0.tar.gz 2082931 BLAKE2B 41f81be45b5e36d58c2632fc9d03c6802b1a99f5ff9603682f3e1c6907143767f57034f053677d8edffae68a098ddf56d2b90e57fd9884442d80749a670f9d4a SHA512 4b6b3e646add4dc21b4d4ddecacefa59785e6525d52ecc17ca418ba14f38ef9024f48af6db3538d195327942971eb9ccf0b5567da58ba15facad332b47742717
|
||||
|
@ -1,55 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit qmake-utils
|
||||
|
||||
CM_PV="5.18.2"
|
||||
|
||||
DESCRIPTION="Notepad++-like editor for Linux"
|
||||
HOMEPAGE="http://notepadqq.altervista.org"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
https://github.com/${PN}/CodeMirror/archive/${CM_PV}.tar.gz -> CodeMirror-${CM_PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtwebkit:5
|
||||
dev-qt/qtwidgets:5
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
rmdir "${S}"/src/editor/libs/codemirror || die
|
||||
mv "${WORKDIR}"/CodeMirror-${CM_PV} "${S}"/src/editor/libs/codemirror \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# codemirror releases have no m4 directory
|
||||
sed '/mode\/m4/d' -i src/editor/libs/Makefile-codemirror || die
|
||||
|
||||
# Silence a QA warning
|
||||
sed '/^OnlyShowIn/d' \
|
||||
-i support_files/shortcuts/notepadqq.desktop \
|
||||
|| die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake5 PREFIX="${EPREFIX}/usr" ${PN}.pro
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -j1 INSTALL_ROOT="${D}" install
|
||||
}
|
Binary file not shown.
@ -1,2 +1,4 @@
|
||||
DIST qemu-2.11.0-patches-r0.tar.xz 16140 BLAKE2B 2e23908075195a7c28df574525a159e171277a2da6d7c0656a341a2db6a622237106d2dd8de5c9d61b5fb62fa5a163e9657406a2996cebc05baa53d42c5f5d15 SHA512 f7d92c2232398565b8cde294d38dc281c13503fb5967cc7871a2233b7fa354799619445e9ec89c285ef051f62ecef0bd38a135b0093bf5528c0b28c6e580c839
|
||||
DIST qemu-2.11.0.tar.bz2 32816398 BLAKE2B 2014a8246f3cba9069186629d9ec8c221672fcfd3e8cd28a7e57f467add81f7bd84363183ef5cc5d18af91bde9186a4da49c0133c8ead83eae4626b9fc364e99 SHA512 3681700833573c0aa6283af950bfa298970056f1b44489088d8863840a7694512138321f86961ef43b256abf15eddd2612fb9cdbe3d9a358542d4e7037cc2004
|
||||
DIST qemu-2.11.1-patches-r0.tar.xz 1640 BLAKE2B 8402a0bd086307413c3f088b7b2523adda5f370e3ce8e9ec39db905a5df495842cc2168b93b57e8516e98703ee1620e7cad77740529959a09a1d4224988829bc SHA512 2906f9497e61799da8efca0dac4a19addd3bf59770c742e3ed1600143b69397bbc4eecb2c1f64aef0e103447966d47ced1ec6908f78a793b8d06f99a0aa6dc4a
|
||||
DIST qemu-2.11.1.tar.bz2 32819412 BLAKE2B 6b6d4e7b8dcf33aeedb0b33bad267da07ad17c2eeeb5fbd2c038d760bc03224e55ba0f03eb248c62bc0e8636c2c660ea76b367eaea96bee16388053f82c8b8a9 SHA512 1b692bbdfc3dc785738c7192aa2a3f9cf53d9f5bf3b3f49fa8692050dc50f7056c8a4d1b527d48ffb2a674a0fd3a46d87addd1eaaa758f35eec1ab5adfe32354
|
||||
|
@ -0,0 +1,802 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
FIRMWARE_ABI_VERSION="2.9.0-r52"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo-r1 pax-utils l10n
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
|
||||
# Gentoo specific patchsets:
|
||||
SRC_URI+=" https://dev.gentoo.org/~chutzpah/distfiles/${P}-patches-r0.tar.xz"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt
|
||||
glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
|
||||
pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy
|
||||
spice ssh static static-user systemtap tci test usb usbredir vde
|
||||
+vhost-net virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel
|
||||
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc
|
||||
sparc64 x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
|
||||
lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
||||
armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the extranl library.
|
||||
ALL_DEPEND="
|
||||
>=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:0=[unicode]
|
||||
sys-libs/ncurses:0=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gbm]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:=[static-libs(+)] )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-2017_pre20170505[binary]
|
||||
~sys-firmware/ipxe-1.0.0_p20160620
|
||||
~sys-firmware/seabios-1.10.2[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC64_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.10.2[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
|
||||
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
|
||||
"${FILESDIR}"/${PN}-2.11.0-glibc-2.27.patch
|
||||
"${WORKDIR}"/patches
|
||||
)
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
default
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
|
||||
# Remove bundled copy of libfdt
|
||||
rm -r dtc || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser bluetooth bluez)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser png vnc-png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh2)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
)
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
conf_opts+=(
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
rm "${ED}/usr/share/qemu/bios-256k.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
# PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
@ -1,108 +0,0 @@
|
||||
From 50a19c6ff828c58e5dab13830bd3dacde268afe5 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Crosby <crosbymichael@gmail.com>
|
||||
Date: Wed, 7 Dec 2016 15:05:51 -0800
|
||||
Subject: [PATCH] Set init processes as non-dumpable
|
||||
|
||||
This sets the init processes that join and setup the container's
|
||||
namespaces as non-dumpable before they setns to the container's pid (or
|
||||
any other ) namespace.
|
||||
|
||||
This settings is automatically reset to the default after the Exec in
|
||||
the container so that it does not change functionality for the
|
||||
applications that are running inside, just our init processes.
|
||||
|
||||
This prevents parent processes, the pid 1 of the container, to ptrace
|
||||
the init process before it drops caps and other sets LSMs.
|
||||
|
||||
This patch also ensures that the stateDirFD being used is still closed
|
||||
prior to exec, even though it is set as O_CLOEXEC, because of the order
|
||||
in the kernel.
|
||||
|
||||
https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318
|
||||
|
||||
The order during the exec syscall is that the process is set back to
|
||||
dumpable before O_CLOEXEC are processed.
|
||||
|
||||
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
|
||||
---
|
||||
libcontainer/init_linux.go | 3 ++-
|
||||
libcontainer/nsenter/nsexec.c | 5 +++++
|
||||
libcontainer/setns_init_linux.go | 7 ++++++-
|
||||
libcontainer/standard_init_linux.go | 3 +++
|
||||
4 files changed, 16 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libcontainer/init_linux.go b/libcontainer/init_linux.go
|
||||
index b1e6762..4043d51 100644
|
||||
--- a/libcontainer/init_linux.go
|
||||
+++ b/libcontainer/init_linux.go
|
||||
@@ -77,7 +77,8 @@ func newContainerInit(t initType, pipe *os.File, stateDirFD int) (initer, error)
|
||||
switch t {
|
||||
case initSetns:
|
||||
return &linuxSetnsInit{
|
||||
- config: config,
|
||||
+ config: config,
|
||||
+ stateDirFD: stateDirFD,
|
||||
}, nil
|
||||
case initStandard:
|
||||
return &linuxStandardInit{
|
||||
diff --git a/libcontainer/nsenter/nsexec.c b/libcontainer/nsenter/nsexec.c
|
||||
index b93f827..4b5398b 100644
|
||||
--- a/libcontainer/nsenter/nsexec.c
|
||||
+++ b/libcontainer/nsenter/nsexec.c
|
||||
@@ -408,6 +408,11 @@ void nsexec(void)
|
||||
if (pipenum == -1)
|
||||
return;
|
||||
|
||||
+ /* make the process non-dumpable */
|
||||
+ if (prctl(PR_SET_DUMPABLE, 0, 0, 0, 0) != 0) {
|
||||
+ bail("failed to set process as non-dumpable");
|
||||
+ }
|
||||
+
|
||||
/* Parse all of the netlink configuration. */
|
||||
nl_parse(pipenum, &config);
|
||||
|
||||
diff --git a/libcontainer/setns_init_linux.go b/libcontainer/setns_init_linux.go
|
||||
index 2a8f345..7f5f182 100644
|
||||
--- a/libcontainer/setns_init_linux.go
|
||||
+++ b/libcontainer/setns_init_linux.go
|
||||
@@ -5,6 +5,7 @@ package libcontainer
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
+ "syscall"
|
||||
|
||||
"github.com/opencontainers/runc/libcontainer/apparmor"
|
||||
"github.com/opencontainers/runc/libcontainer/keys"
|
||||
@@ -16,7 +17,8 @@ import (
|
||||
// linuxSetnsInit performs the container's initialization for running a new process
|
||||
// inside an existing container.
|
||||
type linuxSetnsInit struct {
|
||||
- config *initConfig
|
||||
+ config *initConfig
|
||||
+ stateDirFD int
|
||||
}
|
||||
|
||||
func (l *linuxSetnsInit) getSessionRingName() string {
|
||||
@@ -49,5 +51,8 @@ func (l *linuxSetnsInit) Init() error {
|
||||
if err := label.SetProcessLabel(l.config.ProcessLabel); err != nil {
|
||||
return err
|
||||
}
|
||||
+ // close the statedir fd before exec because the kernel resets dumpable in the wrong order
|
||||
+ // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318
|
||||
+ syscall.Close(l.stateDirFD)
|
||||
return system.Execv(l.config.Args[0], l.config.Args[0:], os.Environ())
|
||||
}
|
||||
diff --git a/libcontainer/standard_init_linux.go b/libcontainer/standard_init_linux.go
|
||||
index 2104f1a..6a65154 100644
|
||||
--- a/libcontainer/standard_init_linux.go
|
||||
+++ b/libcontainer/standard_init_linux.go
|
||||
@@ -171,6 +171,9 @@ func (l *linuxStandardInit) Init() error {
|
||||
return newSystemErrorWithCause(err, "init seccomp")
|
||||
}
|
||||
}
|
||||
+ // close the statedir fd before exec because the kernel resets dumpable in the wrong order
|
||||
+ // https://github.com/torvalds/linux/blob/v4.9/fs/exec.c#L1290-L1318
|
||||
+ syscall.Close(l.stateDirFD)
|
||||
if err := syscall.Exec(name, l.config.Args[0:], os.Environ()); err != nil {
|
||||
return newSystemErrorWithCause(err, "exec user process")
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
Patch by Maciej S. Szmigiero to make the script work even if no USB device was
|
||||
plugged in before virtualbox got started.
|
||||
|
||||
https://bugs.gentoo.org/639352
|
||||
|
||||
--- a/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
|
||||
+++ b/src/VBox/Installer/linux/VBoxCreateUSBNode.sh
|
||||
@@ -32,13 +32,13 @@
|
||||
devpath="`printf "/dev/vboxusb/%.3d/%.3d" $bus $device`"
|
||||
case "$do_remove" in
|
||||
0)
|
||||
+ case "$group" in "") group="vboxusers";; esac
|
||||
+ mkdir /dev/vboxusb -m 0750 2>/dev/null
|
||||
+ chown root:$group /dev/vboxusb 2>/dev/null
|
||||
if test -n "$class" -a "$class" -eq "$usb_class_hub"
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
- case "$group" in "") group="vboxusers";; esac
|
||||
- mkdir /dev/vboxusb -m 0750 2>/dev/null
|
||||
- chown root:$group /dev/vboxusb 2>/dev/null
|
||||
mkdir "$devdir" -m 0750 2>/dev/null
|
||||
chown root:$group "$devdir" 2>/dev/null
|
||||
mknod "$devpath" c $1 $2 -m 0660 2>/dev/null
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST asciinema-1.4.0.tar.gz 35264 BLAKE2B 7a6eb179206afdcbe8d1a68cc7bdd7246cbb8d5ace870da40db2a1159a71f7cb18133c0bf286f0b0c1a4d2b7779fec9d1af602ca8b14d2fce478b84fe0e8adf4 SHA512 23c67a462acdbbbed495e6cc3e0e22ed028effcc945af30b5925854e216c6f74bb1b416d9b0001726732ae8be510796e996bbca69b225c20422143e5ed1aca5c
|
||||
DIST asciinema-2.0.0.tar.gz 47724 BLAKE2B 28ee2f19bdd7ca27720713af86492d2ac2d3acd53cadfdc82c613e187bcdb4d349c0a7629b7c48630b80c2f62bd20db25ebea43471bd04f205c2afca15b8b9c3 SHA512 af11134af1e69eabbf5a177000026830d418ed5d91e381f27c0631692bbaae04afc3f1086ea2065c54f49f227f7e575938c69d6d3bc8b5f9f06eca3fe084598e
|
||||
|
@ -0,0 +1,32 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python{3_4,3_5} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Command line recorder for asciinema.org service"
|
||||
HOMEPAGE="https://asciinema.org/ https://pypi.python.org/pypi/asciinema"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? ( dev-python/nose[${PYTHON_USEDEP}] )
|
||||
"
|
||||
|
||||
DOCS=( CHANGELOG.md CONTRIBUTING.md README.md doc/asciicast-v1.md )
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
doman man/asciinema.1
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit systemd user toolchain-funcs python-any-r1
|
||||
|
||||
DESCRIPTION="An Open Source MQTT v3 Broker"
|
||||
HOMEPAGE="http://mosquitto.org/"
|
||||
SRC_URI="http://mosquitto.org/files/source/${P}.tar.gz"
|
||||
LICENSE="EPL-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="bridge examples +persistence +srv ssl tcpd websockets"
|
||||
|
||||
RDEPEND="tcpd? ( sys-apps/tcp-wrappers )
|
||||
ssl? ( dev-libs/openssl:0= )"
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
srv? ( net-dns/c-ares )
|
||||
websockets? ( net-libs/libwebsockets )"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup mosquitto
|
||||
enewuser mosquitto -1 -1 -1 mosquitto
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}/${PN}-1.4.10-conditional-tests.patch"
|
||||
if use persistence; then
|
||||
sed -i -e "s:^#autosave_interval:autosave_interval:" \
|
||||
-e "s:^#persistence false$:persistence true:" \
|
||||
-e "s:^#persistence_file:persistence_file:" \
|
||||
-e "s:^#persistence_location$:persistence_location /var/lib/mosquitto/:" \
|
||||
mosquitto.conf || die
|
||||
fi
|
||||
|
||||
# Remove prestripping
|
||||
sed -i -e 's/-s --strip-program=${CROSS_COMPILE}${STRIP}//'\
|
||||
client/Makefile lib/cpp/Makefile src/Makefile lib/Makefile || die
|
||||
|
||||
python_setup
|
||||
python_fix_shebang test
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
LIBDIR=$(get_libdir)
|
||||
makeopts=(
|
||||
"CC=$(tc-getCC)"
|
||||
"LIB_SUFFIX=${LIBDIR:3}"
|
||||
"WITH_BRIDGE=$(usex bridge)"
|
||||
"WITH_PERSISTENCE=$(usex persistence)"
|
||||
"WITH_SRV=$(usex srv)"
|
||||
"WITH_TLS=$(usex ssl)"
|
||||
"WITH_WEBSOCKETS=$(usex websockets)"
|
||||
"WITH_WRAP=$(usex tcpd)"
|
||||
)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake "${makeopts[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake "${makeopts[@]}" test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake "${makeopts[@]}" DESTDIR="${D}" prefix=/usr install
|
||||
keepdir /var/lib/mosquitto
|
||||
fowners mosquitto:mosquitto /var/lib/mosquitto
|
||||
dodoc readme.md CONTRIBUTING.md ChangeLog.txt
|
||||
doinitd "${FILESDIR}"/mosquitto
|
||||
insinto /etc/mosquitto
|
||||
doins mosquitto.conf
|
||||
systemd_dounit "${FILESDIR}/mosquitto.service"
|
||||
|
||||
if use examples; then
|
||||
docompress -x "/usr/share/doc/${PF}/examples"
|
||||
insinto "/usr/share/doc/${PF}/examples"
|
||||
doins -r examples/*
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog ""
|
||||
elog "The Python module has been moved out of mosquitto."
|
||||
elog "See http://mosquitto.org/documentation/python/"
|
||||
elog ""
|
||||
elog "To start the mosquitto daemon at boot, add it to the default runlevel with:"
|
||||
elog ""
|
||||
elog " rc-update add mosquitto default"
|
||||
elog " or"
|
||||
elog " systemctl enable mosquitto"
|
||||
}
|
Binary file not shown.
@ -1,24 +1,12 @@
|
||||
DIST amd64-debug-libreoffice-5.4.4.2.tar.xz 1157249908 BLAKE2B f3f54787550e151b23d9d40d5fa17d37dde0343570bda58c271be6eb5b59722cee784c799a675d6e4bbaf253d2e93534d0509908dbdb899e76f1d45d7660f2bf SHA512 9df6da88372d326694737c67d5f6333b36aed6661e4e1dbd079aa102cb910d23e152c541a456f05852be3aea6994f5ee7a555ce3444b81d9b8bb8e91f9ed65ce
|
||||
DIST amd64-debug-libreoffice-5.4.5.1.tar.xz 1157575908 BLAKE2B 8e1d646aa90c6739afe00da67fcaa93431c2504c190e8537393cac5a77033672a3df45f2b261e8dd262cbcb0e0cea0992994e8bd53f5cebcc5b55d0044115553 SHA512 dac4a9bc7e0c2c11f2d4d45dbb4bc6b91ad32ab226a26cebb81b070b2d672fa03c0b5bc9aee08447d55b285b915a118e6d0fc27c9cba27d9d93ea233c12915bd
|
||||
DIST amd64-debug-libreoffice-gnome-5.4.4.2.xd3 331643342 BLAKE2B b61c70427b1a279275829542b135891204f258cf526b2b0f8d892e1f1a9b37477bd859099638385cd7bd342671a476b3f0bbacaa02b2622cb9bb080f6fe1deea SHA512 592287ef7358385568eb80d3420d84de2f8322f0c76bc187fd0147a8007ca2bab879caa04cca3f7aff9601de3b5d9b3210e262c6c6aaf9d7197ed61d1988ce97
|
||||
DIST amd64-debug-libreoffice-gnome-5.4.5.1.xd3 331679185 BLAKE2B aa8e055aa7be3cbca196934e4f2d7ddceb3cccf92a1d3f1bb4bfc8b8e73274abd7b36dfa515e3f11052e131fa31af500761d88e28839c697ca2951e62015b2a3 SHA512 c3d9f4b5732a870090c598fc3d697a7c508b418574899fe36aadc4e691155887b9366ca46dedc30ea4d59bbf7643d839bdcf949abe3fbd683d4e161a20b6ae8c
|
||||
DIST amd64-debug-libreoffice-gnome-java-5.4.4.2.xd3 563946969 BLAKE2B ab9d4bd1367ddc03a4a2857235b366deff616f28424efe253877cb0eb66c12b2d43b2e8fb7b9dcbcfe3f348b239728ad0f990ed03db419fdc9bb46d38e2493b7 SHA512 080f4f86358f5180781460f1eee501bc34654ca2ef5a0445d24c3d1e72edef5275ba0e21da6aa3838b51438c39701963f6e151e6c8aed4325967bd0cba26385e
|
||||
DIST amd64-debug-libreoffice-gnome-java-5.4.5.1.xd3 563805504 BLAKE2B 8b4cdf10ef011c4657cec26a78d8ed79c1c8de36a67a62a0fd0daa3d7f9d739bd38d611cf1f79aa7a25c189ec2fb1fa22f292bb79769686dc73be11373b7135a SHA512 52c618371722136bce7440ed20b7d3a01c66a215d13c037a8bb2eb8691f51d38ff37310b063598f8e5750235304de018de9acb77f93912d44f9e22877ed27670
|
||||
DIST amd64-debug-libreoffice-java-5.4.4.2.xd3 555918957 BLAKE2B 7bccebd636c89f14eafa942b09591f36e45339690bf64266feb8aa13f243547a1f4cb64287c9a896ac44ab42db8ab6549d149f34932bd727cef06236c335dd7a SHA512 048aeac43dc6751faafd9541323fc219dab5aae34781a292113e75e6ded96b20a002ecd03f10f8b7df0d538e4cba9dcbf659f42b45d14940dfe89054ec5a1fde
|
||||
DIST amd64-debug-libreoffice-java-5.4.5.1.xd3 555709754 BLAKE2B 13131e8c9e61663b6b595af308d307806ab3ded347796d669d397782b3795dae4bb477ca214007cd7470c7476b7ff0fb8e4b0b90a2581ff09bfe273f1ac81eb2 SHA512 809c7787b36a5354295d60a311ae3e5f48f078f7e0a596aa48ab099796d59f3aa30d40441cf834480665717dd72b98e28205e3cc985611901d8ba85d99c4a318
|
||||
DIST amd64-debug-libreoffice-kde-5.4.4.2.xd3 338710001 BLAKE2B cc11889039cdddceb109b6274c19a5311ca1900466e4e4bcfe9c67280eaca63f6c6a09dd3dfdb824d3571c2cc23a967d0242cc3e93f5803c80fee5abfb6ab523 SHA512 66868097eb0c9dfcd727903066838e56ab16d163268300efab51d77ec70912bbc8973d926b7d0282e311cb01f21e576536e004ac1c555c4d6b151045d5699ac5
|
||||
DIST amd64-debug-libreoffice-kde-5.4.5.1.xd3 337957489 BLAKE2B d7599148be2770423226666c10511ce721bc59ed29ba54dacc696b6b00768baa6f4f2ebaebad227457db22454e0adc1ea59aab4a63c592b10b87ac773af02b2a SHA512 06a2afb7d014fd6ddbfc935267e59c82a9295c37bd30d17d210627b0678bd6050810c54e675e41627f5f9fe4814c14768c7cc25436388bcbafe5839868fe4964
|
||||
DIST amd64-debug-libreoffice-kde-java-5.4.4.2.xd3 557723085 BLAKE2B 014a3ec204e5253b15cd6375f73a4907951444f076c8acf5f7fbcdb8dc85fcf617cc659e25cf61343bb4826a9c0d47b3187e96d0f79c5afafdf6e5243033d994 SHA512 0a5b44a3579e315e58a44b32299cd67d06ebef5c2dabc70ddf6403b1502de15d228f0496980cf9b4decbde3213600b0686ef016d93877c22d7ddcfad9b51090f
|
||||
DIST amd64-debug-libreoffice-kde-java-5.4.5.1.xd3 557521078 BLAKE2B 343b9dc888cc1582e2ac14532f5de2e2b728be3919204296696e208774da82f3e90a2f447bc5c3d703383c57e6155486fd0b7f5900185969141c69877dfafb16 SHA512 519a0977a003c2e1b47832a0a1ebc2de197522b4193a1890330f9f040d23a93b285a1b4e8efbe4de357a40537b68592c8f40cb72dec3d80fa871938f3c246e64
|
||||
DIST x86-debug-libreoffice-5.4.4.2.tar.xz 1129709360 BLAKE2B b4147a670ccd30ca6c459571190cf52d2f94f038c934733230c0b88878a1c30c92f3e8837ba69ce30f8ab219fac79572fdf92d5e280d484a53d574105dfec7b6 SHA512 510ea4e36459a18144a041e0d111c668e6514a3291fd23a3d495bf5cf11ed13fd58c6cb0774fbd3255da666ac473f901a07ccaf35e36be33b3b0558a31de35e1
|
||||
DIST x86-debug-libreoffice-5.4.5.1.tar.xz 1130163208 BLAKE2B 2288afbf5773ca93d7eb28e95ea388b4f8770684b55923c291dd80327853d7b58a0895ff053769809a407981d36c4aca3a94bbc3e40ed4daa07acf07c2a40e4e SHA512 7cd7a73996ab43e17b4b6c941c109a0ac99a44727056a54a6ea40a45d59bcb86c1875748834a7b0e84b31c92f1d120898bc63b4400e3be0743bdcfaeae2d04b8
|
||||
DIST x86-debug-libreoffice-gnome-5.4.4.2.xd3 321695199 BLAKE2B 2333e2305c49fb6eac21b01604f6c0d79b5782a51258ed9a192213438c7352322d3a2272b1d37ea393531237e8150e207b779bb05f02b4a6c1c6cd86c814701c SHA512 f9d194503fffeec5ea8b5647b500a746f7ec86d1e9d05cc88f84c5f956f66aa5d5048d60de2be6233ef1b55617840c572097432a7db72ec2ee6043b05546fbb7
|
||||
DIST x86-debug-libreoffice-gnome-5.4.5.1.xd3 321731155 BLAKE2B c6c459e01ea90133773436c1ade2911099f8299808c30f92bb55e095c42dc30fffb8052bf43b0f4aa7635e0eb17569644d02bcce9eafe5f6ccce1d35c1ccfe09 SHA512 1047c0c633914ddcb06e430ef8aefe6d3c74d1e70ac63005c6e22982210daa6eb092380cf74d8b41c87d979249f4fe0cbbf6bce7793a3b0a6785acf484616cad
|
||||
DIST x86-debug-libreoffice-gnome-java-5.4.4.2.xd3 536476843 BLAKE2B 79b54f3d2d6b16aedc89f7be84b98433f3a9b5988a8959d49c28043aebd3b4d9170e8a4f2ab976eb0da6b6ec4ac24258e7eb38fb888ed8051ec9e44de5f7b4fb SHA512 2aacd941b34c6efe565660bb204651f37688d2ddcd2ab7a4dc5382ae335f76f97dc1228a63b31a48531de12d8dcc1e3df70bb6650390f9b930e7f8a61c582070
|
||||
DIST x86-debug-libreoffice-gnome-java-5.4.5.1.xd3 535171694 BLAKE2B e3467d6d9656bc76c76fc98a2c5844675b85da47c56512588cd8221935aa53ecebd4bff07e09a27cb9980fad8015fb12f458b47fcb6ac1b6e8e8794a9f1fe621 SHA512 03f065f5a2e4d7fd608cd8820866562d40fb1db64b729522c27e8732c809f5425046858286d91085fe01dcfa3bd33725f8fad7a55f1b078c8b06815982acd5a4
|
||||
DIST x86-debug-libreoffice-java-5.4.4.2.xd3 528672548 BLAKE2B 7759d9e612cd87c9cc568922c4750376e757d79d17502075f63a97b952afb7a7aca2ed4523ecfaf5ca07b58234c1caf4ffc9fa9101695de227a48ad326540896 SHA512 c1e6c3e199ce03af538158cd587708642464df4bf003768b94f9188eee509843c0a7ac2b758d13ab61c6bdfdb92e3d333dc1432b0a39b7fd82e91ffac5645e99
|
||||
DIST x86-debug-libreoffice-java-5.4.5.1.xd3 527291958 BLAKE2B 5fb90285b7573e4d4bd3b6aaa8fdda01c3bf14fed3f4c9eb0b754ceb899627e2b091e6901370cad28fa407a8a3940e717b191bef3487c54d4f61dd8eaf6fe323 SHA512 8cbd19d8983f310976242c6c4f46be6bcc5e5693e074e997ae4e2b18589bb1d99df6417a7bae1cb7a421374049f5878f333452b12f56b672a48683e4ea72181b
|
||||
DIST x86-debug-libreoffice-kde-5.4.4.2.xd3 329354953 BLAKE2B 98713477df17bfd72f7458ced98672e03b3f40be2a5e95409a11ecb245d89416c93fe0ee11b81fde17543e228d19edde2ffbcec0bf82fb9fdb124401115a9f78 SHA512 5ac7f9872349b1da14994562840dfd203d2ae4413cf4437e5acef69690e41e17d760e0562aaa356fe76e2ff643e8a33e7e05c1a00f06735669c81a9f4dd95bfb
|
||||
DIST x86-debug-libreoffice-kde-5.4.5.1.xd3 328651433 BLAKE2B bd54186c17798909ca555d493083b7fe2f7f0820def97b6c09644e7652e722cb2be4cbd8cb6bfc637bd9d982aeb5f5e5dd19d7fc7ec79ca8599ab8e3f913e12e SHA512 776f17374f45d2914946e0ebbba3a75585b2a416660c1a0c79c5b395c33bf1cbe9bd9b37276c9ba82dcd5ca820ad4dc6c1e932e06c0a5adc70e315db72eca2fb
|
||||
DIST x86-debug-libreoffice-kde-java-5.4.4.2.xd3 530430093 BLAKE2B 5619d7179d1bbbac296a7d91403d5ae09f63ce0548a1c90fbdfee481c3595221e6428061e5cd59aa94454a587fba6e2a0f0afed799fb5de26f01e708d8e4a230 SHA512 67c3f52cfd06cfa7c9133f4c829b8457d38b7ae83f663cd8b185105959fa5e022bd037ada8bb9ead950dfdc7437597b8ac4c98831d20d2422b4dcda518613aaa
|
||||
DIST x86-debug-libreoffice-kde-java-5.4.5.1.xd3 529080140 BLAKE2B d6cc31c28189ce1dd1b1e085bf6317914c85abebb4dfad64c15bbdf90689701ba35105ea24692086e81fbe17d691761f1305b938d4256a7dd5857e6ccb13feb8 SHA512 d5e5ee39c102ec951b437611186577b2f2ea25a529d26c01b97dd2452f38a52a2a0649944494246255451efd65af6cdea2fd724aa27d8b295570eb4658c01e3b
|
||||
|
@ -1,87 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
BASE_PACKAGENAME="debug"
|
||||
BASE_AMD64_URI="http://packages.gentooexperimental.org/packages/amd64-libreoffice/amd64-${BASE_PACKAGENAME}-"
|
||||
BASE_X86_URI="http://packages.gentooexperimental.org/packages/x86-libreoffice/x86-${BASE_PACKAGENAME}-"
|
||||
|
||||
DESCRIPTION="LibreOffice, a full office productivity suite. Binary package, debug info"
|
||||
HOMEPAGE="http://www.libreoffice.org"
|
||||
SRC_URI_AMD64="
|
||||
${BASE_AMD64_URI}libreoffice-${PVR}.tar.xz
|
||||
kde? (
|
||||
!java? ( ${BASE_AMD64_URI}libreoffice-kde-${PVR}.xd3 )
|
||||
java? ( ${BASE_AMD64_URI}libreoffice-kde-java-${PVR}.xd3 )
|
||||
)
|
||||
gnome? (
|
||||
!java? ( ${BASE_AMD64_URI}libreoffice-gnome-${PVR}.xd3 )
|
||||
java? ( ${BASE_AMD64_URI}libreoffice-gnome-java-${PVR}.xd3 )
|
||||
)
|
||||
!kde? ( !gnome? (
|
||||
java? ( ${BASE_AMD64_URI}libreoffice-java-${PVR}.xd3 )
|
||||
) )
|
||||
"
|
||||
SRC_URI_X86="
|
||||
${BASE_X86_URI}libreoffice-${PVR}.tar.xz
|
||||
kde? (
|
||||
!java? ( ${BASE_X86_URI}libreoffice-kde-${PVR}.xd3 )
|
||||
java? ( ${BASE_X86_URI}libreoffice-kde-java-${PVR}.xd3 )
|
||||
)
|
||||
gnome? (
|
||||
!java? ( ${BASE_X86_URI}libreoffice-gnome-${PVR}.xd3 )
|
||||
java? ( ${BASE_X86_URI}libreoffice-gnome-java-${PVR}.xd3 )
|
||||
)
|
||||
!kde? ( !gnome? (
|
||||
java? ( ${BASE_X86_URI}libreoffice-java-${PVR}.xd3 )
|
||||
) )
|
||||
"
|
||||
|
||||
SRC_URI="
|
||||
amd64? ( ${SRC_URI_AMD64} )
|
||||
x86? ( ${SRC_URI_X86} )
|
||||
"
|
||||
|
||||
IUSE="gnome java kde"
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* amd64 x86"
|
||||
|
||||
RDEPEND="=app-office/${PN/-debug}-${PVR}[gnome=,java=,kde=]"
|
||||
|
||||
DEPEND="dev-util/xdelta:3"
|
||||
|
||||
RESTRICT="test strip"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="/usr/*"
|
||||
|
||||
src_unpack() {
|
||||
einfo "Uncompressing distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz"
|
||||
xz -cd "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz" > "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
|
||||
|
||||
local patchname
|
||||
use kde && patchname="-kde"
|
||||
use gnome && patchname="-gnome"
|
||||
use java && patchname="${patchname}-java"
|
||||
|
||||
if [ -n "${patchname}" ]; then
|
||||
einfo "Patching distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar using ${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3"
|
||||
xdelta3 -d -s "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3" "${WORKDIR}/tmpdist.tar" || die
|
||||
mv "${WORKDIR}/tmpdist.tar" "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
|
||||
fi
|
||||
|
||||
einfo "Unpacking new ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
|
||||
unpack "./${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
dodir /usr
|
||||
cp -aR "${S}"/usr/* "${ED}"/usr/ || die
|
||||
}
|
@ -1,24 +1,12 @@
|
||||
DIST amd64-bin-libreoffice-5.4.4.2.tar.xz 75454500 BLAKE2B 0708d66535d15efd044837a3dc978bd564fb8716cbd212a95f70f63185f8dee1c56ac1d01a6fcb4d188762ac16dbb0353dc64f08bdcd75edbd93b83df5c885d2 SHA512 5e4c2c36c16419def7385d1bffd712e437c55217e645c2ffee69a385a57ab3f4704df58449b8b793a5567c3c3313aadd6fa8b3a5671efb2ce03ea5b16eb0c677
|
||||
DIST amd64-bin-libreoffice-5.4.5.1.tar.xz 75480304 BLAKE2B 6a7b018e5cfd66b97e7f16e40dff7b6154ce622a2a992deae0b49114ce8bb2077553e2be7ce9b1a702495ba996b80bff39647cb864b688593dbb0edd026d8f35 SHA512 739a80cab6b508244e3bcc8b282bb728271b65d8f48b347ca4eb9e15239b1f35252f322efff85e3c47ddf420cd4f36a9d522fa675c1774f17868c2a69dd82164
|
||||
DIST amd64-bin-libreoffice-gnome-5.4.4.2.xd3 16217377 BLAKE2B a3f59c2ccf7559ebe6854a3db529e6d3dd3b9328690291bfa110120d7139f5ba219f0b79724d634515b8e057c21af1f34a94854aa992a2d42d0088f04d076a55 SHA512 214b2d6fdd90767ba0cef83f089f63841de78d661fee8c979cd7278745f7ea7d831e5ae58605b3066467ae9e2c045829fb68c69083cdedae21a6c863cdad93ad
|
||||
DIST amd64-bin-libreoffice-gnome-5.4.5.1.xd3 16216047 BLAKE2B 0ea40233b41c637069174532c509fd36efecb03df10c35b23bb315379212ae08e41318a4cb28e2ae55680e410474a5b1b1fb40c6f533d2f1fdfa98d3f18c58cd SHA512 239cc60220719b1a46b25c6bd5482973b302b3c2b126e87091911355a837eaf653bd2cc5de81ee882ce839522ceda9bd19d47222e1933a3b6c847628d9dd32c3
|
||||
DIST amd64-bin-libreoffice-gnome-java-5.4.4.2.xd3 26624490 BLAKE2B bb3a9534f57e036a2463a8eaa39b659c29d2cc38c43cab64d2a30dcbbca52507fc25d266a2e673827125252276087f5479300957a669a3dba4cf6e0a06865fcf SHA512 9f44171a3516b1fbfb8bf00f12d4e8d3c2ddd5dbb2bbf01df88db582dc155df35304974219e74df09052a3ed6b89638b845fdf79977bc910c9ede082c08d560e
|
||||
DIST amd64-bin-libreoffice-gnome-java-5.4.5.1.xd3 26624424 BLAKE2B a79e5e50dfee66e628e217f702c3bd838c582aff3a0501c3423ab275e03122515ea30edbab709179ecbce973604a6b6222b7d2904001f22896efed8c6610eff9 SHA512 9a01c47a996e26de4508383451a4be669512b89f2a0a6cc96cd7f363f05610cf9d244fd30a801303d8db7e866935c4fce622a472f5991d26adfacae9db700bc4
|
||||
DIST amd64-bin-libreoffice-java-5.4.4.2.xd3 25742615 BLAKE2B 4391bb0190badd18be15f1d48549484bfa77bdf93e04a988aece08b13f8eced2ebe568128b7baaaf01e23918db3f35c14ca03225dc690e3f4b76e00a51b88ea4 SHA512 131707e35b2a899904595c8d76c9d12f9d38f08c6d0209b5c4d4513f9892189a337d660f4816548b5d9ea69b93dc61cff4de67f220f801f8f59f95dd00f9d13b
|
||||
DIST amd64-bin-libreoffice-java-5.4.5.1.xd3 25747222 BLAKE2B 28a189cab3e748056d3b32f7f36037e517aab966ccaa42211e8a4e7f2c1db763b9ff2c84a9dab076c367da7143a6b0c8782f9898e075ff9769f1c4d3e8a5669c SHA512 54d0de9b7f32d9e65e32a8ad0cab5ff212b2751a41c1297fd7c38728f7ff2bb3fcaa9b1bad55714097d1ed726449783b0ed17e43d8032e0e35cc8696b5ed9907
|
||||
DIST amd64-bin-libreoffice-kde-5.4.4.2.xd3 9224240 BLAKE2B 594c2a77d8bea9657b90bbe4e44ccccbf9830f548fd16b67092e08c8403128b9ca430979033400b56349e303e5db414b5b761fbbec14e5f9619e7553b16efe5d SHA512 43e5c876e19b1d3e292048dfdc866c5449253b2f178f0c9838b95e5cd07cfccba6220276a4c5127191d4d503a4ee1f292e14c8d027102ec9d77053016f7cd9dd
|
||||
DIST amd64-bin-libreoffice-kde-5.4.5.1.xd3 9238961 BLAKE2B ca7f2853f8fa53eba373ef8f48f32d2f457b9a65d99b94baccc14dfb3e96b2a00f4e4cb164bdef1823c846b71906cbb932a59f4189113d62035c27de64dcf357 SHA512 14ef861c7166b939667fa9e759e3114aaa958bacec0924f98c0562e63c4c5c42986f5c5fc9cfb223b8a7848ddfe653a4f1871581fa4d776a8c64f30a3a577e7b
|
||||
DIST amd64-bin-libreoffice-kde-java-5.4.4.2.xd3 25847518 BLAKE2B c11bbdf6bd2c24c6f1a7133147f573439e7ecd902f876a31f8c29c0a45a4f27127e2c16336bfcaab763e749d3bb646723b8799d67fb01680a758f0faf83aa0e1 SHA512 859533f4c44f569652beb477c0bbeb44a52fd77a3c6b8d7b1b63c655b611a06c2fa1870ab77cd8a853cdd190d8562270598dfad4c236529af62fd4d796c94d30
|
||||
DIST amd64-bin-libreoffice-kde-java-5.4.5.1.xd3 25851121 BLAKE2B a81d6a0588b54c8fe2cadf3ac5afed6791f1d752a9fd1da59845e54fee51247fbfe76dd0ed8ef4238e8a3043f24c88e437ace3bc9b07dca040035e9609d92e83 SHA512 120dcce55692e7b3cd681492b96202166a3155db104e8f984c2ff746a747594cf41cb91c400fa9015134e60aafacf77f8f8b7ed3d31ce8c1797b8b2820680560
|
||||
DIST x86-bin-libreoffice-5.4.4.2.tar.xz 77651884 BLAKE2B eea6e1546fb53411aacbe43878ab5194855dc46371ab94c8e634b70d1ee5a2c9b1efbfe06168b02064efeec80916f3c5e53adb5b71557dcf5c8b5288b1db1951 SHA512 4ba93a809288fbc33e7551a1f746191787efae9be3beb41fd4d0285da8de7aa0cfe509b20aa1699f10c211a0ac796d49c8bceb0459ecf9fbea9c67cc0caa74a9
|
||||
DIST x86-bin-libreoffice-5.4.5.1.tar.xz 77649164 BLAKE2B a7b5188dfa3c321a69a0328bf70e3637677350efbb399619937a255cf9d7d91fc16ac27c9acad3627f65e958009930270dbd3512e08021bd45743b380acff565 SHA512 7b7964fc84a1aa6f8300df5be166a76629848ea123f1dd582fe0ce93b4a85dfe5cda7dc5080adca5bd14cf85614172b8530b738a96b3ff40720c4ba41c0e692a
|
||||
DIST x86-bin-libreoffice-gnome-5.4.4.2.xd3 14270348 BLAKE2B f2e4bf463dc53e0919ae561369b90a675d11cd65ca06500917b611f7e6e4fa4b21d0f03e22800124598a3b8322990a31572ef41605b81657446e40c606f9bc60 SHA512 6a30c9efde0e37dad2858e4239c53fa592b8d8f4925f8548e07044d65907aadb0b7a4b4a116e8da1f030ea677287aab96481b968cbe0e37e6a1b81c28061b98e
|
||||
DIST x86-bin-libreoffice-gnome-5.4.5.1.xd3 14266862 BLAKE2B aee448047f2d975de0b3420e125cb337bf9f5131bf89a9fc10294b81751ed107a6de282ea6a27a2e1be91e705c5a34613a1d38a0f169139f48aebbad56266fe7 SHA512 2321c78301c25d37cc06dac987105863faded7ea9128ee0a5a32645837ead75e3c85f78d0f017be6e5c21a9fe4b41ea1775ef3d5ce6544cc4d7931bbc4bf9c60
|
||||
DIST x86-bin-libreoffice-gnome-java-5.4.4.2.xd3 27065101 BLAKE2B a3c58647c6d2d0f8dd3d32fac9e1ba7967c41fb425b1a2104c92a223f4c7f301a9f9fed842a5a9ca31801f882d8fc0b702ff7b6c7cdcc742aa4ec9c716b5798b SHA512 ebc2775a379843daca4c9e273e2152f84a7b04ab542cf39394c6f2b4650a758f570baaebf3f49003a45cd06c60e6bce65782217836e8132488c49eef7c9205d0
|
||||
DIST x86-bin-libreoffice-gnome-java-5.4.5.1.xd3 25919818 BLAKE2B 4ef28d9c32a0caa39e034f14abf9f513c308734fdb1b1c1016ab431da3893b130c04c21110aad464b4f5aa1ff5955023eee5fb722e6734a76da78579d8d02360 SHA512 df2eb1b920899cc26d54780ba3b2d8673ce8c93d72bb2f5d7472abe1b8024d0f2426f935e8e9b9d83f2fc7d2c76c65acb804ca0d41332063637991bfa2857d0c
|
||||
DIST x86-bin-libreoffice-java-5.4.4.2.xd3 23531668 BLAKE2B e29b255a2eb5a235c436582d38e020a4dfcc17cf750cf8be7536cea18d9483bc6624b9d933dd04465c8aa0f482cbcfe79ec8939aa7f7faa0c33650a54f8b747d SHA512 9aeed28bf31a90d6647b11cb8f06f00da7b8d8686c6247202e9c1efc982d264032f58ffb7fd1fbd36dd70d3bc83dff77b3e583217365b1ec4ee33db4ac9e73bb
|
||||
DIST x86-bin-libreoffice-java-5.4.5.1.xd3 22349280 BLAKE2B b53fbafa5ca66800152af5e548f3600e69d8368b769dcb5553e13a1f657e57a1961438667a3745d1d0e8f46e69caaf31ad7450ef18f2e684a271233584422441 SHA512 8be523caf6b726c3844c7115d5ce922168eed27493c611028e528a98f64650413dcaeac0e589b8f78b52698f17e86fb3b55e712afe6a388dae32cdcf0b5f3d3e
|
||||
DIST x86-bin-libreoffice-kde-5.4.4.2.xd3 5822545 BLAKE2B 554e2f68d4c79908a118998405d628fcaa7dea34238a74d6d6822eb8f8f41d626eaaab40d02f36b6418c63827f3f3596317bea595da396aeb51dc58ec21ebfa6 SHA512 dbd9a8677bc248408505214c97748e5353937d425d6a1f34cec4d3e4595f4382f0e7e83295cf671da4b10a51c411d1bce4fdf51ac5c323c2c6fe23c52cb89f44
|
||||
DIST x86-bin-libreoffice-kde-5.4.5.1.xd3 5234235 BLAKE2B f1c4f2db89cd4f6f013af9a5b9e89b88c1d5a8710ef7f03c136cd99c57d690a358741697f260a4220b74ee2c03280d80669c28112d7f53ca4d1f20d0fb63428c SHA512 993be8a8e65680f4e82040ac0232193c81b600f467d61cf2d8f009d3be3f22a2f24cc3479104c4e64c6cc0a5ddfef3cecd7a51b5d44abf3630d3a93d467a0159
|
||||
DIST x86-bin-libreoffice-kde-java-5.4.4.2.xd3 23590122 BLAKE2B a8f9467ab022a0181db8bceed85596ab1bfba49c4c629049aeee6b1b65a2b1a0f6bef82a46f0b5f8ce93ef2a3f977a818be90d72680a6889db4f2efcdd0f6aa1 SHA512 c574727bc3a0c9d9d0a97f20c2afd48e947dd619ae400ba76f8fa2844b84392da5fd42d0abcebb57ae6beb34fad84782f6f5d74a718d284e262796ff826ab1a5
|
||||
DIST x86-bin-libreoffice-kde-java-5.4.5.1.xd3 22411985 BLAKE2B 6517ef3900e53d9b96ee41d68760de67a4b9f97d404eea0718efaba6e03771e1428002f1d2a2dd9d63712b9d0cf2c967a530f9579fee32bfe20622a2c5db7d94 SHA512 67eab09e4b46b52a587709244aba99ffa6414d6188340405d24d69abc6da194ccee8164b89a76be8a88c639dc4628322aaf18d2061e491681946201e4d0bca37
|
||||
|
@ -1,255 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
BASE_PACKAGENAME="bin"
|
||||
BASE_AMD64_URI="http://packages.gentooexperimental.org/packages/amd64-libreoffice/amd64-${BASE_PACKAGENAME}-"
|
||||
BASE_X86_URI="http://packages.gentooexperimental.org/packages/x86-libreoffice/x86-${BASE_PACKAGENAME}-"
|
||||
|
||||
PYTHON_COMPAT=( python3_5 )
|
||||
PYTHON_REQ_USE="threads,xml"
|
||||
|
||||
inherit gnome2-utils java-pkg-opt-2 python-single-r1 pax-utils prefix versionator xdg-utils
|
||||
|
||||
DESCRIPTION="A full office productivity suite. Binary package"
|
||||
HOMEPAGE="http://www.libreoffice.org"
|
||||
SRC_URI_AMD64="
|
||||
${BASE_AMD64_URI}libreoffice-${PVR}.tar.xz
|
||||
kde? (
|
||||
!java? ( ${BASE_AMD64_URI}libreoffice-kde-${PVR}.xd3 )
|
||||
java? ( ${BASE_AMD64_URI}libreoffice-kde-java-${PVR}.xd3 )
|
||||
)
|
||||
gnome? (
|
||||
!java? ( ${BASE_AMD64_URI}libreoffice-gnome-${PVR}.xd3 )
|
||||
java? ( ${BASE_AMD64_URI}libreoffice-gnome-java-${PVR}.xd3 )
|
||||
)
|
||||
!kde? ( !gnome? (
|
||||
java? ( ${BASE_AMD64_URI}libreoffice-java-${PVR}.xd3 )
|
||||
) )
|
||||
"
|
||||
SRC_URI_X86="
|
||||
${BASE_X86_URI}libreoffice-${PVR}.tar.xz
|
||||
kde? (
|
||||
!java? ( ${BASE_X86_URI}libreoffice-kde-${PVR}.xd3 )
|
||||
java? ( ${BASE_X86_URI}libreoffice-kde-java-${PVR}.xd3 )
|
||||
)
|
||||
gnome? (
|
||||
!java? ( ${BASE_X86_URI}libreoffice-gnome-${PVR}.xd3 )
|
||||
java? ( ${BASE_X86_URI}libreoffice-gnome-java-${PVR}.xd3 )
|
||||
)
|
||||
!kde? ( !gnome? (
|
||||
java? ( ${BASE_X86_URI}libreoffice-java-${PVR}.xd3 )
|
||||
) )
|
||||
"
|
||||
|
||||
SRC_URI="
|
||||
amd64? ( ${SRC_URI_AMD64} )
|
||||
x86? ( ${SRC_URI_X86} )
|
||||
"
|
||||
|
||||
IUSE="gnome java kde"
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* amd64 x86"
|
||||
|
||||
BIN_COMMON_DEPEND="
|
||||
app-text/hunspell:0/1.6
|
||||
=app-text/libexttextcat-3.4*
|
||||
=app-text/libmwaw-0.3*
|
||||
dev-libs/boost:0/1.65.0
|
||||
dev-libs/icu:0/60.2
|
||||
>=media-gfx/graphite2-1.3.10
|
||||
media-libs/harfbuzz:0/0.9.18[icu]
|
||||
media-libs/libpng:0/16
|
||||
>=sys-devel/gcc-6.4.0
|
||||
>=sys-libs/glibc-2.25
|
||||
virtual/jpeg:62
|
||||
kde? ( >=kde-frameworks/kdelibs-4.14.37:4 >=dev-qt/qtcore-4.8.7-r3:4 >=dev-qt/qtgui-4.8.7:4 )
|
||||
"
|
||||
|
||||
# PLEASE place any restrictions that are specific to the binary builds
|
||||
# into the BIN_COMMON_DEPEND block above.
|
||||
# All dependencies below this point should remain identical to those in
|
||||
# the source ebuilds.
|
||||
|
||||
COMMON_DEPEND="
|
||||
${BIN_COMMON_DEPEND}
|
||||
${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.1
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
=dev-cpp/libcmis-0.5*
|
||||
dev-db/unixODBC
|
||||
dev-lang/perl
|
||||
dev-libs/boost:=
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
=dev-libs/liborcus-0.12*
|
||||
dev-libs/librevenge
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
>=dev-libs/openssl-1.0.0d:0
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.24[nss]
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype:2
|
||||
>=media-libs/harfbuzz-0.9.42:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libzmf
|
||||
net-libs/neon
|
||||
net-misc/curl
|
||||
net-nds/openldap
|
||||
sci-mathematics/lpsolve
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
virtual/glu
|
||||
virtual/jpeg:0
|
||||
virtual/opengl
|
||||
net-print/cups
|
||||
dev-libs/dbus-glib
|
||||
gnome? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/dconf
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
gnome? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
x11-libs/gtk+:3
|
||||
)
|
||||
kde? (
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
kde-frameworks/kdelibs
|
||||
)
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice
|
||||
!app-office/openoffice
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/libertine
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
kde? ( kde-frameworks/oxygen-icons:* )
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
=app-office/libreoffice-l10n-${PV}*
|
||||
"
|
||||
|
||||
DEPEND="dev-util/xdelta:3"
|
||||
|
||||
# only one flavor at a time
|
||||
REQUIRED_USE="kde? ( !gnome ) gnome? ( !kde ) ${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RESTRICT="test strip"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
PYTHON_UPDATER_IGNORE="1"
|
||||
|
||||
QA_PREBUILT="/usr/*"
|
||||
|
||||
pkg_pretend() {
|
||||
[[ $(gcc-major-version) -lt 4 ]] || \
|
||||
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -le 4 ]] ) \
|
||||
&& die "Sorry, but gcc-4.4 and earlier won't work for libreoffice-bin package (see bug #387515)."
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
einfo "Uncompressing distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz"
|
||||
xz -cd "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar.xz" > "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
|
||||
|
||||
local patchname
|
||||
use kde && patchname="-kde"
|
||||
use gnome && patchname="-gnome"
|
||||
use java && patchname="${patchname}-java"
|
||||
|
||||
if [ -n "${patchname}" ]; then
|
||||
einfo "Patching distfile ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar using ${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3"
|
||||
xdelta3 -d -s "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" "${DISTDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice${patchname}-${PVR}.xd3" "${WORKDIR}/tmpdist.tar" || die
|
||||
mv "${WORKDIR}/tmpdist.tar" "${WORKDIR}/${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar" || die
|
||||
fi
|
||||
|
||||
einfo "Unpacking new ${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
|
||||
unpack "./${ARCH}-${BASE_PACKAGENAME}-libreoffice-${PVR}.tar"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cp "${FILESDIR}"/50-${PN} "${T}"
|
||||
eprefixify "${T}"/50-${PN}
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
dodir /usr
|
||||
cp -aR "${S}"/usr/* "${ED}"/usr/
|
||||
|
||||
# prevent revdep-rebuild from attempting to rebuild all the time
|
||||
insinto /etc/revdep-rebuild && doins "${T}/50-${PN}"
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
|
||||
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/soffice.bin
|
||||
pax-mark -m "${EPREFIX}"/usr/$(get_libdir)/libreoffice/program/unopkg.bin
|
||||
|
||||
use java || \
|
||||
ewarn 'If you plan to use lbase application you should enable java or you will get various crashes.'
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -1,88 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit rpm versionator
|
||||
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
|
||||
DESCRIPTION="Translations for the Libreoffice suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
BASE_SRC_URI_TESTING="https://download.documentfoundation.org/${PN/-l10n/}/testing/${MY_PV}/rpm"
|
||||
BASE_SRC_URI_STABLE="https://download.documentfoundation.org/${PN/-l10n/}/stable/${MY_PV}/rpm"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="offlinehelp"
|
||||
|
||||
#
|
||||
# when changing the language lists, please be careful to preserve the spaces (bug 491728)
|
||||
#
|
||||
# "en:en-US" for mapping from Gentoo "en" to upstream "en-US" etc.
|
||||
LANGUAGES_HELP=" am ast bg bn-IN bn bo bs ca-valencia ca cs da de dz el en-GB en:en-US en-ZA eo es et eu fi fr gl gu he hi hr hu id is it ja ka km ko mk nb ne nl nn om pl pt-BR pt ru si sk sl sq sv tg tr ug uk vi zh-CN zh-TW "
|
||||
LANGUAGES="${LANGUAGES_HELP}af ar as be br brx cy dgo fa ga gd gug kk kmr-Latn kn kok ks lb lo lt lv mai ml mn mni mr my nr nso oc or pa:pa-IN ro rw sa:sa-IN sat sd sid sr-Latn sr ss st sw-TZ ta te th tn ts tt uz ve xh zu "
|
||||
|
||||
for lang in ${LANGUAGES_HELP}; do
|
||||
helppack="offlinehelp? ( ${BASE_SRC_URI_STABLE}/x86/LibreOffice_${MY_PV}_Linux_x86_rpm_helppack_${lang#*:}.tar.gz -> LibreOffice_${PV}_Linux_x86_rpm_helppack_${lang#*:}.tar.gz ${BASE_SRC_URI_TESTING}/x86/LibreOffice_${PV}_Linux_x86_rpm_helppack_${lang#*:}.tar.gz )"
|
||||
SRC_URI+=" l10n_${lang%:*}? ( ${helppack} )"
|
||||
done
|
||||
for lang in ${LANGUAGES}; do
|
||||
if [[ ${lang%:*} != en ]]; then
|
||||
langpack="${BASE_SRC_URI_STABLE}/x86/LibreOffice_${MY_PV}_Linux_x86_rpm_langpack_${lang#*:}.tar.gz -> LibreOffice_${PV}_Linux_x86_rpm_langpack_${lang#*:}.tar.gz ${BASE_SRC_URI_TESTING}/x86/LibreOffice_${PV}_Linux_x86_rpm_langpack_${lang#*:}.tar.gz"
|
||||
SRC_URI+=" l10n_${lang%:*}? ( ${langpack} )"
|
||||
fi
|
||||
IUSE+=" l10n_${lang%:*}"
|
||||
done
|
||||
unset lang helppack langpack
|
||||
|
||||
RDEPEND+="app-text/hunspell"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
local lang dir rpmdir
|
||||
|
||||
# First remove dictionaries, we want to use system ones.
|
||||
find "${S}" -name *dict*.rpm -delete || die "Failed to remove dictionaries"
|
||||
|
||||
for lang in ${LANGUAGES}; do
|
||||
# break away if not enabled
|
||||
use l10n_${lang%:*} || continue
|
||||
|
||||
dir=${lang#*:}
|
||||
|
||||
# for english we provide just helppack, as translation is always there
|
||||
if [[ ${lang%:*} != en ]]; then
|
||||
rpmdir="LibreOffice_${PV}_Linux_x86_rpm_langpack_${dir}/RPMS/"
|
||||
[[ -d ${rpmdir} ]] || die "Missing directory: ${rpmdir}"
|
||||
rpm_unpack ./${rpmdir}/*.rpm
|
||||
fi
|
||||
if [[ "${LANGUAGES_HELP}" =~ " ${lang} " ]] && use offlinehelp; then
|
||||
rpmdir="LibreOffice_${PV}_Linux_x86_rpm_helppack_${dir}/RPMS/"
|
||||
[[ -d ${rpmdir} ]] || die "Missing directory: ${rpmdir}"
|
||||
rpm_unpack ./${rpmdir}/*.rpm
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
local dir="${S}"/opt/${PN/-l10n/}$(get_version_component_range 1-2)/
|
||||
# Condition required for people that do not install anything eg no l10n
|
||||
# or just english with no offlinehelp.
|
||||
if [[ -d "${dir}" ]] ; then
|
||||
insinto /usr/$(get_libdir)/${PN/-l10n/}/
|
||||
doins -r "${dir}"/*
|
||||
fi
|
||||
# remove extensions that are in the l10n for some weird reason
|
||||
rm -rf "${ED}"usr/$(get_libdir)/${PN/-l10n/}/share/extensions/ || \
|
||||
die "Failed to remove extensions"
|
||||
}
|
@ -1,579 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
PYTHON_REQ_USE="threads,xml"
|
||||
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make
|
||||
# everyone happy.
|
||||
DEV_URI="
|
||||
https://dev-builds.libreoffice.org/pre-releases/src
|
||||
https://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
|
||||
https://download.documentfoundation.org/libreoffice/old/${PV}/
|
||||
"
|
||||
ADDONS_URI="https://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-r3"
|
||||
inherit multiprocessing autotools bash-completion-r1 check-reqs gnome2-utils java-pkg-opt-2 pax-utils python-single-r1 toolchain-funcs flag-o-matic versionator xdg-utils qmake-utils ${SCM_ECLASS}
|
||||
unset SCM_ECLASS
|
||||
|
||||
DESCRIPTION="A full office productivity suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs
|
||||
# Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
# Only release has the tarballs
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
SRC_URI+=" ${i}/${P}.tar.xz"
|
||||
SRC_URI+=" ${i}/${PN}-help-${PV}.tar.xz"
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC=(
|
||||
"collada? ( ${ADDONS_URI}/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 )"
|
||||
"java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
# no release for 8 years, should we package it?
|
||||
"libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
|
||||
# Does not build with 1.6 rhino at all
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
# requirement of rhino
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
# not packageable
|
||||
"odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
)
|
||||
SRC_URI+=" ${ADDONS_SRC[*]}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
# Extensions that need extra work:
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
|
||||
IUSE="bluetooth +branding coinmp collada +cups dbus debug eds firebird gltf googledrive
|
||||
gstreamer +gtk gtk3 jemalloc kde libressl mysql odk pdfimport postgres quickstarter test vlc
|
||||
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
[[ ${PV} == *9999* ]] || \
|
||||
KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.1
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
=dev-cpp/libcmis-0.5*
|
||||
dev-db/unixODBC
|
||||
dev-lang/perl
|
||||
dev-libs/boost:=
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
=dev-libs/liborcus-0.12*
|
||||
dev-libs/librevenge
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
!libressl? ( >=dev-libs/openssl-1.0.0d:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.24[nss]
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype:2
|
||||
>=media-libs/harfbuzz-0.9.42:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1[X]
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libzmf
|
||||
net-libs/neon
|
||||
net-misc/curl
|
||||
net-nds/openldap
|
||||
sci-mathematics/lpsolve
|
||||
virtual/glu
|
||||
virtual/jpeg:0
|
||||
virtual/opengl
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
collada? ( media-libs/opencollada )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( dev-libs/dbus-glib )
|
||||
eds? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/dconf
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1 )
|
||||
gltf? ( >=media-libs/libgltf-0.1.0 )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
gtk3? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
x11-libs/gtk+:3
|
||||
)
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
kde? (
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
kde-frameworks/kdelibs
|
||||
)
|
||||
libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
|
||||
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
|
||||
mysql? ( dev-db/mysql-connector-c++ )
|
||||
pdfimport? ( app-text/poppler:=[cxx] )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
!app-office/openoffice
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/libertine
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
kde? ( kde-frameworks/oxygen-icons:* )
|
||||
vlc? ( media-video/vlc )
|
||||
"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(get_version_component_range 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
PDEPEND="!app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
!<sys-devel/make-3.82
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
>=dev-libs/libxml2-2.7.8
|
||||
dev-libs/libxslt
|
||||
dev-perl/Archive-Zip
|
||||
>=dev-util/cppunit-1.14.0
|
||||
>=dev-util/gperf-3
|
||||
dev-util/intltool
|
||||
>=dev-util/mdds-1.2.2:1=
|
||||
media-libs/glm
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
sys-devel/ucpp
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-proto/randrproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
java? (
|
||||
dev-java/ant-core
|
||||
>=virtual/jdk-1.6
|
||||
)
|
||||
odk? ( >=app-doc/doxygen-1.8.4 )
|
||||
test? (
|
||||
dev-util/cppunit
|
||||
media-fonts/dejavu
|
||||
)
|
||||
"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
bluetooth? ( dbus )
|
||||
collada? ( gltf )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-5.4-system-pyuno.patch"
|
||||
"${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
|
||||
|
||||
# TODO: upstream
|
||||
"${FILESDIR}/${PN}-5.2.5.1-glibc-2.24.patch"
|
||||
"${FILESDIR}/${P}-gtk3-no-gtk-build.patch" # bug 641812
|
||||
"${FILESDIR}/${P}-poppler-0.62.patch" # bug 642602
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
use java || \
|
||||
ewarn "If you plan to use Base application you should enable java or you will get various crashes."
|
||||
|
||||
if has_version "<app-office/libreoffice-5.3.0[firebird]"; then
|
||||
ewarn "Firebird has been upgraded to version 3.0.0. It is unable to read back Firebird 2.5 data,"
|
||||
ewarn "so embedded firebird odb files created in LibreOffice pre-5.3 cannot be opened with LibreOffice 5.3."
|
||||
ewarn "See also: https://wiki.documentfoundation.org/ReleaseNotes/5.3#Base"
|
||||
fi
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
xdg_environment_reset
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
|
||||
use branding && unpack "${BRANDING}"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
unpack "${P}.tar.xz"
|
||||
unpack "${PN}-help-${PV}.tar.xz"
|
||||
else
|
||||
local base_uri branch mypv
|
||||
base_uri="https://anongit.freedesktop.org/git"
|
||||
branch="master"
|
||||
mypv=${PV/.9999}
|
||||
[[ ${mypv} != ${PV} ]] && branch="${PN}-${mypv/./-}"
|
||||
git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
|
||||
git-r3_checkout "${base_uri}/${PN}/core"
|
||||
|
||||
git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
|
||||
git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
[[ -n ${PATCHSET} ]] && eapply "${WORKDIR}/${PATCHSET/.tar.xz/}"
|
||||
default
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# system pyuno mess
|
||||
sed -i \
|
||||
-e "s:%eprefix%:${EPREFIX}:g" \
|
||||
-e "s:%libdir%:$(get_libdir):g" \
|
||||
pyuno/source/module/uno.py \
|
||||
pyuno/source/officehelper.py || die
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e "s#all : build unitcheck#all : build#g" \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
|
||||
-e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
|
||||
Makefile.in || die
|
||||
|
||||
sed -i \
|
||||
-e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
|
||||
-e "s,\$INSTALLDIRNAME.sh,${PN}," \
|
||||
bin/distro-install-desktop-integration || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
|
||||
fi
|
||||
|
||||
# Don't list pdfimport support in desktop when built with none, bug # 605464
|
||||
if ! use pdfimport; then
|
||||
sed -i \
|
||||
-e ":MimeType: s:application/pdf;::" \
|
||||
-e ":Keywords: s:pdf;::" \
|
||||
sysui/desktop/menus/draw.desktop || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution, please get
|
||||
# your own set of keys. Feel free to contact chromium@gentoo.org for more info.
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
if use collada; then
|
||||
export OPENCOLLADA_CFLAGS="-I/usr/include/opencollada/COLLADABaseUtils -I/usr/include/opencollada/COLLADAFramework -I/usr/include/opencollada/COLLADASaxFrameworkLoader -I/usr/include/opencollada/GeneratedSaxParser"
|
||||
export OPENCOLLADA_LIBS="-L /usr/$(get_libdir)/opencollada -lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lGeneratedSaxParser"
|
||||
fi
|
||||
|
||||
if use kde; then
|
||||
# bug 544108, bug 599076
|
||||
export QMAKEQT4="$(qt4_get_bindir)/qmake"
|
||||
export MOCQT4="$(qt4_get_bindir)/moc"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
# --without-system-sane: just sane.h header that is used for scan in writer,
|
||||
# not linked or anything else, worthless to depend on
|
||||
# --disable-pdfium: not yet packaged
|
||||
local myeconfargs=(
|
||||
--with-system-dicts
|
||||
--with-system-epoxy
|
||||
--with-system-headers
|
||||
--with-system-jars
|
||||
--with-system-libs
|
||||
--enable-cairo-canvas
|
||||
--enable-largefile
|
||||
--enable-mergelibs
|
||||
--enable-neon
|
||||
--enable-python=system
|
||||
--enable-randr
|
||||
--enable-release-build
|
||||
--disable-breakpad
|
||||
--disable-ccache
|
||||
--disable-dependency-tracking
|
||||
--disable-epm
|
||||
--disable-fetch-external
|
||||
--disable-gstreamer-0-10
|
||||
--disable-online-update
|
||||
--disable-pdfium
|
||||
--disable-report-builder
|
||||
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system")
|
||||
--with-build-version="Gentoo official package"
|
||||
--enable-extension-integration
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-tar="${DISTDIR}"
|
||||
--with-lang=""
|
||||
--with-parallelism=$(makeopts_jobs)
|
||||
--with-system-ucpp
|
||||
--with-vendor="Gentoo Foundation"
|
||||
--with-x
|
||||
--without-fonts
|
||||
--without-myspell-dicts
|
||||
--without-help
|
||||
--with-helppack-integration
|
||||
--with-system-gpgmepp
|
||||
--without-system-sane
|
||||
$(use_enable bluetooth sdremote-bluetooth)
|
||||
$(use_enable coinmp)
|
||||
$(use_enable collada)
|
||||
$(use_enable cups)
|
||||
$(use_enable debug)
|
||||
$(use_enable dbus)
|
||||
$(use_enable eds evolution2)
|
||||
$(use_enable firebird firebird-sdbc)
|
||||
$(use_enable gltf)
|
||||
$(use_enable gstreamer gstreamer-1-0)
|
||||
$(use_enable gtk)
|
||||
$(use_enable gtk3)
|
||||
$(use_enable kde kde4)
|
||||
$(use_enable mysql ext-mariadb-connector)
|
||||
$(use_enable odk)
|
||||
$(use_enable pdfimport)
|
||||
$(use_enable postgres postgresql-sdbc)
|
||||
$(use_enable quickstarter systray)
|
||||
$(use_enable vlc)
|
||||
$(use_with coinmp system-coinmp)
|
||||
$(use_with collada system-opencollada)
|
||||
$(use_with gltf system-libgltf)
|
||||
$(use_with googledrive gdrive-client-id ${google_default_client_id})
|
||||
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})
|
||||
$(use_with java)
|
||||
$(use_with mysql system-mysql-cppconn)
|
||||
$(use_with odk doxygen)
|
||||
)
|
||||
|
||||
if use eds || use gtk3; then
|
||||
myeconfargs+=( --enable-dconf --enable-gio )
|
||||
else
|
||||
myeconfargs+=( --disable-dconf --disable-gio )
|
||||
fi
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
|
||||
else
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
myeconfargs+=(
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home=$(java-config --jdk-home 2>/dev/null)
|
||||
--with-jvm-path="${EPREFIX}/usr/lib/"
|
||||
)
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
# hack for offlinehelp, this needs fixing upstream at some point
|
||||
# it is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
(
|
||||
grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk" || die
|
||||
source "${T}/config_host.mk" 2&> /dev/null
|
||||
|
||||
local path="${WORKDIR}/helpcontent2/source/auxiliary/"
|
||||
mkdir -p "${path}" || die
|
||||
|
||||
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=helpcontent2/source/media/helpimg > \"${path}/helpimg.ilst\""
|
||||
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
|
||||
-dir=helpcontent2/source/media/helpimg \
|
||||
> "${path}/helpimg.ilst"
|
||||
[[ -s "${path}/helpimg.ilst" ]] || \
|
||||
ewarn "The help images list is empty, something is fishy, report a bug."
|
||||
)
|
||||
|
||||
local target
|
||||
use test && target="build" || target="build-nocheck"
|
||||
|
||||
# this is not a proper make script
|
||||
make ${target} || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
make unitcheck || die
|
||||
make slowcheck || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# This is not Makefile so no buildserver
|
||||
make DESTDIR="${D}" distro-pack-install -o build -o check || die
|
||||
|
||||
# bug 593514
|
||||
if use gtk3; then
|
||||
dosym libreoffice/program/liblibreofficekitgtk.so \
|
||||
/usr/$(get_libdir)/liblibreofficekitgtk.so
|
||||
fi
|
||||
|
||||
# bash completion aliases
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"etc/env.d/99${PN} || die
|
||||
fi
|
||||
|
||||
# Hack for offlinehelp, this needs fixing upstream at some point.
|
||||
# It is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
insinto /usr/$(get_libdir)/libreoffice/help
|
||||
doins xmlhelp/util/*.xsl
|
||||
|
||||
# Remove desktop files to support old installs that can't parse mime
|
||||
rm -r "${ED}"usr/share/mimelnk/ || die
|
||||
|
||||
pax-mark -m "${ED}"usr/$(get_libdir)/libreoffice/program/soffice.bin
|
||||
pax-mark -m "${ED}"usr/$(get_libdir)/libreoffice/program/unopkg.bin
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -1,578 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
|
||||
PYTHON_REQ_USE="threads,xml"
|
||||
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make
|
||||
# everyone happy.
|
||||
DEV_URI="
|
||||
https://dev-builds.libreoffice.org/pre-releases/src
|
||||
https://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
|
||||
https://download.documentfoundation.org/libreoffice/old/${PV}/
|
||||
"
|
||||
ADDONS_URI="https://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-r3"
|
||||
inherit multiprocessing autotools bash-completion-r1 check-reqs gnome2-utils java-pkg-opt-2 pax-utils python-single-r1 toolchain-funcs flag-o-matic versionator xdg-utils qmake-utils ${SCM_ECLASS}
|
||||
unset SCM_ECLASS
|
||||
|
||||
DESCRIPTION="A full office productivity suite"
|
||||
HOMEPAGE="https://www.libreoffice.org"
|
||||
SRC_URI="branding? ( https://dev.gentoo.org/~dilfridge/distfiles/${BRANDING} )"
|
||||
[[ -n ${PATCHSET} ]] && SRC_URI+=" http://dev.gentooexperimental.org/~scarabeus/${PATCHSET}"
|
||||
|
||||
# Split modules following git/tarballs
|
||||
# Core MUST be first!
|
||||
# Help is used for the image generator
|
||||
# Only release has the tarballs
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
SRC_URI+=" ${i}/${P}.tar.xz"
|
||||
SRC_URI+=" ${i}/${PN}-help-${PV}.tar.xz"
|
||||
done
|
||||
unset i
|
||||
fi
|
||||
unset DEV_URI
|
||||
|
||||
# Really required addons
|
||||
# These are bundles that can't be removed for now due to huge patchsets.
|
||||
# If you want them gone, patches are welcome.
|
||||
ADDONS_SRC=(
|
||||
"collada? ( ${ADDONS_URI}/4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2 )"
|
||||
"java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
# no release for 8 years, should we package it?
|
||||
"libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )"
|
||||
# Does not build with 1.6 rhino at all
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )"
|
||||
# requirement of rhino
|
||||
"libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )"
|
||||
# not packageable
|
||||
"odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )"
|
||||
)
|
||||
SRC_URI+=" ${ADDONS_SRC[*]}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
# Extensions that need extra work:
|
||||
LO_EXTS="nlpsolver scripting-beanshell scripting-javascript wiki-publisher"
|
||||
|
||||
IUSE="bluetooth +branding coinmp collada +cups dbus debug eds firebird gltf googledrive
|
||||
gstreamer +gtk gtk3 jemalloc kde libressl mysql odk pdfimport postgres quickstarter test vlc
|
||||
$(printf 'libreoffice_extensions_%s ' ${LO_EXTS})"
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
[[ ${PV} == *9999* ]] || \
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
app-arch/unzip
|
||||
app-arch/zip
|
||||
app-crypt/gpgme[cxx]
|
||||
app-text/hunspell:=
|
||||
>=app-text/libabw-0.1.0
|
||||
>=app-text/libebook-0.1
|
||||
>=app-text/libetonyek-0.1
|
||||
app-text/libexttextcat
|
||||
app-text/liblangtag
|
||||
>=app-text/libmspub-0.1.0
|
||||
>=app-text/libmwaw-0.3.1
|
||||
>=app-text/libodfgen-0.1.0
|
||||
app-text/libstaroffice
|
||||
app-text/libwpd:0.10[tools]
|
||||
app-text/libwpg:0.3
|
||||
>=app-text/libwps-0.4
|
||||
app-text/mythes
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
=dev-cpp/libcmis-0.5*
|
||||
dev-db/unixODBC
|
||||
dev-lang/perl
|
||||
dev-libs/boost:=
|
||||
dev-libs/expat
|
||||
dev-libs/hyphen
|
||||
dev-libs/icu:=
|
||||
dev-libs/libassuan
|
||||
dev-libs/libgpg-error
|
||||
=dev-libs/liborcus-0.12*
|
||||
dev-libs/librevenge
|
||||
dev-libs/nspr
|
||||
dev-libs/nss
|
||||
!libressl? ( >=dev-libs/openssl-1.0.0d:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
>=dev-libs/redland-1.0.16
|
||||
>=dev-libs/xmlsec-1.2.24[nss]
|
||||
media-gfx/graphite2
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype:2
|
||||
>=media-libs/harfbuzz-0.9.42:=[graphite,icu]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libcdr-0.1.0
|
||||
>=media-libs/libepoxy-1.3.1[X]
|
||||
>=media-libs/libfreehand-0.1.0
|
||||
media-libs/libpagemaker
|
||||
>=media-libs/libpng-1.4:0=
|
||||
>=media-libs/libvisio-0.1.0
|
||||
media-libs/libzmf
|
||||
net-libs/neon
|
||||
net-misc/curl
|
||||
net-nds/openldap
|
||||
sci-mathematics/lpsolve
|
||||
virtual/glu
|
||||
virtual/jpeg:0
|
||||
virtual/opengl
|
||||
x11-libs/cairo[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
coinmp? ( sci-libs/coinor-mp )
|
||||
collada? ( media-libs/opencollada )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( dev-libs/dbus-glib )
|
||||
eds? (
|
||||
dev-libs/glib:2
|
||||
gnome-base/dconf
|
||||
gnome-extra/evolution-data-server
|
||||
)
|
||||
firebird? ( >=dev-db/firebird-3.0.2.32703.0-r1 )
|
||||
gltf? ( >=media-libs/libgltf-0.1.0 )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
gtk? (
|
||||
x11-libs/gdk-pixbuf
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
gtk3? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
gnome-base/dconf
|
||||
x11-libs/gtk+:3
|
||||
)
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
kde? (
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
kde-frameworks/kdelibs
|
||||
)
|
||||
libreoffice_extensions_scripting-beanshell? ( dev-java/bsh )
|
||||
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
|
||||
mysql? ( dev-db/mysql-connector-c++ )
|
||||
pdfimport? ( app-text/poppler:=[cxx] )
|
||||
postgres? ( >=dev-db/postgresql-9.0:*[kerberos] )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
!app-office/openoffice
|
||||
media-fonts/dejavu
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/libertine
|
||||
|| ( x11-misc/xdg-utils kde-plasma/kde-cli-tools )
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
kde? ( kde-frameworks/oxygen-icons:* )
|
||||
vlc? ( media-video/vlc )
|
||||
"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
PDEPEND="=app-office/libreoffice-l10n-$(get_version_component_range 1-2)*"
|
||||
else
|
||||
# Translations are not reliable on live ebuilds
|
||||
# rather force people to use english only.
|
||||
PDEPEND="!app-office/libreoffice-l10n"
|
||||
fi
|
||||
|
||||
# FIXME: cppunit should be moved to test conditional
|
||||
# after everything upstream is under gbuild
|
||||
# as dmake execute tests right away
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
!<sys-devel/make-3.82
|
||||
>=dev-libs/libatomic_ops-7.2d
|
||||
>=dev-libs/libxml2-2.7.8
|
||||
dev-libs/libxslt
|
||||
dev-perl/Archive-Zip
|
||||
>=dev-util/cppunit-1.14.0
|
||||
>=dev-util/gperf-3
|
||||
dev-util/intltool
|
||||
>=dev-util/mdds-1.2.2:1=
|
||||
media-libs/glm
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
sys-devel/ucpp
|
||||
sys-libs/zlib
|
||||
virtual/pkgconfig
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-proto/randrproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
java? (
|
||||
dev-java/ant-core
|
||||
>=virtual/jdk-1.6
|
||||
)
|
||||
odk? ( >=app-doc/doxygen-1.8.4 )
|
||||
test? (
|
||||
dev-util/cppunit
|
||||
media-fonts/dejavu
|
||||
)
|
||||
"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
bluetooth? ( dbus )
|
||||
collada? ( gltf )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-5.4-system-pyuno.patch"
|
||||
"${FILESDIR}/${PN}-5.3.4.2-kioclient5.patch"
|
||||
|
||||
# TODO: upstream
|
||||
"${FILESDIR}/${PN}-5.2.5.1-glibc-2.24.patch"
|
||||
"${FILESDIR}/${PN}-5.4.4.2-poppler-0.62.patch" # bug 642602
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
use java || \
|
||||
ewarn "If you plan to use Base application you should enable java or you will get various crashes."
|
||||
|
||||
if has_version "<app-office/libreoffice-5.3.0[firebird]"; then
|
||||
ewarn "Firebird has been upgraded to version 3.0.0. It is unable to read back Firebird 2.5 data,"
|
||||
ewarn "so embedded firebird odb files created in LibreOffice pre-5.3 cannot be opened with LibreOffice 5.3."
|
||||
ewarn "See also: https://wiki.documentfoundation.org/ReleaseNotes/5.3#Base"
|
||||
fi
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_pkg_pretend
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
xdg_environment_reset
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
CHECKREQS_MEMORY="512M"
|
||||
if is-flagq "-g*" && ! is-flagq "-g*0" ; then
|
||||
CHECKREQS_DISK_BUILD="22G"
|
||||
else
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
fi
|
||||
check-reqs_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
|
||||
use branding && unpack "${BRANDING}"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
unpack "${P}.tar.xz"
|
||||
unpack "${PN}-help-${PV}.tar.xz"
|
||||
else
|
||||
local base_uri branch mypv
|
||||
base_uri="https://anongit.freedesktop.org/git"
|
||||
branch="master"
|
||||
mypv=${PV/.9999}
|
||||
[[ ${mypv} != ${PV} ]] && branch="${PN}-${mypv/./-}"
|
||||
git-r3_fetch "${base_uri}/${PN}/core" "refs/heads/${branch}"
|
||||
git-r3_checkout "${base_uri}/${PN}/core"
|
||||
|
||||
git-r3_fetch "${base_uri}/${PN}/help" "refs/heads/master"
|
||||
git-r3_checkout "${base_uri}/${PN}/help" "helpcontent2" # doesn't match on help
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
[[ -n ${PATCHSET} ]] && eapply "${WORKDIR}/${PATCHSET/.tar.xz/}"
|
||||
default
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# system pyuno mess
|
||||
sed -i \
|
||||
-e "s:%eprefix%:${EPREFIX}:g" \
|
||||
-e "s:%libdir%:$(get_libdir):g" \
|
||||
pyuno/source/module/uno.py \
|
||||
pyuno/source/officehelper.py || die
|
||||
# sed in the tests
|
||||
sed -i \
|
||||
-e "s#all : build unitcheck#all : build#g" \
|
||||
solenv/gbuild/Module.mk || die
|
||||
sed -i \
|
||||
-e "s#check: dev-install subsequentcheck#check: unitcheck slowcheck dev-install subsequentcheck#g" \
|
||||
-e "s#Makefile.gbuild all slowcheck#Makefile.gbuild all#g" \
|
||||
Makefile.in || die
|
||||
|
||||
sed -i \
|
||||
-e "s,/usr/share/bash-completion/completions,$(get_bashcompdir)," \
|
||||
-e "s,\$INSTALLDIRNAME.sh,${PN}," \
|
||||
bin/distro-install-desktop-integration || die
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
|
||||
fi
|
||||
|
||||
# Don't list pdfimport support in desktop when built with none, bug # 605464
|
||||
if ! use pdfimport; then
|
||||
sed -i \
|
||||
-e ":MimeType: s:application/pdf;::" \
|
||||
-e ":Keywords: s:pdf;::" \
|
||||
sysui/desktop/menus/draw.desktop || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up Google API keys, see https://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for Gentoo use ONLY. For your own distribution, please get
|
||||
# your own set of keys. Feel free to contact chromium@gentoo.org for more info.
|
||||
local google_default_client_id="329227923882.apps.googleusercontent.com"
|
||||
local google_default_client_secret="vgKG0NNv7GoDpbtoFNLxCUXu"
|
||||
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
if use collada; then
|
||||
export OPENCOLLADA_CFLAGS="-I/usr/include/opencollada/COLLADABaseUtils -I/usr/include/opencollada/COLLADAFramework -I/usr/include/opencollada/COLLADASaxFrameworkLoader -I/usr/include/opencollada/GeneratedSaxParser"
|
||||
export OPENCOLLADA_LIBS="-L /usr/$(get_libdir)/opencollada -lOpenCOLLADABaseUtils -lOpenCOLLADAFramework -lOpenCOLLADASaxFrameworkLoader -lGeneratedSaxParser"
|
||||
fi
|
||||
|
||||
if use kde; then
|
||||
# bug 544108, bug 599076
|
||||
export QMAKEQT4="$(qt4_get_bindir)/qmake"
|
||||
export MOCQT4="$(qt4_get_bindir)/moc"
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --disable-breakpad: requires not-yet-in-tree dev-utils/breakpad
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-*-link: link to the library rather than just dlopen on runtime
|
||||
# --enable-release-build: build the libreoffice as release
|
||||
# --disable-fetch-external: prevent dowloading during compile phase
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
# --without-system-sane: just sane.h header that is used for scan in writer,
|
||||
# not linked or anything else, worthless to depend on
|
||||
# --disable-pdfium: not yet packaged
|
||||
local myeconfargs=(
|
||||
--with-system-dicts
|
||||
--with-system-epoxy
|
||||
--with-system-headers
|
||||
--with-system-jars
|
||||
--with-system-libs
|
||||
--enable-cairo-canvas
|
||||
--enable-largefile
|
||||
--enable-mergelibs
|
||||
--enable-neon
|
||||
--enable-python=system
|
||||
--enable-randr
|
||||
--enable-release-build
|
||||
--disable-breakpad
|
||||
--disable-ccache
|
||||
--disable-dependency-tracking
|
||||
--disable-epm
|
||||
--disable-fetch-external
|
||||
--disable-gstreamer-0-10
|
||||
--disable-online-update
|
||||
--disable-pdfium
|
||||
--disable-report-builder
|
||||
--with-alloc=$(use jemalloc && echo "jemalloc" || echo "system")
|
||||
--with-build-version="Gentoo official package"
|
||||
--enable-extension-integration
|
||||
--with-external-dict-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-hyph-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-thes-dir="${EPREFIX}/usr/share/myspell"
|
||||
--with-external-tar="${DISTDIR}"
|
||||
--with-lang=""
|
||||
--with-parallelism=$(makeopts_jobs)
|
||||
--with-system-ucpp
|
||||
--with-vendor="Gentoo Foundation"
|
||||
--with-x
|
||||
--without-fonts
|
||||
--without-myspell-dicts
|
||||
--without-help
|
||||
--with-helppack-integration
|
||||
--with-system-gpgmepp
|
||||
--without-system-sane
|
||||
$(use_enable bluetooth sdremote-bluetooth)
|
||||
$(use_enable coinmp)
|
||||
$(use_enable collada)
|
||||
$(use_enable cups)
|
||||
$(use_enable debug)
|
||||
$(use_enable dbus)
|
||||
$(use_enable eds evolution2)
|
||||
$(use_enable firebird firebird-sdbc)
|
||||
$(use_enable gltf)
|
||||
$(use_enable gstreamer gstreamer-1-0)
|
||||
$(use_enable gtk)
|
||||
$(use_enable gtk3)
|
||||
$(use_enable kde kde4)
|
||||
$(use_enable mysql ext-mariadb-connector)
|
||||
$(use_enable odk)
|
||||
$(use_enable pdfimport)
|
||||
$(use_enable postgres postgresql-sdbc)
|
||||
$(use_enable quickstarter systray)
|
||||
$(use_enable vlc)
|
||||
$(use_with coinmp system-coinmp)
|
||||
$(use_with collada system-opencollada)
|
||||
$(use_with gltf system-libgltf)
|
||||
$(use_with googledrive gdrive-client-id ${google_default_client_id})
|
||||
$(use_with googledrive gdrive-client-secret ${google_default_client_secret})
|
||||
$(use_with java)
|
||||
$(use_with mysql system-mysql-cppconn)
|
||||
$(use_with odk doxygen)
|
||||
)
|
||||
|
||||
if use eds || use gtk3; then
|
||||
myeconfargs+=( --enable-dconf --enable-gio )
|
||||
else
|
||||
myeconfargs+=( --disable-dconf --disable-gio )
|
||||
fi
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt}) )
|
||||
else
|
||||
myeconfargs+=( $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt}) )
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
myeconfargs+=(
|
||||
--without-junit
|
||||
--without-system-hsqldb
|
||||
--with-ant-home="${ANT_HOME}"
|
||||
--with-jdk-home=$(java-config --jdk-home 2>/dev/null)
|
||||
--with-jvm-path="${EPREFIX}/usr/lib/"
|
||||
)
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
myeconfargs+=( --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar) )
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
myeconfargs+=( --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar) )
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# more and more LO stuff tries to use OpenGL, including tests during build
|
||||
# bug 501508, bug 540624, bug 545974 and probably more
|
||||
addpredict /dev/dri
|
||||
addpredict /dev/ati
|
||||
addpredict /dev/nvidiactl
|
||||
|
||||
# hack for offlinehelp, this needs fixing upstream at some point
|
||||
# it is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
(
|
||||
grep "^export" "${S}/config_host.mk" > "${T}/config_host.mk" || die
|
||||
source "${T}/config_host.mk" 2&> /dev/null
|
||||
|
||||
local path="${WORKDIR}/helpcontent2/source/auxiliary/"
|
||||
mkdir -p "${path}" || die
|
||||
|
||||
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=helpcontent2/source/media/helpimg > \"${path}/helpimg.ilst\""
|
||||
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
|
||||
-dir=helpcontent2/source/media/helpimg \
|
||||
> "${path}/helpimg.ilst"
|
||||
[[ -s "${path}/helpimg.ilst" ]] || \
|
||||
ewarn "The help images list is empty, something is fishy, report a bug."
|
||||
)
|
||||
|
||||
local target
|
||||
use test && target="build" || target="build-nocheck"
|
||||
|
||||
# this is not a proper make script
|
||||
make ${target} || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
make unitcheck || die
|
||||
make slowcheck || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# This is not Makefile so no buildserver
|
||||
make DESTDIR="${D}" distro-pack-install -o build -o check || die
|
||||
|
||||
# bug 593514
|
||||
if use gtk3; then
|
||||
dosym libreoffice/program/liblibreofficekitgtk.so \
|
||||
/usr/$(get_libdir)/liblibreofficekitgtk.so
|
||||
fi
|
||||
|
||||
# bash completion aliases
|
||||
bashcomp_alias \
|
||||
libreoffice \
|
||||
unopkg loimpress lobase localc lodraw lomath lowriter lofromtemplate loweb loffice
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
dodir /etc/env.d
|
||||
echo "CONFIG_PROTECT=/usr/$(get_libdir)/${PN}/program/sofficerc" > "${ED}"etc/env.d/99${PN} || die
|
||||
fi
|
||||
|
||||
# Hack for offlinehelp, this needs fixing upstream at some point.
|
||||
# It is broken because we send --without-help
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=46506
|
||||
insinto /usr/$(get_libdir)/libreoffice/help
|
||||
doins xmlhelp/util/*.xsl
|
||||
|
||||
# Remove desktop files to support old installs that can't parse mime
|
||||
rm -r "${ED}"usr/share/mimelnk/ || die
|
||||
|
||||
pax-mark -m "${ED}"usr/$(get_libdir)/libreoffice/program/soffice.bin
|
||||
pax-mark -m "${ED}"usr/$(get_libdir)/libreoffice/program/unopkg.bin
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
@ -0,0 +1,187 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit gnome2-utils xdg-utils flag-o-matic font python-single-r1 qmake-utils toolchain-funcs multilib desktop
|
||||
|
||||
MY_P="${P/_}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
FONT_S="${S}/lib/fonts"
|
||||
FONT_SUFFIX="ttf"
|
||||
DESCRIPTION="WYSIWYM frontend for LaTeX, DocBook, etc."
|
||||
HOMEPAGE="https://www.lyx.org/"
|
||||
SRC_URI="ftp://ftp.lyx.org/pub/lyx/stable/2.2.x/${MY_P}.tar.xz
|
||||
ftp://ftp.lyx.org/pub/lyx/devel/lyx-2.2/${MY_P}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x64-macos ~x86-macos"
|
||||
IUSE="aspell cups debug docbook dia dot enchant gnumeric html +hunspell +latex monolithic-build nls +qt5 rcs rtf subversion svg l10n_he"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
dev-libs/boost:=
|
||||
dev-texlive/texlive-fontsextra
|
||||
sys-apps/file
|
||||
sys-libs/zlib
|
||||
virtual/imagemagick-tools[png,svg?]
|
||||
aspell? ( app-text/aspell )
|
||||
cups? ( net-print/cups )
|
||||
dia? ( app-office/dia )
|
||||
docbook? ( app-text/sgmltools-lite )
|
||||
dot? ( media-gfx/graphviz )
|
||||
enchant? ( app-text/enchant )
|
||||
gnumeric? ( app-office/gnumeric )
|
||||
html? ( dev-tex/html2latex )
|
||||
hunspell? ( app-text/hunspell )
|
||||
latex? (
|
||||
app-text/dvipng
|
||||
app-text/ghostscript-gpl
|
||||
app-text/noweb
|
||||
app-text/ps2eps
|
||||
app-text/texlive
|
||||
dev-tex/chktex
|
||||
dev-tex/dvipost
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-pictures
|
||||
|| ( dev-texlive/texlive-mathscience dev-texlive/texlive-science )
|
||||
|| ( dev-texlive/texlive-plaingeneric dev-texlive/texlive-genericextra )
|
||||
|| (
|
||||
dev-tex/hevea
|
||||
dev-tex/latex2html
|
||||
dev-tex/tex4ht[java]
|
||||
dev-tex/tth
|
||||
)
|
||||
)
|
||||
l10n_he? ( dev-tex/culmus-latex )
|
||||
!qt5? (
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtgui:4
|
||||
)
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
)
|
||||
rcs? ( dev-vcs/rcs )
|
||||
rtf? (
|
||||
app-text/unrtf
|
||||
dev-tex/html2latex
|
||||
dev-tex/latex2rtf
|
||||
)
|
||||
subversion? ( dev-vcs/subversion )
|
||||
svg? ( || ( gnome-base/librsvg media-gfx/inkscape ) )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )
|
||||
!qt5? ( dev-qt/qtsvg:4 )
|
||||
qt5? (
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-qt/qtx11extras:5
|
||||
)
|
||||
"
|
||||
|
||||
DOCS=( ANNOUNCE NEWS README RELEASE-NOTES UPGRADING )
|
||||
|
||||
PATCHES=( "${FILESDIR}"/2.1-python.patch )
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
font_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed "s:python -tt:${EPYTHON} -tt:g" -i lib/configure.py || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CXX
|
||||
#bug 221921
|
||||
export VARTEXFONTS=${T}/fonts
|
||||
|
||||
econf \
|
||||
$(use_with aspell) \
|
||||
$(use_enable debug) \
|
||||
$(use_with enchant) \
|
||||
$(use_with hunspell) \
|
||||
$(use_enable monolithic-build) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable qt5) \
|
||||
--with-qt-dir=$(usex qt5 $(qt5_get_libdir)/qt5 $(qt4_get_libdir)) \
|
||||
--disable-stdlib-debug \
|
||||
--without-included-boost \
|
||||
--with-packaging=posix
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use l10n_he ; then
|
||||
echo "\bind_file cua" > "${T}"/hebrew.bind
|
||||
echo "\bind \"F12\" \"language hebrew\"" >> "${T}"/hebrew.bind
|
||||
|
||||
insinto /usr/share/lyx/bind
|
||||
doins "${T}"/hebrew.bind
|
||||
fi
|
||||
|
||||
newicon -s 32 "${S}/development/Win32/packaging/icons/lyx_32x32.png" ${PN}.png
|
||||
doicon -s 48 "${S}/lib/images/lyx.png"
|
||||
doicon -s scalable "${S}/lib/images/lyx.svg"
|
||||
|
||||
# fix for bug 91108
|
||||
if use latex ; then
|
||||
dosym ../../../lyx/tex /usr/share/texmf-site/tex/latex/lyx
|
||||
fi
|
||||
|
||||
# fonts needed for proper math display, see also bug #15629
|
||||
font_src_install
|
||||
|
||||
python_fix_shebang "${ED}"/usr/share/${PN}
|
||||
|
||||
if use hunspell ; then
|
||||
dosym ../myspell /usr/share/lyx/dicts
|
||||
dosym ../myspell /usr/share/lyx/thes
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
font_pkg_postinst
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
|
||||
# fix for bug 91108
|
||||
if use latex ; then
|
||||
texhash
|
||||
fi
|
||||
|
||||
# instructions for RTL support. See also bug 168331.
|
||||
if use l10n_he || has he ${LINGUAS} || has ar ${LINGUAS} ; then
|
||||
elog
|
||||
elog "Enabling RTL support in LyX:"
|
||||
elog "If you intend to use a RTL language (such as Hebrew or Arabic)"
|
||||
elog "You must enable RTL support in LyX. To do so start LyX and go to"
|
||||
elog "Tools->Preferences->Language settings->Language"
|
||||
elog "and make sure the \"Right-to-left language support\" is checked"
|
||||
elog
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
|
||||
if use latex ; then
|
||||
texhash
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST qt5-sqlcipher-0.1.1_pre20171202.tar.xz 24340 BLAKE2B de40988c9ca13de0ebafebd4078f9da1c21ad4d8d78a9931497048859617d34f4de8ba630d438024dbb034bb817703e1e456619c3897b3c7dc6dbfa2a719e307 SHA512 e95eb1e73ff944d24f785129cb3e6ebc297abf457d14a2c6466d64230003932eb99b83dc3b216b27fe40565213e67d62b45d43fa538f6f693626283c788ca562
|
||||
DIST qt5-sqlcipher-1.0.1.tar.gz 56994 BLAKE2B 9de780126bc7ba99e23b529e6e45d629e9b20d52dfb4d91fcb7c8a6b77b8a8bc17bedaa40a288c4af32e40cc563631e164428be0f8c5a81ffa6143acc58b2e55 SHA512 ba83ba1d98b7764c7ad4bf776b1f39baff44ff6189e51cbc2131150e5a4c2962a21134d21d5ed41f171629395c721fce11ee911d080d304566033d53c552642a
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Qt SQL driver plugin for SQLCipher"
|
||||
HOMEPAGE="https://github.com/blizzard4591/qt5-sqlcipher"
|
||||
SRC_URI="https://github.com/blizzard4591/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1" # version 2.1 only
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DEPEND=">=dev-db/sqlcipher-3.4.1
|
||||
>=dev-qt/qtcore-5.7.1:5=
|
||||
>=dev-qt/qtsql-5.7.1:5=[sqlite] <dev-qt/qtsql-5.9.5:5=[sqlite]"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=(README.md)
|
||||
|
||||
src_prepare() {
|
||||
eapply "${FILESDIR}"/${PN}-install-path.patch
|
||||
sed -i -e "s/@LIBDIR@/$(get_libdir)/" CMakeLists.txt || die
|
||||
# workaround for bug 647624 (Qt 5.9.3 and 5.9.4 files are identical)
|
||||
cp -R qt-file-cache/5.9.{3,4} || die
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${BUILD_DIR}" || die
|
||||
./qsqlcipher-test || die
|
||||
}
|
Binary file not shown.
@ -0,0 +1,81 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-ant-2 java-osgi
|
||||
|
||||
DESCRIPTION="An ultra-thin bridge between different Java logging libraries"
|
||||
HOMEPAGE="https://commons.apache.org/logging/"
|
||||
SRC_URI="mirror://apache/commons/logging/source/${P}-src.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="avalon-framework avalon-logkit log4j servletapi test"
|
||||
RESTRICT="!servletapi? ( test )"
|
||||
|
||||
CDEPEND="
|
||||
log4j? ( dev-java/log4j:0 )
|
||||
servletapi? ( java-virtuals/servlet-api:3.1 )
|
||||
avalon-logkit? ( dev-java/avalon-logkit:2.0 )
|
||||
avalon-framework? ( dev-java/avalon-framework:4.2 )"
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jre-1.6"
|
||||
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jdk-1.6
|
||||
test? ( dev-java/ant-junit:0 )"
|
||||
|
||||
S="${WORKDIR}/${P}-src"
|
||||
|
||||
EANT_BUILD_TARGET="compile"
|
||||
JAVA_ANT_REWRITE_CLASSPATH="yes"
|
||||
JAVA_ANT_IGNORE_SYSTEM_CLASSES="yes"
|
||||
|
||||
DOCS=( RELEASE-NOTES.txt PROPOSAL.html )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
epatch "${FILESDIR}/${P}-gentoo.patch"
|
||||
# patch to make the build.xml respect no servletapi
|
||||
epatch "${FILESDIR}/${P}-servletapi.patch"
|
||||
|
||||
# bug #208098
|
||||
echo "jdk.1.4.present=true" > build.properties || die
|
||||
|
||||
if use avalon-framework; then
|
||||
echo "avalon-framework.jar=$(java-pkg_getjars avalon-framework-4.2)" >> build.properties || die
|
||||
fi
|
||||
if use avalon-logkit; then
|
||||
echo "logkit.jar=$(java-pkg_getjars avalon-logkit-2.0)" >> build.properties || die
|
||||
fi
|
||||
if use log4j; then
|
||||
echo "log4j12.jar=$(java-pkg_getjars log4j)" >> build.properties || die
|
||||
fi
|
||||
|
||||
if use servletapi; then
|
||||
echo "servletapi.jar=$(java-pkg_getjar --virtual servlet-api-3.1 servlet-api.jar)" >> build.properties || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local pkg=org.apache.commons.logging
|
||||
java-osgi_newjar "target/${P}.jar" "${pkg}" "Apache Commons Logging" "${pkg};version=\"${PV}\", ${pkg}.impl;version=\"${PV}\""
|
||||
java-pkg_newjar target/${PN}-api-${PV}.jar ${PN}-api.jar
|
||||
java-pkg_newjar target/${PN}-adapters-${PV}.jar ${PN}-adapters.jar
|
||||
|
||||
einstalldocs
|
||||
use doc && java-pkg_dojavadoc target/docs/
|
||||
use source && java-pkg_dosrc src/main/java/org
|
||||
}
|
||||
|
||||
src_test() {
|
||||
java-pkg-2_src_test
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST trove-2.1.0.tar.gz 2438529 BLAKE2B b4563b1bd388c40dade302f193a84aeb4c2052ce45304a058533a65ceaffab1b4d1c480ff67a3c3bd21f2bebd39e9045d9d818c5066b1896b29f16d7dd182003 SHA512 a0c3d71fa5bade59efcca7a65cacb90138a48d4346886a7a6e0c30f2736ef91afd532484efa73cb5b788449391433810bf6d51acac35bf28a4ceca9787d13429
|
||||
DIST trove-3.0.2.tar.gz 5880161 BLAKE2B a3dbb6a967ad9a519bd04abbbbf9e6af483360991956ff79532462a9ad471d409744017a3b24e4a09d2377243406e5d7cd542b452da8f59a1a97b454a2f60a8c SHA512 27460a66bad6f206eaeae02453c94333456db5a9c566246d495fb4184d42de6033b66d1bf74060f799cf4298d531afeb9597b92da4e2963b43dd4ef072ee750b
|
||||
|
@ -1,25 +0,0 @@
|
||||
--- build.xml.orig 2015-06-30 21:07:56.621000000 +0000
|
||||
+++ build.xml 2015-06-30 21:10:19.060000000 +0000
|
||||
@@ -99,6 +99,7 @@
|
||||
<classpath>
|
||||
<pathelement path="${output.generator_classes}"/>
|
||||
</classpath>
|
||||
+ <sysproperty key="java.io.tmpdir" value="${output.tmp}" />
|
||||
</java>
|
||||
</target>
|
||||
|
||||
@@ -339,6 +340,7 @@
|
||||
<mkdir dir="${output.generated}/gnu"/>
|
||||
<mkdir dir="${output.generated}/gnu/trove"/>
|
||||
<mkdir dir="${output.lib}"/>
|
||||
+ <mkdir dir="${output.tmp}"/>
|
||||
<mkdir dir="${dist.root}"/>
|
||||
</target>
|
||||
|
||||
@@ -442,4 +444,4 @@
|
||||
<format property="fullVersion" pattern="'build time' yyMMddHHmmss"/>
|
||||
</tstamp>
|
||||
</target>
|
||||
-</project>
|
||||
\ No newline at end of file
|
||||
+</project>
|
@ -1,29 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="GNU Trove: High performance collections for Java"
|
||||
SRC_URI="mirror://sourceforge/trove4j/${P}.tar.gz"
|
||||
HOMEPAGE="http://trove4j.sourceforge.net"
|
||||
LICENSE="LGPL-2.1"
|
||||
IUSE=""
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
RDEPEND=">=virtual/jre-1.5"
|
||||
DEPEND=">=virtual/jdk-1.5"
|
||||
|
||||
java_prepare() {
|
||||
rm -v lib/*.jar
|
||||
rm -fr javadocs/*
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_newjar output/lib/*.jar
|
||||
dodoc *.txt ChangeLog AUTHORS || die
|
||||
use doc && java-pkg_dojavadoc output/javadocs
|
||||
use source && java-pkg_dosrc src/* output/gen_src/*
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="GNU Trove: High performance collections for Java"
|
||||
SRC_URI="mirror://sourceforge/trove4j/${P}.tar.gz"
|
||||
HOMEPAGE="http://trove4j.sourceforge.net"
|
||||
LICENSE="LGPL-2.1"
|
||||
IUSE=""
|
||||
SLOT="3"
|
||||
KEYWORDS="~amd64 ~ppc64 ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
RDEPEND=">=virtual/jre-1.5"
|
||||
DEPEND=">=virtual/jdk-1.5"
|
||||
S="${WORKDIR}/${PV}"
|
||||
|
||||
java_prepare() {
|
||||
# See bug 553652
|
||||
epatch "${FILESDIR}"/${P}-java.io.tmpdir.patch
|
||||
|
||||
rm -v lib/*.jar
|
||||
rm -fr javadocs/*
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
java-pkg-2_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_newjar output/lib/*.jar
|
||||
dodoc *.txt || die
|
||||
use doc && java-pkg_dojavadoc output/javadocs
|
||||
use source && java-pkg_dosrc src/* output/gen_src/*
|
||||
}
|
@ -1,30 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="2"
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="GNU Trove: High performance collections for Java"
|
||||
SRC_URI="mirror://sourceforge/trove4j/${P}.tar.gz"
|
||||
HOMEPAGE="http://trove4j.sourceforge.net"
|
||||
LICENSE="LGPL-2.1"
|
||||
IUSE=""
|
||||
SLOT="3"
|
||||
KEYWORDS="amd64 ppc64 x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
RDEPEND=">=virtual/jre-1.5"
|
||||
DEPEND=">=virtual/jdk-1.5"
|
||||
S="${WORKDIR}/${PV}"
|
||||
|
||||
java_prepare() {
|
||||
rm -v lib/*.jar
|
||||
rm -fr javadocs/*
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_newjar output/lib/*.jar
|
||||
dodoc *.txt || die
|
||||
use doc && java-pkg_dojavadoc output/javadocs
|
||||
use source && java-pkg_dosrc src/* output/gen_src/*
|
||||
}
|
Binary file not shown.
@ -0,0 +1,238 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~graaff/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm:= )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20171225
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
|
||||
>=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
|
||||
>=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
|
||||
>=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
|
||||
>=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
|
||||
>=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby25]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby25]
|
||||
rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby25] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${EROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(23|24|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
Binary file not shown.
@ -0,0 +1,74 @@
|
||||
From b58caef7fd620408be9239ac24ea89d5bc84f30b Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
Date: Sat, 17 Feb 2018 19:00:40 +0000
|
||||
Subject: [PATCH 2/2] ia64: fix small struct return
|
||||
|
||||
This change fixes libffi.call/struct10.c failure on ia64:
|
||||
FAIL: libffi.call/struct10.c -W -Wall -Wno-psabi -O0 execution test
|
||||
|
||||
.Lst_small_struct handles returns for structs less than 32 bytes
|
||||
(following ia64 return value ABI [1]). Subroutine does roughly the
|
||||
following:
|
||||
|
||||
```
|
||||
mov [sp+0] = r8
|
||||
mov [sp+8] = r9
|
||||
mov [sp+16] = r10
|
||||
mov [sp+24] = r11
|
||||
memcpy(destination, source=sp, 12);
|
||||
```
|
||||
|
||||
The problem: ia64 ABI guarantees that top 16 bytes of stack are
|
||||
scratch space for callee function. Thus it can clobber it. [1]
|
||||
says (7.1 Procedure Frames):
|
||||
"""
|
||||
* Scratch area. This 16-byte region is provided as scratch storage
|
||||
for procedures that are called by the current procedure. Leaf
|
||||
procedures do not need to allocate this region. A procedure may
|
||||
use the 16 bytes at the top of its own frame as scratch memory,
|
||||
but the contents of this area are not preserved by a procedure call.
|
||||
"""
|
||||
|
||||
In our case 16 top bytes are clobbered by a PLT resolver when memcpy()
|
||||
is called for the first time. As a result memcpy implementation reads
|
||||
already clobbered data frop top of stack.
|
||||
|
||||
The fix is simple: allocate 16 bytes of scrats space prior to memcpy()
|
||||
call.
|
||||
|
||||
[1]: https://www.intel.com/content/dam/www/public/us/en/documents/guides/itanium-software-runtime-architecture-guide.pdf
|
||||
|
||||
Bug: https://bugs.gentoo.org/634190
|
||||
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
||||
---
|
||||
src/ia64/unix.S | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ia64/unix.S b/src/ia64/unix.S
|
||||
index 4733377..e2547e0 100644
|
||||
--- a/src/ia64/unix.S
|
||||
+++ b/src/ia64/unix.S
|
||||
@@ -175,7 +175,6 @@ ffi_call_unix:
|
||||
;;
|
||||
|
||||
.Lst_small_struct:
|
||||
- add sp = -16, sp
|
||||
cmp.lt p6, p0 = 8, in3
|
||||
cmp.lt p7, p0 = 16, in3
|
||||
cmp.lt p8, p0 = 24, in3
|
||||
@@ -191,6 +190,12 @@ ffi_call_unix:
|
||||
(p8) st8 [r18] = r11
|
||||
mov out1 = sp
|
||||
mov out2 = in3
|
||||
+ ;;
|
||||
+ // ia64 software calling convention requires
|
||||
+ // top 16 bytes of stack to be scratch space
|
||||
+ // PLT resolver uses that scratch space at
|
||||
+ // 'memcpy' symbol reolution time
|
||||
+ add sp = -16, sp
|
||||
br.call.sptk.many b0 = memcpy#
|
||||
;;
|
||||
mov ar.pfs = loc0
|
||||
--
|
||||
2.16.1
|
||||
|
@ -0,0 +1,70 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils libtool multilib multilib-minimal toolchain-funcs
|
||||
|
||||
DESCRIPTION="a portable, high level programming interface to various calling conventions"
|
||||
HOMEPAGE="https://sourceware.org/libffi/"
|
||||
SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug pax_kernel static-libs test"
|
||||
|
||||
RDEPEND="abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
|
||||
DEPEND="test? ( dev-util/dejagnu )"
|
||||
|
||||
DOCS="ChangeLog* README"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.2.1-o-tmpfile-eacces.patch #529044
|
||||
"${FILESDIR}"/${PN}-3.2.1-complex_alpha.patch
|
||||
"${FILESDIR}"/${PN}-3.1-darwin-x32.patch
|
||||
"${FILESDIR}"/${PN}-3.2.1-complex-ia64.patch
|
||||
"${FILESDIR}"/${PN}-3.2.1-include-path.patch
|
||||
"${FILESDIR}"/${PN}-3.2.1-include-path-autogen.patch
|
||||
"${FILESDIR}"/${PN}-3.2.1-ia64-small-struct.patch #634190
|
||||
)
|
||||
|
||||
ECONF_SOURCE=${S}
|
||||
|
||||
pkg_setup() {
|
||||
# Check for orphaned libffi, see https://bugs.gentoo.org/354903 for example
|
||||
if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
|
||||
local base="${T}"/conftest
|
||||
echo 'int main() { }' > "${base}".c
|
||||
$(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
eerror "The linker reported linking against -lffi to be working while it shouldn't have."
|
||||
eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
|
||||
die "The system is in inconsistent state with unknown libffi installed."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
use userland_BSD && export HOST="${CHOST}"
|
||||
# python does not like miltilib-wrapped headers: bug #643582
|
||||
# thus we install includes into ABI-specific paths
|
||||
local includes="${EPREFIX}"/usr/$(get_libdir)/${P}/include/
|
||||
econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable pax_kernel pax_emutramp) \
|
||||
$(use_enable debug) \
|
||||
--includedir="${includes}"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
prune_libtool_files
|
||||
einstalldocs
|
||||
}
|
@ -0,0 +1,117 @@
|
||||
From f3c711cf3054ff366a1a3500cdc8c64ecc2d2da6 Mon Sep 17 00:00:00 2001
|
||||
From: Huzaifa Sidhpurwala <huzaifas@fedoraproject.org>
|
||||
Date: Tue, 15 Oct 2013 20:05:04 -0400
|
||||
Subject: [PATCH] fix memleaks in libtar sample program
|
||||
|
||||
---
|
||||
libtar/libtar.c | 29 ++++++++++++++++++-----------
|
||||
1 file changed, 18 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/libtar/libtar.c b/libtar/libtar.c
|
||||
index bb5644c..23f8741 100644
|
||||
--- a/libtar/libtar.c
|
||||
+++ b/libtar/libtar.c
|
||||
@@ -253,6 +253,7 @@ extract(char *tarfile, char *rootdir)
|
||||
if (tar_extract_all(t, rootdir) != 0)
|
||||
{
|
||||
fprintf(stderr, "tar_extract_all(): %s\n", strerror(errno));
|
||||
+ tar_close(t);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -270,12 +271,13 @@ extract(char *tarfile, char *rootdir)
|
||||
|
||||
|
||||
void
|
||||
-usage()
|
||||
+usage(void *rootdir)
|
||||
{
|
||||
printf("Usage: %s [-C rootdir] [-g] [-z] -x|-t filename.tar\n",
|
||||
progname);
|
||||
printf(" %s [-C rootdir] [-g] [-z] -c filename.tar ...\n",
|
||||
progname);
|
||||
+ free(rootdir);
|
||||
exit(-1);
|
||||
}
|
||||
|
||||
@@ -292,6 +294,7 @@ main(int argc, char *argv[])
|
||||
int c;
|
||||
int mode = 0;
|
||||
libtar_list_t *l;
|
||||
+ int return_code = -2;
|
||||
|
||||
progname = basename(argv[0]);
|
||||
|
||||
@@ -313,17 +316,17 @@ main(int argc, char *argv[])
|
||||
break;
|
||||
case 'c':
|
||||
if (mode)
|
||||
- usage();
|
||||
+ usage(rootdir);
|
||||
mode = MODE_CREATE;
|
||||
break;
|
||||
case 'x':
|
||||
if (mode)
|
||||
- usage();
|
||||
+ usage(rootdir);
|
||||
mode = MODE_EXTRACT;
|
||||
break;
|
||||
case 't':
|
||||
if (mode)
|
||||
- usage();
|
||||
+ usage(rootdir);
|
||||
mode = MODE_LIST;
|
||||
break;
|
||||
#ifdef HAVE_LIBZ
|
||||
@@ -332,7 +335,7 @@ main(int argc, char *argv[])
|
||||
break;
|
||||
#endif /* HAVE_LIBZ */
|
||||
default:
|
||||
- usage();
|
||||
+ usage(rootdir);
|
||||
}
|
||||
|
||||
if (!mode || ((argc - optind) < (mode == MODE_CREATE ? 2 : 1)))
|
||||
@@ -341,7 +344,7 @@ main(int argc, char *argv[])
|
||||
printf("argc - optind == %d\tmode == %d\n", argc - optind,
|
||||
mode);
|
||||
#endif
|
||||
- usage();
|
||||
+ usage(rootdir);
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
@@ -351,21 +354,25 @@ main(int argc, char *argv[])
|
||||
switch (mode)
|
||||
{
|
||||
case MODE_EXTRACT:
|
||||
- return extract(argv[optind], rootdir);
|
||||
+ return_code = extract(argv[optind], rootdir);
|
||||
+ break;
|
||||
case MODE_CREATE:
|
||||
tarfile = argv[optind];
|
||||
l = libtar_list_new(LIST_QUEUE, NULL);
|
||||
for (c = optind + 1; c < argc; c++)
|
||||
libtar_list_add(l, argv[c]);
|
||||
- return create(tarfile, rootdir, l);
|
||||
+ return_code = create(tarfile, rootdir, l);
|
||||
+ libtar_list_free(l, NULL);
|
||||
+ break;
|
||||
case MODE_LIST:
|
||||
- return list(argv[optind]);
|
||||
+ return_code = list(argv[optind]);
|
||||
+ break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
- /* NOTREACHED */
|
||||
- return -2;
|
||||
+ free(rootdir);
|
||||
+ return return_code;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.10.5.GIT
|
||||
|
@ -0,0 +1,98 @@
|
||||
From abd0274e6b2f708e9eaa29414b07b3f542cec694 Mon Sep 17 00:00:00 2001
|
||||
From: Kamil Dudka <kdudka@redhat.com>
|
||||
Date: Tue, 15 Oct 2013 19:48:41 -0400
|
||||
Subject: [PATCH] fix file descriptor leaks reported by cppcheck
|
||||
|
||||
Bug: https://bugzilla.redhat.com/785760
|
||||
---
|
||||
lib/append.c | 14 +++++++++-----
|
||||
lib/extract.c | 4 ++++
|
||||
libtar/libtar.c | 3 +++
|
||||
3 files changed, 16 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/lib/append.c b/lib/append.c
|
||||
index e8bd89d..ff58532 100644
|
||||
--- a/lib/append.c
|
||||
+++ b/lib/append.c
|
||||
@@ -216,6 +216,7 @@ tar_append_regfile(TAR *t, const char *realname)
|
||||
int filefd;
|
||||
int i, j;
|
||||
size_t size;
|
||||
+ int rv = -1;
|
||||
|
||||
filefd = open(realname, O_RDONLY);
|
||||
if (filefd == -1)
|
||||
@@ -234,25 +235,28 @@ tar_append_regfile(TAR *t, const char *realname)
|
||||
{
|
||||
if (j != -1)
|
||||
errno = EINVAL;
|
||||
- return -1;
|
||||
+ goto fail;
|
||||
}
|
||||
if (tar_block_write(t, &block) == -1)
|
||||
- return -1;
|
||||
+ goto fail;
|
||||
}
|
||||
|
||||
if (i > 0)
|
||||
{
|
||||
j = read(filefd, &block, i);
|
||||
if (j == -1)
|
||||
- return -1;
|
||||
+ goto fail;
|
||||
memset(&(block[i]), 0, T_BLOCKSIZE - i);
|
||||
if (tar_block_write(t, &block) == -1)
|
||||
- return -1;
|
||||
+ goto fail;
|
||||
}
|
||||
|
||||
+ /* success! */
|
||||
+ rv = 0;
|
||||
+fail:
|
||||
close(filefd);
|
||||
|
||||
- return 0;
|
||||
+ return rv;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/lib/extract.c b/lib/extract.c
|
||||
index 36357e7..9fc6ad5 100644
|
||||
--- a/lib/extract.c
|
||||
+++ b/lib/extract.c
|
||||
@@ -228,13 +228,17 @@ tar_extract_regfile(TAR *t, char *realname)
|
||||
{
|
||||
if (k != -1)
|
||||
errno = EINVAL;
|
||||
+ close(fdout);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* write block to output file */
|
||||
if (write(fdout, buf,
|
||||
((i > T_BLOCKSIZE) ? T_BLOCKSIZE : i)) == -1)
|
||||
+ {
|
||||
+ close(fdout);
|
||||
return -1;
|
||||
+ }
|
||||
}
|
||||
|
||||
/* close output file */
|
||||
diff --git a/libtar/libtar.c b/libtar/libtar.c
|
||||
index 9fa92b2..bb5644c 100644
|
||||
--- a/libtar/libtar.c
|
||||
+++ b/libtar/libtar.c
|
||||
@@ -83,7 +83,10 @@ gzopen_frontend(char *pathname, int oflags, int mode)
|
||||
return -1;
|
||||
|
||||
if ((oflags & O_CREAT) && fchmod(fd, mode))
|
||||
+ {
|
||||
+ close(fd);
|
||||
return -1;
|
||||
+ }
|
||||
|
||||
gzf = gzdopen(fd, gzoflags);
|
||||
if (!gzf)
|
||||
--
|
||||
2.10.5.GIT
|
||||
|
@ -0,0 +1,24 @@
|
||||
From 36629a41208375f5105427e98078127551692028 Mon Sep 17 00:00:00 2001
|
||||
From: Huzaifa Sidhpurwala <huzaifas@fedoraproject.org>
|
||||
Date: Tue, 15 Oct 2013 20:02:58 -0400
|
||||
Subject: [PATCH] fix memleak on tar_open() failure
|
||||
|
||||
---
|
||||
lib/handle.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/handle.c b/lib/handle.c
|
||||
index 33a262c..002d23c 100644
|
||||
--- a/lib/handle.c
|
||||
+++ b/lib/handle.c
|
||||
@@ -82,6 +82,7 @@ tar_open(TAR **t, const char *pathname, tartype_t *type,
|
||||
(*t)->fd = (*((*t)->type->openfunc))(pathname, oflags, mode);
|
||||
if ((*t)->fd == -1)
|
||||
{
|
||||
+ libtar_hash_free((*t)->h, NULL);
|
||||
free(*t);
|
||||
return -1;
|
||||
}
|
||||
--
|
||||
2.10.5.GIT
|
||||
|
@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
inherit autotools-utils
|
||||
|
||||
DESCRIPTION="C library for manipulating tar archives"
|
||||
HOMEPAGE="http://www.feep.net/libtar/ http://repo.or.cz/w/libtar.git/"
|
||||
SRC_URI="https://dev.gentoo.org/~pinkbyte/distfiles/snapshots/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE="static-libs zlib"
|
||||
|
||||
RDEPEND="zlib? ( sys-libs/zlib )
|
||||
!zlib? ( app-arch/gzip )"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
S="${WORKDIR}/${PN}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-1.2.11-free.patch"
|
||||
"${FILESDIR}/${PN}-1.2.11-impl-dec.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e '/INSTALL_PROGRAM/s:-s::' \
|
||||
{doc,lib{,tar}}/Makefile.in || die
|
||||
|
||||
autotools-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--disable-encap
|
||||
--disable-epkg-install
|
||||
$(use_with zlib)
|
||||
)
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
|
||||
dodoc ChangeLog* README TODO
|
||||
newdoc compat/README README.compat
|
||||
newdoc compat/TODO TODO.compat
|
||||
newdoc listhash/TODO TODO.listhash
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue