parent
b5594a0116
commit
1b246e9e00
@ -1,3 +1,4 @@
|
||||
DIST eselect-1.3.1.tar.xz 163908 SHA256 4fc1c3f1b021dd8d28475ab2115f6a2de843bbbb941a0f70999389d1e0d56444 SHA512 b62e3e9f9c145a92625d136ea14ffa9705fa312971160ee3bb33f285dd67f6e6f415c7b9909b902b872500663a7a79c6fe53f52d179de7b7e120c5de994effd3 WHIRLPOOL a04a20c25617c3a53b0937c7f01f6dc89677beb5e1917a8d078a7f4403d4d77b7342da47766a061bc9158962ada190901db5b99d4b9603c49d9b90d3ad57feb5
|
||||
DIST eselect-1.3.6.tar.xz 166976 SHA256 5a2d7c69ed6f668bee60a72f742a768fec4006b05255b0f79a4ebac86dbd0c2b SHA512 a1fb0f9216eb87365c19480b9a63b9d050630329e1e6697427408393b07a3e3c0165296dea48badfe97ab6a651fee7e3f312e640d7cb32626249de876d242d9c WHIRLPOOL 716db4e6d12088f77368f3115c1196b64b71b1d3931c728adc20ca4fb6cd719fc4da6e648df15531ff02d7200459577a606bac2e239286f8dc0f2c54eaa61d6b
|
||||
DIST eselect-1.3.8.tar.xz 168040 SHA256 d0c50bfe0faaddc54fc184f698ee74a6029a21f5155c4670a2bea3ead954c138 SHA512 159bf3ddb05b1966318eaf62d09e454a024f8be7ead2300392abbcbaa54ef748a1c4db1b2f96162994bcab43071396eb96a0b47268f04cb8557f8804818da18e WHIRLPOOL 9c4da0bde2ae2b53e8949d59b13498f55ef2c849dcc8cac503a7d0dda2511311d94dfc7aa27a97432f13aa0b430fec0ab280594dc165bbb40e573dce8c8a74b0
|
||||
DIST eselect-1.4.tar.xz 168580 SHA256 38f457567ac6a400763e49c215a78d5a7efc3edad589dda37bbd70847e3e7260 SHA512 4c28df99d3a235ccda60cb576634cde6110d3b7bc2fb7b8e3e9a69f7e09377dd9a5c615d6bf0ab8d668c137e8f658484fd28c0fe45e6ad3b7915925a3384b999 WHIRLPOOL 6646c023283b111bf7a973993dfe8537bdd3fab4c6c738af1f37c1aed1bddefbf834562036386dce1359d1b04da89049e7c60e4498733ac56587e037ca0ea87f
|
||||
|
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect/eselect-1.4.ebuild,v 1.1 2013/12/07 13:23:29 ulm Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils bash-completion-r1
|
||||
|
||||
DESCRIPTION="Gentoo's multi-purpose configuration and management tool"
|
||||
HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect"
|
||||
SRC_URI="http://dev.gentoo.org/~ulm/eselect/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+ || ( GPL-2+ CC-BY-SA-2.5 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc emacs vim-syntax"
|
||||
|
||||
RDEPEND="sys-apps/sed
|
||||
|| (
|
||||
sys-apps/coreutils
|
||||
sys-freebsd/freebsd-bin
|
||||
app-misc/realpath
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
doc? ( dev-python/docutils )"
|
||||
RDEPEND="!app-admin/eselect-news
|
||||
${RDEPEND}
|
||||
sys-apps/file
|
||||
sys-libs/ncurses"
|
||||
|
||||
PDEPEND="emacs? ( app-emacs/eselect-mode )
|
||||
vim-syntax? ( app-vim/eselect-syntax )"
|
||||
|
||||
src_compile() {
|
||||
emake
|
||||
use doc && emake html
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
newbashcomp misc/${PN}.bashcomp ${PN}
|
||||
dodoc AUTHORS ChangeLog NEWS README TODO doc/*.txt
|
||||
use doc && dohtml *.html doc/*
|
||||
|
||||
# needed by news module
|
||||
keepdir /var/lib/gentoo/news
|
||||
if ! use prefix; then
|
||||
fowners root:portage /var/lib/gentoo/news
|
||||
fperms g+w /var/lib/gentoo/news
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# fowners in src_install doesn't work for the portage group:
|
||||
# merging changes the group back to root
|
||||
if ! use prefix; then
|
||||
chgrp portage "${EROOT}/var/lib/gentoo/news" \
|
||||
&& chmod g+w "${EROOT}/var/lib/gentoo/news"
|
||||
fi
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
DIST dpkg_1.16.10.tar.xz 3703340 SHA256 aeaacf0884039940d9463901102194f9a42eb5702157b9e7a23f43e0d9f65cf2 SHA512 cd7b1159c2071f48f2e369e03b8a3d1f00366bcdabab2ef4c33700e8f3230db5c9991e5937331f7f66f616d2bb798efec12e572af5724e1c9809beb9d5ae627e WHIRLPOOL 5d54eedf2b90f35ea9ee7b5c1bdc6ddc2a3054c893cddb048598d85a6f6a5ea846879d5c1181432bffc0268b404408a6d2d40bce0cfd49784e5b6bca703bae44
|
||||
DIST dpkg_1.16.11.tar.xz 3788644 SHA256 fa053acbc1d7d3e28c6329c412a08812b971e84898d06efc7bfa36e6a1cbbd96 SHA512 767b34db7952ef9d1bcbda7569604dccfd9c17d07e0ab2b452703ffb5089e738d4fd0d4b335da5e2440bd00e8d11b69eeaab838ecd66dd398126a93b9c24e3da WHIRLPOOL e6cf94e90597f05f66ef5a90b6c5a9484b9a34933a3d9e2d952230dcbda49e4c1e61a58d2ee13facb4492d312e4f6b4fd80d625f1821f77bbc70e83bfabecde7
|
||||
DIST dpkg_1.16.12.tar.xz 3789016 SHA256 af96447758ecbfda51fc57d4b3bc3d208ad6393e71b91c9b52c6687697a208da SHA512 852c9cfeeac278564e605e5a5c4d77cb775ad20cf7fc52fa28c2a6192462ee28c32ecc2b5e434e5eec185deff5039d9fb1802cb4fe6d131b8fba7209f8462d44 WHIRLPOOL 08a415bf48bf91086285b8f71fb29fd3705ddcad85a440e6eab1528399e4d6ed0f59d977382c9daa401dbd4c172fa21a210115fc9af55124c73a628add2b3178
|
||||
DIST dpkg_1.17.1.tar.xz 3785620 SHA256 8912ea77bc9c14297c0a340f5f461fbd212582ce814e1805d1d0436ca885e3a1 SHA512 e5710f21c4118e43d0240587be13f4a6c5e17b442c332c4b79ae032841e7db1ae043b5eec15e8bd3653dd93632e9ba1753f5bb53d26e2a6ded99a0d56d0cfeeb WHIRLPOOL ef6724328f4cb5c4b29514f165895fb25a089cf42f02a441e012e7e2e202bf6342fde502e52365af6186b805857b2129a0b7e430e7d0fd55ff1f05e3130148bb
|
||||
DIST dpkg_1.17.3.tar.xz 3838080 SHA256 02ed520ca9622e5ebe475add2cdbc03b7a135ccb190bddd39dd6645c628a2850 SHA512 d1e7d674b66171e7f8b6430456c9bbadeeb2daced42bbd0c53b06a36cde7b87b05aaf82806aa5e9c6c8447073116979456eed8a74f2f339e4b2773957e499223 WHIRLPOOL a9fb10f8d024fd3013390d95d3b77e2aa1d59d04fdf74e1848efd268e7a9fa4190212c607bc8874b59f2d59929c9620c798fa188ff133e8c9854548e74e95456
|
||||
DIST dpkg_1.17.4.tar.xz 3836352 SHA256 01cdc81c33e77c3d7c40df17e19171794542be7cf12e411381ffcaa8f87b1854 SHA512 5b87c4e8860979eb802df5dd7bd7fa6929d4090be2b546a0c936cecac168e7f94563dfe5848317fe930185b3701fd170df737ecf8d47143153f67f484f4f9480 WHIRLPOOL 93f33e90d87910ccdd9cd57dcde5f5bf2ca7f76de00cf16a7c405050d9c9d9f65329360da01600ef2f2ff8bbb5146cac9a88a2b45ca3f93d7b0d723636b20c3e
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.17.1-r1.ebuild,v 1.1 2013/11/18 14:38:05 jer Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-arch/dpkg/dpkg-1.17.4.ebuild,v 1.1 2013/12/07 13:38:39 jer Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils multilib autotools toolchain-funcs
|
@ -1,6 +1,6 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-crypt/acr38u/acr38u-1.7.11-r2.ebuild,v 1.1 2013/12/06 06:09:09 flameeyes Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-crypt/acr38u/acr38u-1.7.11-r3.ebuild,v 1.1 2013/12/07 17:13:29 flameeyes Exp $
|
||||
|
||||
EAPI=5
|
||||
|
@ -0,0 +1,16 @@
|
||||
Add dl library, bug#481060.
|
||||
|
||||
---
|
||||
|
||||
diff -urNp truecrypt-7.1a-source.org/Main/Main.make truecrypt-7.1a-source/Main/Main.make
|
||||
--- truecrypt-7.1a-source.org/Main/Main.make 2012-02-07 12:36:48.000000000 +0200
|
||||
+++ truecrypt-7.1a-source/Main/Main.make 2013-12-08 21:50:07.224586712 +0200
|
||||
@@ -105,7 +105,7 @@ TC_VERSION = $(shell grep VERSION_STRING
|
||||
|
||||
$(APPNAME): $(LIBS) $(OBJS)
|
||||
@echo Linking $@
|
||||
- $(CXX) -o $(APPNAME) $(LFLAGS) $(OBJS) $(LIBS) $(FUSE_LIBS) $(WX_LIBS)
|
||||
+ $(CXX) -o $(APPNAME) $(LFLAGS) $(OBJS) $(LIBS) $(FUSE_LIBS) $(WX_LIBS) -ldl
|
||||
|
||||
ifeq "$(TC_BUILD_CONFIG)" "Release"
|
||||
ifndef NOSTRIP
|
@ -1 +1,2 @@
|
||||
DIST eselect-1.3.8.tar.xz 168040 SHA256 d0c50bfe0faaddc54fc184f698ee74a6029a21f5155c4670a2bea3ead954c138 SHA512 159bf3ddb05b1966318eaf62d09e454a024f8be7ead2300392abbcbaa54ef748a1c4db1b2f96162994bcab43071396eb96a0b47268f04cb8557f8804818da18e WHIRLPOOL 9c4da0bde2ae2b53e8949d59b13498f55ef2c849dcc8cac503a7d0dda2511311d94dfc7aa27a97432f13aa0b430fec0ab280594dc165bbb40e573dce8c8a74b0
|
||||
DIST eselect-1.4.tar.xz 168580 SHA256 38f457567ac6a400763e49c215a78d5a7efc3edad589dda37bbd70847e3e7260 SHA512 4c28df99d3a235ccda60cb576634cde6110d3b7bc2fb7b8e3e9a69f7e09377dd9a5c615d6bf0ab8d668c137e8f658484fd28c0fe45e6ad3b7915925a3384b999 WHIRLPOOL 6646c023283b111bf7a973993dfe8537bdd3fab4c6c738af1f37c1aed1bddefbf834562036386dce1359d1b04da89049e7c60e4498733ac56587e037ca0ea87f
|
||||
|
@ -0,0 +1,19 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emacs/eselect-mode/eselect-mode-1.4.ebuild,v 1.2 2013/12/07 18:12:29 ulm Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit elisp
|
||||
|
||||
MY_P="eselect-${PV}"
|
||||
DESCRIPTION="Emacs major mode for editing eselect files"
|
||||
HOMEPAGE="http://wiki.gentoo.org/wiki/Project:Eselect"
|
||||
SRC_URI="http://dev.gentoo.org/~ulm/eselect/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
S="${WORKDIR}/${MY_P}/misc"
|
||||
SITEFILE="50${PN}-gentoo.el"
|
@ -0,0 +1 @@
|
||||
DIST visual-basic-mode-1.4.12.el.xz 16872 SHA256 c25a800f09748359d700acb61c64955474e9d63842193d70f18a54960f816ed3 SHA512 ef8fdb883dbaa957d1d7526e0548611f755a7d3700a62d32790aafc0e25d97b3f6784969b584dcdda39da681b4e59253daff217bde5a783b923257e77e9549ca WHIRLPOOL 92b3f239d6758100b1e2ec4d3a763830a8f5fdb284bd2c8041391c30b5db885f74a09b85de66a4fefe790c4dfc3759d2133d0a5ecb30a4d6a5c1e36a31eaab93
|
@ -0,0 +1,5 @@
|
||||
(add-to-list 'load-path "@SITELISP@")
|
||||
(autoload 'visual-basic-mode "visual-basic-mode"
|
||||
"A mode for editing Visual Basic programs" t)
|
||||
(add-to-list 'auto-mode-alist
|
||||
'("\\.\\(vbs?\\|class\\.asp\\)\\'" . visual-basic-mode))
|
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>emacs</herd>
|
||||
</pkgmetadata>
|
@ -0,0 +1,18 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emacs/visual-basic-mode/visual-basic-mode-1.4.12.ebuild,v 1.1 2013/12/07 11:17:58 ulm Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="A mode for editing Visual Basic programs"
|
||||
HOMEPAGE="http://www.emacswiki.org/emacs/VisualBasicMode"
|
||||
# taken from http://www.emacswiki.org/emacs/${PN}.el
|
||||
SRC_URI="http://dev.gentoo.org/~ulm/distfiles/${P}.el.xz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
@ -1,343 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-bin/virtualbox-bin-4.1.26.ebuild,v 1.4 2013/10/16 06:46:45 polynomial-c Exp $
|
||||
|
||||
EAPI=2
|
||||
|
||||
inherit eutils unpacker fdo-mime gnome2 pax-utils udev
|
||||
|
||||
MY_PV=${PV}-84997
|
||||
SDK_PV=${MY_PV}
|
||||
EXTP_PV=${SDK_PV}
|
||||
MY_P=VirtualBox-${MY_PV}-Linux
|
||||
EXTP_PN=Oracle_VM_VirtualBox_Extension_Pack
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
|
||||
HOMEPAGE="http://www.virtualbox.org/"
|
||||
SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${PV}/${MY_P}_amd64.run )
|
||||
x86? ( http://download.virtualbox.org/virtualbox/${PV}/${MY_P}_x86.run )
|
||||
sdk? ( http://download.virtualbox.org/virtualbox/${PV}/VirtualBoxSDK-${SDK_PV}.zip )
|
||||
http://download.virtualbox.org/virtualbox/${PV}/${EXTP_PN}-${EXTP_PV}.vbox-extpack -> ${EXTP_PN}-${EXTP_PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2 PUEL"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+additions +chm headless python sdk vboxwebsrv rdesktop-vrdp"
|
||||
RESTRICT="mirror"
|
||||
|
||||
DEPEND="app-arch/unzip"
|
||||
|
||||
RDEPEND="!!app-emulation/virtualbox
|
||||
!app-emulation/virtualbox-additions
|
||||
~app-emulation/virtualbox-modules-${PV}
|
||||
!headless? (
|
||||
x11-libs/libXcursor
|
||||
media-libs/libsdl[X]
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXfixes
|
||||
media-libs/libpng
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXft
|
||||
media-libs/freetype
|
||||
media-libs/fontconfig
|
||||
x11-libs/libXext
|
||||
dev-libs/glib
|
||||
chm? ( dev-libs/expat )
|
||||
)
|
||||
x11-libs/libXt
|
||||
dev-libs/libxml2
|
||||
x11-libs/libXau
|
||||
x11-libs/libX11
|
||||
x11-libs/libXmu
|
||||
x11-libs/libSM
|
||||
x11-libs/libICE
|
||||
x11-libs/libXdmcp
|
||||
python? ( || (
|
||||
dev-lang/python:2.7
|
||||
dev-lang/python:2.6
|
||||
) )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
|
||||
QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
|
||||
opt/VirtualBox/VBoxSDL.so
|
||||
opt/VirtualBox/VBoxDbg.so
|
||||
opt/VirtualBox/VBoxSharedFolders.so
|
||||
opt/VirtualBox/VBoxDD2.so
|
||||
opt/VirtualBox/VBoxOGLrenderspu.so
|
||||
opt/VirtualBox/VBoxPython.so
|
||||
opt/VirtualBox/VBoxPython2_6.so
|
||||
opt/VirtualBox/VBoxPython2_7.so
|
||||
opt/VirtualBox/VBoxDD.so
|
||||
opt/VirtualBox/VBoxVRDP.so
|
||||
opt/VirtualBox/VBoxDDU.so
|
||||
opt/VirtualBox/VBoxREM64.so
|
||||
opt/VirtualBox/VBoxSharedClipboard.so
|
||||
opt/VirtualBox/VBoxHeadless.so
|
||||
opt/VirtualBox/VBoxRT.so
|
||||
opt/VirtualBox/VRDPAuth.so
|
||||
opt/VirtualBox/VBoxREM.so
|
||||
opt/VirtualBox/VBoxSettings.so
|
||||
opt/VirtualBox/VBoxKeyboard.so
|
||||
opt/VirtualBox/VBoxSharedCrOpenGL.so
|
||||
opt/VirtualBox/VBoxVMM.so
|
||||
opt/VirtualBox/VirtualBox.so
|
||||
opt/VirtualBox/VBoxOGLhosterrorspu.so
|
||||
opt/VirtualBox/components/VBoxC.so
|
||||
opt/VirtualBox/components/VBoxSVCM.so
|
||||
opt/VirtualBox/VBoxREM32.so
|
||||
opt/VirtualBox/VBoxXPCOMC.so
|
||||
opt/VirtualBox/VBoxOGLhostcrutil.so
|
||||
opt/VirtualBox/VBoxNetDHCP.so
|
||||
opt/VirtualBox/VBoxGuestControlSvc.so"
|
||||
QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
|
||||
opt/VirtualBox/VBoxDD2.so
|
||||
opt/VirtualBox/VBoxDDU.so
|
||||
opt/VirtualBox/VBoxDbg.so
|
||||
opt/VirtualBox/VBoxGuestControlSvc.so
|
||||
opt/VirtualBox/VBoxGuestPropSvc.so
|
||||
opt/VirtualBox/VBoxHeadless
|
||||
opt/VirtualBox/VBoxHeadless.so
|
||||
opt/VirtualBox/VBoxKeyboard.so
|
||||
opt/VirtualBox/VBoxManage
|
||||
opt/VirtualBox/VBoxNetAdpCtl
|
||||
opt/VirtualBox/VBoxNetDHCP
|
||||
opt/VirtualBox/VBoxNetDHCP.so
|
||||
opt/VirtualBox/VBoxOGLhostcrutil.so
|
||||
opt/VirtualBox/VBoxOGLhosterrorspu.so
|
||||
opt/VirtualBox/VBoxOGLrenderspu.so
|
||||
opt/VirtualBox/VBoxPython.so
|
||||
opt/VirtualBox/VBoxPython2_6.so
|
||||
opt/VirtualBox/VBoxPython2_7.so
|
||||
opt/VirtualBox/VBoxREM.so
|
||||
opt/VirtualBox/VBoxREM32.so
|
||||
opt/VirtualBox/VBoxREM64.so
|
||||
opt/VirtualBox/VBoxRT.so
|
||||
opt/VirtualBox/VBoxSDL
|
||||
opt/VirtualBox/VBoxSDL.so
|
||||
opt/VirtualBox/VBoxSVC
|
||||
opt/VirtualBox/VBoxSettings.so
|
||||
opt/VirtualBox/VBoxSharedClipboard.so
|
||||
opt/VirtualBox/VBoxSharedCrOpenGL.so
|
||||
opt/VirtualBox/VBoxSharedFolders.so
|
||||
opt/VirtualBox/VBoxTestOGL
|
||||
opt/VirtualBox/VBoxTunctl
|
||||
opt/VirtualBox/VBoxVMM.so
|
||||
opt/VirtualBox/VBoxVRDP.so
|
||||
opt/VirtualBox/VBoxXPCOM.so
|
||||
opt/VirtualBox/VBoxXPCOMC.so
|
||||
opt/VirtualBox/VBoxXPCOMIPCD
|
||||
opt/VirtualBox/VRDPAuth.so
|
||||
opt/VirtualBox/VirtualBox
|
||||
opt/VirtualBox/VirtualBox.so
|
||||
opt/VirtualBox/accessible/libqtaccessiblewidgets.so
|
||||
opt/VirtualBox/components/VBoxC.so
|
||||
opt/VirtualBox/components/VBoxSVCM.so
|
||||
opt/VirtualBox/components/VBoxXPCOMIPCC.so
|
||||
opt/VirtualBox/kchmviewer
|
||||
opt/VirtualBox/libQtCoreVBox.so.4
|
||||
opt/VirtualBox/libQtGuiVBox.so.4
|
||||
opt/VirtualBox/libQtNetworkVBox.so.4
|
||||
opt/VirtualBox/libQtOpenGLVBox.so.4
|
||||
opt/VirtualBox/vboxwebsrv"
|
||||
|
||||
PYTHON_UPDATER_IGNORE="1"
|
||||
|
||||
src_unpack() {
|
||||
unpack_makeself ${MY_P}_${ARCH}.run
|
||||
unpack ./VirtualBox.tar.bz2
|
||||
|
||||
mkdir "${S}"/${EXTP_PN} || die
|
||||
pushd "${S}"/${EXTP_PN} &>/dev/null || die
|
||||
unpack ${EXTP_PN}-${EXTP_PV}.tar.gz
|
||||
popd &>/dev/null || die
|
||||
|
||||
if use sdk; then
|
||||
unpack VirtualBoxSDK-${SDK_PV}.zip
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
:;
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
:;
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# create virtualbox configurations files
|
||||
insinto /etc/vbox
|
||||
newins "${FILESDIR}/${PN}-config" vbox.cfg
|
||||
|
||||
if ! use headless ; then
|
||||
pushd "${S}"/icons &>/dev/null || die
|
||||
for size in * ; do
|
||||
if [ -f "${size}/virtualbox.png" ] ; then
|
||||
insinto "/usr/share/icons/hicolor/${size}/apps"
|
||||
newins "${size}/virtualbox.png" ${PN}.png
|
||||
fi
|
||||
done
|
||||
dodir /usr/share/pixmaps
|
||||
cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
|
||||
|| die
|
||||
popd &>/dev/null || die
|
||||
|
||||
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
|
||||
fi
|
||||
|
||||
pushd "${S}"/${EXTP_PN} &>/dev/null || die
|
||||
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
|
||||
doins -r linux.${ARCH}
|
||||
doins ExtPack* PXE-Intel.rom
|
||||
popd &>/dev/null || die
|
||||
rm -rf "${S}"/${EXTP_PN}
|
||||
|
||||
insinto /opt/VirtualBox
|
||||
dodir /opt/bin
|
||||
|
||||
doins UserManual.pdf
|
||||
|
||||
if use sdk ; then
|
||||
doins -r sdk || die
|
||||
fi
|
||||
|
||||
if use additions; then
|
||||
doins -r additions || die
|
||||
fi
|
||||
|
||||
if use vboxwebsrv; then
|
||||
doins vboxwebsrv || die
|
||||
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
|
||||
fperms 0750 /opt/VirtualBox/vboxwebsrv
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
|
||||
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||
fi
|
||||
|
||||
if use rdesktop-vrdp; then
|
||||
doins rdesktop-vrdp || die
|
||||
doins -r rdesktop-vrdp-keymaps || die
|
||||
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
|
||||
dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
|
||||
fi
|
||||
|
||||
if ! use headless && use chm; then
|
||||
doins kchmviewer VirtualBox.chm || die
|
||||
fowners root:vboxusers /opt/VirtualBox/kchmviewer
|
||||
fperms 0750 /opt/VirtualBox/kchmviewer
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
local pyver
|
||||
for pyver in 2.5 2.6 2.7; do
|
||||
if has_version "=dev-lang/python-${pyver}*" && [ -f "${S}/VBoxPython${pyver/./_}.so" ] ; then
|
||||
doins VBoxPython${pyver/./_}.so || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
|
||||
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
|
||||
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
|
||||
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
|
||||
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
|
||||
VBoxPython?_*.so
|
||||
|
||||
if use headless ; then
|
||||
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
|
||||
fi
|
||||
|
||||
doins -r * || die
|
||||
|
||||
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
|
||||
dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
|
||||
dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
|
||||
dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
|
||||
dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
|
||||
dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
|
||||
|
||||
local each
|
||||
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,TestOGL,ExtPackHelperApp}; do
|
||||
fowners root:vboxusers /opt/VirtualBox/${each}
|
||||
fperms 0750 /opt/VirtualBox/${each}
|
||||
pax-mark -m "${D}"/opt/VirtualBox/${each}
|
||||
done
|
||||
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
|
||||
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
|
||||
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
|
||||
|
||||
if ! use headless ; then
|
||||
# Hardened build: Mark selected binaries set-user-ID-on-execution
|
||||
for each in VBox{SDL,Headless} VirtualBox; do
|
||||
fowners root:vboxusers /opt/VirtualBox/${each}
|
||||
fperms 4510 /opt/VirtualBox/${each}
|
||||
pax-mark -m "${D}"/opt/VirtualBox/${each}
|
||||
done
|
||||
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
|
||||
else
|
||||
# Hardened build: Mark selected binaries set-user-ID-on-execution
|
||||
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
|
||||
fperms 4510 /opt/VirtualBox/VBoxHeadless
|
||||
pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
|
||||
fi
|
||||
|
||||
exeinto /opt/VirtualBox
|
||||
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh" || die
|
||||
fowners root:vboxusers /opt/VirtualBox/VBox.sh
|
||||
fperms 0750 /opt/VirtualBox/VBox.sh
|
||||
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
|
||||
dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
|
||||
dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
|
||||
|
||||
# set an env-variable for 3rd party tools
|
||||
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
|
||||
doenvd "${T}/90virtualbox"
|
||||
|
||||
local udevdir="$(udev_get_udevdir)"
|
||||
insinto ${udevdir}/rules.d
|
||||
doins "${FILESDIR}"/10-virtualbox.rules
|
||||
sed "s@%UDEVDIR%@${udevdir}@" \
|
||||
-i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
|
||||
# move udev scripts into ${udevdir} (bug #372491)
|
||||
mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
|
||||
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
|
||||
gnome2_icon_cache_update
|
||||
|
||||
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
|
||||
|
||||
elog ""
|
||||
if ! use headless ; then
|
||||
elog "To launch VirtualBox just type: \"VirtualBox\""
|
||||
elog ""
|
||||
fi
|
||||
elog "You must be in the vboxusers group to use VirtualBox."
|
||||
elog ""
|
||||
elog "For advanced networking setups you should emerge:"
|
||||
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
|
||||
elog ""
|
||||
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
|
||||
elog "an overview about the different features of ${PN}"
|
||||
elog "and virtualbox-ose"
|
||||
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
|
||||
elog ""
|
||||
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
|
||||
elog "or else USB in ${PN} won't work."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
# /etc/conf.d/xencommons
|
||||
|
||||
# Load xen's kernel modules, and this will override defaults
|
||||
XEN_KERNEL_MODULES=""
|
@ -0,0 +1,80 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xencommons.initd,v 1.1 2013/12/06 23:34:11 idella4 Exp $
|
||||
|
||||
depend() {
|
||||
before xenstored
|
||||
}
|
||||
|
||||
is_privileged_domain() {
|
||||
grep -qsE '^control_d$' /proc/xen/capabilities
|
||||
return $?
|
||||
}
|
||||
|
||||
handle_kernel_modules() {
|
||||
local XEN_DEFAULT_KERNEL_MODULES="
|
||||
xen-evtchn
|
||||
xen-gntdev
|
||||
xen-gntalloc
|
||||
xen-blkback
|
||||
xen-netback
|
||||
xen-pciback
|
||||
gntdev
|
||||
netbk
|
||||
blkbk
|
||||
xen-scsibk
|
||||
usbbk
|
||||
pciback
|
||||
xen-acpi-processor
|
||||
blktap2
|
||||
blktap
|
||||
"
|
||||
|
||||
[ "$1" = "remove" ] && OPTS="-r"
|
||||
|
||||
XEN_KERNEL_MODULES="${XEN_KERNEL_MODULES:-${XEN_DEFAULT_KERNEL_MODULES}}"
|
||||
for i in ${XEN_KERNEL_MODULES}; do
|
||||
modprobe ${OPTS} $i 2>/dev/null
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting xencommons daemon"
|
||||
|
||||
# not running in Xen dom0 or domU
|
||||
if [ ! -d /proc/xen ]; then
|
||||
eend 1 "Not running in Xen mode"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# mount xenfs in dom0 or domU with a pv_ops kernel
|
||||
if ! test -f /proc/xen/capabilities && \
|
||||
! grep '^xenfs ' /proc/mounts >/dev/null;
|
||||
then
|
||||
mount -t xenfs xenfs /proc/xen
|
||||
fi
|
||||
|
||||
if ! is_privileged_domain; then
|
||||
eend 1 "Not running on a privileged domain. xencommons not started"
|
||||
return 1
|
||||
fi
|
||||
|
||||
handle_kernel_modules
|
||||
|
||||
eend $? "Failed to start xencommons"
|
||||
}
|
||||
|
||||
stop () {
|
||||
ebegin "Stopping xencommons"
|
||||
if ! is_privileged_domain; then
|
||||
eend 1 "Not running on a privileged domain. xencommons not started"
|
||||
return 1
|
||||
fi
|
||||
|
||||
handle_kernel_modules remove
|
||||
|
||||
eend $? "Failed to stop xencommons"
|
||||
}
|
||||
|
@ -0,0 +1,7 @@
|
||||
# /etc/conf.d/xenqemudev
|
||||
|
||||
# To enable QEMU file backend, set to 'yes'
|
||||
XENQEMUDEV_FILE_BACKEND_ENABLE=""
|
||||
|
||||
# Common options for xenqemudev
|
||||
XENQEMUDEV_OPTS=""
|
@ -0,0 +1,81 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xenqemudev.initd,v 1.2 2013/12/07 06:49:41 idella4 Exp $
|
||||
|
||||
depend() {
|
||||
need xencommons xenstored xenconsoled
|
||||
}
|
||||
|
||||
is_privileged_domain() {
|
||||
grep -qsE '^control_d$' /proc/xen/capabilities
|
||||
return $?
|
||||
}
|
||||
|
||||
xen_setvars() {
|
||||
. /etc/xen/scripts/hotplugpath.sh
|
||||
|
||||
XENQEMUDEV_PIDFILE=/run/xenqemudev.pid
|
||||
XEN_QEMU="${LIBEXEC}/qemu-system-i386"
|
||||
}
|
||||
|
||||
xen_qemu_start() {
|
||||
if [ -z "${XENQEMUDEV_FILE_BACKEND_ENABLE}" ]; then
|
||||
ewarn " QEMU disk backend not enabled"
|
||||
ewarn " enable XENQEMUDEV_FILE_BACKEND_ENABLE in /etc/conf.d/xenqemudev"
|
||||
return 1
|
||||
fi
|
||||
|
||||
xen_setvars
|
||||
|
||||
if [ ! -c /dev/xen/gntdev ]; then
|
||||
einfo " Xen gntdev driver not loaded"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ -e "${XEN_QEMU}" ]; then
|
||||
einfo " Starting QEMU as disk backend for dom0"
|
||||
|
||||
XENQEMUDEV_DEFAULT_OPTS="-xen-domid 0 -xen-attach -name dom0 \
|
||||
-nographic -M xenpv -daemonize \
|
||||
-monitor /dev/null -serial /dev/null -parallel /dev/null"
|
||||
|
||||
XENQEMUDEV_OPTS=${XENQEMUDEV_OPTS:-${XENQEMUDEV_DEFAULT_OPTS}}
|
||||
|
||||
start-stop-daemon --start --exec ${XEN_QEMU} \
|
||||
--pidfile ${XENQEMUDEV_PIDFILE} \
|
||||
-- -pidfile ${XENQEMUDEV_PIDFILE} \
|
||||
${XENQEMUDEV_OPTS}
|
||||
return $?
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting xenqemudev daemon"
|
||||
|
||||
# not running in Xen dom0 or domU
|
||||
if [ ! -d /proc/xen ]; then
|
||||
eend 1 "Not running in Xen mode"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! is_privileged_domain; then
|
||||
eend 1 "Not running on a privileged domain. xenqemudev not started"
|
||||
return 1
|
||||
fi
|
||||
|
||||
xen_qemu_start
|
||||
|
||||
eend $? "Failed to start xenqemudev"
|
||||
}
|
||||
|
||||
stop () {
|
||||
ebegin "Stopping xenqemudev"
|
||||
|
||||
xen_setvars
|
||||
|
||||
start-stop-daemon --stop --exec ${XEN_QEMU} \
|
||||
--pidfile ${XENQEMUDEV_PIDFILE}
|
||||
|
||||
eend $? "Stopping xenqemudev, as it cannot be restarted."
|
||||
}
|
@ -1,52 +1,2 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
is_privileged_domain() {
|
||||
# [ -e /proc/xen/capabilities ]
|
||||
! [ -z /proc/xen/capabilities ] && return 0
|
||||
return 1
|
||||
}
|
||||
|
||||
depend() {
|
||||
before xendomains xend sshd ntp-client ntpd nfs nfsmount rsyncd portmap dhcp
|
||||
}
|
||||
|
||||
start() {
|
||||
[ -x /run/xen ] || mkdir -p /run/xen
|
||||
ebegin "Starting xenstored daemon"
|
||||
|
||||
if [ -e /proc/xen/privcmd ] && is_privileged_domain
|
||||
then
|
||||
eend 1 "Not running on a privileged domain. xenstored not started"
|
||||
return 1
|
||||
fi
|
||||
|
||||
start-stop-daemon --start --exec /usr/sbin/xenstored \
|
||||
--pidfile /var/run/xenstored.pid \
|
||||
-- --pid-file=/var/run/xenstored.pid \
|
||||
$XENSTORED_OPTS || return 1
|
||||
|
||||
einfo "Waiting (upto 10 seconds) for xenstore to come up"
|
||||
|
||||
for i in {0..20}; do
|
||||
sleep .5
|
||||
! xenstore-exists / 2> /dev/null || break
|
||||
done
|
||||
|
||||
if ! xenstore-exists / 2> /dev/null; then
|
||||
eend 1 "xenstore not up within 10 seconds"
|
||||
else
|
||||
einfo "Setting domain0 name record"
|
||||
xenstore-write "/local/domain/0/name" "Domain-0"
|
||||
eend $?
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping xenstored daemon"
|
||||
start-stop-daemon --stop --exec /usr/sbin/xenstored \
|
||||
--pidfile /var/run/xenstored.pid
|
||||
eend $?
|
||||
}
|
||||
|
||||
# /etc/conf.d/xenstored
|
||||
XENSTORED_OPTS=""
|
||||
|
@ -1,2 +0,0 @@
|
||||
# /etc/conf.d/xenstored
|
||||
XENSTORED_OPTS=""
|
@ -1,399 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/xen-tools-4.3.1.ebuild,v 1.1 2013/11/24 06:04:25 idella4 Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE='xml,threads'
|
||||
|
||||
IPXE_TARBALL_URL="http://dev.gentoo.org/~idella4/tarballs/ipxe.tar.gz"
|
||||
XEN_SEABIOS_URL="http://dev.gentoo.org/~idella4/tarballs/seabios-dir-remote-20130720.tar.gz"
|
||||
|
||||
if [[ $PV == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
REPO="xen-unstable.hg"
|
||||
EHG_REPO_URI="http://xenbits.xensource.com/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
live_eclass="mercurial"
|
||||
else
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
$IPXE_TARBALL_URL
|
||||
$XEN_SEABIOS_URL"
|
||||
S="${WORKDIR}/xen-${PV}"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 eutils flag-o-matic multilib python-single-r1 toolchain-funcs udev ${live_eclass}
|
||||
|
||||
DESCRIPTION="Xend daemon and tools"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
DOCS=( README docs/README.xen-bugtool )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires aballier to (get off his hands and) make >=dev-lang/ocaml-4 stable
|
||||
# Otherwise IUSE ocaml and ocaml capable build need be purged
|
||||
IUSE="api custom-cflags debug doc flask hvm qemu ocaml +pam python pygrub screen static-libs xend"
|
||||
|
||||
REQUIRED_USE="hvm? ( qemu )
|
||||
${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="dev-libs/lzo:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libgcrypt
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
|
||||
sys-libs/zlib
|
||||
sys-power/iasl
|
||||
hvm? ( media-libs/libsdl )
|
||||
${PYTHON_DEPS}
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} )
|
||||
sys-devel/bin86
|
||||
sys-devel/dev86
|
||||
dev-lang/perl
|
||||
app-misc/pax-utils
|
||||
dev-python/markdown
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
dev-tex/latex2html[png,gif]
|
||||
media-gfx/graphviz
|
||||
dev-tex/xcolor
|
||||
media-gfx/transfig
|
||||
dev-texlive/texlive-latexextra
|
||||
virtual/latex-base
|
||||
dev-tex/latexmk
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-pictures
|
||||
dev-texlive/texlive-latexrecommended
|
||||
)
|
||||
hvm? ( x11-proto/xproto
|
||||
!net-libs/libiscsi )
|
||||
qemu? ( x11-libs/pixman )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )"
|
||||
RDEPEND="sys-apps/iproute2
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)
|
||||
virtual/udev"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="usr/lib/xen/boot/hvmloader"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
if has_version dev-libs/libgcrypt; then
|
||||
export "CONFIG_GCRYPT=y"
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
export "CONFIG_IOEMU=y"
|
||||
else
|
||||
export "CONFIG_IOEMU=n"
|
||||
fi
|
||||
|
||||
if ! use x86 && ! has x86 $(get_all_abis) && use hvm; then
|
||||
eerror "HVM (VT-x and AMD-v) cannot be built on this system. An x86 or"
|
||||
eerror "an amd64 multilib profile is required. Remove the hvm use flag"
|
||||
eerror "to build xen-tools on your current profile."
|
||||
die "USE=hvm is unsupported on this system."
|
||||
fi
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
epatch "${FILESDIR}"/${PN/-tools/}-4.3-fix_dotconfig-gcc.patch
|
||||
|
||||
# Xend
|
||||
if ! use xend; then
|
||||
sed -e 's:xm xen-bugtool xen-python-path xend:xen-bugtool xen-python-path:' \
|
||||
-i tools/misc/Makefile || die "Disabling xend failed"
|
||||
sed -e 's:^XEND_INITD:#XEND_INITD:' \
|
||||
-i tools/examples/Makefile || die "Disabling xend failed"
|
||||
fi
|
||||
|
||||
# if the user *really* wants to use their own custom-cflags, let them
|
||||
if use custom-cflags; then
|
||||
einfo "User wants their own CFLAGS - removing defaults"
|
||||
|
||||
# try and remove all the default cflags
|
||||
find "${S}" \( -name Makefile -o -name Rules.mk -o -name Config.mk \) \
|
||||
-exec sed \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O3\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-march=i686\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-fomit-frame-pointer\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-g3*\s\(.*\)/CFLAGS\1=\2 \3/' \
|
||||
-e 's/CFLAGS\(.*\)=\(.*\)-O2\(.*\)/CFLAGS\1=\2\3/' \
|
||||
-i {} + || die "failed to re-set custom-cflags"
|
||||
fi
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Disable hvm support on systems that don't support x86_32 binaries.
|
||||
if ! use hvm; then
|
||||
sed -e '/^CONFIG_IOEMU := y$/d' -i config/*.mk || die
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
if ! use qemu; then
|
||||
sed -e "/^CONFIG_IOEMU := y$/d" -i config/*.mk || die
|
||||
sed -e "s:install-tools\: tools/ioemu-dir:install-tools\: :g" -i Makefile || die
|
||||
fi
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
epatch "${FILESDIR}"/${PN}-4-docfix.patch \
|
||||
"${FILESDIR}"/${PN}-4-qemu-xen-doc.patch
|
||||
|
||||
# Fix network broadcast on bridged networks
|
||||
epatch "${FILESDIR}/${PN}-3.4.0-network-bridge-broadcast.patch"
|
||||
|
||||
# Prevent the downloading of ipxe, seabios
|
||||
epatch "${FILESDIR}"/${PN/-tools/}-4.3-anti-download.patch
|
||||
cp "${DISTDIR}"/ipxe.tar.gz tools/firmware/etherboot/ || die
|
||||
mv ../seabios-dir-remote tools/firmware/ || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Fix bridge by idella4, bug #362575
|
||||
epatch "${FILESDIR}/${PN}-4.1.1-bridge.patch"
|
||||
|
||||
# Don't build ipxe with pie on hardened, Bug #360805
|
||||
if gcc-specs-pie; then
|
||||
epatch "${FILESDIR}"/ipxe-nopie.patch
|
||||
fi
|
||||
|
||||
# Prevent double stripping of files at install
|
||||
epatch "${FILESDIR}"/${PN/-tools/}-4.2.0-nostrip.patch
|
||||
|
||||
# fix jobserver in Makefile
|
||||
epatch "${FILESDIR}"/${PN/-tools/}-4.3-jserver.patch
|
||||
|
||||
# add missing header
|
||||
epatch "${FILESDIR}"/xen-4-ulong.patch
|
||||
|
||||
# Set dom0-min-mem to kb; Bug #472982
|
||||
epatch "${FILESDIR}"/${PN/-tools/}-4.2-configsxp.patch
|
||||
|
||||
#Security patches, currently valid
|
||||
epatch "${FILESDIR}"/xen-4-CVE-2012-6075-XSA-41.patch
|
||||
|
||||
# Bug 472438
|
||||
sed -e 's:^BASH_COMPLETION_DIR ?= $(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(SHARE_DIR)/bash-completion:' \
|
||||
-i Config.mk || die
|
||||
|
||||
# Bug 477676
|
||||
epatch "${FILESDIR}"/${PN}-4.3-ar-cc.patch
|
||||
|
||||
# Prevent file collision with qemu package Bug 478064
|
||||
if use qemu; then
|
||||
epatch "${FILESDIR}"/qemu-bridge.patch
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
fi
|
||||
|
||||
use flask || sed -e "/SUBDIRS-y += flask/d" -i tools/Makefile || die
|
||||
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' -i tools/firmware/Makefile || die
|
||||
|
||||
# Bug 379537
|
||||
epatch "${FILESDIR}"/fix-gold-ld.patch
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=/usr --disable-werror"
|
||||
|
||||
if use ocaml
|
||||
then
|
||||
myconf="${myconf} $(use_enable ocaml ocamltools)"
|
||||
else
|
||||
myconf="${myconf} --disable-ocamltools"
|
||||
fi
|
||||
|
||||
if ! use pam
|
||||
then
|
||||
myconf="${myconf} --disable-pam"
|
||||
fi
|
||||
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export VARTEXFONTS="${T}/fonts"
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
use custom-cflags || unset CFLAGS
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
unset LDFLAGS
|
||||
unset CFLAGS
|
||||
emake V=1 CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" -C tools ${myopt}
|
||||
|
||||
use doc && emake -C docs txt html
|
||||
emake -C docs man-pages
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"tmp || die
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=1:autoballoon=1:' \
|
||||
-e 's:^#lockfile="/var/lock/xl":lockfile="/var/lock/xl":' \
|
||||
-e 's:^#vifscript="vif-bridge":vifscript="vif-bridge":' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
mv "${D}"bash-completion "${D}"usr/share/ || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
|
||||
dohtml -r docs/
|
||||
docinto pdf
|
||||
dodoc ${DOCS[@]}
|
||||
[ -d "${D}"/usr/share/doc/xen ] && mv "${D}"/usr/share/doc/xen/* "${D}"/usr/share/doc/${PF}/html
|
||||
fi
|
||||
|
||||
rm -rf "${D}"/usr/share/doc/xen/
|
||||
doman docs/man?/*
|
||||
|
||||
if use xend; then
|
||||
newinitd "${FILESDIR}"/xend.initd-r2 xend || die "Couldn't install xen.initd"
|
||||
fi
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# Move files built with use qemu, Bug #477884
|
||||
if [[ "${ARCH}" == 'amd64' ]] && use qemu; then
|
||||
mkdir -p "${D}"usr/$(get_libdir)/xen/bin || die
|
||||
mv "${D}"usr/lib/xen/bin/* "${D}"usr/$(get_libdir)/xen/bin/ || die
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"usr/$(get_libdir)/*.a "${D}"usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# xend expects these to exist
|
||||
keepdir /var/run/xenstored /var/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Temp QA workaround
|
||||
dodir "$(udev_get_udevdir)"
|
||||
mv "${D}"/etc/udev/* "${D}/$(udev_get_udevdir)"
|
||||
rm -rf "${D}"/etc/udev
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog "http://wiki.xen.org/wiki/Main_Page"
|
||||
|
||||
if [[ "$(scanelf -s __guard -q "${PYTHON}")" ]] ; then
|
||||
echo
|
||||
ewarn "xend may not work when python is built with stack smashing protection (ssp)."
|
||||
ewarn "If 'xm create' fails with '<ProtocolError for /RPC2: -1 >', see bug #141866"
|
||||
ewarn "This problem may be resolved as of Xen 3.0.4, if not post in the bug."
|
||||
fi
|
||||
|
||||
# TODO: we need to have the current Python slot here.
|
||||
if ! has_version "dev-lang/python[ncurses]"; then
|
||||
echo
|
||||
ewarn "NB: Your dev-lang/python is built without USE=ncurses."
|
||||
ewarn "Please rebuild python with USE=ncurses to make use of xenmon.py."
|
||||
fi
|
||||
|
||||
if has_version "sys-apps/iproute2[minimal]"; then
|
||||
echo
|
||||
ewarn "Your sys-apps/iproute2 is built with USE=minimal. Networking"
|
||||
ewarn "will not work until you rebuild iproute2 without USE=minimal."
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 multilib system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use xend; then
|
||||
elog"";elog "xend capability has been enabled and installed"
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
|
||||
if grep -qsF XENSV= "${ROOT}/etc/conf.d/xend"; then
|
||||
echo
|
||||
elog "xensv is broken upstream (Gentoo bug #142011)."
|
||||
elog "Please remove '${ROOT%/}/etc/conf.d/xend', as it is no longer needed."
|
||||
fi
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
http://seclists.org/oss-sec/2013/q4/att-385/xsa82.patch
|
||||
x86/AMD: work around erratum 793
|
||||
|
||||
The recommendation is to set a bit in an MSR - do this if the firmware
|
||||
didn't, considering that otherwise we expose ourselves to a guest
|
||||
induced DoS.
|
||||
|
||||
This is CVE-2013-6885 / XSA-82.
|
||||
|
||||
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||||
Acked-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
|
||||
|
||||
--- a/xen/arch/x86/cpu/amd.c
|
||||
+++ b/xen/arch/x86/cpu/amd.c
|
||||
@@ -476,6 +476,20 @@ static void __devinit init_amd(struct cp
|
||||
"*** Pass \"allow_unsafe\" if you're trusting"
|
||||
" all your (PV) guest kernels. ***\n");
|
||||
|
||||
+ if (c->x86 == 0x16 && c->x86_model <= 0xf) {
|
||||
+ rdmsrl(MSR_AMD64_LS_CFG, value);
|
||||
+ if (!(value & (1 << 15))) {
|
||||
+ static bool_t warned;
|
||||
+
|
||||
+ if (c == &boot_cpu_data || opt_cpu_info ||
|
||||
+ !test_and_set_bool(warned))
|
||||
+ printk(KERN_WARNING
|
||||
+ "CPU%u: Applying workaround for erratum 793\n",
|
||||
+ smp_processor_id());
|
||||
+ wrmsrl(MSR_AMD64_LS_CFG, value | (1 << 15));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* AMD CPUs do not support SYSENTER outside of legacy mode. */
|
||||
clear_bit(X86_FEATURE_SEP, c->x86_capability);
|
||||
|
||||
--- a/xen/include/asm-x86/msr-index.h
|
||||
+++ b/xen/include/asm-x86/msr-index.h
|
||||
@@ -213,6 +213,7 @@
|
||||
|
||||
/* AMD64 MSRs */
|
||||
#define MSR_AMD64_NB_CFG 0xc001001f
|
||||
+#define MSR_AMD64_LS_CFG 0xc0011020
|
||||
#define MSR_AMD64_IC_CFG 0xc0011021
|
||||
#define MSR_AMD64_DC_CFG 0xc0011022
|
||||
#define AMD64_NB_CFG_CF8_EXT_ENABLE_BIT 46
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST transifex-client-0.10.tar.gz 71817 SHA256 fb2ecba162a8ea6c52d57022c14c4016a2b6f048c9f626c1bd27c30e8ee29f1a SHA512 c8134f3fc04953d468c2e6ceb0ef90e8335709bde778c5d7d532b3ea390e71abdf8856b8eaa5acf6507c4e6fd2f918e6b0989b3913ee603cc5987b1a9d6b3964 WHIRLPOOL 34248f0b1d685024b485aa5e324f2450d6e71b72deb4c176419fe6ce768ff3ea486cc48432df569d6141371709bf2e2f853316bf6790974ab03f0ffe6277594e
|
||||
DIST transifex-client-0.8.0.tar.gz 36336 SHA256 89abd9426b35a6e5f2f4c096c6e83fa6e59d4b0b73f721ddbf19027ce3167adc SHA512 77750de853d3fb7f3228a04ce1b6c92c2ab67a6f4001c44cfb243132cf7039228467664ca01b2c6ec420dbedc7e4d54dd1ad7ee2534c87b37a13705fe5b163cb WHIRLPOOL 795ff3e700bdb63d1d10bb2a7440073b36d5ac43b583fc0ad58895f3d72f4109d24b5f6a0ca19149aa55a2fb1395bd57ab05758f7284c4849f3701b6315dda4a
|
||||
DIST transifex-client-0.9.2.tar.gz 175844 SHA256 b9402bdbd371469d04f5f954814bf542d2262607dbf7c95f164640f8c4c9bb39 SHA512 1116c79407a099518d28774750d8edde4e08f63a74ce39f49937d9a1e67303d0d65db834e79d2baf496fea9940aae348ab277e54025d1d76aebb8ef14d566486 WHIRLPOOL 42724626540a8e0aaadddcdbebb9af2ea7218d233ef6f358efcc6f67bdc6f586b4a271e887b10a08b7ec6f62447eb12c404ff4a53f165e55880ad23ff5d44e16
|
||||
|
@ -0,0 +1,21 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-i18n/transifex-client/transifex-client-0.10.ebuild,v 1.1 2013/12/07 20:53:06 hwoarang Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A command line interface for Transifex"
|
||||
HOMEPAGE="http://pypi.python.org/pypi/transifex-client http://www.transifex.net/"
|
||||
SRC_URI="https://github.com/transifex/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
@ -1,6 +1,6 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-laptop/tpacpi-bat/tpacpi-bat-1.1.ebuild,v 1.1 2013/11/04 18:54:09 ottxor Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-laptop/tpacpi-bat/tpacpi-bat-1.1-r1.ebuild,v 1.1 2013/12/06 14:49:15 ottxor Exp $
|
||||
|
||||
EAPI=5
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/byobu/byobu-5.67.ebuild,v 1.1 2013/12/08 11:26:05 radhermit Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
inherit python-single-r1
|
||||
|
||||
DESCRIPTION="A set of profiles for the GNU Screen console window manager (app-misc/screen)"
|
||||
HOMEPAGE="http://byobu.co"
|
||||
SRC_URI="http://launchpad.net/${PN}/trunk/${PV}/+download/${P/-/_}.orig.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="screen"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
dev-libs/newt[${PYTHON_USEDEP}]
|
||||
screen? ( app-misc/screen )
|
||||
!screen? ( app-misc/tmux )"
|
||||
|
||||
src_prepare() {
|
||||
python_fix_shebang .
|
||||
|
||||
# Set default system backend to screen
|
||||
if use screen ; then
|
||||
sed -i -e 's/#\(BYOBU_BACKEND\).*/\1="screen"/' etc/byobu/backend || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Create symlinks for backends
|
||||
dosym ${PN} /usr/bin/${PN}-screen
|
||||
dosym ${PN} /usr/bin/${PN}-tmux
|
||||
|
||||
docompress -x /usr/share/doc/${PN}
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
From 95f60222e75486336b6569afa8f34d60b51c94ad Mon Sep 17 00:00:00 2001
|
||||
From: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Date: Thu, 21 Nov 2013 12:40:57 +0100
|
||||
Subject: [PATCH] fdo#67011: Run Display::Yield through KDEXLib::Yield.
|
||||
|
||||
Drag'n'Drop is handled in a second thread, which tries to "yield
|
||||
the display" while the main Qt thread probably is already
|
||||
yielding. Both need the YieldMutex, which freezes the application
|
||||
until the D'n'D thread times out.
|
||||
|
||||
Trying to yield the display throught the application yield
|
||||
results in a recursive loop.
|
||||
|
||||
So this catches and breaks the recursion, but just inside the Qt
|
||||
thread, so other processes can "yield on the display", instead
|
||||
of simply disabling the Display::Yield.
|
||||
|
||||
Change-Id: Ifba91aa89fe5b0a89cc94820935dc996a065112f
|
||||
Reviewed-on: https://gerrit.libreoffice.org/6750
|
||||
Tested-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
---
|
||||
vcl/unx/kde4/KDESalDisplay.cxx | 22 ++++++++++++++++------
|
||||
1 file changed, 16 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/vcl/unx/kde4/KDESalDisplay.cxx b/vcl/unx/kde4/KDESalDisplay.cxx
|
||||
index 21440fc..ee330e7 100644
|
||||
--- a/vcl/unx/kde4/KDESalDisplay.cxx
|
||||
+++ b/vcl/unx/kde4/KDESalDisplay.cxx
|
||||
@@ -25,6 +25,8 @@
|
||||
#include <assert.h>
|
||||
#include <unx/saldata.hxx>
|
||||
|
||||
+#include <qthread.h>
|
||||
+
|
||||
SalKDEDisplay* SalKDEDisplay::selfptr = NULL;
|
||||
|
||||
SalKDEDisplay::SalKDEDisplay( Display* pDisp )
|
||||
@@ -48,18 +50,26 @@ SalKDEDisplay::~SalKDEDisplay()
|
||||
|
||||
void SalKDEDisplay::Yield()
|
||||
{
|
||||
- if( DispatchInternalEvent() )
|
||||
+ // We yield the display throught the main Qt thread.
|
||||
+ // Actually this Yield may call the Display::Yield, which results in an
|
||||
+ // unlimited cycle.
|
||||
+ static bool break_cyclic_yield_recursion = false;
|
||||
+ bool is_qt_gui_thread = ( qApp->thread() == QThread::currentThread() );
|
||||
+
|
||||
+ if( DispatchInternalEvent() || break_cyclic_yield_recursion )
|
||||
return;
|
||||
|
||||
+ if( is_qt_gui_thread )
|
||||
+ break_cyclic_yield_recursion = true;
|
||||
+
|
||||
DBG_ASSERT( static_cast<SalYieldMutex*>(GetSalData()->m_pInstance->GetYieldMutex())->GetThreadId() ==
|
||||
osl::Thread::getCurrentIdentifier(),
|
||||
"will crash soon since solar mutex not locked in SalKDEDisplay::Yield" );
|
||||
|
||||
- XEvent event;
|
||||
- XNextEvent( pDisp_, &event );
|
||||
- if( checkDirectInputEvent( &event ))
|
||||
- return;
|
||||
- qApp->x11ProcessEvent( &event );
|
||||
+ static_cast<KDEXLib*>(GetXLib())->Yield( true, false );
|
||||
+
|
||||
+ if( is_qt_gui_thread )
|
||||
+ break_cyclic_yield_recursion = false;
|
||||
}
|
||||
|
||||
// HACK: When using Qt event loop, input methods (japanese, etc.) will get broken because
|
||||
--
|
||||
1.8.5.1
|
||||
|
@ -0,0 +1,141 @@
|
||||
Minor modification for libreoffice-4.1: in line 137, reset Q_EMIT to
|
||||
emit... dilfridge@gentoo.org
|
||||
|
||||
From 13a34f4c6307d1bd2443cbf3fbd83bfdd8cdbafb Mon Sep 17 00:00:00 2001
|
||||
From: Jan-Marek Glogowski <glogow@fbihome.de>
|
||||
Date: Fri, 15 Nov 2013 13:42:15 +0000
|
||||
Subject: Rewrite Qt4 based nested yield mutex locking.
|
||||
|
||||
The Qt event loop may start a nested event loop, when checking for
|
||||
clipboard and Drag'n'Drop events.
|
||||
|
||||
Previously this was handled by running this nested yield loop
|
||||
inside the main glib loop using
|
||||
qApp->clipboard()->property( "useEventLoopWhenWaiting" );
|
||||
|
||||
But this results in nested paint events which crash LO:
|
||||
QWidget::repaint: Recursive repaint detected
|
||||
|
||||
To prevend yield mutex deadlocks, check for nested event loops
|
||||
and always release the yield lock before starting the nested Yield
|
||||
event loop.
|
||||
|
||||
This fixes fdo#69002.
|
||||
|
||||
Change-Id: I7e827abd3489783053ec7123372742a32555875d
|
||||
Reviewed-on: https://gerrit.libreoffice.org/6685
|
||||
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
|
||||
Reviewed-by: Thorsten Behrens <thb@documentfoundation.org>
|
||||
Tested-by: Thorsten Behrens <thb@documentfoundation.org>
|
||||
---
|
||||
diff --git a/vcl/unx/kde4/KDE4FilePicker.cxx b/vcl/unx/kde4/KDE4FilePicker.cxx
|
||||
index ee4a6e3..cb20be4 100644
|
||||
--- a/vcl/unx/kde4/KDE4FilePicker.cxx
|
||||
+++ b/vcl/unx/kde4/KDE4FilePicker.cxx
|
||||
@@ -58,6 +58,8 @@
|
||||
|
||||
#undef Region
|
||||
|
||||
+#include "generic/geninst.h"
|
||||
+
|
||||
using namespace ::com::sun::star;
|
||||
using namespace ::com::sun::star::ui::dialogs;
|
||||
using namespace ::com::sun::star::ui::dialogs::TemplateDescription;
|
||||
@@ -253,28 +255,16 @@ sal_Int16 SAL_CALL KDE4FilePicker::execute()
|
||||
_dialog->setFilter(_filter);
|
||||
_dialog->filterWidget()->setEditable(false);
|
||||
|
||||
- // At this point, SolarMutex is held. Opening the KDE file dialog here
|
||||
- // can lead to QClipboard asking for clipboard contents. If LO core
|
||||
- // is the owner of the clipboard content, this will block for 5 seconds
|
||||
- // and timeout, since the clipboard thread will not be able to acquire
|
||||
- // SolarMutex and thus won't be able to respond. If the event loops
|
||||
- // are properly integrated and QClipboard can use a nested event loop
|
||||
- // (see the KDE VCL plug), then this won't happen, but otherwise
|
||||
- // simply release the SolarMutex here. The KDE file dialog does not
|
||||
- // call back to the core, so this should be safe (and if it does,
|
||||
- // SolarMutex will need to be re-acquired).
|
||||
- long mutexrelease = 0;
|
||||
- if( !qApp->clipboard()->property( "useEventLoopWhenWaiting" ).toBool())
|
||||
- mutexrelease = Application::ReleaseSolarMutex();
|
||||
- //block and wait for user input
|
||||
+ // We're entering a nested loop.
|
||||
+ // Release the yield mutex to prevent deadlocks.
|
||||
int result = _dialog->exec();
|
||||
+
|
||||
// HACK: KFileDialog uses KConfig("kdeglobals") for saving some settings
|
||||
// (such as the auto-extension flag), but that doesn't update KGlobal::config()
|
||||
// (which is probably a KDE bug), so force reading the new configuration,
|
||||
// otherwise the next opening of the dialog would use the old settings.
|
||||
KGlobal::config()->reparseConfiguration();
|
||||
- if( !qApp->clipboard()->property( "useEventLoopWhenWaiting" ).toBool())
|
||||
- Application::AcquireSolarMutex( mutexrelease );
|
||||
+
|
||||
if( result == KFileDialog::Accepted)
|
||||
return ExecutableDialogResults::OK;
|
||||
|
||||
diff --git a/vcl/unx/kde4/KDEXLib.cxx b/vcl/unx/kde4/KDEXLib.cxx
|
||||
index 8e0eb67..67d7a4d 100644
|
||||
--- a/vcl/unx/kde4/KDEXLib.cxx
|
||||
+++ b/vcl/unx/kde4/KDEXLib.cxx
|
||||
@@ -225,9 +225,6 @@ void KDEXLib::setupEventLoop()
|
||||
eventLoopType = GlibEventLoop;
|
||||
old_gpoll = g_main_context_get_poll_func( NULL );
|
||||
g_main_context_set_poll_func( NULL, gpoll_wrapper );
|
||||
- // set QClipboard to use event loop, otherwise the main thread will hold
|
||||
- // SolarMutex locked, which will prevent the clipboard thread from answering
|
||||
- m_pApplication->clipboard()->setProperty( "useEventLoopWhenWaiting", true );
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -244,9 +241,6 @@ void KDEXLib::setupEventLoop()
|
||||
eventLoopType = QtUnixEventLoop;
|
||||
QInternal::callFunction( QInternal::GetUnixSelectFunction, reinterpret_cast< void** >( &qt_select ));
|
||||
QInternal::callFunction( QInternal::SetUnixSelectFunction, reinterpret_cast< void** >( lo_select ));
|
||||
- // set QClipboard to use event loop, otherwise the main thread will hold
|
||||
- // SolarMutex locked, which will prevent the clipboard thread from answering
|
||||
- m_pApplication->clipboard()->setProperty( "useEventLoopWhenWaiting", true );
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
@@ -300,6 +294,9 @@ void KDEXLib::socketNotifierActivated( int fd )
|
||||
|
||||
void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
|
||||
{
|
||||
+ // Nested yield loop counter.
|
||||
+ static int loop_depth = 0;
|
||||
+
|
||||
if( eventLoopType == LibreOfficeEventLoop )
|
||||
{
|
||||
if( qApp->thread() == QThread::currentThread())
|
||||
@@ -310,13 +307,24 @@ void KDEXLib::Yield( bool bWait, bool bHandleAllCurrentEvents )
|
||||
}
|
||||
return SalXLib::Yield( bWait, bHandleAllCurrentEvents );
|
||||
}
|
||||
+
|
||||
// if we are the main thread (which is where the event processing is done),
|
||||
// good, just do it
|
||||
- if( qApp->thread() == QThread::currentThread())
|
||||
+ if( qApp->thread() == QThread::currentThread()) {
|
||||
+ // Release the yield lock before entering a nested loop.
|
||||
+ if (loop_depth > 0)
|
||||
+ SalYieldMutexReleaser aReleaser;
|
||||
+ loop_depth++;
|
||||
processYield( bWait, bHandleAllCurrentEvents );
|
||||
- else
|
||||
- { // if this deadlocks, event processing needs to go into a separate thread
|
||||
- // or some other solution needs to be found
|
||||
+ loop_depth--;
|
||||
+ }
|
||||
+ else {
|
||||
+ // we were called from another thread;
|
||||
+ // release the yield lock to prevent deadlock.
|
||||
+ SalYieldMutexReleaser aReleaser;
|
||||
+
|
||||
+ // if this deadlocks, event processing needs to go into a separate
|
||||
+ // thread or some other solution needs to be found
|
||||
emit processYieldSignal( bWait, bHandleAllCurrentEvents );
|
||||
}
|
||||
}
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
@ -0,0 +1,581 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-4.1.3.2-r1.ebuild,v 1.1 2013/12/07 20:29:48 dilfridge Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
KDE_REQUIRED="optional"
|
||||
QT_MINIMAL="4.7.4"
|
||||
KDE_SCM="git"
|
||||
CMAKE_REQUIRED="never"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_3 )
|
||||
PYTHON_REQ_USE="threads,xml"
|
||||
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make
|
||||
# everyone happy.
|
||||
DEV_URI="
|
||||
http://dev-builds.libreoffice.org/pre-releases/src
|
||||
http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
|
||||
http://download.documentfoundation.org/libreoffice/old/${PV}/
|
||||
"
|
||||
EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
|
||||
ADDONS_URI="http://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2"
|
||||
inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic nsplugins ${SCM_ECLASS}
|
||||
unset SCM_ECLASS
|
||||
|
||||
DESCRIPTION="LibreOffice, a full office productivity suite."
|
||||
HOMEPAGE="http://www.libreoffice.org"
|
||||
SRC_URI="branding? ( http://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
|
||||
MODULES="core help"
|
||||
# Only release has the tarballs
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
for mod in ${MODULES}; do
|
||||
if [[ ${mod} == core ]]; then
|
||||
SRC_URI+=" ${i}/${P}.tar.xz"
|
||||
else
|
||||
SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
|
||||
fi
|
||||
done
|
||||
unset mod
|
||||
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+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz"
|
||||
ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
|
||||
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
|
||||
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
|
||||
ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
|
||||
SRC_URI+=" ${ADDONS_SRC}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset EXT_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
IUSE="bluetooth +branding +cups dbus debug eds gnome gstreamer +gtk
|
||||
gtk3 jemalloc kde mysql odk opengl postgres telepathy test +vba +webdav"
|
||||
|
||||
LO_EXTS="nlpsolver presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher"
|
||||
# Unpackaged separate extensions:
|
||||
# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
|
||||
# hunart: only on ooo extensions -> fubared download path somewhere on sf
|
||||
# numbertext, typo, validator, watch-window: ^^
|
||||
# oooblogger: no homepage or anything
|
||||
# Extensions that need extra work:
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
IUSE+=" libreoffice_extensions_${lo_xt}"
|
||||
done
|
||||
unset lo_xt
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
[[ ${PV} == *9999* ]] || \
|
||||
KEYWORDS=""
|
||||
|
||||
COMMON_DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=app-text/hunspell-1.3.2-r3
|
||||
app-text/mythes
|
||||
>=app-text/libexttextcat-3.2
|
||||
app-text/liblangtag
|
||||
app-text/libmspub
|
||||
<app-text/libmwaw-0.2.0
|
||||
app-text/libodfgen
|
||||
app-text/libwpd:0.9[tools]
|
||||
app-text/libwpg:0.2
|
||||
>=app-text/libwps-0.2.2
|
||||
>=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
>=dev-cpp/libcmis-0.3.1:0.3
|
||||
dev-db/unixODBC
|
||||
>=dev-libs/boost-1.46:=
|
||||
dev-libs/expat
|
||||
>=dev-libs/hyphen-2.7.1
|
||||
>=dev-libs/icu-4.8.1.1:=
|
||||
>=dev-libs/liborcus-0.5.1:=
|
||||
>=dev-libs/nspr-4.8.8
|
||||
>=dev-libs/nss-3.12.9
|
||||
>=dev-lang/perl-5.0
|
||||
>=dev-libs/openssl-1.0.0d
|
||||
>=dev-libs/redland-1.0.16[ssl]
|
||||
media-gfx/graphite2
|
||||
>=media-libs/fontconfig-2.8.0
|
||||
media-libs/freetype:2
|
||||
>=media-libs/harfbuzz-0.9.10:=[icu(+)]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libpng-1.4
|
||||
>=media-libs/libcdr-0.0.5
|
||||
media-libs/libvisio
|
||||
>=net-misc/curl-7.21.4
|
||||
net-nds/openldap
|
||||
sci-mathematics/lpsolve
|
||||
virtual/jpeg:0
|
||||
>=x11-libs/cairo-1.10.0[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( >=dev-libs/dbus-glib-0.92 )
|
||||
eds? ( gnome-extra/evolution-data-server )
|
||||
gnome? ( gnome-base/gconf:2 )
|
||||
gtk? (
|
||||
x11-libs/gdk-pixbuf[X]
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
gtk3? ( >=x11-libs/gtk+-3.2:3 )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
|
||||
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
|
||||
libreoffice_extensions_wiki-publisher? (
|
||||
dev-java/commons-codec:0
|
||||
dev-java/commons-httpclient:3
|
||||
dev-java/commons-lang:2.1
|
||||
dev-java/commons-logging:0
|
||||
dev-java/tomcat-servlet-api:3.0
|
||||
)
|
||||
mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
postgres? ( >=dev-db/postgresql-base-9.0[kerberos] )
|
||||
telepathy? (
|
||||
dev-libs/glib:2
|
||||
>=net-libs/telepathy-glib-0.18.0
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
webdav? ( net-libs/neon )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
!<app-office/openoffice-bin-3.4.0-r1
|
||||
!app-office/openoffice
|
||||
media-fonts/libertine-ttf
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/urw-fonts
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
PDEPEND="~app-office/libreoffice-l10n-${PV}"
|
||||
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}
|
||||
>=dev-libs/libxml2-2.7.8
|
||||
dev-libs/libxslt
|
||||
dev-perl/Archive-Zip
|
||||
dev-util/cppunit
|
||||
>=dev-util/gperf-3
|
||||
dev-util/intltool
|
||||
=dev-util/mdds-0.8*:=
|
||||
virtual/pkgconfig
|
||||
net-misc/npapi-sdk
|
||||
>=sys-apps/findutils-4.4.2
|
||||
sys-devel/bison
|
||||
sys-apps/coreutils
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
>=sys-devel/make-3.82
|
||||
sys-devel/ucpp
|
||||
sys-libs/zlib
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-proto/randrproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
java? (
|
||||
>=virtual/jdk-1.6
|
||||
>=dev-java/ant-core-1.7
|
||||
)
|
||||
odk? ( app-doc/doxygen )
|
||||
test? ( dev-util/cppunit )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-3.7-system-pyuno.patch"
|
||||
|
||||
# picked from git master
|
||||
"${FILESDIR}/${PN}-4.1.3.2-kde-recursiverepaint.patch"
|
||||
)
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
bluetooth? ( dbus )
|
||||
gnome? ( gtk )
|
||||
eds? ( gnome )
|
||||
telepathy? ( gtk )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
CHECKREQS_MEMORY="512M"
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
|
||||
pkg_pretend() {
|
||||
local pgslot
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check-reqs_pkg_pretend
|
||||
|
||||
if [[ $(gcc-major-version) -lt 4 ]] || \
|
||||
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
|
||||
; then
|
||||
eerror "Compilation with gcc older than 4.6 is not supported"
|
||||
die "Too old gcc found."
|
||||
fi
|
||||
fi
|
||||
|
||||
# ensure pg version
|
||||
if use postgres && has_version dev-db/postgresql-base; then
|
||||
pgslot=$(postgresql-config show)
|
||||
if [[ ${pgslot//.} < 90 ]] ; then
|
||||
eerror "PostgreSQL slot must be set to 9.0 or higher."
|
||||
eerror " postgresql-config set 9.0"
|
||||
die "PostgreSQL slot is not set to 9.0 or higher."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
kde4-base_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local mod mod2 dest tmplfile tmplname mypv
|
||||
|
||||
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
|
||||
use branding && unpack "${BRANDING}"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
unpack "${P}.tar.xz"
|
||||
for mod in ${MODULES}; do
|
||||
[[ ${mod} == core ]] && continue
|
||||
unpack "${PN}-${mod}-${PV}.tar.xz"
|
||||
done
|
||||
else
|
||||
for mod in ${MODULES}; do
|
||||
mypv=${PV/.9999}
|
||||
[[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
|
||||
EGIT_PROJECT="${PN}/${mod}"
|
||||
EGIT_SOURCEDIR="${WORKDIR}/${P}"
|
||||
[[ ${mod} != core ]] && EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
|
||||
EGIT_NOUNPACK="true"
|
||||
git-2_src_unpack
|
||||
if [[ ${mod} != core ]]; then
|
||||
mod2=${mod}
|
||||
# mapping does not match on help
|
||||
[[ ${mod} == help ]] && mod2="helpcontent2"
|
||||
mkdir -p "${S}/${mod2}/" || die
|
||||
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
|
||||
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
fi
|
||||
done
|
||||
unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python 2.7 enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
# patchset
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
|
||||
EPATCH_SUFFIX="patch" \
|
||||
epatch
|
||||
fi
|
||||
|
||||
base_src_prepare
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# system pyuno mess
|
||||
sed \
|
||||
-e "s:%eprefix%:${EPREFIX}:g" \
|
||||
-e "s:%libdir%:$(get_libdir):g" \
|
||||
-i pyuno/source/module/uno.py \
|
||||
-i scripting/source/pyprov/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
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local java_opts
|
||||
local internal_libs
|
||||
local lo_ext
|
||||
local ext_opts
|
||||
local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}")
|
||||
|
||||
# recheck that there is some value in jobs
|
||||
[[ -z ${jbs} ]] && jbs="1"
|
||||
|
||||
# sane: just sane.h header that is used for scan in writer, not
|
||||
# linked or anything else, worthless to depend on
|
||||
# vigra: just uses templates from there
|
||||
# it is serious pain in the ass for packaging
|
||||
# should be replaced by boost::gil if someone interested
|
||||
internal_libs+="
|
||||
--without-system-sane
|
||||
--without-system-vigra
|
||||
"
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
|
||||
else
|
||||
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
java_opts="
|
||||
--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/$(get_libdir)/"
|
||||
"
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
|
||||
|
||||
if use libreoffice_extensions_wiki-publisher; then
|
||||
java_opts+="
|
||||
--with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
|
||||
--with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
|
||||
--with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
|
||||
--with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
|
||||
--with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
|
||||
"
|
||||
fi
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-graphite: disabling causes build breakages
|
||||
# --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
|
||||
# --disable-gnome-vfs: old gnome virtual fs support
|
||||
# --disable-kdeab: kde3 adressbook
|
||||
# --disable-kde: kde3 support
|
||||
# --disable-rpath: relative runtime path is not desired
|
||||
# --disable-systray: quickstarter does not actually work at all so do not
|
||||
# promote it
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}/" \
|
||||
--with-system-headers \
|
||||
--with-system-libs \
|
||||
--with-system-jars \
|
||||
--with-system-dicts \
|
||||
--enable-cairo-canvas \
|
||||
--enable-graphite \
|
||||
--enable-largefile \
|
||||
--enable-mergelibs \
|
||||
--enable-python=system \
|
||||
--enable-randr \
|
||||
--enable-randr-link \
|
||||
--enable-release-build \
|
||||
--enable-hardlink-deliver \
|
||||
--disable-ccache \
|
||||
--disable-crashdump \
|
||||
--disable-dependency-tracking \
|
||||
--disable-epm \
|
||||
--disable-fetch-external \
|
||||
--disable-gnome-vfs \
|
||||
--disable-gstreamer-0-10 \
|
||||
--disable-report-builder \
|
||||
--disable-kdeab \
|
||||
--disable-kde \
|
||||
--disable-online-update \
|
||||
--disable-rpath \
|
||||
--disable-systray \
|
||||
--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=${jbs} \
|
||||
--with-system-ucpp \
|
||||
--with-vendor="Gentoo Foundation" \
|
||||
--with-x \
|
||||
--without-afms \
|
||||
--without-fonts \
|
||||
--without-myspell-dicts \
|
||||
--without-help \
|
||||
--with-helppack-integration \
|
||||
--without-sun-templates \
|
||||
$(use_enable bluetooth sdremote-bluetooth) \
|
||||
$(use_enable cups) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable dbus) \
|
||||
$(use_enable eds evolution2) \
|
||||
$(use_enable gnome gconf) \
|
||||
$(use_enable gnome gio) \
|
||||
$(use_enable gnome lockdown) \
|
||||
$(use_enable gstreamer) \
|
||||
$(use_enable gtk) \
|
||||
$(use_enable gtk3) \
|
||||
$(use_enable kde kde4) \
|
||||
$(use_enable mysql ext-mariadb-connector) \
|
||||
$(use_enable odk) \
|
||||
$(use_enable opengl) \
|
||||
$(use_enable postgres postgresql-sdbc) \
|
||||
$(use_enable telepathy) \
|
||||
$(use_enable test linkoo) \
|
||||
$(use_enable vba) \
|
||||
$(use_enable webdav neon) \
|
||||
$(use_with java) \
|
||||
$(use_with mysql system-mysql-cppconn) \
|
||||
$(use_with odk doxygen) \
|
||||
${internal_libs} \
|
||||
${java_opts} \
|
||||
${ext_opts}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# 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"
|
||||
source "${T}/config_host.mk" 2&> /dev/null
|
||||
|
||||
local path="${SOLARVER}/${INPATH}/res/img"
|
||||
mkdir -p "${path}" || die
|
||||
|
||||
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
|
||||
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
|
||||
-dir=icon-themes/galaxy/res/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
|
||||
|
||||
# Fix bash completion placement
|
||||
newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
|
||||
rm -rf "${ED}"/etc/
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
fi
|
||||
|
||||
# symlink the nsplugin to proper location
|
||||
# use gtk && inst_plugin /usr/$(get_libdir)/libreoffice/program/libnpsoplugin.so
|
||||
|
||||
# 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 for support to old installs that can't parse mime
|
||||
rm -rf "${ED}"/usr/share/mimelnk/
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Cache updates - all handled by kde eclass for all environments
|
||||
kde4-base_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
kde4-base_pkg_postinst
|
||||
|
||||
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() {
|
||||
kde4-base_pkg_postrm
|
||||
}
|
@ -0,0 +1,582 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-office/libreoffice/libreoffice-4.1.3.2-r2.ebuild,v 1.1 2013/12/07 21:03:18 dilfridge Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
KDE_REQUIRED="optional"
|
||||
QT_MINIMAL="4.7.4"
|
||||
KDE_SCM="git"
|
||||
CMAKE_REQUIRED="never"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 python3_3 )
|
||||
PYTHON_REQ_USE="threads,xml"
|
||||
|
||||
# experimental ; release ; old
|
||||
# Usually the tarballs are moved a lot so this should make
|
||||
# everyone happy.
|
||||
DEV_URI="
|
||||
http://dev-builds.libreoffice.org/pre-releases/src
|
||||
http://download.documentfoundation.org/libreoffice/src/${PV:0:5}/
|
||||
http://download.documentfoundation.org/libreoffice/old/${PV}/
|
||||
"
|
||||
EXT_URI="http://ooo.itc.hu/oxygenoffice/download/libreoffice"
|
||||
ADDONS_URI="http://dev-www.libreoffice.org/src/"
|
||||
|
||||
BRANDING="${PN}-branding-gentoo-0.8.tar.xz"
|
||||
# PATCHSET="${P}-patchset-01.tar.xz"
|
||||
|
||||
[[ ${PV} == *9999* ]] && SCM_ECLASS="git-2"
|
||||
inherit base autotools bash-completion-r1 check-reqs eutils java-pkg-opt-2 kde4-base pax-utils python-single-r1 multilib toolchain-funcs flag-o-matic nsplugins ${SCM_ECLASS}
|
||||
unset SCM_ECLASS
|
||||
|
||||
DESCRIPTION="LibreOffice, a full office productivity suite."
|
||||
HOMEPAGE="http://www.libreoffice.org"
|
||||
SRC_URI="branding? ( http://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
|
||||
MODULES="core help"
|
||||
# Only release has the tarballs
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
for i in ${DEV_URI}; do
|
||||
for mod in ${MODULES}; do
|
||||
if [[ ${mod} == core ]]; then
|
||||
SRC_URI+=" ${i}/${P}.tar.xz"
|
||||
else
|
||||
SRC_URI+=" ${i}/${PN}-${mod}-${PV}.tar.xz"
|
||||
fi
|
||||
done
|
||||
unset mod
|
||||
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+=" ${ADDONS_URI}/ea91f2fb4212a21d708aced277e6e85a-vigra1.4.0.tar.gz"
|
||||
ADDONS_SRC+=" ${ADDONS_URI}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz" # modifies source code
|
||||
ADDONS_SRC+=" java? ( ${ADDONS_URI}/17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip )"
|
||||
ADDONS_SRC+=" libreoffice_extensions_wiki-publisher? ( ${ADDONS_URI}/a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip )" # no release for 8 years, should we package it?
|
||||
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip )" # Does not build with 1.6 rhino at all
|
||||
ADDONS_SRC+=" libreoffice_extensions_scripting-javascript? ( ${ADDONS_URI}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip )" # requirement of rhino
|
||||
ADDONS_SRC+=" odk? ( http://download.go-oo.org/extern/185d60944ea767075d27247c3162b3bc-unowinreg.dll )" # not packageable
|
||||
SRC_URI+=" ${ADDONS_SRC}"
|
||||
|
||||
unset ADDONS_URI
|
||||
unset EXT_URI
|
||||
unset ADDONS_SRC
|
||||
|
||||
IUSE="bluetooth +branding +cups dbus debug eds gnome gstreamer +gtk
|
||||
gtk3 jemalloc kde mysql odk opengl postgres telepathy test +vba +webdav"
|
||||
|
||||
LO_EXTS="nlpsolver presenter-minimizer scripting-beanshell scripting-javascript wiki-publisher"
|
||||
# Unpackaged separate extensions:
|
||||
# diagram: lo has 0.9.5 upstream is weirdly patched 0.9.4 -> wtf?
|
||||
# hunart: only on ooo extensions -> fubared download path somewhere on sf
|
||||
# numbertext, typo, validator, watch-window: ^^
|
||||
# oooblogger: no homepage or anything
|
||||
# Extensions that need extra work:
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
IUSE+=" libreoffice_extensions_${lo_xt}"
|
||||
done
|
||||
unset lo_xt
|
||||
|
||||
LICENSE="|| ( LGPL-3 MPL-1.1 )"
|
||||
SLOT="0"
|
||||
[[ ${PV} == *9999* ]] || \
|
||||
KEYWORDS=""
|
||||
|
||||
COMMON_DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-arch/zip
|
||||
app-arch/unzip
|
||||
>=app-text/hunspell-1.3.2-r3
|
||||
app-text/mythes
|
||||
>=app-text/libexttextcat-3.2
|
||||
app-text/liblangtag
|
||||
app-text/libmspub
|
||||
<app-text/libmwaw-0.2.0
|
||||
app-text/libodfgen
|
||||
app-text/libwpd:0.9[tools]
|
||||
app-text/libwpg:0.2
|
||||
>=app-text/libwps-0.2.2
|
||||
>=app-text/poppler-0.16:=[xpdf-headers(+),cxx]
|
||||
>=dev-cpp/clucene-2.3.3.4-r2
|
||||
>=dev-cpp/libcmis-0.3.1:0.3
|
||||
dev-db/unixODBC
|
||||
>=dev-libs/boost-1.46:=
|
||||
dev-libs/expat
|
||||
>=dev-libs/hyphen-2.7.1
|
||||
>=dev-libs/icu-4.8.1.1:=
|
||||
>=dev-libs/liborcus-0.5.1:=
|
||||
>=dev-libs/nspr-4.8.8
|
||||
>=dev-libs/nss-3.12.9
|
||||
>=dev-lang/perl-5.0
|
||||
>=dev-libs/openssl-1.0.0d
|
||||
>=dev-libs/redland-1.0.16[ssl]
|
||||
media-gfx/graphite2
|
||||
>=media-libs/fontconfig-2.8.0
|
||||
media-libs/freetype:2
|
||||
>=media-libs/harfbuzz-0.9.10:=[icu(+)]
|
||||
media-libs/lcms:2
|
||||
>=media-libs/libpng-1.4
|
||||
>=media-libs/libcdr-0.0.5
|
||||
media-libs/libvisio
|
||||
>=net-misc/curl-7.21.4
|
||||
net-nds/openldap
|
||||
sci-mathematics/lpsolve
|
||||
virtual/jpeg:0
|
||||
>=x11-libs/cairo-1.10.0[X]
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
cups? ( net-print/cups )
|
||||
dbus? ( >=dev-libs/dbus-glib-0.92 )
|
||||
eds? ( gnome-extra/evolution-data-server )
|
||||
gnome? ( gnome-base/gconf:2 )
|
||||
gtk? (
|
||||
x11-libs/gdk-pixbuf[X]
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
gtk3? ( >=x11-libs/gtk+-3.2:3 )
|
||||
gstreamer? (
|
||||
media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0
|
||||
)
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
libreoffice_extensions_scripting-beanshell? ( >=dev-java/bsh-2.0_beta4 )
|
||||
libreoffice_extensions_scripting-javascript? ( dev-java/rhino:1.6 )
|
||||
libreoffice_extensions_wiki-publisher? (
|
||||
dev-java/commons-codec:0
|
||||
dev-java/commons-httpclient:3
|
||||
dev-java/commons-lang:2.1
|
||||
dev-java/commons-logging:0
|
||||
dev-java/tomcat-servlet-api:3.0
|
||||
)
|
||||
mysql? ( >=dev-db/mysql-connector-c++-1.1.0 )
|
||||
opengl? (
|
||||
virtual/glu
|
||||
virtual/opengl
|
||||
)
|
||||
postgres? ( >=dev-db/postgresql-base-9.0[kerberos] )
|
||||
telepathy? (
|
||||
dev-libs/glib:2
|
||||
>=net-libs/telepathy-glib-0.18.0
|
||||
>=x11-libs/gtk+-2.24:2
|
||||
)
|
||||
webdav? ( net-libs/neon )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
!app-office/libreoffice-bin
|
||||
!app-office/libreoffice-bin-debug
|
||||
!<app-office/openoffice-bin-3.4.0-r1
|
||||
!app-office/openoffice
|
||||
media-fonts/libertine-ttf
|
||||
media-fonts/liberation-fonts
|
||||
media-fonts/urw-fonts
|
||||
java? ( >=virtual/jre-1.6 )
|
||||
"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
PDEPEND="~app-office/libreoffice-l10n-${PV}"
|
||||
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}
|
||||
>=dev-libs/libxml2-2.7.8
|
||||
dev-libs/libxslt
|
||||
dev-perl/Archive-Zip
|
||||
dev-util/cppunit
|
||||
>=dev-util/gperf-3
|
||||
dev-util/intltool
|
||||
=dev-util/mdds-0.8*:=
|
||||
virtual/pkgconfig
|
||||
net-misc/npapi-sdk
|
||||
>=sys-apps/findutils-4.4.2
|
||||
sys-devel/bison
|
||||
sys-apps/coreutils
|
||||
sys-devel/flex
|
||||
sys-devel/gettext
|
||||
>=sys-devel/make-3.82
|
||||
sys-devel/ucpp
|
||||
sys-libs/zlib
|
||||
x11-libs/libXt
|
||||
x11-libs/libXtst
|
||||
x11-proto/randrproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
java? (
|
||||
>=virtual/jdk-1.6
|
||||
>=dev-java/ant-core-1.7
|
||||
)
|
||||
odk? ( app-doc/doxygen )
|
||||
test? ( dev-util/cppunit )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
# not upstreamable stuff
|
||||
"${FILESDIR}/${PN}-3.7-system-pyuno.patch"
|
||||
|
||||
# picked from git master
|
||||
"${FILESDIR}/${PN}-4.1.3.2-kde-recursiverepaint.patch"
|
||||
"${FILESDIR}/${PN}-4.1.3.2-kde-calchang.patch"
|
||||
)
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
bluetooth? ( dbus )
|
||||
gnome? ( gtk )
|
||||
eds? ( gnome )
|
||||
telepathy? ( gtk )
|
||||
libreoffice_extensions_nlpsolver? ( java )
|
||||
libreoffice_extensions_scripting-beanshell? ( java )
|
||||
libreoffice_extensions_scripting-javascript? ( java )
|
||||
libreoffice_extensions_wiki-publisher? ( java )
|
||||
"
|
||||
|
||||
CHECKREQS_MEMORY="512M"
|
||||
CHECKREQS_DISK_BUILD="6G"
|
||||
|
||||
pkg_pretend() {
|
||||
local pgslot
|
||||
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
check-reqs_pkg_pretend
|
||||
|
||||
if [[ $(gcc-major-version) -lt 4 ]] || \
|
||||
( [[ $(gcc-major-version) -eq 4 && $(gcc-minor-version) -lt 6 ]] ) \
|
||||
; then
|
||||
eerror "Compilation with gcc older than 4.6 is not supported"
|
||||
die "Too old gcc found."
|
||||
fi
|
||||
fi
|
||||
|
||||
# ensure pg version
|
||||
if use postgres && has_version dev-db/postgresql-base; then
|
||||
pgslot=$(postgresql-config show)
|
||||
if [[ ${pgslot//.} < 90 ]] ; then
|
||||
eerror "PostgreSQL slot must be set to 9.0 or higher."
|
||||
eerror " postgresql-config set 9.0"
|
||||
die "PostgreSQL slot is not set to 9.0 or higher."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-opt-2_pkg_setup
|
||||
kde4-base_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
[[ ${MERGE_TYPE} != binary ]] && check-reqs_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
local mod mod2 dest tmplfile tmplname mypv
|
||||
|
||||
[[ -n ${PATCHSET} ]] && unpack ${PATCHSET}
|
||||
use branding && unpack "${BRANDING}"
|
||||
|
||||
if [[ ${PV} != *9999* ]]; then
|
||||
unpack "${P}.tar.xz"
|
||||
for mod in ${MODULES}; do
|
||||
[[ ${mod} == core ]] && continue
|
||||
unpack "${PN}-${mod}-${PV}.tar.xz"
|
||||
done
|
||||
else
|
||||
for mod in ${MODULES}; do
|
||||
mypv=${PV/.9999}
|
||||
[[ ${mypv} != ${PV} ]] && EGIT_BRANCH="${PN}-${mypv/./-}"
|
||||
EGIT_PROJECT="${PN}/${mod}"
|
||||
EGIT_SOURCEDIR="${WORKDIR}/${P}"
|
||||
[[ ${mod} != core ]] && EGIT_SOURCEDIR="${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}/${mod}"
|
||||
EGIT_NOUNPACK="true"
|
||||
git-2_src_unpack
|
||||
if [[ ${mod} != core ]]; then
|
||||
mod2=${mod}
|
||||
# mapping does not match on help
|
||||
[[ ${mod} == help ]] && mod2="helpcontent2"
|
||||
mkdir -p "${S}/${mod2}/" || die
|
||||
mv -n "${WORKDIR}/${PN}-${mod}-${PV}"/* "${S}/${mod2}" || die
|
||||
rm -rf "${WORKDIR}/${PN}-${mod}-${PV}"
|
||||
fi
|
||||
done
|
||||
unset EGIT_PROJECT EGIT_SOURCEDIR EGIT_REPO_URI EGIT_BRANCH
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# optimization flags
|
||||
export GMAKE_OPTIONS="${MAKEOPTS}"
|
||||
# System python 2.7 enablement:
|
||||
export PYTHON_CFLAGS=$(python_get_CFLAGS)
|
||||
export PYTHON_LIBS=$(python_get_LIBS)
|
||||
|
||||
# patchset
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_SOURCE="${WORKDIR}/${PATCHSET/.tar.xz/}" \
|
||||
EPATCH_SUFFIX="patch" \
|
||||
epatch
|
||||
fi
|
||||
|
||||
base_src_prepare
|
||||
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
# hack in the autogen.sh
|
||||
touch autogen.lastrun
|
||||
|
||||
# system pyuno mess
|
||||
sed \
|
||||
-e "s:%eprefix%:${EPREFIX}:g" \
|
||||
-e "s:%libdir%:$(get_libdir):g" \
|
||||
-i pyuno/source/module/uno.py \
|
||||
-i scripting/source/pyprov/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
|
||||
|
||||
if use branding; then
|
||||
# hack...
|
||||
mv -v "${WORKDIR}/branding-intro.png" "${S}/icon-themes/galaxy/brand/intro.png" || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local java_opts
|
||||
local internal_libs
|
||||
local lo_ext
|
||||
local ext_opts
|
||||
local jbs=$(sed -ne 's/.*\(-j[[:space:]]*\|--jobs=\)\([[:digit:]]\+\).*/\2/;T;p' <<< "${MAKEOPTS}")
|
||||
|
||||
# recheck that there is some value in jobs
|
||||
[[ -z ${jbs} ]] && jbs="1"
|
||||
|
||||
# sane: just sane.h header that is used for scan in writer, not
|
||||
# linked or anything else, worthless to depend on
|
||||
# vigra: just uses templates from there
|
||||
# it is serious pain in the ass for packaging
|
||||
# should be replaced by boost::gil if someone interested
|
||||
internal_libs+="
|
||||
--without-system-sane
|
||||
--without-system-vigra
|
||||
"
|
||||
|
||||
# libreoffice extensions handling
|
||||
for lo_xt in ${LO_EXTS}; do
|
||||
if [[ "${lo_xt}" == "scripting-beanshell" || "${lo_xt}" == "scripting-javascript" ]]; then
|
||||
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ${lo_xt})"
|
||||
else
|
||||
ext_opts+=" $(use_enable libreoffice_extensions_${lo_xt} ext-${lo_xt})"
|
||||
fi
|
||||
done
|
||||
|
||||
if use java; then
|
||||
# hsqldb: system one is too new
|
||||
java_opts="
|
||||
--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/$(get_libdir)/"
|
||||
"
|
||||
|
||||
use libreoffice_extensions_scripting-beanshell && \
|
||||
java_opts+=" --with-beanshell-jar=$(java-pkg_getjar bsh bsh.jar)"
|
||||
|
||||
use libreoffice_extensions_scripting-javascript && \
|
||||
java_opts+=" --with-rhino-jar=$(java-pkg_getjar rhino-1.6 js.jar)"
|
||||
|
||||
if use libreoffice_extensions_wiki-publisher; then
|
||||
java_opts+="
|
||||
--with-commons-codec-jar=$(java-pkg_getjar commons-codec commons-codec.jar)
|
||||
--with-commons-httpclient-jar=$(java-pkg_getjar commons-httpclient-3 commons-httpclient.jar)
|
||||
--with-commons-lang-jar=$(java-pkg_getjar commons-lang-2.1 commons-lang.jar)
|
||||
--with-commons-logging-jar=$(java-pkg_getjar commons-logging commons-logging.jar)
|
||||
--with-servlet-api-jar=$(java-pkg_getjar tomcat-servlet-api-3.0 servlet-api.jar)
|
||||
"
|
||||
fi
|
||||
fi
|
||||
|
||||
# system headers/libs/...: enforce using system packages
|
||||
# --enable-cairo: ensure that cairo is always required
|
||||
# --enable-graphite: disabling causes build breakages
|
||||
# --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
|
||||
# --disable-gnome-vfs: old gnome virtual fs support
|
||||
# --disable-kdeab: kde3 adressbook
|
||||
# --disable-kde: kde3 support
|
||||
# --disable-rpath: relative runtime path is not desired
|
||||
# --disable-systray: quickstarter does not actually work at all so do not
|
||||
# promote it
|
||||
# --enable-extension-integration: enable any extension integration support
|
||||
# --without-{afms,fonts,myspell-dicts,ppsd}: prevent install of sys pkgs
|
||||
# --disable-report-builder: too much java packages pulled in without pkgs
|
||||
econf \
|
||||
--docdir="${EPREFIX}/usr/share/doc/${PF}/" \
|
||||
--with-system-headers \
|
||||
--with-system-libs \
|
||||
--with-system-jars \
|
||||
--with-system-dicts \
|
||||
--enable-cairo-canvas \
|
||||
--enable-graphite \
|
||||
--enable-largefile \
|
||||
--enable-mergelibs \
|
||||
--enable-python=system \
|
||||
--enable-randr \
|
||||
--enable-randr-link \
|
||||
--enable-release-build \
|
||||
--enable-hardlink-deliver \
|
||||
--disable-ccache \
|
||||
--disable-crashdump \
|
||||
--disable-dependency-tracking \
|
||||
--disable-epm \
|
||||
--disable-fetch-external \
|
||||
--disable-gnome-vfs \
|
||||
--disable-gstreamer-0-10 \
|
||||
--disable-report-builder \
|
||||
--disable-kdeab \
|
||||
--disable-kde \
|
||||
--disable-online-update \
|
||||
--disable-rpath \
|
||||
--disable-systray \
|
||||
--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=${jbs} \
|
||||
--with-system-ucpp \
|
||||
--with-vendor="Gentoo Foundation" \
|
||||
--with-x \
|
||||
--without-afms \
|
||||
--without-fonts \
|
||||
--without-myspell-dicts \
|
||||
--without-help \
|
||||
--with-helppack-integration \
|
||||
--without-sun-templates \
|
||||
$(use_enable bluetooth sdremote-bluetooth) \
|
||||
$(use_enable cups) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable dbus) \
|
||||
$(use_enable eds evolution2) \
|
||||
$(use_enable gnome gconf) \
|
||||
$(use_enable gnome gio) \
|
||||
$(use_enable gnome lockdown) \
|
||||
$(use_enable gstreamer) \
|
||||
$(use_enable gtk) \
|
||||
$(use_enable gtk3) \
|
||||
$(use_enable kde kde4) \
|
||||
$(use_enable mysql ext-mariadb-connector) \
|
||||
$(use_enable odk) \
|
||||
$(use_enable opengl) \
|
||||
$(use_enable postgres postgresql-sdbc) \
|
||||
$(use_enable telepathy) \
|
||||
$(use_enable test linkoo) \
|
||||
$(use_enable vba) \
|
||||
$(use_enable webdav neon) \
|
||||
$(use_with java) \
|
||||
$(use_with mysql system-mysql-cppconn) \
|
||||
$(use_with odk doxygen) \
|
||||
${internal_libs} \
|
||||
${java_opts} \
|
||||
${ext_opts}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# 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"
|
||||
source "${T}/config_host.mk" 2&> /dev/null
|
||||
|
||||
local path="${SOLARVER}/${INPATH}/res/img"
|
||||
mkdir -p "${path}" || die
|
||||
|
||||
echo "perl \"${S}/helpcontent2/helpers/create_ilst.pl\" -dir=icon-themes/galaxy/res/helpimg > \"${path}/helpimg.ilst\""
|
||||
perl "${S}/helpcontent2/helpers/create_ilst.pl" \
|
||||
-dir=icon-themes/galaxy/res/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
|
||||
|
||||
# Fix bash completion placement
|
||||
newbashcomp "${ED}"/etc/bash_completion.d/libreoffice.sh ${PN}
|
||||
rm -rf "${ED}"/etc/
|
||||
|
||||
if use branding; then
|
||||
insinto /usr/$(get_libdir)/${PN}/program
|
||||
newins "${WORKDIR}/branding-sofficerc" sofficerc
|
||||
fi
|
||||
|
||||
# symlink the nsplugin to proper location
|
||||
# use gtk && inst_plugin /usr/$(get_libdir)/libreoffice/program/libnpsoplugin.so
|
||||
|
||||
# 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 for support to old installs that can't parse mime
|
||||
rm -rf "${ED}"/usr/share/mimelnk/
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Cache updates - all handled by kde eclass for all environments
|
||||
kde4-base_pkg_preinst
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
kde4-base_pkg_postinst
|
||||
|
||||
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() {
|
||||
kde4-base_pkg_postrm
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue