parent
ecbbb23e1f
commit
e45881fa3f
@ -0,0 +1,133 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-pvgrub/xen-pvgrub-4.5.0.ebuild,v 1.1 2015/01/21 02:29:45 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE='xml,threads'
|
||||
|
||||
inherit flag-o-matic eutils multilib python-single-r1 toolchain-funcs
|
||||
|
||||
XEN_EXTFILES_URL="http://xenbits.xensource.com/xen-extfiles"
|
||||
LIBPCI_URL=ftp://atrey.karlin.mff.cuni.cz/pub/linux/pci
|
||||
GRUB_URL=mirror://gnu-alpha/grub
|
||||
SRC_URI="
|
||||
http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
$GRUB_URL/grub-0.97.tar.gz
|
||||
$XEN_EXTFILES_URL/zlib-1.2.3.tar.gz
|
||||
$LIBPCI_URL/pciutils-2.2.9.tar.bz2
|
||||
$XEN_EXTFILES_URL/lwip-1.3.0.tar.gz
|
||||
$XEN_EXTFILES_URL/newlib/newlib-1.16.0.tar.gz
|
||||
$XEN_EXTFILES_URL/polarssl-1.1.4-gpl.tgz"
|
||||
|
||||
S="${WORKDIR}/xen-${PV}"
|
||||
|
||||
DESCRIPTION="allows to boot Xen domU kernels from a menu.lst laying inside guest filesystem"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 -x86"
|
||||
IUSE="custom-cflags"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="sys-devel/gettext
|
||||
sys-devel/bin86
|
||||
sys-apps/texinfo"
|
||||
|
||||
RDEPEND=">=app-emulation/xen-4.2.1"
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
retar-externals() {
|
||||
# Purely to unclutter src_prepare
|
||||
local set="grub-0.97.tar.gz lwip-1.3.0.tar.gz newlib-1.16.0.tar.gz polarssl-1.1.4-gpl.tgz zlib-1.2.3.tar.gz"
|
||||
|
||||
# epatch can't patch in $WORKDIR, requires a sed; Bug #455194. Patchable, but sed informative
|
||||
sed -e s':AR=${AR-"ar rc"}:AR=${AR-"ar"}:' \
|
||||
-i "${WORKDIR}"/zlib-1.2.3/configure
|
||||
sed -e 's:^AR=ar rc:AR=ar:' \
|
||||
-e s':$(AR) $@:$(AR) rc $@:' \
|
||||
-i "${WORKDIR}"/zlib-1.2.3/{Makefile,Makefile.in}
|
||||
einfo "zlib Makefile edited"
|
||||
|
||||
cd "${WORKDIR}"
|
||||
tar czp zlib-1.2.3 -f zlib-1.2.3.tar.gz
|
||||
tar czp grub-0.97 -f grub-0.97.tar.gz
|
||||
tar czp lwip -f lwip-1.3.0.tar.gz
|
||||
tar czp newlib-1.16.0 -f newlib-1.16.0.tar.gz
|
||||
tar czp polarssl-1.1.4 -f polarssl-1.1.4-gpl.tgz
|
||||
mv $set "${S}"/stubdom/
|
||||
einfo "tarballs moved to source"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# 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 custom-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 {} \;
|
||||
fi
|
||||
|
||||
# Patch the unmergeable newlib, fix most of the leftover gcc QA issues
|
||||
cp "${FILESDIR}"/newlib-implicits.patch stubdom || die
|
||||
|
||||
# Patch stubdom/Makefile to patch insource newlib & prevent internal downloading
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-externals.patch
|
||||
|
||||
# fix jobserver in Makefile
|
||||
epatch "${FILESDIR}"/${PN}-4.2-jserver.patch
|
||||
|
||||
#Substitute for internal downloading. pciutils copied only due to the only .bz2
|
||||
cp "${DISTDIR}"/pciutils-2.2.9.tar.bz2 ./stubdom/ || die "pciutils not copied to stubdom"
|
||||
retar-externals || die "re-tar procedure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
use custom-cflags || unset CFLAGS
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" -C tools/include
|
||||
|
||||
if use x86; then
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
|
||||
elif use amd64; then
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_64" -C stubdom pv-grub
|
||||
if has_multilib_profile; then
|
||||
multilib_toolchain_setup x86
|
||||
emake CC="$(tc-getCC)" AR="$(tc-getAR)" \
|
||||
XEN_TARGET_ARCH="x86_32" -C stubdom pv-grub
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use x86; then
|
||||
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
|
||||
fi
|
||||
if use amd64; then
|
||||
emake XEN_TARGET_ARCH="x86_64" DESTDIR="${D}" -C stubdom install-grub
|
||||
if has_multilib_profile; then
|
||||
emake XEN_TARGET_ARCH="x86_32" DESTDIR="${D}" -C stubdom install-grub
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "http://wiki.xen.org/wiki/Main_Page"
|
||||
}
|
@ -0,0 +1,355 @@
|
||||
# Copyright 1999-2015 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.2.5-r2.ebuild,v 1.1 2015/01/21 02:37:00 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE='xml,threads'
|
||||
|
||||
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"
|
||||
UPSTREAM_VER=3
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=0
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=0
|
||||
SEABIOS_VER=1.6.3.2
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz
|
||||
http://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
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"
|
||||
IUSE="api custom-cflags debug doc flask hvm qemu ocaml pygrub screen static-libs system-seabios"
|
||||
|
||||
REQUIRED_USE="hvm? ( qemu )
|
||||
${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libgcrypt:0
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
dev-python/pypam[${PYTHON_USEDEP}]
|
||||
sys-libs/zlib
|
||||
sys-power/iasl
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
sys-firmware/ipxe
|
||||
dev-ml/findlib
|
||||
hvm? ( media-libs/libsdl )
|
||||
${PYTHON_DEPS}
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
${PYTHON_DEPS}
|
||||
pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} )
|
||||
sys-devel/bin86
|
||||
sys-devel/dev86
|
||||
dev-lang/perl
|
||||
app-misc/pax-utils
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
dev-tex/latex2html[png,gif]
|
||||
media-gfx/transfig
|
||||
media-gfx/graphviz
|
||||
dev-tex/xcolor
|
||||
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 )"
|
||||
RDEPEND="sys-apps/iproute2
|
||||
net-misc/bridge-utils
|
||||
ocaml? ( >=dev-lang/ocaml-4 )
|
||||
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"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if has_version dev-libs/libgcrypt:0; then
|
||||
export "CONFIG_GCRYPT=y"
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
export "CONFIG_IOEMU=y"
|
||||
else
|
||||
export "CONFIG_IOEMU=n"
|
||||
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
|
||||
|
||||
use api && export "LIBXENAPI_BINDINGS=y"
|
||||
use flask && export "FLASK_ENABLE=y"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
source "${FILESDIR}"/gentoo-patches.conf
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
use system-seabios && epatch "${WORKDIR}"/patches-gentoo/${PN}-4-unbundle-seabios.patch
|
||||
|
||||
if gcc-specs-pie; then
|
||||
epatch "${WORKDIR}"/patches-gentoo/ipxe-nopie.patch
|
||||
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-$(PYTHON_TOOLS) += pygrub$/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
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
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
|
||||
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# Bug 445986
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' -i tools/firmware/Makefile || die
|
||||
|
||||
# fix QA warning, create /var/run/, /var/lock dynamically
|
||||
sed -i -e "/\$(INSTALL_DIR) \$(DESTDIR)\$(XEN_RUN_DIR)/d" \
|
||||
tools/libxl/Makefile || die
|
||||
|
||||
sed -i -e "/\/var\/run\//d" \
|
||||
tools/xenstore/Makefile \
|
||||
tools/pygrub/Makefile || die
|
||||
|
||||
sed -i -e "/\/var\/lock\/subsys/d" \
|
||||
tools/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons || die
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
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}" install-tools \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${ED}"
|
||||
|
||||
# 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
|
||||
|
||||
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?/*
|
||||
|
||||
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
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${ED}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${ED}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
if [[ "${ARCH}" == 'amd64' ]] && use qemu; then
|
||||
mkdir -p "${D}"usr/$(get_libdir)/xen/bin || die
|
||||
mv "${D}"usr/lib/xen/bin/qemu* "${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/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Temp QA workaround
|
||||
dodir "$(get_udevdir)"
|
||||
mv "${D}"/etc/udev/* "${D}/$(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-gu"${D}"usr/ide.xml"
|
||||
elog "http://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config sytem at boot."
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
# 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 system is required to build HVM support."
|
||||
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,396 @@
|
||||
# Copyright 1999-2015 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.3-r3.ebuild,v 1.1 2015/01/21 02:37:00 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
PYTHON_REQ_USE='xml,threads'
|
||||
|
||||
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"
|
||||
UPSTREAM_VER=3
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=0
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=0
|
||||
SEABIOS_VER=1.7.1-stable-xen
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz
|
||||
http://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
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 maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api custom-cflags debug doc flask hvm qemu ocaml +pam python pygrub screen static-libs system-seabios"
|
||||
|
||||
REQUIRED_USE="hvm? ( qemu )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
pygrub? ( python )"
|
||||
|
||||
DEPEND="dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libgcrypt:0
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
|
||||
sys-libs/zlib
|
||||
sys-power/iasl
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
sys-firmware/ipxe
|
||||
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[${PYTHON_USEDEP}]
|
||||
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"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if has_version dev-libs/libgcrypt:0; then
|
||||
export "CONFIG_GCRYPT=y"
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
export "CONFIG_IOEMU=y"
|
||||
else
|
||||
export "CONFIG_IOEMU=n"
|
||||
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() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
source "${FILESDIR}"/gentoo-patches.conf
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Bug 496708
|
||||
use system-seabios && epatch "${WORKDIR}"/patches-gentoo/${PN}-4-unbundle-seabios.patch
|
||||
|
||||
# Bug 478064
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# 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
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
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
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
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
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons || die
|
||||
|
||||
# Bug 493232 fix from http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1844
|
||||
sed -e 's:bl->argsspace = 7 + :bl->argsspace = 9 + :' \
|
||||
-i tools/libxl/libxl_bootloader.c || die
|
||||
|
||||
# fix QA warning, create /var/run/, /var/lock dynamically
|
||||
sed -i -e "/\$(INSTALL_DIR) \$(DESTDIR)\$(XEN_RUN_DIR)/d" \
|
||||
tools/libxl/Makefile || die
|
||||
|
||||
sed -i -e "/\/var\/run\//d" \
|
||||
tools/xenstore/Makefile \
|
||||
tools/pygrub/Makefile || die
|
||||
|
||||
sed -i -e "/\/var\/lock\/subsys/d" \
|
||||
tools/Makefile || die
|
||||
|
||||
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
|
||||
|
||||
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?/*
|
||||
|
||||
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
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
|
||||
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/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Temp QA workaround
|
||||
dodir "$(get_udevdir)"
|
||||
mv "${D}"/etc/udev/* "${D}/$(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 "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "http://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config sytem At boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
# 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 system is required to build HVM support."
|
||||
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,429 @@
|
||||
# Copyright 1999-2015 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.4.1-r5.ebuild,v 1.1 2015/01/21 02:37:00 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE='xml,threads'
|
||||
|
||||
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 ~arm -x86"
|
||||
UPSTREAM_VER=4
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=3
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=2
|
||||
# xen-tools ovmf's patches
|
||||
OVMF_VER=0
|
||||
|
||||
SEABIOS_VER=1.7.3.1
|
||||
OVMF_PV=20131208
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTRAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
[[ -n ${OVMF_VER} ]] && \
|
||||
OVMF_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||
http://code.coreboot.org/p/seabios/downloads/get/seabios-${SEABIOS_VER}.tar.gz
|
||||
http://dev.gentoo.org/~dlan/distfiles/seabios-${SEABIOS_VER}.tar.gz
|
||||
http://dev.gentoo.org/~dlan/distfiles/ovmf-${OVMF_PV}.tar.bz2
|
||||
${UPSTRAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}
|
||||
${OVMF_PATCHSET_URI}"
|
||||
S="${WORKDIR}/xen-${MY_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 maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api custom-cflags debug doc flask hvm qemu ocaml ovmf +pam python pygrub screen static-libs system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="hvm? ( || ( qemu system-qemu ) )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
pygrub? ( python )
|
||||
ovmf? ( hvm )
|
||||
qemu? ( !system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libaio
|
||||
dev-libs/libgcrypt:0
|
||||
sys-libs/zlib
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_USEDEP}] )
|
||||
hvm? ( media-libs/libsdl )
|
||||
${PYTHON_DEPS}
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
pygrub? ( ${PYTHON_DEPS//${PYTHON_REQ_USE}/ncurses} )
|
||||
arm? ( >=sys-apps/dtc-1.4.0 )
|
||||
!arm? ( sys-devel/bin86
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
sys-firmware/ipxe
|
||||
sys-devel/dev86
|
||||
sys-power/iasl )
|
||||
dev-lang/perl
|
||||
app-misc/pax-utils
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
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 )
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
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
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if has_version dev-libs/libgcrypt:0; then
|
||||
export "CONFIG_GCRYPT=y"
|
||||
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"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
source "${FILESDIR}"/gentoo-patches.conf
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Ovmf's patchset
|
||||
if [[ -n ${OVMF_VER} ]]; then
|
||||
pushd "${WORKDIR}"/ovmf-*/ > /dev/null
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-ovmf
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
mv ../seabios-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
mv ../ovmf-${OVMF_PV} tools/firmware/ovmf-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/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
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# 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
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
if ! use qemu; then
|
||||
sed -e "s:install-tools\: tools/qemu-xen-traditional-dir:install-tools\: :g" -i Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# Bug 477884, 518136
|
||||
if [[ "${ARCH}" == 'amd64' ]]; then
|
||||
sed -i -e "/LIBEXEC =/s|/lib/xen/bin|/$(get_libdir)/xen/bin|" config/StdGNU.mk || die
|
||||
fi
|
||||
|
||||
# fix QA warning, create /var/run/, /var/lock dynamically
|
||||
sed -i -e "/\$(INSTALL_DIR) \$(DESTDIR)\$(XEN_RUN_DIR)/d" \
|
||||
tools/libxl/Makefile || die
|
||||
|
||||
sed -i -e "/\/var\/run\//d" \
|
||||
tools/xenstore/Makefile \
|
||||
tools/pygrub/Makefile || die
|
||||
|
||||
sed -i -e "/\/var\/lock\/subsys/d" \
|
||||
tools/Makefile || die
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=/usr \
|
||||
--libdir=/usr/$(get_libdir) \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--enable-tools \
|
||||
--enable-docs \
|
||||
$(use_with system-qemu) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable api xenapi) \
|
||||
$(use_enable ovmf) \
|
||||
$(use_enable ocaml ocamltools) \
|
||||
"
|
||||
# disable qemu-traditional for arm, fail to build
|
||||
use arm || myconf+=" --enable-qemu-traditional"
|
||||
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||
use qemu || myconf+=" --with-system-qemu"
|
||||
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
|
||||
|
||||
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?/*
|
||||
|
||||
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
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
|
||||
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
|
||||
|
||||
# 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/lib/xenstored /var/xen/dump /var/lib/xen /var/log/xen
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Temp QA workaround
|
||||
dodir "$(get_udevdir)"
|
||||
mv "${D}"/etc/udev/* "${D}/$(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 "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "http://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config sytem At boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
# 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 system is required to build HVM support."
|
||||
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
|
||||
}
|
@ -1,7 +1,10 @@
|
||||
DIST xen-4.2.5-upstream-patches-2.tar.xz 16768 SHA256 5d63f9f4c0619465c4421ad4f9087e82f833b4b1683f0aa2a38c191aee36c71a SHA512 14bd3ed218d4c4711c084789e89914c1550c4154fa7e228f663eb5a635dfd8e0031e0d762d5502e0673a2991a8790ce3208fca5649093378066794f3ed32a1d5 WHIRLPOOL 54fcc148f70ddfde0b7bfb160850c473c1d8336ca4417bb27681ffd75127123c44d67ca04886dfc709fcbe45040abb9ffa49d392f1a82a9da525e7d93aadaba2
|
||||
DIST xen-4.2.5-upstream-patches-3.tar.xz 17260 SHA256 bf024b119135f1ead6eb2ec9873a04629caccdfafe9cdf55e50d9b9e15db276b SHA512 7c54df4a7d8688fcd50ee85da2cb871a3a0d66d95ed44a812eb70f604d8e7e2def21401cfc05227b3cceabaa6d6a4cc9d59ceae9a8f7cbdc93c014b5a925068a WHIRLPOOL 1faf73d545f54bf46925cea2ffb62bce7ee9c538e5459486593106b6b135d1784913f2cd27a0cdec3e6cc7ef4531a06e41512db07d79be58bc242acb1d49c5c7
|
||||
DIST xen-4.2.5.tar.gz 15671925 SHA256 3cf440866315e8085050eb0586f0447b6b47a08dbed6a72226bf5ed5d89ec567 SHA512 42c0fc241952fc55fc44480fb6752b004b54ae40e946159ec047adf229b65cbfbd810271d01b064ad8fdbddb73c640dcdcb6bc19f91e8968829889c129920dac WHIRLPOOL 762a91c0111892b33e6bd3e7f7714709b04697ad7c2b0919fef6cc9570a343a77fd5a2b82833e75dac9d12d4e41acdcf0743b0d593595910ddd326f5cd721368
|
||||
DIST xen-4.3.3-upstream-patches-2.tar.xz 36832 SHA256 f4abfddb5fda721c899702798a1d4e067b15079e7c3146d4ebf574253ad3f000 SHA512 dde846e13bffb65b80487ab6072486183b67ea1aa30fad2dfffdf242bf35f52839b2c8f055473a85a565e263b484ceba538efef680c7166d5a59d5f2c23ee81e WHIRLPOOL 76e01f62580b27ed7ab0c5816f2015e0ddae8bee8abcd3b48746427a759d55accb29caa3b8ac77ceb0161b9ae02966a41c7e3f31559d111d43ecdb18a1085a1d
|
||||
DIST xen-4.3.3-upstream-patches-3.tar.xz 39856 SHA256 905288c57ca18c3bf3244a53b8a279d4ff5b93204d440ba78d06e603acbfbb7b SHA512 e4bd72f9481c40aeb7fdf6d31c7aa43b4109a2b623b3d51e9f6fce28ac87256645c466ff74648826599402bf38d03f3d8d7c5c782c1f058d9ccef7cee07d69b9 WHIRLPOOL 579da2c348950de616bb089c2ee23b2076822b2b8555a219f7e37c66f44c64f8a4cb5562567dede2d5508a2f46a235d109934e38424a9b4bdf41f832c6e7bb00
|
||||
DIST xen-4.3.3.tar.gz 16479922 SHA256 59eb0e1c4a1f66965fe56dcf27cdb5872bf7e0585b7f2e60bd7967ec7f744ebf SHA512 cd9b7199d2859a856c719b75ee50a059c480f7493bbc493bcc3701d20321bd6d83c6fe1dd58e7b37695639bccf15e6420fb52f7e699586e7750ea665e99f82fc WHIRLPOOL 17ee263cb2a4c7b37d399e8baa88dab5b01386959de9d481e8666340d486bc9f32d57d6e1cef1568009fe8dbb2437b9ad90c1bed832cdfedd4be3fe5bf0a7dec
|
||||
DIST xen-4.4.1-upstream-patches-3.tar.xz 44528 SHA256 efc404e553b30a7cb274fc412b59825e16772359d1cc230c231b2de8d3925fb7 SHA512 3d0ebef40d4575cf1cc4e1ce6bda429f201cbc02ea390f0072041636b8538a30cbf1858bd90e132b473a8de9da5ddeac4d67bd1d86f684d61cd99283bce3f1bf WHIRLPOOL a891b2405019455bb895c44b64f5c2f702adbebbdd3c9966e5eff449166dc510113eb2cfec65441c0e4ab0860300ff81ae6cda73121853721b5116b9478711f8
|
||||
DIST xen-4.4.1-upstream-patches-4.tar.xz 47284 SHA256 7145a260022a2f91023df03bf096e6f48934340a9edc20105ec6fb570b136ed2 SHA512 378e2eae2e69dcba93f5937ddc41ae50dcc5168b3f8a743d7b7990f4a11907c8902b7c14bd25a1d08c1a60ddfe93da432cd419e0e53935ff3f1345b05aa88488 WHIRLPOOL 20b99de6575a92ffdff2e64c7bfa827866328e499641e754429221e773eb45507095095ed19e78fde842507d6718101dfeee194d8187e93af095a940f9de3dc8
|
||||
DIST xen-4.4.1.tar.gz 18134427 SHA256 55b49d3c4575d7791275125ff87c0f86f1d1e0f7f2718b6fd1c4f88a9bc7ea25 SHA512 bcd577014f4e8cb37b934f17a4dfb6f12e72e865a9e553cc435fdbe6665c733a4d20a812bf126727eca0946188a6abbd9419579757d7e03a38059f3656371c1c WHIRLPOOL f29eab626729f36de3f2e2c6c8446da4a05085818e18c28f07fe364065e05f0af67602eeb988091df3027a844ad0ccd52b6a0ee86592c7ff6008f961b9bd4bcf
|
||||
DIST xen-4.5.0-rc4.tar.gz 18406537 SHA256 af7014721ccb153d4f5c6a7751bd09ab441829628667619f7613d3a1a553bf4e SHA512 c4604b10eb9e291bbeaeedb5a99eb36fafc85db247a7c1c19b090ed0606ed262af2a9e5232266253b535bde56389d7c40176954f73e7dc1486ef6000a17184ff WHIRLPOOL b25ae254ca42c1aa54153471598e70371c674c71a308d813537ed267c9ba3fcd5fdec8bb44d3d1a2cac0ba84c01052b4637a520f81ef49541492ddf061d03b51
|
||||
DIST xen-4.5.0.tar.gz 18404933 SHA256 5bdb40e2b28d2eeb541bd71a9777f40cbe2ae444b987521d33f099541a006f3b SHA512 31621fbaf621ad350125d03366ecff4dec5d810b0c1242ca0e28788f7556ac1443d7ee9247e1f76dec07e148e0b4ae16d08a7c10101bb78d6529375f3e40998e WHIRLPOOL 4a77588a4aa4846cfbf9493ab20bd2f293c55a941a5639fdd166a43f284cc0cc7218969def755a1acd89e640181bdd862fff0b566cfb8e628d73deeb6369c924
|
||||
|
@ -0,0 +1,155 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.2.5-r4.ebuild,v 1.1 2015/01/21 02:46:30 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
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"
|
||||
UPSTREAM_VER=3
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
fi
|
||||
|
||||
inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="custom-cflags debug efi flask pae xsm"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="
|
||||
flask? ( xsm )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
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
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
elif use xsm ; then
|
||||
export "XSM_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo
|
||||
fi
|
||||
|
||||
# Drop .config and fix gcc-4.6
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4-fix_dotconfig-gcc.patch
|
||||
|
||||
if use efi; then
|
||||
epatch "${FILESDIR}"/${PN}-4.2-efi.patch
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="boot"
|
||||
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 custom-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
|
||||
|
||||
# not strictly necessary to fix this
|
||||
sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use pae && myopt="${myopt} pae=y"
|
||||
|
||||
if use custom-cflags; then
|
||||
filter-flags -fPIE -fstack-protector
|
||||
replace-flags -O3 -O2
|
||||
else
|
||||
unset CFLAGS
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use pae && myopt="${myopt} pae=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
|
||||
use pae && ewarn "This is a PAE build of Xen. It will *only* boot PAE kernels!"
|
||||
use efi && einfo "The efi executable is installed in boot/efi/gentoo"
|
||||
}
|
@ -0,0 +1,151 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.3.3-r4.ebuild,v 1.1 2015/01/21 02:46:30 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
if [[ $PV == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
REPO="xen-unstable.hg"
|
||||
EHG_REPO_URI="http://xenbits.xensource.com/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
live_eclass="mercurial"
|
||||
else
|
||||
# Set to match entry in stable 4.3.1-r1, Bug 493944
|
||||
KEYWORDS="~amd64 -x86"
|
||||
UPSTREAM_VER=3
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${PV}/xen-${PV}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
fi
|
||||
|
||||
inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="custom-cflags debug efi flask xsm"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="flask? ( xsm )"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
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
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
elif use xsm ; then
|
||||
export "XSM_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo
|
||||
fi
|
||||
|
||||
# Drop .config and fix gcc-4.6
|
||||
epatch "${FILESDIR}"/${PN/-pvgrub/}-4.3-fix_dotconfig-gcc.patch
|
||||
|
||||
if use efi; then
|
||||
epatch "${FILESDIR}"/${PN}-4.2-efi.patch
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="boot"
|
||||
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 custom-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
|
||||
|
||||
# not strictly necessary to fix this
|
||||
sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
if use custom-cflags; then
|
||||
filter-flags -fPIE -fstack-protector
|
||||
replace-flags -O3 -O2
|
||||
else
|
||||
unset CFLAGS
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
|
||||
use efi && einfo "The efi executable is installed in boot/efi/gentoo"
|
||||
}
|
@ -0,0 +1,164 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen/xen-4.5.0.ebuild,v 1.1 2015/01/21 02:46:30 dlan Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${PV/_/-}
|
||||
|
||||
if [[ $PV == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${PN}.git"
|
||||
live_eclass="git-2"
|
||||
else
|
||||
KEYWORDS="~arm ~arm64 ~amd64"
|
||||
UPSTREAM_VER=
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="http://dev.gentoo.org/~dlan/distfiles/${P}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="http://bits.xensource.com/oss-xen/release/${MY_PV}/${MY_P}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
|
||||
fi
|
||||
|
||||
inherit mount-boot flag-o-matic python-any-r1 toolchain-funcs eutils ${live_eclass}
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="http://xen.org/"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="custom-cflags debug efi flask xsm"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22[-multitarget] )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="flask? ( xsm )
|
||||
arm? ( debug )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
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"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
elif use xsm ; then
|
||||
export "XSM_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
EPATCH_OPTS="-p1" \
|
||||
epatch "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} ]]; then
|
||||
EPATCH_SUFFIX="patch" \
|
||||
EPATCH_FORCE="yes" \
|
||||
epatch "${WORKDIR}"/patches-gentoo
|
||||
fi
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
epatch "${FILESDIR}"/${PN}-4.4-efi.patch
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="boot"
|
||||
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 custom-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
|
||||
|
||||
# remove -Werror for gcc-4.6's sake
|
||||
find "${S}" -name 'Makefile*' -o -name '*.mk' -o -name 'common.make' | \
|
||||
xargs sed -i 's/ *-Werror */ /'
|
||||
# not strictly necessary to fix this
|
||||
sed -i 's/, "-Werror"//' "${S}/tools/python/setup.py" || die "failed to re-set setup.py"
|
||||
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
|
||||
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
if use custom-cflags; then
|
||||
filter-flags -fPIE -fstack-protector
|
||||
replace-flags -O3 -O2
|
||||
else
|
||||
unset CFLAGS
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the unoffical wiki page:"
|
||||
elog " http://www.gentoo.org/doc/en/xen-guide.xml"
|
||||
elog " http://en.gentoo-wiki.com/wiki/Xen/"
|
||||
|
||||
use efi && einfo "The efi executable is installed in boot/efi/gentoo"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST paperwork-0.2.1.tar.gz 163417 SHA256 300e185608eec55162b657e1ae1dae4d1deab0cf168415fb8471dc413847dee4 SHA512 863af1ba16c101527a5ddd8544dbba2ead4f41d997b04b41b486719ce923d3219ca428e079cce3df25a5e35f3ff020618731fccae5617327df90f5e47bd7f2b0 WHIRLPOOL adc1c66c4cceb655d403f259176278f6b0e4e9fb9548cf11157556714f96f7719794e00f1d21c498e662a81ec53e0e553ca0cf443880e6443ed149f3141e4d50
|
||||
DIST paperwork-0.2.2.tar.gz 164026 SHA256 ea663b6bf528ce653fa15496a133a4899efe25b78565a8d3c3512350abfe5d6f SHA512 21726a3e916a2a4b94a1fe84bbe04ed7c901e9ac9ae2b7f3e94fc84255b83c6b65a07485bfc899a28f1d66456aa2fdb58758e36aea1083a89f9c739c496c62bd WHIRLPOOL ecd844267094f9d9033f1922a08b310fd0c72e97f992aa879d46faf1b2987b66bde5e5b5d5f1fb440c8a665e3c8f10c187fa86ea878284f46f43cd327a7c83ea
|
||||
DIST paperwork-0.2.tar.gz 161800 SHA256 81fcbfc04bc640c1a432864e74365cb170fb52198f3149773577641a37f4afee SHA512 8fc5d08844a5a21ee04cb98d18f5eaafe3bac6ab7919f347d5f837473b0c083bd2cdb7c54966a2d4e4790f8bb8df931bd2104a606fa3a14371224b3933e5763d WHIRLPOOL f45f0204fd939b383b9566cd945739cf78736e1d23ad09aab9d6d07fdcfc14d34ac09c6b45f29e9b5d8de12ccf7df46e8d37d95320001086a6ce24a2a9452c04
|
||||
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/paperwork/paperwork-0.2.2.ebuild,v 1.1 2015/01/20 16:13:27 voyageur Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="a personal document manager for scanned documents (and PDFs)"
|
||||
HOMEPAGE="https://github.com/jflesch/paperwork"
|
||||
SRC_URI="https://github.com/jflesch/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="app-text/poppler[introspection]
|
||||
dev-python/joblib[${PYTHON_USEDEP}]
|
||||
dev-python/pycairo[${PYTHON_USEDEP}]
|
||||
dev-python/pycountry[${PYTHON_USEDEP}]
|
||||
dev-python/pyenchant[${PYTHON_USEDEP}]
|
||||
dev-python/pygobject[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyinsane-1.3.8[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyocr-0.2.3[${PYTHON_USEDEP}]
|
||||
dev-python/python-levenshtein[${PYTHON_USEDEP}]
|
||||
dev-python/termcolor[${PYTHON_USEDEP}]
|
||||
dev-python/whoosh[${PYTHON_USEDEP}]
|
||||
dev-python/wxpython[${PYTHON_USEDEP}]
|
||||
dev-util/glade[introspection,python]
|
||||
sci-libs/scikits_learn[${PYTHON_USEDEP}]
|
||||
sci-libs/scikits_image[${PYTHON_USEDEP}]
|
||||
virtual/python-imaging[${PYTHON_USEDEP}]
|
||||
x11-libs/gtk+:3[introspection]"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
pkg_postinst() {
|
||||
elog "To improve page orientation detection, you can optionally install:"
|
||||
elog " app-dicts/aspell-<your language>"
|
||||
}
|
@ -0,0 +1,175 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/sqlite/sqlite-3.8.8.1.ebuild,v 1.1 2015/01/20 22:04:25 floppym Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib multilib-minimal versionator
|
||||
|
||||
SRC_PV="$(printf "%u%02u%02u%02u" $(get_version_components))"
|
||||
DOC_PV="${SRC_PV}"
|
||||
# DOC_PV="$(printf "%u%02u%02u00" $(get_version_components $(get_version_component_range 1-3)))"
|
||||
|
||||
DESCRIPTION="A SQL Database Engine in a C Library"
|
||||
HOMEPAGE="http://sqlite.org/"
|
||||
SRC_URI="doc? ( http://sqlite.org/2015/${PN}-doc-${DOC_PV}.zip )
|
||||
tcl? ( http://sqlite.org/2015/${PN}-src-${SRC_PV}.zip )
|
||||
!tcl? (
|
||||
test? ( http://sqlite.org/2015/${PN}-src-${SRC_PV}.zip )
|
||||
!test? ( http://sqlite.org/2015/${PN}-autoconf-${SRC_PV}.tar.gz )
|
||||
)"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug doc icu +readline secure-delete static-libs tcl test"
|
||||
|
||||
RDEPEND="icu? ( dev-libs/icu:0=[${MULTILIB_USEDEP}] )
|
||||
readline? ( sys-libs/readline:0=[${MULTILIB_USEDEP}] )
|
||||
tcl? ( dev-lang/tcl:0=[${MULTILIB_USEDEP}] )
|
||||
abi_x86_32? (
|
||||
!<=app-emulation/emul-linux-x86-baselibs-20131008-r14
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-arch/unzip )
|
||||
tcl? ( app-arch/unzip )
|
||||
test? (
|
||||
app-arch/unzip
|
||||
dev-lang/tcl[${MULTILIB_USEDEP}]
|
||||
)"
|
||||
|
||||
amalgamation() {
|
||||
use !tcl && use !test
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
if amalgamation; then
|
||||
S="${WORKDIR}/${PN}-autoconf-${SRC_PV}"
|
||||
else
|
||||
S="${WORKDIR}/${PN}-src-${SRC_PV}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if amalgamation; then
|
||||
epatch "${FILESDIR}/${PN}-3.8.1-autoconf-dlopen_check.patch"
|
||||
else
|
||||
epatch "${FILESDIR}/${PN}-3.8.1-src-dlopen_check.patch"
|
||||
epatch "${FILESDIR}/${PN}-3.8.1-tests-icu-52.patch"
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
|
||||
# At least ppc-aix, x86-interix and *-solaris need newer libtool.
|
||||
# use prefix && eautoreconf
|
||||
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# `configure` from amalgamation tarball does not add -DSQLITE_DEBUG or -DNDEBUG flag.
|
||||
if amalgamation; then
|
||||
if use debug; then
|
||||
append-cppflags -DSQLITE_DEBUG
|
||||
else
|
||||
append-cppflags -DNDEBUG
|
||||
fi
|
||||
fi
|
||||
|
||||
# Support detection of misuse of SQLite API.
|
||||
# http://sqlite.org/compile.html#enable_api_armor
|
||||
append-cppflags -DSQLITE_ENABLE_API_ARMOR
|
||||
|
||||
# Support column metadata functions.
|
||||
# http://sqlite.org/c3ref/column_database_name.html
|
||||
append-cppflags -DSQLITE_ENABLE_COLUMN_METADATA
|
||||
|
||||
# Support Full-Text Search versions 3 and 4.
|
||||
# http://sqlite.org/fts3.html
|
||||
append-cppflags -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS4
|
||||
|
||||
# Support R*Trees.
|
||||
# http://sqlite.org/rtree.html
|
||||
append-cppflags -DSQLITE_ENABLE_RTREE
|
||||
|
||||
# Support scan status functions.
|
||||
# http://sqlite.org/c3ref/stmt_scanstatus.html
|
||||
# http://sqlite.org/c3ref/stmt_scanstatus_reset.html
|
||||
append-cppflags -DSQLITE_ENABLE_STMT_SCANSTATUS
|
||||
|
||||
# Support soundex() function.
|
||||
# http://sqlite.org/lang_corefunc.html#soundex
|
||||
append-cppflags -DSQLITE_SOUNDEX
|
||||
|
||||
# Support unlock notification.
|
||||
# http://sqlite.org/unlock_notify.html
|
||||
append-cppflags -DSQLITE_ENABLE_UNLOCK_NOTIFY
|
||||
|
||||
if use icu; then
|
||||
append-cppflags -DSQLITE_ENABLE_ICU
|
||||
if amalgamation; then
|
||||
sed -e "s/LIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
else
|
||||
sed -e "s/TLIBS = @LIBS@/& -licui18n -licuuc/" -i Makefile.in || die "sed failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Enable secure_delete pragma.
|
||||
# http://sqlite.org/pragma.html#pragma_secure_delete
|
||||
if use secure-delete; then
|
||||
append-cppflags -DSQLITE_SECURE_DELETE
|
||||
fi
|
||||
|
||||
# Starting from 3.6.23, SQLite has locking strategies that are specific to
|
||||
# OSX. By default they are enabled, and use semantics that only make sense
|
||||
# on OSX. However, they require gethostuuid() function for that, which is
|
||||
# only available on OSX starting from 10.6 (Snow Leopard). For earlier
|
||||
# versions of OSX we have to disable all this nifty locking options, as
|
||||
# suggested by upstream.
|
||||
if [[ "${CHOST}" == *-darwin[56789] ]]; then
|
||||
append-cppflags -DSQLITE_ENABLE_LOCKING_STYLE="0"
|
||||
fi
|
||||
|
||||
if [[ "${CHOST}" == *-mint* ]]; then
|
||||
append-cppflags -DSQLITE_OMIT_WAL
|
||||
fi
|
||||
|
||||
# `configure` from amalgamation tarball does not support
|
||||
# --with-readline-inc and --(enable|disable)-tcl options.
|
||||
econf \
|
||||
--enable-$(amalgamation && echo dynamic-extensions || echo load-extension) \
|
||||
--enable-threadsafe \
|
||||
$(use_enable readline) \
|
||||
$(use_enable static-libs static) \
|
||||
$(amalgamation || echo --with-readline-inc="-I${EPREFIX}/usr/include/readline") \
|
||||
$(amalgamation || use_enable debug) \
|
||||
$(amalgamation || echo --enable-tcl)
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
ewarn "Skipping tests due to root permissions"
|
||||
return
|
||||
fi
|
||||
|
||||
emake $(use debug && echo fulltest || echo test)
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
prune_libtool_files
|
||||
|
||||
doman sqlite3.1
|
||||
|
||||
if use doc; then
|
||||
dohtml -A ico,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"
|
||||
fi
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST MongoDB-0.701.4.tar.gz 1465098 SHA256 1cb5e77449aab787abdb69df2dd98a721e243ca80500b88815090f44e9320813 SHA512 329da2bddecf33bb02fc04e3e2d62d7c3ca106fdcba01a2b604d3e5319ca57a03a20229764245e152d5dc6aa2e187459ae7fa96b564a975461c56545e71267c9 WHIRLPOOL c9547405da0896dbbadc803603b40138c7d4d72ed9df88bfbdb108038c9c61b4b1539c3fe4f93742e791d519a16ea836b192b8108c8b1419a96d4b841d665ec7
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-perl/MongoDB/MongoDB-0.701.4.ebuild,v 1.1 2015/01/20 14:32:34 chainsaw Exp $
|
||||
|
||||
EAPI="5"
|
||||
MODULE_AUTHOR="FRIEDO"
|
||||
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="A Mongo Driver for Perl"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DEPEND="dev-perl/DateTime
|
||||
dev-perl/Tie-IxHash
|
||||
dev-perl/Data-Types
|
||||
dev-perl/DateTime-Tiny
|
||||
dev-perl/Class-Method-Modifiers
|
||||
dev-perl/boolean
|
||||
dev-perl/Moose
|
||||
dev-perl/File-Slurp
|
||||
dev-perl/Try-Tiny
|
||||
dev-perl/Module-Install
|
||||
dev-perl/JSON
|
||||
virtual/perl-ExtUtils-MakeMaker"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/gridfs-perl-patch.diff
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
diff --git a/lib/MongoDB/GridFS.pm b/lib/MongoDB/GridFS.pm
|
||||
index f9a2421..8a9c4a7 100644
|
||||
--- a/lib/MongoDB/GridFS.pm
|
||||
+++ b/lib/MongoDB/GridFS.pm
|
||||
@@ -119,13 +119,19 @@ sub BUILD {
|
||||
my ($self) = @_;
|
||||
|
||||
# check for the required indexs in the system.indexes colleciton
|
||||
- my $count = $self->_database->get_collection('system.indexes')->count({filename => 1});
|
||||
- $count += $self->_database->get_collection('system.indexes')->count({files_id => 1, n => 1});
|
||||
-
|
||||
- # if we dont have the required indexes, create them now.
|
||||
- if ($count < 2){
|
||||
- $self->_ensure_indexes();
|
||||
+ my @files_idx = $self->files->get_indexes;
|
||||
+ my @matches = grep { $_->{key}->{filename} } @files_idx;
|
||||
+ if (scalar @matches == 0) {
|
||||
+ $self->files->ensure_index(Tie::IxHash->new(filename => 1), {"safe" => 1});
|
||||
+ }
|
||||
+
|
||||
+ my @chunks_idx = $self->chunks->get_indexes;
|
||||
+ @matches = grep { (defined $_->{key}->{files_id} && defined $_->{key}->{i} &&
|
||||
+ $_->{key}->{files_id} == 1 && $_->{key}->{i} == 1)} @chunks_idx;
|
||||
+ if (scalar @matches == 0) {
|
||||
+ $self->chunks->ensure_index(Tie::IxHash->new(files_id => 1, n => 1), {"safe" => 1});
|
||||
}
|
||||
+
|
||||
}
|
||||
|
||||
|
||||
@@ -134,7 +140,7 @@ sub _ensure_indexes {
|
||||
|
||||
# ensure the necessary index is present (this may be first usage)
|
||||
$self->files->ensure_index(Tie::IxHash->new(filename => 1), {"safe" => 1});
|
||||
- $self->chunks->ensure_index(Tie::IxHash->new(files_id => 1, n => 1), {"safe" => 1, "unique" => 1});
|
||||
+ $self->chunks->ensure_index(Tie::IxHash->new(files_id => 1, n => 1), {"safe" => 1});
|
||||
}
|
||||
|
||||
=head1 METHODS
|
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>perl</herd>
|
||||
<maintainer>
|
||||
<email>chainsaw@gentoo.org</email>
|
||||
<name>Tony Vroon</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpan">MongoDB</remote-id>
|
||||
<remote-id type="cpan-module">MongoDB</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,4 +1 @@
|
||||
DIST django-recaptcha-0.0.6.tar.gz 7614 SHA256 15e17c331a9a6ac7c8159c2866fb6b58d9561a55db3694393e3cbad9e2494202 SHA512 152a62c914a10ff511a17c4e0a5accffac6f5043ee6516b81c5fe69d9271e7982f5df7cf96d4e1668fbfaa47600ed95cae818037a25756786092f4a9e9301ae2 WHIRLPOOL bbc4de11b0384b067343f6a7e8f06627b781ccc91cb43adbff3a399983eabeeea1596d7552d35791b0b80ccf31582bf3e83e38b4fdd885b1dfa2087750eb9483
|
||||
DIST django-recaptcha-0.0.9.tar.gz 7884 SHA256 988d79783304ac1e0da64cb0624a69059adeec9e5f61370c4b01eb1b0867b230 SHA512 baa91e966e0e3a553fe78fe8e15d89418860035c72aaafec30da6917d3243cb224a1a0ed2bec2e4e037b59a6a56d68b17df60c1a162484f6a4efbdd6196c43c6 WHIRLPOOL 35ec289f3a9ac3d12fd2a6566fc94be87642df2df952690b620f088084c215fade37631d1140e7050f2d823c7330f64a90565e19e3c76999c69c527ac922a17f
|
||||
DIST django-recaptcha-1.0.2.tar.gz 10657 SHA256 03d5b4414894e4a9f2dabd8fa536c2595367c5b5760e0e6142c82b5faf31a355 SHA512 b715f1dcac0665f6a2186e4069d0189fd435a4c596243e0cea59240be06a00f3621f68b38a4aec63b77890bad2e735de9b192c3f99df9f6a44527e45071bc711 WHIRLPOOL 160f1ab7f6e925dd79b62079576f16f5659b2aacbc0fd45dfd5a4d520b26022d07e94244960669e025e4cf08ac96695fe19698983c73cbdabb207e2611db7d47
|
||||
DIST django-recaptcha-1.0.tar.gz 9395 SHA256 799417e17a979009e8cc84aacc01aa72490de7da2f4379979528a1bf78f91bbf SHA512 2d4f3c6efca596e4a29f0f338898114d4c3e69f0d2459c206cdc141f55fbe671154a06308512856ef39b35e3b299c0c6aabe2f407516abbe89e7932c7a5ede72 WHIRLPOOL 537ddb81d00796c24833ee1272995e81a23ec7eac19b110e82fcdc4496724077700a49f58a41ebe2144a708699efbdbbab0d4d71a26df6cc4feb5855c42c853c
|
||||
DIST django-recaptcha-1.0.3.tar.gz 11268 SHA256 ca47210207e81d8237ff0c5cf51ce07b95ff83dcf5f1e03bb813b6e0cb853af6 SHA512 9288ba1b4145dd6a08f39d226eeaa5f9ea6d9ff63714ff497fe808dfbe249918e4bb67790566044bceeb59ed293a8fcfe4fb41e279b17b2d7a0a0c5a53dd6463 WHIRLPOOL 079349c118a163c6ba6addd18001b1a50a3139c1ff7cd8729e0c77d51f2a798d6aa32e911fcdfc57727eddb5e9bde58639256ba254a759790a0077b6aeb766a5
|
||||
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/django-recaptcha/django-recaptcha-0.0.6-r2.ebuild,v 1.1 2013/06/01 15:49:15 idella4 Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Django recaptcha form field/widget app"
|
||||
HOMEPAGE="http://github.com/praekelt/django-recaptcha http://pypi.python.org/pypi/django-recaptcha"
|
||||
#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
SRC_URI="https://github.com/praekelt/${PN}/archive/0.0.6.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? ( >=dev-python/django-setuptest-0.0.6[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}] )"
|
||||
|
||||
python_prepare_all() {
|
||||
# Add missing source file rather than make our own
|
||||
cp -r "${FILESDIR}"/test_settings.py captcha || die
|
||||
local PATCHES=( "${FILESDIR}"/${PN}-fields.patch )
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# Use of nosetests gives confirmation that tests are run, "${PYTHON}" doesn't
|
||||
nosetests captcha/tests.py || die "Tests failed under ${EPYTHON}"
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/django-recaptcha/django-recaptcha-0.0.9.ebuild,v 1.1 2014/04/26 11:01:57 idella4 Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_3,3_4} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Django recaptcha form field/widget app"
|
||||
HOMEPAGE="http://github.com/praekelt/django-recaptcha http://pypi.python.org/pypi/django-recaptcha"
|
||||
#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/django-recaptcha/django-recaptcha-1.0.ebuild,v 1.2 2014/05/10 23:43:59 patrick Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4} ) # pypy ) needs django to be pypy'ed too
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Django recaptcha form field/widget app"
|
||||
HOMEPAGE="http://github.com/praekelt/django-recaptcha http://pypi.python.org/pypi/django-recaptcha"
|
||||
#SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
|
||||
DEPEND="test? ( ${RDEPEND}
|
||||
>=dev-python/django-setuptest-0.0.6[${PYTHON_USEDEP}] )
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
@ -1,3 +1 @@
|
||||
DIST django-setuptest-0.1.4.tar.gz 6806 SHA256 2a7a16bfa54ca60412c6ed907895094f32ad4a1455a93977ad7a8468269fc5d8 SHA512 d91171d4625dd6b40bb6d953dcde7c148e7b6dc2514771b141f1520c3a6f5308d3d2afcc0c01285f209883a3900784ea4bf3d44cec39e57ccaf1d6e51695c88f WHIRLPOOL 656a34984aba6555a8fe25589834b998409e9ea4b7e21eaff29bfd91da5756913da507a9c39ea92b403a35198e9dcac153f57551d01c418de8fb58534f0694fb
|
||||
DIST django-setuptest-0.1.5.tar.gz 6878 SHA256 b32bac9d07537cf2833f11f4a79dd1d91e1553897f5c384d65d7a46f359892b3 SHA512 89b7bb6c1b918ac78082ee22af0272e6b98f1c507ab5eff6563ce94e01fe4f0aae8a8a21475136113427e8b790ed9343c43fe18596e1fdb6a96456d520a51334 WHIRLPOOL 1c928a96a1722dc6ceafcf3533dd1a113d75d31e4476b298c1d28b3c5eb03e56859c0cbce375abc862349f03a2ea9e5af7c9258077126f02da2ba6c3a33c34db
|
||||
DIST praekelt-django-setuptest-0.1.2-O-g86Offe9.zip 8665 SHA256 15a79449fc9145830f88f2bba9238d3fc85794a08a8bbe719f1208cc834672ca SHA512 c6cf91e20fe876bf7516245d4ad6d3c7adb84811bc11b73bc3e991ca3e0a621973095c522f1c1dc6d29853cebcae41518c350d26f3bb86b40be1ea1ebdfb1fc2 WHIRLPOOL abcbf93c40a00f012fd2daacc5d2d2993823ab5ba223f2e3f4adc056e6cf3c7a5bf65a58166c1cea7286d5e1e11cca4247f7b1aa2f72321b6d8b49ce22f58172
|
||||
DIST django-setuptest-0.1.6.tar.gz 6929 SHA256 bdce4cf9cfc485b6324b3847fb84af69bdc965370073bc1c983bbf0901902eed SHA512 c2f2c1329d3541ac2e8d5895ddde2e1d1d1c2a819b3cc7168d333894e15128ff49b973a1570917abf06152634c915dada6df9f27ec9463ef79f02411c022d80d WHIRLPOOL e1c45eb3658b75bc82d0b3a5397c4199f5339c19c95e76e2fba0dddd02928da3c3480dc51eb41cef39c283c534a73f90bfbf5edc3289d24f6a5e44aea71e81e5
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/django-setuptest/django-setuptest-0.1.2-r1.ebuild,v 1.2 2013/09/05 18:46:12 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN="praekelt-${P}-O-g86Offe9"
|
||||
MY_P="praekelt-${PN}-860ffe9"
|
||||
DESCRIPTION="Simple test suite enabling Django app testing via setup.py"
|
||||
HOMEPAGE="https://github.com/praekelt/django-setuptest"
|
||||
SRC_URI="https://github.com/praekelt/${PN}/zipball/master/${MY_PN}.zip"
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-python/pep8[${PYTHON_USEDEP}]
|
||||
dev-python/coverage[${PYTHON_USEDEP}]"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
@ -1,24 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/django-setuptest/django-setuptest-0.1.4.ebuild,v 1.4 2014/05/10 08:33:59 idella4 Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Simple test suite enabling Django app testing via setup.py"
|
||||
HOMEPAGE="https://github.com/praekelt/django-setuptest"
|
||||
SRC_URI="https://github.com/praekelt/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-python/pep8[${PYTHON_USEDEP}]
|
||||
dev-python/coverage[${PYTHON_USEDEP}]"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]"
|
@ -1 +1,2 @@
|
||||
DIST pyocr-0.2.4.tar.gz 309220 SHA256 a8db05190b505691a5c5fd1459072fda7f429940b562209b42f3db93c1292ef6 SHA512 8df6aa267743ae05864a0272764bfefc95c5071399ac90a7c0d52ec9fff65c55380066fad46412f71f6c7b2f8125e1b618fec6ecca4d7ff696c005115cd59d9d WHIRLPOOL 22efb3f668b9adc0e80a71b86d157252c4de8cee0d7628f1835b40d8892501871ba58ad6928dab97a76b66d66319bdbe43fe0a4cfa57d39b6216c673747b9dd3
|
||||
DIST pyocr-0.3.0.tar.gz 315750 SHA256 b17279f1961487d635dd43dbbf94c3cee678ab262812cf4d7b0bd919f960f13d SHA512 c5014026072d4a5edad2bf32817c07c09436aed0d2544aba6d1418dd6f0a238ee4794171922d5d473142ff21e5df97b27be6fe12c83124a39dd2c1f67445d6de WHIRLPOOL a6b10f313660b80c47ead6b0e6a426e3ce595dda23954c25675273ef5a7adc8abce626a964fc14eb12baa9b46e346e54c6dd49e91b2a92d4be68db8e07b5edde
|
||||
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/pyocr/pyocr-0.3.0.ebuild,v 1.1 2015/01/20 16:12:09 voyageur Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="an optical character recognition (OCR) tool wrapper for python"
|
||||
HOMEPAGE="https://github.com/jflesch/pyocr"
|
||||
SRC_URI="https://github.com/jflesch/pyocr/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
IUSE="cuneiform +tesseract"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="cuneiform? ( app-text/cuneiform )
|
||||
tesseract? ( app-text/tesseract )
|
||||
virtual/python-imaging"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
REQUIRED_USE="|| ( cuneiform tesseract )"
|
@ -1,2 +1,3 @@
|
||||
DIST pyparted-3.10.2.tar.gz 94971 SHA256 3ba6bf3539b77f37bf535ffd642d9d48921cbdcb64388e9ae137c3c37986be76 SHA512 5e2cdc48f2cb7a45d53f0b43c50b4fa6872765fdef077aecd7b61272654a775d37622cdbba865023791e541e213b157409ead4d248d31ab095ca0d36c854c3fb WHIRLPOOL 9987943f335c9edf54ea16f580becbef6dc210aa0d7daa1619835983eefde5a84cca928375883e37d4cb101ad74deb838d846de20c0fce60ae425a7e48c3bcbc
|
||||
DIST pyparted-3.10.3.tar.gz 96927 SHA256 ba385beff0bd31e64886ac1ed699306c49474dcf5dc33f96f867d208f8d7e992 SHA512 238da222bb76e6838861f4fdff63f52823d0c7ace068fd4f40d5ccf5de5b7c26fadf52add689ec143755d568c52788b79262ba1090639560c3b54daa67e6507f WHIRLPOOL 9fab91096f345507fc3528c960ae8e151975abd36e8e76f5f55b48aabee6c23ac6e16c7b471b1b01a5977c7157f32b3726b1ce0fbb0d221ba0a07a0df9f19c13
|
||||
DIST pyparted-3.10.tar.gz 189069 SHA256 bb8de71ba54983af84cf036002511cfb6d8fab4fc5e9a9be7236ecba6d24989f SHA512 5dec303fdfd901b39640c273c962a32b58ba48a9aafa37871baa75ed0a7260886c2dbbecaacfd64dca82260b64f41ead65af8e67acbc1e490784b4b0e3ddd7f6 WHIRLPOOL 72c23abdc6d37c3ff058daa6449176411776c17297b7367b126a7976b55cd5ffd732b20831bfe911a5932bfcb4b513d17b7a286f14d84e195067ffde0281cd71
|
||||
|
@ -0,0 +1,29 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/pyparted/pyparted-3.10.3.ebuild,v 1.1 2015/01/20 16:14:31 jer Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_{3,4}} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python bindings for sys-block/parted"
|
||||
HOMEPAGE="https://github.com/dcantrell/pyparted/"
|
||||
SRC_URI="${HOMEPAGE}archive/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="
|
||||
>=sys-block/parted-3.1
|
||||
dev-python/decorator[${PYTHON_USEDEP}]
|
||||
sys-libs/ncurses
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${PN}-${P}
|
@ -1,8 +1,2 @@
|
||||
DIST urwid-0.9.9.1.tar.gz 238005 SHA256 81c95440f84a90872d5bd8f01bc507cd0e5e1ce67a878a62cb435a662e43d5a5 SHA512 04c1f491c6be60bcc0ab7e28022b81509bd9322cbdbba80585f38a10065eb8a86747f822ce9e4652a1f50e01588987fbbb13f24351047dfd50c2cf0f0377c070 WHIRLPOOL e1dbad9d8dc606a7d8ef673b3ae9562e85057ce3e8ce3eecfdc4c5eefbd38845dfe6f621b7ac3b231835d1109090ad980915eff484bb46c87bf342e2de0e7822
|
||||
DIST urwid-1.0.2.tar.gz 285489 SHA256 2e13bd98dc8162caeb768263b6805f98a468ccb3bc28f6eed54770c80a514b37 SHA512 24061a0075775f7687d984ce4845db17c1acddcd7adad5a72f04ad8ff4cacddeb121397828f38d4fb0cbe0e64415e7c94aa54660e6eef0007edefcf4b5d2f1e8 WHIRLPOOL 4d1312ffeaebd9307f408279e588cfc69140bf52f668381799b6cdc686ac51aa482f5b59b88ac1b39e7e922e916bc169022b37e657dc1d6762cd9badc9dcfe11
|
||||
DIST urwid-1.1.0.tar.gz 482310 SHA256 6d0807da40f6e943e89c2e1512e1631b6521574ded7957a7f1aabea4a0ad255a SHA512 8c84da8d497634ea484f0ac5e20277ae9a74777e00d46a058dcd44c566df073122800042a37ed3688c9b41be42ffefcf90b611b21b596491ca5aa074f4beafba WHIRLPOOL c7f819f19459e3b82b0bd6ae5d74bb892eb093dc7a3d89f028d0bb768b4c9f3d3f588e4e68fb3c6d9271b1cb318ecbc2310df1dda5abe580993d9280bd700505
|
||||
DIST urwid-1.1.1.tar.gz 482432 SHA256 b301b4e0c2cd1634390cda80149d8aa2a07365af81a281ecf258770e47d30e99 SHA512 31a883998e1c91b46076a064b496c4c12fff972808d7d338b616251b29be2399caf5953ab8180d596f76260cd494f7ba09797886d637fce8d46cc1dfffe355ac WHIRLPOOL 3a3d78cce57b524ff7b877e97bd3de9dbf83d80d22b765eaef4bda364c7b5d51151dee58bac23751eb7837b6f530b0cb856890c355cd2a62b85e325ef4969447
|
||||
DIST urwid-1.1.2.tar.gz 483444 SHA256 f56568b4f8459b3265c65d9e275ef72df6cb16ad0c291f0feb027cc911ea0f26 SHA512 921b06dd76eb56012dcd849168c7c819cb17d53318f9518295f0c2b33371c5a53245e4aa677698d3e0f7eec4a43e3a1f617b6ff3aa3cd0b9a384e9122c495a00 WHIRLPOOL f24752ff9b84cca12bf018dbdf83982eb8fd81329dd0853cbdf8e9e4176c4c76e5596ebfcffac03640cfe46e64bb57f69d19a36df36aeab4545e1bb36c129430
|
||||
DIST urwid-1.2.0.tar.gz 584865 SHA256 ee40585ab06031839c4b40daba3c25e69057e1b150ea45b07ceffd2516f35250 SHA512 85393d4374c9d73288fba537f930fb3dd6637c43b5a95af0ba2ab5bf36671edcc31beeec4d5c8d9daaebb4346d5d249f81ba428a58a9a778b3f44f190ac1f623 WHIRLPOOL e7f0ef8c64e6db7184792810bafaf0e0584b929142672853127c5da330c50883e3e36c7fc93081e8da6a379c4a19112e16065e7b87b491202354c7a96cad4a08
|
||||
DIST urwid-1.2.1.tar.gz 578088 SHA256 9b9b5dabb7df6c0f12e84feed488f9a9ddd5c2d66d1b7c7c087055720b87c68c SHA512 8f67887007912e79d32e55caf9615db4d01e3eff0fc9fe056b89e1e0c2db132178b5640dc38d2dbbe59036f6842d8b5e7161bcd49526f1baec25992dd4427fd6 WHIRLPOOL 29cfb322cbfbfcccfc1ab4dbb72ed869157a856769674397b22b5bafc3b0155f4d8105b55bf0549a0e8999fce5390ced4c212e003f60d1558c1c006c1c350e4a
|
||||
DIST urwid-1.2.2.tar.gz 585025 SHA256 e122e2dee122314f5626945af4dbe15bf3de9f318c552a4c0b68c1c480852d92 SHA512 10d0271e52b28aff3350d3342cd9b1c8fab819f3619cce77286b2545b74dd967f0466e98dfbfef1189b3ab6b38392168367d75c768b0f5b8058666b0211706a5 WHIRLPOOL 69556a721d89f6a6b82664bf5eaa10a21c49d15f9b8e6e6be4ba31ce5e2317fd0ecebfa3d93b008f9bd93f10504161d93e1827d696a6c1baa09939ac628f027d
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-0.9.9.1.ebuild,v 1.7 2014/08/10 21:24:44 slyfox Exp $
|
||||
|
||||
EAPI="2"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
|
||||
inherit distutils
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://excess.org/urwid/ http://pypi.python.org/pypi/urwid"
|
||||
SRC_URI="http://excess.org/urwid/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~ia64 ppc ppc64 ~sparc x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools
|
||||
test? ( dev-python/twisted-core )"
|
||||
RDEPEND=""
|
||||
RESTRICT_PYTHON_ABIS="3.*"
|
||||
|
||||
src_test() {
|
||||
testing() {
|
||||
"$(PYTHON)" test_urwid.py
|
||||
}
|
||||
python_execute_function testing
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils_src_install
|
||||
|
||||
dohtml tutorial.html reference.html
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}/examples
|
||||
doins bigtext.py browse.py calc.py dialog.py edit.py
|
||||
doins fib.py graph.py input_test.py tour.py
|
||||
fi
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-1.0.2.ebuild,v 1.8 2014/01/05 02:08:38 yac Exp $
|
||||
|
||||
EAPI="4"
|
||||
PYTHON_USE_WITH="ncurses"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
RESTRICT_PYTHON_ABIS="*-jython 3.3"
|
||||
PYTHON_TESTS_FAILURES_TOLERANT_ABIS="3.1"
|
||||
DISTUTILS_SRC_TEST="setup.py"
|
||||
|
||||
inherit distutils
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://excess.org/urwid/ http://pypi.python.org/pypi/urwid"
|
||||
SRC_URI="http://excess.org/urwid/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools
|
||||
test? ( dev-python/twisted-core )"
|
||||
|
||||
PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
|
||||
|
||||
src_install() {
|
||||
distutils_src_install
|
||||
|
||||
dohtml reference.html tutorial.html
|
||||
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc bigtext.py browse.py calc.py dialog.py edit.py \
|
||||
fib.py graph.py input_test.py tour.py
|
||||
fi
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-1.1.0.ebuild,v 1.8 2014/03/06 10:43:34 ago Exp $
|
||||
|
||||
EAPI="4"
|
||||
PYTHON_USE_WITH="ncurses"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
RESTRICT_PYTHON_ABIS="*-jython"
|
||||
PYTHON_TESTS_FAILURES_TOLERANT_ABIS="3.1"
|
||||
DISTUTILS_SRC_TEST="setup.py"
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://excess.org/urwid/ http://pypi.python.org/pypi/urwid"
|
||||
SRC_URI="http://excess.org/urwid/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~ia64 ~mips ppc ppc64 ~sparc x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="doc examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools
|
||||
doc? ( dev-python/sphinx )
|
||||
test? ( dev-python/twisted-core )"
|
||||
|
||||
PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
|
||||
|
||||
src_prepare() {
|
||||
distutils_src_prepare
|
||||
|
||||
epatch "${FILESDIR}"/${P}-sphinx.patch
|
||||
|
||||
if [[ $(python_get_version -f --major) == 3 ]] ; then
|
||||
2to3-$(PYTHON -f --ABI) -nw --no-diffs docs/conf.py || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
distutils_src_compile
|
||||
|
||||
if use doc ; then
|
||||
cd docs
|
||||
PYTHONPATH="$(ls -d ../build-$(PYTHON -f --ABI)/lib*)" sphinx-build . _build/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils_src_install
|
||||
|
||||
use doc && dohtml -r docs/_build/html/*
|
||||
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-1.1.1-r1.ebuild,v 1.3 2013/09/05 18:46:50 mgorny Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
|
||||
PYTHON_REQ_USE="ncurses"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://excess.org/urwid/ http://pypi.python.org/pypi/urwid"
|
||||
SRC_URI="http://excess.org/urwid/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="doc examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? ( dev-python/twisted-core )"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-1.1.0-sphinx.patch )
|
||||
|
||||
python_compile_all() {
|
||||
if use doc ; then
|
||||
if [[ ${EPYTHON} == python3* ]] ; then
|
||||
2to3 -nw --no-diffs docs/conf.py || die
|
||||
fi
|
||||
cd docs
|
||||
sphinx-build . _build/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if [[ ${EPYTHON} == python2* ]] ; then
|
||||
local CFLAGS="${CFLAGS} -fno-strict-aliasing"
|
||||
export CFLAGS
|
||||
fi
|
||||
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && dohtml -r docs/_build/html/*
|
||||
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-1.1.1.ebuild,v 1.2 2013/08/03 09:45:46 mgorny Exp $
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_USE_WITH="ncurses"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
RESTRICT_PYTHON_ABIS="*-jython"
|
||||
PYTHON_TESTS_FAILURES_TOLERANT_ABIS="3.1"
|
||||
DISTUTILS_SRC_TEST="setup.py"
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://excess.org/urwid/ http://pypi.python.org/pypi/urwid"
|
||||
SRC_URI="http://excess.org/urwid/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="doc examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools
|
||||
doc? ( dev-python/sphinx )
|
||||
test? ( dev-python/twisted-core )"
|
||||
|
||||
PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
|
||||
|
||||
src_prepare() {
|
||||
distutils_src_prepare
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-1.1.0-sphinx.patch
|
||||
|
||||
if [[ $(python_get_version -f --major) == 3 ]] ; then
|
||||
2to3-$(PYTHON -f --ABI) -nw --no-diffs docs/conf.py || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
distutils_src_compile
|
||||
|
||||
if use doc ; then
|
||||
cd docs
|
||||
PYTHONPATH="$(ls -d ../build-$(PYTHON -f --ABI)/lib*)" sphinx-build . _build/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils_src_install
|
||||
|
||||
use doc && dohtml -r docs/_build/html/*
|
||||
|
||||
if use examples ; then
|
||||
dodoc -r examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-1.1.2.ebuild,v 1.1 2014/01/25 08:30:42 radhermit Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
|
||||
PYTHON_REQ_USE="ncurses"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://urwid.org/ http://pypi.python.org/pypi/urwid/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="doc examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? ( dev-python/twisted-core )"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-1.1.0-sphinx.patch )
|
||||
|
||||
python_compile_all() {
|
||||
if use doc ; then
|
||||
if [[ ${EPYTHON} == python3* ]] ; then
|
||||
2to3 -nw --no-diffs docs/conf.py || die
|
||||
fi
|
||||
cd docs
|
||||
sphinx-build . _build/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if [[ ${EPYTHON} == python2* ]] ; then
|
||||
local CFLAGS="${CFLAGS} -fno-strict-aliasing"
|
||||
export CFLAGS
|
||||
fi
|
||||
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use examples && local EXAMPLES=( examples/. )
|
||||
use doc && local HTML_DOCS=( docs/_build/html/. )
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/urwid/urwid-1.2.0.ebuild,v 1.2 2014/04/03 01:25:58 radhermit Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} )
|
||||
PYTHON_REQ_USE="ncurses"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Urwid is a curses-based user interface library for Python"
|
||||
HOMEPAGE="http://urwid.org/ http://pypi.python.org/pypi/urwid/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="doc examples test"
|
||||
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? ( dev-python/twisted-core )"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-1.1.0-sphinx.patch )
|
||||
|
||||
python_compile_all() {
|
||||
if use doc ; then
|
||||
if [[ ${EPYTHON} == python3* ]] ; then
|
||||
2to3 -nw --no-diffs docs/conf.py || die
|
||||
fi
|
||||
cd docs
|
||||
sphinx-build . _build/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
if [[ ${EPYTHON} == python2* ]] ; then
|
||||
local CFLAGS="${CFLAGS} -fno-strict-aliasing"
|
||||
export CFLAGS
|
||||
fi
|
||||
|
||||
distutils-r1_python_compile
|
||||
}
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use examples && local EXAMPLES=( examples/. )
|
||||
use doc && local HTML_DOCS=( docs/_build/html/. )
|
||||
|
||||
distutils-r1_python_install_all
|
||||
}
|
@ -1,10 +1,3 @@
|
||||
DIST virtualenv-1.10.1.tar.gz 1327717 SHA256 8778f2c932dcc115514284ac827d710b764e556cfd25e64e60be429e4e57938e SHA512 db5157433986fab503c7f6906d73387f1511efd906a8e804f1299c87e8c6604f3a2b88cf73b19b00079b5ef3ed008c0003348d256048c11f85bec1137dfde733 WHIRLPOOL f95a3f0057bf781ac0a9600f6a52d0ecee4bda056bfcb693b19c9554f39e02321c100efa51c76f7772597a950af7252fdb70d57de1aacac7ae016e725eebd80c
|
||||
DIST virtualenv-1.10.tar.gz 1325423 SHA256 bb65e9160a8f014c2a5c5bfc77845a367df88aca214b33474ed23517a647e389 SHA512 fbb78492adfd826f0862feee0208d38c982d9d93b56e23a8020d29540017e302c34e9b03155721a1495c94847afee345ea355c2fc401275e2ecd549622adc7d4 WHIRLPOOL 99d97d5a90e0dedcabe54914d768cb0953bb393222c397fb074c13ffffc74d2d717a964700fb0a7bffe3d3c84651c5a353fa8b0fe29c592cd2e350e463b64a9b
|
||||
DIST virtualenv-1.11.3.tar.gz 1745970 SHA256 c76acdcac465c52ff6f2a13471e5ad6855709fd6a48ec1320300a2e95cd35ec2 SHA512 4140596aeb2f16f5e5e1c7ea9c1dcc9e7cdb06db1db0f7906b4fb5d40cff31665bacf8870b32c930e3eeaac3a36cd8b53343dc3e53d9e8ef85e2626fc959275d WHIRLPOOL 88d3b484bdfb15afd30618f1106138bcdbdb0aff6f8c9bde2ea4371fbd26ed18e637b6edbf805c04a5650f751f6a2639f2e4d330fd0a80adaa70cba6fbb26095
|
||||
DIST virtualenv-1.11.4.tar.gz 1746033 SHA256 7420b06b0dd655a765297b41941f63d31b4ba5d94f8082f4211ec4b2c65ecd82 SHA512 053fdca494cf78cb4a5f2c328a2e6c4296e60f6567149b2928cd55eff71cd16412fb85c5a2127a10cfd9458be11f097eb8a1ee3562cc378fe7dc750e3f9941d5 WHIRLPOOL 722b25b6c96ef9856e5b063c9155d26545d06ca6f67c2823a0353ce678f25e9aa1f1b1d5def34d835ef00a9bc04e4e6380f4964aa410dfe8d1ea2261648b0af2
|
||||
DIST virtualenv-1.11.5.tar.gz 1754514 SHA256 debe5cae77afc2517bcda3f3b9c2cc7e73c61715b80cd3cc57ba20cdea019a03 SHA512 98749fff232b3f45905eff8ad048b6b358e95d03a9bee8042c306f26c13d736c209218e3d79bb608f0803b8307104c5f0872be8ae87bcf000cc6e02ad729893c WHIRLPOOL a5d3d41003b7934bd7b53a422f39052075a6b6fb477712739546197d81c9c5ee90d5ab8dc08371fe37df498828682fda7afb081f4e1af12cd43ce2dc303b9b33
|
||||
DIST virtualenv-1.11.6.tar.gz 1598798 SHA256 c997ff70a226bca29b4879a58335a748cff54622dfd4e5f638068496e501ccca SHA512 b3f665ad40517233d05d62d15f8218a40b8ab520af87f504e544d8303c7f1b7455144aeedc5db260628072d0875908bc12a9a677afb515b05976894ef2925b17 WHIRLPOOL f9f30c4f6d6f02e1102284106c9b174a838c58dc5543cc45de3203558b86260c0ed03d15c335253a137eabf931089d04cfa43d2809e3de42af82e4850c206415
|
||||
DIST virtualenv-1.9.1.tar.gz 2007470 SHA256 b095484a235606bdcaba7992702f5736d454f2e758626ede6b346ca0d64a32a1 SHA512 f7a33b9d488e9d9543cd1b08b40ebf6e6ecda68a411a566d93dfcaa48a4e0068713cbe3ac503961d33fa3710df4e3d243edab29fd888e0244f694bebff8d0fed WHIRLPOOL 0f4b2b82840d268d1bd5d51d85621f76b9c7e97cd7e4166bcec3c82700b1373d97bc236fcc6a18bd57b22cec09dc8ee95c2e107b89f243311defa685a097c5d9
|
||||
DIST virtualenv-12.0.4.tar.gz 1854995 SHA256 cf269591dcdbc226e0a880f036c27b5a58c2729d31d7a3e64049b792d934d89a SHA512 b158d2823906da67854caf2cafd26fe93b016e8ca3c287d9082754f2013dba839fdc54e5e32ae65e7eac573867cf86746d2a8258669a4f23747eab28f96f452e WHIRLPOOL c819b5e5c708524889704dba3c03c62e8d975ddbc55bf88a03777703f5a0f0997c1381a6def6236e62e805c97c003891422b5371d2049ba2aa992afd99383547
|
||||
DIST virtualenv-12.0.5.tar.gz 1805752 SHA256 ebb7a01e7fb7a9b3586692f623da4e13d50351f3733d8bbc83aaecd654c5f955 SHA512 b5fd46aa8a34f42d3db46c48ac751e5c22d8fcddc83edd4230838549d549ddfd47e56ef784677d8d17471ed2bbde168e3db6d48ca6a9c2d2ae757caac5768a10 WHIRLPOOL 6a0e568a9954473c6ab2b4f4d814ddd42a4c92d6543b3ec005bbd42d9c25a775dc421c5e8491269fc77fba6c37e8dea9773c644eaa44128b9f2bf7f0db6bdea0
|
||||
DIST virtualenv-12.0.tar.gz 1855064 SHA256 596d742edaf5015df142cfe28a71003d1994b41c4151244be2a773ca5e3968af SHA512 8ca4797bcc07d8de514a350122b69a696b52c73ae754af4db2e404cd2f8851225c501f3d591471f31e7b5480f30715a5053493c75cbecf9081800955116c79ec WHIRLPOOL d1f038a08becf83aa11d9d4c6a2dc7f3f46174b35672b03c2c31b4cb9020eb9c709c326bfdaa5176c37867b3dab9548a60af0e60f5b5ae7929ab05d5311e080b
|
||||
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.10-r1.ebuild,v 1.6 2014/06/08 12:21:45 hattya Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} pypy pypy2_0 )
|
||||
|
||||
inherit distutils-r1 vcs-snapshot
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/tarball/${PV} -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.rst docs/news.rst )
|
||||
PATCHES=( "${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch )
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
use doc && dohtml -r docs/_build/html/
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.10.1.ebuild,v 1.10 2014/06/08 12:21:45 hattya Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} pypy pypy2_0 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="amd64 arm ~ia64 ppc ppc64 x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.rst docs/news.rst )
|
||||
PATCHES=( "${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch )
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
use doc && dohtml -r docs/_build/html/
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.11.3.ebuild,v 1.4 2014/06/08 12:21:45 hattya Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} pypy pypy2_0 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.rst docs/news.rst )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
|
||||
"${FILESDIR}"/${P}-skip-broken-test.patch
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && HTML_DOCS=( "${S}"/docs/_build/html/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.11.4.ebuild,v 1.5 2014/06/08 12:21:45 hattya Exp $
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} pypy pypy2_0 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.rst docs/news.rst )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
|
||||
"${FILESDIR}"/${PN}-1.11.3-skip-broken-test.patch
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && local HTML_DOCS=( "${S}"/docs/_build/html/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.11.5.ebuild,v 1.2 2014/06/08 12:21:45 hattya Exp $
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3,3_4} pypy )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.rst docs/news.rst )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
|
||||
"${FILESDIR}"/${PN}-1.11.3-skip-broken-test.patch
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && local HTML_DOCS=( "${S}"/docs/_build/html/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-1.9.1-r1.ebuild,v 1.19 2014/03/31 20:35:56 mgorny Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} pypy pypy2_0 )
|
||||
|
||||
inherit distutils-r1 vcs-snapshot
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/tarball/${PV} -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="alpha amd64 arm ia64 ppc ppc64 s390 sh sparc x86 ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.txt docs/news.txt )
|
||||
|
||||
# let the python eclass handle script versioning
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
|
||||
"${FILESDIR}"/${P}-pypy.patch
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
use doc && dohtml -r docs/_build/html/
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests || die
|
||||
}
|
@ -1,45 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/virtualenv/virtualenv-12.0.4.ebuild,v 1.1 2014/12/24 04:12:32 radhermit Exp $
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Virtual Python Environment builder"
|
||||
HOMEPAGE="http://www.virtualenv.org/ http://pypi.python.org/pypi/virtualenv"
|
||||
SRC_URI="https://github.com/pypa/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
SLOT="0"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
|
||||
test? (
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
DOCS=( docs/index.rst docs/changes.rst )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.8.2-no-versioned-script.patch
|
||||
"${FILESDIR}"/${PN}-12.0-skip-broken-test.patch
|
||||
)
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C docs html
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && local HTML_DOCS=( "${S}"/docs/_build/html/. )
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
py.test || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST watchdog-0.7.1.tar.gz 83438 SHA256 54ca64fdf0a2fb23cecba6349f9587e62fd31840ae22a71898a65adb8c6b52f9 SHA512 ac71cd1e42fa7b0f86a0dab5a687d76a3cfa5358b4e39d1168f47f555374d0ab2b787c01b618506102edc4d2836526f0ca673e81cc18508894375dfeeff5813c WHIRLPOOL fd667d3c6de2bcd4120244f31ef670e59a2a2d32fed495e6939b970cb7ed74502f2be0d46daf1a0e7bd3f367d9b399176a4ccf0865b120aa5e369d65a47e4ef0
|
||||
DIST watchdog-0.8.0.tar.gz 152770 SHA256 a86bb2d8b94bb4bf76fcc2ff36f741c0e511ec24c4d3a1059b47d49e377d64f5 SHA512 986d44c209aad1b719c4278c25fd3b4e502b294ab0ec6e8ffd0e4a50255b65665a6b1de23cd6b2e141a58558fb7133fbc6045d95beff9616aecbf1c4b5f34147 WHIRLPOOL 9fc3d8e592f262548c18fb4ba5a0b9cdd0119b207280994d59a9bd3526437f069d2815200dec88226c3aa70497482ae3da893d8446d1a730deb3fdbe26e1b5f9
|
||||
DIST watchdog-0.8.1.tar.gz 154747 SHA256 d6ec6be582b244834a888c8ccc2d451816184ab104b5454b5e5cd7649e8f671c SHA512 d5915be2e2817c748c6d2ba91d8a4044938fa5665019ac7c2048e28493c0dba34189bef61cd642204f1bd62d81ef59767af5970f65543a0c981d8f31ab980856 WHIRLPOOL 94890aa9a0a19c49ce2358b694a61b456df270da3a16d5c5e91044a96e228026288c7dcb7d4597e5fddae601692f8b34cae5e2a29ad388bc08aaf86b3d59fcb8
|
||||
DIST watchdog-0.8.2.tar.gz 157936 SHA256 33a9ab3ce2e6b1aca4d2a50752231668d69bdba4ab096d9742195ccfbef1e023 SHA512 96f1fcd0d6898ce950c8768000be2f619c9a28c9d96cb1d7323f04371b065e50b38692179949255bb13fa4e3c72e6f656dbc02b4d7f77b7fb3aacdf08600cb71 WHIRLPOOL c2581e9dba65f8ffbe1fe8b21d873e0292aae6ba46012979b221b3d4ede8f74d4c2cc2efa8635e99180c3bce227f943cb5ef4fba3dd24f5dae5bfc150f643c1d
|
||||
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/watchdog/watchdog-0.7.1.ebuild,v 1.1 2014/03/30 19:57:21 hasufell Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_2,3_3} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python API and shell utilities to monitor file system events"
|
||||
HOMEPAGE="http://github.com/gorakhargosh/watchdog"
|
||||
SRC_URI="mirror://pypi/w/watchdog/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${DEPEND}
|
||||
dev-python/argh[${PYTHON_USEDEP}]
|
||||
dev-python/pathtools[${PYTHON_USEDEP}]"
|
||||
|
||||
pkg_postinst() {
|
||||
elog "optional dependencies:"
|
||||
elog " dev-python/argcomplete (bash completion)"
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/watchdog/watchdog-0.8.0.ebuild,v 1.3 2014/10/10 15:24:01 ago Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_2,3_3} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python API and shell utilities to monitor file system events"
|
||||
HOMEPAGE="http://github.com/gorakhargosh/watchdog"
|
||||
SRC_URI="mirror://pypi/w/watchdog/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-python/pyyaml[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${DEPEND}
|
||||
dev-python/argh[${PYTHON_USEDEP}]
|
||||
dev-python/pathtools[${PYTHON_USEDEP}]"
|
||||
|
||||
pkg_postinst() {
|
||||
elog "optional dependencies:"
|
||||
elog " dev-python/argcomplete (bash completion)"
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST awesome_nested_set-2.1.6.tar.gz 21504 SHA256 1e78e23539544936e9fe97e36063927f193be63d7e2daaefe9684144fee9c0e4 SHA512 3c7b62e669514b7b2097a90b60ab254376ae4ccf08418650b2b73a0e6c84d7ba59e413499c2cb825c3e85358bb86e7c7bbdf73e0b53a2f74f9fef07fb85dde23 WHIRLPOOL cb64cf3be76d62688eb7ddc221f601a50bb254c484c28ef3c6f984f89d59afe2f415f357fe160a8584a0e151491b16d40c2e47971cb793e52d4a6f94c4abf3c7
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/awesome_nested_set/awesome_nested_set-2.1.6.ebuild,v 1.1 2014/04/18 18:13:18 mrueg Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec"
|
||||
RUBY_FAKEGEM_EXTRADOC="README.rdoc"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="An awesome nested set implementation for Active Record"
|
||||
HOMEPAGE="https://github.com/collectiveidea/awesome_nested_set"
|
||||
SRC_URI="https://github.com/collectiveidea/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
LICENSE="MIT"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
ruby_add_rdepend "dev-ruby/activerecord:3.2"
|
||||
|
||||
ruby_add_bdepend "test? ( dev-ruby/combustion
|
||||
dev-ruby/rspec-rails )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/[Bb]undler/d' Rakefile spec/spec_helper.rb || die
|
||||
sed -i -e "/require 'active_record'/i \ require 'test/unit' \n gem 'activerecord', '~> 3.2'" spec/spec_helper.rb || die
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>ruby</herd>
|
||||
</pkgmetadata>
|
@ -1 +0,0 @@
|
||||
DIST directory_watcher-1.4.1.gem 15360 SHA256 c0d054e52b31357bb0d601a8fc3b47c9e940cfce7749093d8664d50065a326fb SHA512 1d4fe83caa5ae0c20899dda7d5fca7454262d560f3679edb3d252ef353e3677d83b6bec19104c589ff1f19fcf7e65a9cb4518567b5f21b67daa39bf41cf9d211 WHIRLPOOL c2e39bbcfc4e230fd590dd7c129e28b323a70cf88b51098d24104f8b1545a1203976d89911473579fbc9d5f27d9ae278c89485067187de57effed6e9f4a6ff46
|
@ -1,20 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/directory_watcher/directory_watcher-1.4.1.ebuild,v 1.2 2014/04/24 17:39:29 mrueg Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="README.txt History.txt"
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
RUBY_FAKEGEM_TASK_TEST=""
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Monitors directories for changes"
|
||||
HOMEPAGE="http://gemcutter.org/gems/directory_watcher https://github.com/TwP/directory_watcher/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>ruby</herd>
|
||||
</pkgmetadata>
|
@ -1 +0,0 @@
|
||||
DIST gem_plugin-0.2.3.gem 33280 SHA256 5e019fe196325fffedb58ac1cdae60a41da8496faab57dd111476115b2975039 SHA512 35448c74e2160907c79798243d0f05f555eca14381c1f9944f5a05f3e16d3a8b221b4dfa88ce2b9d2c7cdd879a1a20081cbfe8da58ff74d6525fa3632acaa9ba WHIRLPOOL 79d22b40b4eae3b119938dd62dd363dfdced311117b33b154d2dd483ec86c88072036b34d71153a73b9ae51994cf1c296bc35af2f75c72f4086766ab6471e041
|
@ -1,28 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/gem_plugin/gem_plugin-0.2.3-r2.ebuild,v 1.15 2014/11/10 17:35:21 mrueg Exp $
|
||||
|
||||
EAPI="2"
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_TASK_TEST=""
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="CHANGELOG README"
|
||||
|
||||
RUBY_FAKEGEM_EXTRAINSTALL="resources"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="A plugin system based only on rubygems that uses dependencies only"
|
||||
# Hosted by mongrel's rubyforge
|
||||
HOMEPAGE="http://mongrel.rubyforge.org/"
|
||||
|
||||
LICENSE="mongrel"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm hppa ia64 ppc ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
each_fakegem_test() {
|
||||
${RUBY} -Ilib test/test_plugins.rb || die "tests failed"
|
||||
}
|
@ -1,28 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/gem_plugin/gem_plugin-0.2.3-r3.ebuild,v 1.4 2014/11/10 17:35:21 mrueg Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
RUBY_FAKEGEM_TASK_TEST=""
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="CHANGELOG README"
|
||||
|
||||
RUBY_FAKEGEM_EXTRAINSTALL="resources"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="A plugin system based only on rubygems that uses dependencies only"
|
||||
# Hosted by mongrel's rubyforge
|
||||
HOMEPAGE="http://mongrel.rubyforge.org/"
|
||||
|
||||
LICENSE="mongrel"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
each_ruby_test() {
|
||||
${RUBY} -Ilib test/test_plugins.rb || die "tests failed"
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>ruby</herd>
|
||||
</pkgmetadata>
|
@ -1 +0,0 @@
|
||||
DIST mysql-2.9.1.gem 39936 SHA256 66dc32dc33bd77d35d1f35db844621b641391724c9988637a514a8ab6d2e4bf8 SHA512 8a99df130b579fd1b77d7912449f87c99576055b0013f1ba5d693eadaeed6a553b3b49fdc3a16eeb82ad9325c8209f8d1587b25319da1278f2604fe21f713142 WHIRLPOOL 85eb5cde68f04781ac679ec30db26eda19a75080aced6cbe195289187fc825fe103c44406ffc9b51990a53c544f75c6d6207d577906478e84bdbb7387fdcfc7f
|
@ -1,59 +0,0 @@
|
||||
--- mysql-ruby-2.8.1/test.rb.0 2008-06-17 07:36:44.000000000 +0200
|
||||
+++ mysql-ruby-2.8.1/test.rb 2008-09-11 20:42:19.000000000 +0200
|
||||
@@ -1,12 +1,17 @@
|
||||
-#!/usr/local/bin/ruby
|
||||
+#!/usr/bin/env ruby
|
||||
# $Id: test.rb 244 2009-02-01 08:43:39Z tommy $
|
||||
|
||||
require "test/unit"
|
||||
-require "./mysql.o"
|
||||
+require "mysql"
|
||||
+
|
||||
+ARGV.each do |a|
|
||||
+ $argv ||= []
|
||||
+ $argv << a
|
||||
+end
|
||||
|
||||
class TC_Mysql < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -95,7 +100,7 @@
|
||||
|
||||
class TC_Mysql2 < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -211,7 +216,7 @@
|
||||
|
||||
class TC_MysqlRes < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -411,7 +416,7 @@
|
||||
|
||||
class TC_MysqlStmt < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -441,7 +446,7 @@
|
||||
|
||||
class TC_MysqlStmt2 < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
@ -1,59 +0,0 @@
|
||||
--- mysql-ruby-2.8.1/test.rb.0 2008-06-17 07:36:44.000000000 +0200
|
||||
+++ mysql-ruby-2.8.1/test.rb 2008-09-11 20:42:19.000000000 +0200
|
||||
@@ -1,12 +1,17 @@
|
||||
-#!/usr/local/bin/ruby
|
||||
+#!/usr/bin/env ruby
|
||||
# $Id: test.rb 250 2010-02-11 10:42:54Z tommy $
|
||||
|
||||
require "test/unit"
|
||||
-require "./mysql.o"
|
||||
+require "mysql"
|
||||
+
|
||||
+ARGV.each do |a|
|
||||
+ $argv ||= []
|
||||
+ $argv << a
|
||||
+end
|
||||
|
||||
class TC_Mysql < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -95,7 +100,7 @@
|
||||
|
||||
class TC_Mysql2 < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -211,7 +216,7 @@
|
||||
|
||||
class TC_MysqlRes < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -411,7 +416,7 @@
|
||||
|
||||
class TC_MysqlStmt < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
||||
@@ -441,7 +446,7 @@
|
||||
|
||||
class TC_MysqlStmt2 < Test::Unit::TestCase
|
||||
def setup()
|
||||
- @host, @user, @pass, db, port, sock, flag = ARGV
|
||||
+ @host, @user, @pass, db, port, sock, flag = $argv
|
||||
@db = db || "test"
|
||||
@port = port.to_i
|
||||
@sock = sock.nil? || sock.empty? ? nil : sock
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>ruby</herd>
|
||||
<upstream>
|
||||
<remote-id type="rubyforge">mysql-ruby</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/mysql-ruby/mysql-ruby-2.9.1.ebuild,v 1.7 2014/05/07 19:19:28 mrueg Exp $
|
||||
|
||||
EAPI=4
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_NAME="mysql"
|
||||
|
||||
RUBY_FAKEGEM_TASK_TEST=""
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
|
||||
RUBY_FAKEGEM_EXTRADOC="History.txt README.txt"
|
||||
|
||||
inherit multilib ruby-fakegem
|
||||
|
||||
DESCRIPTION="A Ruby extension library to use MySQL"
|
||||
HOMEPAGE="http://www.tmtm.org/en/mysql/ruby/"
|
||||
|
||||
LICENSE="Ruby"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 hppa ~mips ppc ppc64 x86 ~x86-fbsd"
|
||||
IUSE="test"
|
||||
|
||||
DEPEND="virtual/mysql[-static]"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
TEST_DIR="/usr/share/${PN}/test/"
|
||||
|
||||
each_ruby_configure() {
|
||||
${RUBY} -Cext/mysql_api extconf.rb --with-mysql-config "${EPREFIX}/usr/bin/mysqlconfig" || die
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
emake -Cext/mysql_api || die
|
||||
cp ext/mysql_api/mysql_api$(get_modname) lib/mysql/ || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
all_fakegem_install
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST refe-0.8.0-withdoc.tar.gz 461982 SHA256 fa8d6d958de5b1edf5337a6fde8ef71d81d95e3e7979ac0b3e2af6f958b06389 SHA512 4db8c4e3cbb54ea6871880d00c8c8babfa8d05eff8b9b29029c27481267dc0c2eea3ef1a61f48c586eb5c54abab3332f00bc729eb48aca5b9e389a9b8e00329a WHIRLPOOL 3b835396dd64d7f79f4763498941de5f15bd3a666a0a5643994698d9a90ec708460232aecaae19c1ba5924667a9203ae8147fce5ec4c8cf02dd6e4de1b975be9
|
@ -1,12 +0,0 @@
|
||||
diff -Naur refe-0.8.0.orig/lib/refe/mygetopt.rb refe-0.8.0/lib/refe/mygetopt.rb
|
||||
--- refe-0.8.0.orig/lib/refe/mygetopt.rb 2003-04-02 07:38:41.000000000 +0900
|
||||
+++ refe-0.8.0/lib/refe/mygetopt.rb 2010-05-30 00:54:04.000000000 +0900
|
||||
@@ -11,7 +11,7 @@
|
||||
alias orignew new
|
||||
|
||||
def new( usage, descripter )
|
||||
- parser = orignew( * descripter.map {|line|
|
||||
+ parser = orignew( * descripter.split(/^/).map {|line|
|
||||
line.strip!
|
||||
next if line.empty?
|
||||
display, shortopt, longopt, takearg, doc = line.split(/\s+/, 5)
|
@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>ruby</herd>
|
||||
<herd>cjk</herd>
|
||||
</pkgmetadata>
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/refe/refe-0.8.0-r1.ebuild,v 1.6 2014/10/30 13:53:43 mrueg Exp $
|
||||
|
||||
EAPI="2"
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
inherit ruby-ng
|
||||
|
||||
DESCRIPTION="ReFe is an interactive reference for Japanese Ruby manual"
|
||||
HOMEPAGE="http://www.loveruby.net/ja/prog/refe.html"
|
||||
SRC_URI="http://www.loveruby.net/archive/refe/${P}-withdoc.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ppc64 x86"
|
||||
IUSE=""
|
||||
|
||||
RUBY_PATCHES=( "${FILESDIR}/${P}-ruby19.patch" )
|
||||
|
||||
each_ruby_configure() {
|
||||
${RUBY} setup.rb config --data-dir="/usr/share" || die
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
${RUBY} setup.rb setup || die
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
${RUBY} setup.rb install --prefix="${D}" || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
dodoc ChangeLog NEWS README* TODO || die
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST tmail-1.2.7.1.gem 446464 SHA256 9e4153e48c7f618ce6b22a44b5671ec5b9e49d16c693c3ee8b93397e9d78ca41 SHA512 c7a3be608a86161963de4598e4a5f234493e591eb0e39b16b61418983901e94a49b76665cb93309b740ff6a4f6db62aa6e4544305b94361208be40ef0af57deb WHIRLPOOL db62499fc246e6836a2dbe2c32fbb13c5080dbe518eaf7b435e665541fbadbfe0a643b63774847e7068fb8cf196aa2f53e70b0934c8069757bed2c2ca18ccf02
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>ruby</herd>
|
||||
</pkgmetadata>
|
@ -1,70 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/tmail/tmail-1.2.7.1-r3.ebuild,v 1.8 2014/11/11 10:54:36 mrueg Exp $
|
||||
|
||||
EAPI=2
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC="doc"
|
||||
RUBY_FAKEGEM_DOCDIR="doc"
|
||||
RUBY_FAKEGEM_EXTRADOC="README CHANGES NOTES"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="An email handling library"
|
||||
HOMEPAGE="http://rubyforge.org/projects/tmail/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ppc ppc64 x86 ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug"
|
||||
|
||||
# Tests seem to be broken with the new encoding handling from Ruby,
|
||||
# need to be verified twice; code seems to work anyway.
|
||||
RESTRICT=test
|
||||
|
||||
# Once it's added to portage, this should be added, right now it's
|
||||
# bundled.
|
||||
# ruby_add_rdepend dev-ruby/rchardet
|
||||
|
||||
ruby_add_bdepend "
|
||||
dev-ruby/racc
|
||||
test? ( >=dev-ruby/mocha-0.9.5 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# Provide file that is no longer distributed but still needed
|
||||
mkdir meta || die "Failed to mkdir meta."
|
||||
echo "tmail" > meta/unixname || die "Failed to create unixname file."
|
||||
}
|
||||
|
||||
each_ruby_configure() {
|
||||
case ${RUBY} in
|
||||
*ruby18 | *rubyee18)
|
||||
${RUBY} -Cext/tmailscanner/tmail extconf.rb || die "extconf failed"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
each_ruby_compile() {
|
||||
emake -C lib/tmail $(use debug && echo DEBUG=true) parser.rb || die "emake failed"
|
||||
|
||||
case ${RUBY} in
|
||||
*ruby18 | *rubyee18)
|
||||
emake -Cext/tmailscanner/tmail \
|
||||
CFLAGS="${CFLAGS} -fPIC" archflag="${LDFLAGS}" || die "emake extension failed"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
each_ruby_install() {
|
||||
# We cannot use the recursive install because there are
|
||||
# racc source files and a makefile.
|
||||
find lib -name '*.rb' | while read file; do
|
||||
ruby_fakegem_newins $file $file
|
||||
done
|
||||
|
||||
[[ -f ext/tmailscanner/tmail/tmailscanner.so ]] && \
|
||||
ruby_fakegem_newins ext/tmailscanner/tmail/tmailscanner.so lib/tmail/tmailscanner.so
|
||||
|
||||
ruby_fakegem_install_gemspec
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST twitter-4.8.1.gem 504320 SHA256 c4ea9a881d48b75d0fa9d13ff6a369e051472290593867cb60fe01a254bfaae4 SHA512 4358d6f612d6a078098bc901965a4a8598d3418638288481f76e6749951a21b3e2f4335eaf7a3ddfde81b43a12a69fbf70bce711c22f9760244dd1bf5a3e1d39 WHIRLPOOL c48db65c593b4f6d0fe89ba2f99b222e10d88ca361251cef466c59302921fa41f11f3b40b138919f347839a85c2439117deb5ea60f0e141de0fe6a86a6e2279a
|
||||
DIST twitter-5.13.0.tar.gz 1322622 SHA256 760dede63a96f51d38a61fd172d93c97da17046f01c53c37b430c421738a6906 SHA512 28afafcfbe938fadc571dd19affd69cf1288d86fd3c4c14b743a4d573de068fdc6a6ffe487320b6a039dc2540375450d060e32761196bbbb4cb4b83a0999696a WHIRLPOOL 3a7b20e69c443c644cfe0e2a0bb21d13c6259b8db129a6ae7d32df4a4e166bfa04f97271857feb866c2e7499ed7090efdca3680b4920863cafdbe15fd984788a
|
||||
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-ruby/twitter/twitter-4.8.1.ebuild,v 1.3 2014/07/18 09:18:32 graaff Exp $
|
||||
|
||||
EAPI=5
|
||||
USE_RUBY="ruby19"
|
||||
|
||||
RUBY_FAKEGEM_TASK_DOC="yard"
|
||||
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Ruby wrapper around the Twitter API"
|
||||
HOMEPAGE="http://sferik.github.com/twitter/"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="4"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
ruby_add_rdepend "
|
||||
=dev-ruby/faraday-0*
|
||||
>=dev-ruby/faraday-0.8
|
||||
=dev-ruby/multi_json-1*
|
||||
=dev-ruby/simple_oauth-0*
|
||||
>=dev-ruby/simple_oauth-0.2"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/rspec:2
|
||||
dev-ruby/webmock
|
||||
)
|
||||
doc? ( dev-ruby/yard )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
# rm Gemfile || die
|
||||
sed -i -e '/[Bb]undler/d' Rakefile || die "Unable to remove bundler code."
|
||||
|
||||
sed -i -e '/simplecov/,/SimpleCov.start/ s:^:#:' spec/helper.rb || die
|
||||
}
|
||||
|
||||
each_ruby_test() {
|
||||
CI=true ${RUBY} -S rspec spec || die
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST jenkins-bin-1.580.2.war 68035763 SHA256 e41321fdcc4803ff6b1d0b8c68a247527791949338beabbc2eb13586ef7b6fab SHA512 c9371b80ff21986d485e63b0d9f957c18ee4babbe625fa0f4fb9fcd3dfb70d04c86302da37c4670ead1c115deffac88107df43af2541b16ac78a032994ecbbc6 WHIRLPOOL 240833e2aaa84e2f87114a2ef2a0fc858471f0096bfd096010b62ab1177088b8432d76388040b4ebe5c958a40557f951f223cc598ae8b3cf1754a9960577b7f1
|
||||
DIST jenkins-bin-1.594.war 68222524 SHA256 c12effabd7bcccdfd1d32ccaab275a62f79f977c59f59448ca716f850eb5f1fa SHA512 0dbee114d9e61bfaa52cbe8f10bc5de279386837409cbeac10fcafd436c4fc56e8122a965c59169721967ed626e3b5347afa64bfb98ea1e306bf3a6b1d16bb33 WHIRLPOOL a7abd22d6418518fe493f316541f68a8efa8cedb277d0608ae080d25566175d21d4dd66d8ffc411da0c8eb09550f8caf8c7bb9bf73c95d31aee13c6930f06c12
|
||||
DIST jenkins-bin-1.595.war 68215690 SHA256 2424e6316ec45d524d132203438e8d767a5e9bed747b2c583047ff944f2e2935 SHA512 0511d064a9b38910f9a65a5a04622d78cd4dda594b239521035f30aad907c9c5ca26ed00cc3643d0a73f6120f372fa577a53f73957869bfe5d56032c817528af WHIRLPOOL e7cb7b20135752633c4747ee7af79ffd168d7724ade6d9aec660caceb899393d978fc08c9bb10572656ea00887443f7d441b6b5f2f80d715e19b7465c5f8ba1c
|
||||
DIST jenkins-bin-1.597.war 68210489 SHA256 938857fc3f836cabcbba27924ed6cb02267bb22d51324f884d8757d018c3e807 SHA512 7d4349f5f6861c2f9f3a86c5bbb0629d431bc43f5c223a02c0e98c8c01f6a27990905d08e2e6aaa20eb8ac7845e062eff98885f0211ca0d3d5d0f77c31bea643 WHIRLPOOL 7d9f5c3cdc8c1659acaf5e89c3b09cf849dfd31201c20eddaf7b162f0498a4daa76be82c577a69839443f9acb9ebe7cec6d2f05cd17d0fbca55c538be99d6367
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-util/jenkins-bin/jenkins-bin-1.594.ebuild,v 1.1 2014/12/18 16:36:07 mrueg Exp $
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-util/jenkins-bin/jenkins-bin-1.597.ebuild,v 1.1 2015/01/21 04:03:46 mrueg Exp $
|
||||
|
||||
EAPI=5
|
||||
|
@ -0,0 +1,777 @@
|
||||
From 466859302095a4ee4a9214ab24144eab7697224f Mon Sep 17 00:00:00 2001
|
||||
From: Valentin Rusu <kde@rusu.info>
|
||||
Date: Mon, 5 Jan 2015 23:00:58 +0100
|
||||
Subject: [PATCH] Backporting CBC algorithm fix from frameworks/kwallet
|
||||
|
||||
The CBC algorithm was not enrcrypting in CBC but in ECB, despite it being
|
||||
named CBC. This problem was found by Itay Duvdevani who let us know it on the
|
||||
security mailing list. His mail eventually got forwarded to me and here is the
|
||||
fix. I also fixed the test program which was incorrectly checking the
|
||||
expected bytes.
|
||||
|
||||
This commit corresponds to the following commits from:
|
||||
frameworks/kwallet
|
||||
88bc1ff01e5fdf59a13fe012aa03e31e9eb8a3b1
|
||||
6e588d795e6631c3c9d84d85fd3884a159b45849
|
||||
---
|
||||
kwalletd/backend/backendpersisthandler.cpp | 67 ++++---
|
||||
kwalletd/backend/backendpersisthandler.h | 4 +-
|
||||
kwalletd/backend/cbc.cc | 273 ++++++++++++++++++-----------
|
||||
kwalletd/backend/cbc.h | 44 ++---
|
||||
kwalletd/backend/tests/testbf.cpp | 96 +++++-----
|
||||
5 files changed, 279 insertions(+), 205 deletions(-)
|
||||
|
||||
diff --git a/kwalletd/backend/backendpersisthandler.cpp b/kwalletd/backend/backendpersisthandler.cpp
|
||||
index 126210a..5c321c9 100644
|
||||
--- a/kwalletd/backend/backendpersisthandler.cpp
|
||||
+++ b/kwalletd/backend/backendpersisthandler.cpp
|
||||
@@ -40,14 +40,15 @@
|
||||
#include "sha1.h"
|
||||
#include "cbc.h"
|
||||
|
||||
-#ifdef Q_OS_WIN
|
||||
+#ifdef Q_OS_WIN
|
||||
#include <windows.h>
|
||||
#include <wincrypt.h>
|
||||
#endif
|
||||
|
||||
-#define KWALLET_CIPHER_BLOWFISH_CBC 0
|
||||
+#define KWALLET_CIPHER_BLOWFISH_ECB 0 // this was the old KWALLET_CIPHER_BLOWFISH_CBC
|
||||
#define KWALLET_CIPHER_3DES_CBC 1 // unsupported
|
||||
#define KWALLET_CIPHER_GPG 2
|
||||
+#define KWALLET_CIPHER_BLOWFISH_CBC 3
|
||||
|
||||
#define KWALLET_HASH_SHA1 0
|
||||
#define KWALLET_HASH_MD5 1 // unsupported
|
||||
@@ -164,13 +165,18 @@ BackendPersistHandler *BackendPersistHandler::getPersistHandler(BackendCipherTyp
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
BackendPersistHandler *BackendPersistHandler::getPersistHandler(char magicBuf[12])
|
||||
{
|
||||
- if (magicBuf[2] == KWALLET_CIPHER_BLOWFISH_CBC &&
|
||||
+ if ((magicBuf[2] == KWALLET_CIPHER_BLOWFISH_ECB || magicBuf[2] == KWALLET_CIPHER_BLOWFISH_CBC) &&
|
||||
(magicBuf[3] == KWALLET_HASH_SHA1 || magicBuf[3] == KWALLET_HASH_PBKDF2_SHA512)) {
|
||||
- if (0 == blowfishHandler)
|
||||
- blowfishHandler = new BlowfishPersistHandler;
|
||||
+ if (0 == blowfishHandler) {
|
||||
+ bool useECBforReading = magicBuf[2] == KWALLET_CIPHER_BLOWFISH_ECB;
|
||||
+ if (useECBforReading) {
|
||||
+ qDebug() << "this wallet uses ECB encryption. It'll be converted to CBC on next save.";
|
||||
+ }
|
||||
+ blowfishHandler = new BlowfishPersistHandler(useECBforReading);
|
||||
+ }
|
||||
return blowfishHandler;
|
||||
}
|
||||
#ifdef HAVE_QGPGME
|
||||
@@ -183,11 +189,16 @@ BackendPersistHandler *BackendPersistHandler::getPersistHandler(char magicBuf[12
|
||||
#endif // HAVE_QGPGME
|
||||
return 0; // unknown cipher or hash
|
||||
}
|
||||
-
|
||||
+
|
||||
int BlowfishPersistHandler::write(Backend* wb, KSaveFile& sf, QByteArray& version, WId)
|
||||
{
|
||||
assert(wb->_cipherType == BACKEND_CIPHER_BLOWFISH);
|
||||
|
||||
+ if (_useECBforReading) {
|
||||
+ qDebug() << "This wallet used ECB and is now saved using CBC";
|
||||
+ _useECBforReading = false;
|
||||
+ }
|
||||
+
|
||||
version[2] = KWALLET_CIPHER_BLOWFISH_CBC;
|
||||
if(!wb->_useNewHash) {
|
||||
version[3] = KWALLET_HASH_SHA1;
|
||||
@@ -358,7 +369,7 @@ int BlowfishPersistHandler::read(Backend* wb, QFile& db, WId)
|
||||
assert(encrypted.size() < db.size());
|
||||
|
||||
BlowFish _bf;
|
||||
- CipherBlockChain bf(&_bf);
|
||||
+ CipherBlockChain bf(&_bf, _useECBforReading);
|
||||
int blksz = bf.blockSize();
|
||||
if ((encrypted.size() % blksz) != 0) {
|
||||
return -5; // invalid file structure
|
||||
@@ -502,7 +513,7 @@ int GpgPersistHandler::write(Backend* wb, KSaveFile& sf, QByteArray& version, WI
|
||||
sf.abort();
|
||||
return -5;
|
||||
}
|
||||
-
|
||||
+
|
||||
boost::shared_ptr< GpgME::Context > ctx( GpgME::Context::createForProtocol(GpgME::OpenPGP) );
|
||||
if (0 == ctx) {
|
||||
kDebug() << "Cannot setup OpenPGP context!";
|
||||
@@ -511,7 +522,7 @@ int GpgPersistHandler::write(Backend* wb, KSaveFile& sf, QByteArray& version, WI
|
||||
}
|
||||
|
||||
assert(wb->_cipherType == BACKEND_CIPHER_GPG);
|
||||
-
|
||||
+
|
||||
QByteArray hashes;
|
||||
QDataStream hashStream(&hashes, QIODevice::WriteOnly);
|
||||
KMD5 md5;
|
||||
@@ -549,7 +560,7 @@ int GpgPersistHandler::write(Backend* wb, KSaveFile& sf, QByteArray& version, WI
|
||||
dataStream << keyID;
|
||||
dataStream << hashes;
|
||||
dataStream << values;
|
||||
-
|
||||
+
|
||||
GpgME::Data decryptedData(dataBuffer.data(), dataBuffer.size(), false);
|
||||
GpgME::Data encryptedData;
|
||||
std::vector< GpgME::Key > keys;
|
||||
@@ -574,7 +585,7 @@ int GpgPersistHandler::write(Backend* wb, KSaveFile& sf, QByteArray& version, WI
|
||||
return -4; // write error
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -596,7 +607,7 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
while (bytes = sf.read(buffer, sizeof(buffer)/sizeof(buffer[0]))){
|
||||
encryptedData.write(buffer, bytes);
|
||||
}
|
||||
-
|
||||
+
|
||||
retry_label:
|
||||
boost::shared_ptr< GpgME::Context > ctx( GpgME::Context::createForProtocol(GpgME::OpenPGP) );
|
||||
if (0 == ctx) {
|
||||
@@ -620,13 +631,13 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
-
|
||||
+
|
||||
decryptedData.seek(0, SEEK_SET);
|
||||
QByteArray dataBuffer;
|
||||
while (bytes = decryptedData.read(buffer, sizeof(buffer)/sizeof(buffer[0]))){
|
||||
dataBuffer.append(buffer, bytes);
|
||||
}
|
||||
-
|
||||
+
|
||||
// load the wallet from the decrypted data
|
||||
QDataStream dataStream(dataBuffer);
|
||||
QString keyID;
|
||||
@@ -661,10 +672,10 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
return -1;
|
||||
}
|
||||
|
||||
-
|
||||
+
|
||||
QDataStream hashStream(hashes);
|
||||
QDataStream valueStream(values);
|
||||
-
|
||||
+
|
||||
quint32 hashCount;
|
||||
hashStream >> hashCount;
|
||||
if (hashCount > 0xFFFF) {
|
||||
@@ -675,10 +686,10 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
while (hashCount--){
|
||||
KMD5::Digest d;
|
||||
hashStream.readRawData(reinterpret_cast<char *>(d), 16);
|
||||
-
|
||||
+
|
||||
quint32 folderSize;
|
||||
hashStream >> folderSize;
|
||||
-
|
||||
+
|
||||
MD5Digest ba = MD5Digest(reinterpret_cast<char *>(d));
|
||||
QMap<MD5Digest, QList<MD5Digest> >::iterator it = wb->_hashes.insert(ba, QList<MD5Digest>());
|
||||
while (folderSize--){
|
||||
@@ -688,27 +699,27 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
(*it).append(ba);
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
while (folderCount--){
|
||||
QString folder;
|
||||
valueStream >> folder;
|
||||
-
|
||||
+
|
||||
quint32 entryCount;
|
||||
valueStream >> entryCount;
|
||||
-
|
||||
+
|
||||
wb->_entries[folder].clear();
|
||||
-
|
||||
+
|
||||
while (entryCount--){
|
||||
KWallet::Wallet::EntryType et = KWallet::Wallet::Unknown;
|
||||
Entry *e = new Entry;
|
||||
-
|
||||
+
|
||||
QString key;
|
||||
valueStream >> key;
|
||||
-
|
||||
+
|
||||
qint32 x =0; // necessary to read properly
|
||||
valueStream >> x;
|
||||
et = static_cast<KWallet::Wallet::EntryType>(x);
|
||||
-
|
||||
+
|
||||
switch (et) {
|
||||
case KWallet::Wallet::Password:
|
||||
case KWallet::Wallet::Stream:
|
||||
@@ -718,7 +729,7 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
delete e;
|
||||
continue;
|
||||
}
|
||||
-
|
||||
+
|
||||
QByteArray a;
|
||||
valueStream >> a;
|
||||
e->setValue(a);
|
||||
@@ -727,7 +738,7 @@ int GpgPersistHandler::read(Backend* wb, QFile& sf, WId w)
|
||||
wb->_entries[folder][key] = e;
|
||||
}
|
||||
}
|
||||
-
|
||||
+
|
||||
wb->_open = true;
|
||||
|
||||
return 0;
|
||||
diff --git a/kwalletd/backend/backendpersisthandler.h b/kwalletd/backend/backendpersisthandler.h
|
||||
index a33db48..11d67f2 100644
|
||||
--- a/kwalletd/backend/backendpersisthandler.h
|
||||
+++ b/kwalletd/backend/backendpersisthandler.h
|
||||
@@ -60,11 +60,13 @@ public:
|
||||
|
||||
class BlowfishPersistHandler : public BackendPersistHandler {
|
||||
public:
|
||||
- BlowfishPersistHandler() {}
|
||||
+ explicit BlowfishPersistHandler(bool useECBforReading =false) : _useECBforReading(useECBforReading) {}
|
||||
virtual ~BlowfishPersistHandler() {}
|
||||
|
||||
virtual int write(Backend* wb, KSaveFile& sf, QByteArray& version, WId w);
|
||||
virtual int read(Backend* wb, QFile& sf, WId w);
|
||||
+private:
|
||||
+ bool _useECBforReading;
|
||||
};
|
||||
|
||||
#ifdef HAVE_QGPGME
|
||||
diff --git a/kwalletd/backend/cbc.cc b/kwalletd/backend/cbc.cc
|
||||
index 7bc5f38..772f3de 100644
|
||||
--- a/kwalletd/backend/cbc.cc
|
||||
+++ b/kwalletd/backend/cbc.cc
|
||||
@@ -1,149 +1,212 @@
|
||||
/* This file is part of the KDE project
|
||||
Copyright (C) 2001 George Staikos <staikos@kde.org>
|
||||
-
|
||||
+
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
-
|
||||
+
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
-
|
||||
+
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
-
|
||||
#include "cbc.h"
|
||||
#include <string.h>
|
||||
-
|
||||
-
|
||||
-
|
||||
-CipherBlockChain::CipherBlockChain(BlockCipher *cipher) : _cipher(cipher) {
|
||||
- _next = 0L;
|
||||
- _register = 0L;
|
||||
- _len = -1;
|
||||
- _reader = _writer = 0L;
|
||||
- if (cipher) {
|
||||
- _blksz = cipher->blockSize();
|
||||
- }
|
||||
+#include <kdebug.h>
|
||||
+
|
||||
+CipherBlockChain::CipherBlockChain(BlockCipher *cipher, bool useECBforReading) :
|
||||
+ _cipher(cipher)
|
||||
+ , _useECBforReading(useECBforReading)
|
||||
+{
|
||||
+ _next = 0L;
|
||||
+ _register = 0L;
|
||||
+ _len = -1;
|
||||
+ _reader = _writer = 0L;
|
||||
+ if (cipher) {
|
||||
+ _blksz = cipher->blockSize();
|
||||
+ }
|
||||
}
|
||||
|
||||
-
|
||||
-CipherBlockChain::~CipherBlockChain() {
|
||||
- delete[] (char *)_register;
|
||||
- _register = 0L;
|
||||
- delete[] (char *)_next;
|
||||
- _next = 0L;
|
||||
+CipherBlockChain::~CipherBlockChain()
|
||||
+{
|
||||
+ delete[](char *)_register;
|
||||
+ _register = 0L;
|
||||
+ delete[](char *)_next;
|
||||
+ _next = 0L;
|
||||
}
|
||||
|
||||
-
|
||||
-bool CipherBlockChain::setKey(void *key, int bitlength) {
|
||||
- if (_cipher) {
|
||||
- return _cipher->setKey(key, bitlength);
|
||||
- }
|
||||
- return false;
|
||||
+bool CipherBlockChain::setKey(void *key, int bitlength)
|
||||
+{
|
||||
+ if (_cipher) {
|
||||
+ return _cipher->setKey(key, bitlength);
|
||||
+ }
|
||||
+ return false;
|
||||
}
|
||||
|
||||
-
|
||||
-int CipherBlockChain::keyLen() const {
|
||||
- if (_cipher) {
|
||||
- return _cipher->keyLen();
|
||||
- }
|
||||
- return -1;
|
||||
+int CipherBlockChain::keyLen() const
|
||||
+{
|
||||
+ if (_cipher) {
|
||||
+ return _cipher->keyLen();
|
||||
+ }
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
-
|
||||
-bool CipherBlockChain::variableKeyLen() const {
|
||||
- if (_cipher) {
|
||||
- return _cipher->variableKeyLen();
|
||||
- }
|
||||
- return false;
|
||||
+bool CipherBlockChain::variableKeyLen() const
|
||||
+{
|
||||
+ if (_cipher) {
|
||||
+ return _cipher->variableKeyLen();
|
||||
+ }
|
||||
+ return false;
|
||||
}
|
||||
|
||||
-
|
||||
-bool CipherBlockChain::readyToGo() const {
|
||||
- if (_cipher) {
|
||||
- return _cipher->readyToGo();
|
||||
- }
|
||||
- return false;
|
||||
+bool CipherBlockChain::readyToGo() const
|
||||
+{
|
||||
+ if (_cipher) {
|
||||
+ return _cipher->readyToGo();
|
||||
+ }
|
||||
+ return false;
|
||||
}
|
||||
|
||||
-
|
||||
-int CipherBlockChain::encrypt(void *block, int len) {
|
||||
- if (_cipher && !_reader) {
|
||||
- int rc;
|
||||
-
|
||||
- _writer |= 1;
|
||||
-
|
||||
- if (!_register) {
|
||||
- _register = new unsigned char[len];
|
||||
- _len = len;
|
||||
- memset(_register, 0, len);
|
||||
- } else if (len > _len) {
|
||||
- return -1;
|
||||
- }
|
||||
-
|
||||
- // This might be optimizable
|
||||
- char *tb = (char *)block;
|
||||
- for (int i = 0; i < len; i++) {
|
||||
- tb[i] ^= ((char *)_register)[i];
|
||||
- }
|
||||
-
|
||||
- rc = _cipher->encrypt(block, len);
|
||||
-
|
||||
- if (rc != -1) {
|
||||
- memcpy(_register, block, len);
|
||||
- }
|
||||
-
|
||||
- return rc;
|
||||
- }
|
||||
- return -1;
|
||||
+void CipherBlockChain::initRegister() {
|
||||
+ if (_register == 0L) {
|
||||
+ size_t registerLen = _cipher->blockSize();
|
||||
+ _register = new unsigned char[registerLen];
|
||||
+ _len = registerLen;
|
||||
+ }
|
||||
+ memset(_register, 0, _len);
|
||||
}
|
||||
|
||||
+int CipherBlockChain::encrypt(void *block, int len)
|
||||
+{
|
||||
+ if (_cipher && !_reader) {
|
||||
+ int rc;
|
||||
|
||||
-int CipherBlockChain::decrypt(void *block, int len) {
|
||||
- if (_cipher && !_writer) {
|
||||
- int rc;
|
||||
+ _writer |= 1;
|
||||
|
||||
- _reader |= 1;
|
||||
+ initRegister();
|
||||
|
||||
- if (!_register) {
|
||||
- _register = new unsigned char[len];
|
||||
- _len = len;
|
||||
- memset(_register, 0, len);
|
||||
- } else if (len > _len) {
|
||||
- return -1;
|
||||
- }
|
||||
+ if ((len % _len) >0) {
|
||||
+ kDebug() << "Block length given encrypt (" << len << ") is not a multiple of " << _len;
|
||||
+ return -1;
|
||||
+ }
|
||||
|
||||
- if (!_next)
|
||||
- _next = new unsigned char[_len];
|
||||
- memcpy(_next, block, _len);
|
||||
+ char *elemBlock = static_cast<char*>(block);
|
||||
+ for (int b = 0; b < len/_len; b++) {
|
||||
|
||||
- rc = _cipher->decrypt(block, len);
|
||||
+ // This might be optimizable
|
||||
+ char *tb = static_cast<char*>(elemBlock);
|
||||
+ for (int i = 0; i < _len; i++) {
|
||||
+ *tb++ ^= ((char *)_register)[i];
|
||||
+ }
|
||||
|
||||
- if (rc != -1) {
|
||||
- // This might be optimizable
|
||||
- char *tb = (char *)block;
|
||||
- for (int i = 0; i < len; i++) {
|
||||
- tb[i] ^= ((char *)_register)[i];
|
||||
- }
|
||||
- }
|
||||
+ rc = _cipher->encrypt(elemBlock, _len);
|
||||
|
||||
- void *temp;
|
||||
- temp = _next;
|
||||
- _next = _register;
|
||||
- _register = temp;
|
||||
+ if (rc != -1) {
|
||||
+ memcpy(_register, elemBlock, _len);
|
||||
+ }
|
||||
+ elemBlock += _len;
|
||||
+ }
|
||||
|
||||
- return rc;
|
||||
- }
|
||||
- return -1;
|
||||
+ return rc;
|
||||
+ }
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
+// This is the old decrypt method, that was decrypting using ECB
|
||||
+// instead of CBC
|
||||
+int CipherBlockChain::decryptECB(void *block, int len) {
|
||||
+ if (_cipher && !_writer) {
|
||||
+ int rc;
|
||||
+
|
||||
+ _reader |= 1;
|
||||
+
|
||||
+ if (!_register) {
|
||||
+ _register = new unsigned char[len];
|
||||
+ _len = len;
|
||||
+ memset(_register, 0, len);
|
||||
+ } else if (len > _len) {
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ if (!_next) {
|
||||
+ _next = new unsigned char[_len];
|
||||
+ }
|
||||
+ memcpy(_next, block, _len);
|
||||
+
|
||||
+ rc = _cipher->decrypt(block, len);
|
||||
+
|
||||
+ if (rc != -1) {
|
||||
+ // This might be optimizable
|
||||
+ char *tb = (char *)block;
|
||||
+ for (int i = 0; i < len; i++) {
|
||||
+ tb[i] ^= ((char *)_register)[i];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ void *temp;
|
||||
+ temp = _next;
|
||||
+ _next = _register;
|
||||
+ _register = temp;
|
||||
+
|
||||
+ return rc;
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
|
||||
-
|
||||
+int CipherBlockChain::decrypt(void *block, int len)
|
||||
+{
|
||||
+ if (_useECBforReading) {
|
||||
+ kDebug() << "decrypting using ECB!";
|
||||
+ return decryptECB(block, len);
|
||||
+ }
|
||||
+
|
||||
+ if (_cipher && !_writer) {
|
||||
+ int rc = 0;
|
||||
+
|
||||
+ _reader |= 1;
|
||||
+
|
||||
+ initRegister();
|
||||
+
|
||||
+ if ((len % _len) >0) {
|
||||
+ kDebug() << "Block length given for decrypt (" << len << ") is not a multiple of " << _len;
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ char *elemBlock = static_cast<char*>(block);
|
||||
+ for (int b = 0; b < len/_len; b++) {
|
||||
+ if (_next == 0L) {
|
||||
+ _next = new unsigned char[_len];
|
||||
+ }
|
||||
+ memcpy(_next, elemBlock, _len);
|
||||
+
|
||||
+ int bytesDecrypted = _cipher->decrypt(elemBlock, _len);
|
||||
+
|
||||
+ if (bytesDecrypted != -1) {
|
||||
+ rc += bytesDecrypted;
|
||||
+ // This might be optimizable
|
||||
+ char *tb = (char *)elemBlock;
|
||||
+ for (int i = 0; i < _len; i++) {
|
||||
+ *tb++ ^= ((char *)_register)[i];
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ void *temp;
|
||||
+ temp = _next;
|
||||
+ _next = _register;
|
||||
+ _register = temp;
|
||||
+
|
||||
+ elemBlock += _len;
|
||||
+ }
|
||||
+
|
||||
+ return rc;
|
||||
+ }
|
||||
+ return -1;
|
||||
+}
|
||||
|
||||
diff --git a/kwalletd/backend/cbc.h b/kwalletd/backend/cbc.h
|
||||
index 1ce971a..8750785 100644
|
||||
--- a/kwalletd/backend/cbc.h
|
||||
+++ b/kwalletd/backend/cbc.h
|
||||
@@ -1,24 +1,22 @@
|
||||
/* This file is part of the KDE project
|
||||
Copyright (C) 2001 George Staikos <staikos@kde.org>
|
||||
-
|
||||
+
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
-
|
||||
+
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
-
|
||||
+
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this library; see the file COPYING.LIB. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
-
|
||||
-
|
||||
#ifndef __CBC__KO__H
|
||||
#define __CBC__KO__H
|
||||
|
||||
@@ -33,30 +31,34 @@
|
||||
* calls to the other will fail in this instance.
|
||||
*/
|
||||
|
||||
-class CipherBlockChain : public BlockCipher {
|
||||
- public:
|
||||
- CipherBlockChain(BlockCipher *cipher);
|
||||
- virtual ~CipherBlockChain();
|
||||
+class CipherBlockChain : public BlockCipher
|
||||
+{
|
||||
+public:
|
||||
+ CipherBlockChain(BlockCipher *cipher, bool useECBforReading =false);
|
||||
+ virtual ~CipherBlockChain();
|
||||
|
||||
- virtual bool setKey(void *key, int bitlength);
|
||||
+ virtual bool setKey(void *key, int bitlength);
|
||||
|
||||
- virtual int keyLen() const;
|
||||
+ virtual int keyLen() const;
|
||||
|
||||
- virtual bool variableKeyLen() const;
|
||||
+ virtual bool variableKeyLen() const;
|
||||
|
||||
- virtual bool readyToGo() const;
|
||||
+ virtual bool readyToGo() const;
|
||||
|
||||
- virtual int encrypt(void *block, int len);
|
||||
+ virtual int encrypt(void *block, int len);
|
||||
|
||||
- virtual int decrypt(void *block, int len);
|
||||
+ virtual int decrypt(void *block, int len);
|
||||
|
||||
- private:
|
||||
- BlockCipher *_cipher;
|
||||
- void *_register;
|
||||
- void *_next;
|
||||
- int _len;
|
||||
- int _reader, _writer;
|
||||
+private:
|
||||
+ void initRegister();
|
||||
+ int decryptECB(void *block, int len);
|
||||
|
||||
+ BlockCipher *_cipher;
|
||||
+ void *_register;
|
||||
+ void *_next;
|
||||
+ int _len;
|
||||
+ int _reader, _writer;
|
||||
+ bool _useECBforReading;
|
||||
};
|
||||
|
||||
#endif
|
||||
diff --git a/kwalletd/backend/tests/testbf.cpp b/kwalletd/backend/tests/testbf.cpp
|
||||
index 12dc746..b3d554a 100644
|
||||
--- a/kwalletd/backend/tests/testbf.cpp
|
||||
+++ b/kwalletd/backend/tests/testbf.cpp
|
||||
@@ -4,64 +4,60 @@
|
||||
#include "blowfish.h"
|
||||
#include "cbc.h"
|
||||
|
||||
-
|
||||
-int main() {
|
||||
-BlockCipher *bf;
|
||||
-char data[] = "This is a test.";
|
||||
-char expect[] = "\x22\x30\x7e\x2f\x42\x28\x44\x01\xda\xdf\x5a\x81\xd7\xe5\x7c\xd0";
|
||||
-char key[] = "testkey";
|
||||
-unsigned long et[] = {0x11223344};
|
||||
-
|
||||
- printf("%d: 0x11 == %d and 0x44 == %d\n", ((unsigned char *)et)[0],
|
||||
- 0x11, 0x44);
|
||||
- bf = new BlowFish();
|
||||
+int main()
|
||||
+{
|
||||
+ BlockCipher *bf;
|
||||
+ char data[] = "This is a test.";
|
||||
+ char expect[] = "\x3f\x3c\x2d\xae\x8c\x7\x84\xf2\xa7\x6d\x28\xbd\xd\xb\xb8\x79";
|
||||
+ char key[] = "testkey";
|
||||
+ unsigned long et[] = {0x11223344};
|
||||
+
|
||||
+ printf("%d: 0x11 == %d and 0x44 == %d\n", ((unsigned char *)et)[0],
|
||||
+ 0x11, 0x44);
|
||||
+ bf = new BlowFish();
|
||||
// bf = new CipherBlockChain(new BlowFish());
|
||||
|
||||
- bf->setKey((void *)key, 7*8);
|
||||
-
|
||||
- if (!bf->readyToGo()) {
|
||||
- printf("Error: not ready to go!\n");
|
||||
- return -1;
|
||||
- }
|
||||
+ bf->setKey((void *)key, 7 * 8);
|
||||
|
||||
- printf("About to encrypt...\n"); fflush(stdout);
|
||||
- if (-1 == bf->encrypt((void *)data, 8)) {
|
||||
- printf("Error: encrypt failed!\n");
|
||||
- return -1;
|
||||
- }
|
||||
- printf("About to encrypt part 2...\n"); fflush(stdout);
|
||||
- bf->encrypt((void *)(data+8), 8);
|
||||
-
|
||||
- printf("Encryption done. data[] is now: ");
|
||||
- for (int i = 0; i < 16; i++) {
|
||||
- printf("0x%x ", data[i]&0xff);
|
||||
- if ((data[i]&0xff) != (expect[i]&0xff)) {
|
||||
- printf("Error. This byte failed the comparison. It should have been 0x%x.\n", expect[i]&0xff);
|
||||
+ if (!bf->readyToGo()) {
|
||||
+ printf("Error: not ready to go!\n");
|
||||
return -1;
|
||||
- }
|
||||
- }
|
||||
- printf("\n");
|
||||
+ }
|
||||
|
||||
- delete bf;
|
||||
- bf = new BlowFish();
|
||||
+ printf("About to encrypt...\n"); fflush(stdout);
|
||||
+ if (-1 == bf->encrypt((void *)data, 16)) {
|
||||
+ printf("Error: encrypt failed!\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+
|
||||
+ printf("Encryption done. data[] is now: ");
|
||||
+ for (int i = 0; i < 16; i++) {
|
||||
+ printf("0x%x ", data[i] & 0xff);
|
||||
+ if ((data[i] & 0xff) != (expect[i] & 0xff)) {
|
||||
+ printf("Error. This byte failed the comparison. It should have been 0x%x.\n", expect[i] & 0xff);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ printf("\n");
|
||||
+
|
||||
+ delete bf;
|
||||
+ bf = new BlowFish();
|
||||
// bf = new CipherBlockChain(new BlowFish());
|
||||
- bf->setKey((void *)key, 7*8);
|
||||
+ bf->setKey((void *)key, 7 * 8);
|
||||
|
||||
- printf("About to decrypt...\n"); fflush(stdout);
|
||||
- if (-1 == bf->decrypt((void *)data, 16)) {
|
||||
- printf("Error: decrypt failed!\n");
|
||||
- return -1;
|
||||
- }
|
||||
- //bf->decrypt((void *)(data+8), 8);
|
||||
+ printf("About to decrypt...\n"); fflush(stdout);
|
||||
+ if (-1 == bf->decrypt((void *)data, 16)) {
|
||||
+ printf("Error: decrypt failed!\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
+ //bf->decrypt((void *)(data+8), 8);
|
||||
|
||||
- printf("All done! Result... data[] = \"%s\"\n", data);
|
||||
- if (strcmp(data, "This is a test.")) {
|
||||
- printf("ERROR. Decryption failed.\n");
|
||||
- return -1;
|
||||
- }
|
||||
+ printf("All done! Result... data[] = \"%s\"\n", data);
|
||||
+ if (strcmp(data, "This is a test.")) {
|
||||
+ printf("ERROR. Decryption failed.\n");
|
||||
+ return -1;
|
||||
+ }
|
||||
|
||||
- delete bf;
|
||||
+ delete bf;
|
||||
}
|
||||
|
||||
-
|
||||
-
|
||||
--
|
||||
2.2.1
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/kde-base/kwalletd/kwalletd-4.14.3-r1.ebuild,v 1.1 2015/01/20 21:07:52 johu Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
KMNAME="kde-runtime"
|
||||
inherit kde4-meta
|
||||
|
||||
DESCRIPTION="KDE Password Server"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
||||
IUSE="debug gpg"
|
||||
|
||||
DEPEND="
|
||||
gpg? (
|
||||
app-crypt/gpgme
|
||||
$(add_kdebase_dep kdepimlibs)
|
||||
)
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
RESTRICT="test"
|
||||
# testpamopen crashes with a buffer overflow (__fortify_fail)
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-CVE-2013-7252.patch" )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake-utils_use_find_package gpg Gpgme)
|
||||
$(cmake-utils_use_find_package gpg QGpgme)
|
||||
)
|
||||
|
||||
kde4-base_src_configure
|
||||
}
|
@ -0,0 +1,367 @@
|
||||
From: Jan Grulich <jgrulich@redhat.com>
|
||||
Date: Thu, 11 Dec 2014 09:47:14 +0000
|
||||
Subject: Backport openconnect fixes from plasma-nm
|
||||
X-Git-Url: http://quickgit.kde.org/?p=networkmanagement.git&a=commitdiff&h=5e09186846e190427010a879ff25077db62a8ede
|
||||
---
|
||||
Backport openconnect fixes from plasma-nm
|
||||
Fixes OpenConnect NEWGROUP handling and build against OpenConnect > 7.0
|
||||
---
|
||||
|
||||
|
||||
--- a/vpnplugins/openconnect/CMakeLists.txt
|
||||
+++ b/vpnplugins/openconnect/CMakeLists.txt
|
||||
@@ -18,6 +18,7 @@
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/ui)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libs)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../libs/internals)
|
||||
+ include_directories(${OPENCONNECT_INCLUDE_DIRS})
|
||||
|
||||
set(openconnect_SRCS
|
||||
openconnectui.cpp
|
||||
|
||||
--- a/vpnplugins/openconnect/openconnectauth.cpp
|
||||
+++ b/vpnplugins/openconnect/openconnectauth.cpp
|
||||
@@ -71,6 +71,7 @@
|
||||
OpenconnectAuthWorkerThread *worker;
|
||||
QList<VPNHost> hosts;
|
||||
bool userQuit;
|
||||
+ bool formGroupChanged;
|
||||
int cancelPipes[2];
|
||||
QList<QPair<QString, int> > serverLog;
|
||||
|
||||
@@ -100,7 +101,7 @@
|
||||
d->ui.btnConnect->setIcon(KIcon("network-connect"));
|
||||
d->ui.viewServerLog->setChecked(false);
|
||||
|
||||
- d->worker = new OpenconnectAuthWorkerThread(&d->mutex, &d->workerWaiting, &d->userQuit, d->cancelPipes[0]);
|
||||
+ d->worker = new OpenconnectAuthWorkerThread(&d->mutex, &d->workerWaiting, &d->userQuit, &d->formGroupChanged, d->cancelPipes[0]);
|
||||
|
||||
// gets the pointer to struct openconnect_info (defined in openconnect.h), which contains data that OpenConnect needs,
|
||||
// and which needs to be populated with settings we get from NM, like host, certificate or private key
|
||||
@@ -149,7 +150,7 @@
|
||||
}
|
||||
if (!dataMap[NM_OPENCONNECT_KEY_CACERT].isEmpty()) {
|
||||
QByteArray crt = dataMap[NM_OPENCONNECT_KEY_CACERT].toAscii();
|
||||
- openconnect_set_cafile(d->vpninfo, strdup(crt.data()));
|
||||
+ openconnect_set_cafile(d->vpninfo, OC3DUP(crt.data()));
|
||||
}
|
||||
if (dataMap[NM_OPENCONNECT_KEY_CSD_ENABLE] == "yes") {
|
||||
char *wrapper;
|
||||
@@ -162,12 +163,12 @@
|
||||
}
|
||||
if (!dataMap[NM_OPENCONNECT_KEY_PROXY].isEmpty()) {
|
||||
QByteArray proxy = dataMap[NM_OPENCONNECT_KEY_PROXY].toAscii();
|
||||
- openconnect_set_http_proxy(d->vpninfo, strdup(proxy.data()));
|
||||
+ openconnect_set_http_proxy(d->vpninfo, OC3DUP(proxy.data()));
|
||||
}
|
||||
if (!dataMap[NM_OPENCONNECT_KEY_USERCERT].isEmpty()) {
|
||||
QByteArray crt = dataMap[NM_OPENCONNECT_KEY_USERCERT].toAscii();
|
||||
QByteArray key = dataMap[NM_OPENCONNECT_KEY_PRIVKEY].toAscii();
|
||||
- openconnect_set_client_cert (d->vpninfo, strdup(crt.data()), strdup(key.data()));
|
||||
+ openconnect_set_client_cert (d->vpninfo, OC3DUP(crt.data()), OC3DUP(key.data()));
|
||||
|
||||
if (!crt.isEmpty() && dataMap[NM_OPENCONNECT_KEY_PEM_PASSPHRASE_FSID] == "yes") {
|
||||
openconnect_passphrase_from_fsid(d->vpninfo);
|
||||
@@ -261,10 +262,10 @@
|
||||
const VPNHost &host = d->hosts.at(i);
|
||||
if (openconnect_parse_url(d->vpninfo, host.address.toAscii().data())) {
|
||||
kWarning() << "Failed to parse server URL" << host.address;
|
||||
- openconnect_set_hostname(d->vpninfo, strdup(host.address.toAscii().data()));
|
||||
+ openconnect_set_hostname(d->vpninfo, OC3DUP(host.address.toAscii().data()));
|
||||
}
|
||||
if (!openconnect_get_urlpath(d->vpninfo) && !host.group.isEmpty())
|
||||
- openconnect_set_urlpath(d->vpninfo, strdup(host.group.toAscii().data()));
|
||||
+ openconnect_set_urlpath(d->vpninfo, OC3DUP(host.group.toAscii().data()));
|
||||
d->secrets["lasthost"] = host.name;
|
||||
addFormInfo(QLatin1String("dialog-information"), i18n("Contacting host, please wait..."));
|
||||
d->worker->start();
|
||||
@@ -284,9 +285,13 @@
|
||||
secretData.insert(QLatin1String(NM_OPENCONNECT_KEY_COOKIE), QLatin1String(openconnect_get_cookie(d->vpninfo)));
|
||||
openconnect_clear_cookie(d->vpninfo);
|
||||
|
||||
+#if OPENCONNECT_CHECK_VER(5,0)
|
||||
+ const char *fingerprint = openconnect_get_peer_cert_hash(d->vpninfo);
|
||||
+#else
|
||||
OPENCONNECT_X509 *cert = openconnect_get_peer_cert(d->vpninfo);
|
||||
char fingerprint[41];
|
||||
openconnect_get_cert_sha1(d->vpninfo, cert, fingerprint);
|
||||
+#endif
|
||||
secretData.insert(QLatin1String(NM_OPENCONNECT_KEY_GWCERT), QLatin1String(fingerprint));
|
||||
secretData.insert(QLatin1String("certsigs"), d->certificateFingerprints.join("\t"));
|
||||
secretData.insert(QLatin1String("autoconnect"), d->ui.chkAutoconnect->isChecked() ? "yes" : "no");
|
||||
@@ -434,14 +439,12 @@
|
||||
cmb->setCurrentIndex(i);
|
||||
if (sopt == AUTHGROUP_OPT(form) &&
|
||||
i != AUTHGROUP_SELECTION(form)) {
|
||||
- // XXX: Immediately return OC_FORM_RESULT_NEWGROUP to
|
||||
- // change group
|
||||
+ QTimer::singleShot(0, this, SLOT(formGroupChanged()));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (sopt == AUTHGROUP_OPT(form)) {
|
||||
- // TODO: Hook up signal when the KComboBox entry changes, to
|
||||
- // return OC_FORM_RESULT_NEWGROUP
|
||||
+ connect(cmb, SIGNAL(currentIndexChanged(int)), this, SLOT(formGroupChanged()));
|
||||
}
|
||||
widget = qobject_cast<QWidget*>(cmb);
|
||||
}
|
||||
@@ -529,6 +532,15 @@
|
||||
d->mutex.unlock();
|
||||
}
|
||||
|
||||
+void OpenconnectAuthWidget::formGroupChanged()
|
||||
+{
|
||||
+ Q_D(OpenconnectAuthWidget);
|
||||
+
|
||||
+ d->formGroupChanged = true;
|
||||
+ formLoginClicked();
|
||||
+}
|
||||
+
|
||||
+
|
||||
// Writes the user input from the form into the oc_auth_form structs we got from
|
||||
// libopenconnect, and wakes the worker thread up to try to log in and obtain a
|
||||
// cookie with this data
|
||||
@@ -548,14 +560,14 @@
|
||||
if (opt->type == OC_FORM_OPT_PASSWORD || opt->type == OC_FORM_OPT_TEXT) {
|
||||
KLineEdit *le = qobject_cast<KLineEdit*>(widget);
|
||||
QByteArray text = le->text().toAscii();
|
||||
- opt->value = strdup(text.data());
|
||||
+ openconnect_set_option_value(opt, text.data());
|
||||
if (opt->type == OC_FORM_OPT_TEXT) {
|
||||
d->secrets.insert(key,le->text());
|
||||
}
|
||||
} else if (opt->type == OC_FORM_OPT_SELECT) {
|
||||
KComboBox *cbo = qobject_cast<KComboBox*>(widget);
|
||||
QByteArray text = cbo->itemData(cbo->currentIndex()).toString().toAscii();
|
||||
- opt->value = strdup(text.data());
|
||||
+ openconnect_set_option_value(opt, text.data());
|
||||
d->secrets.insert(key,cbo->itemData(cbo->currentIndex()).toString());
|
||||
}
|
||||
}
|
||||
|
||||
--- a/vpnplugins/openconnect/openconnectauth.h
|
||||
+++ b/vpnplugins/openconnect/openconnectauth.h
|
||||
@@ -64,6 +64,7 @@
|
||||
void updateLog(const QString &, const int &);
|
||||
void logLevelChanged(int);
|
||||
void formLoginClicked();
|
||||
+ void formGroupChanged();
|
||||
void workerFinished(const int&);
|
||||
void viewServerLogToggled(bool);
|
||||
void passwordModeToggled(bool);
|
||||
|
||||
--- a/vpnplugins/openconnect/openconnectauthworkerthread.cpp
|
||||
+++ b/vpnplugins/openconnect/openconnectauthworkerthread.cpp
|
||||
@@ -43,6 +43,20 @@
|
||||
class OpenconnectAuthStaticWrapper
|
||||
{
|
||||
public:
|
||||
+#if OPENCONNECT_CHECK_VER(5,0)
|
||||
+ static int writeNewConfig(void *obj, const char *str, int num)
|
||||
+ {
|
||||
+ if (obj)
|
||||
+ return static_cast<OpenconnectAuthWorkerThread*>(obj)->writeNewConfig(str, num);
|
||||
+ return -1;
|
||||
+ }
|
||||
+ static int validatePeerCert(void *obj, const char *str)
|
||||
+ {
|
||||
+ if (obj)
|
||||
+ return static_cast<OpenconnectAuthWorkerThread*>(obj)->validatePeerCert(NULL, str);
|
||||
+ return -1;
|
||||
+ }
|
||||
+#else
|
||||
static int writeNewConfig(void *obj, char *str, int num)
|
||||
{
|
||||
if (obj)
|
||||
@@ -55,7 +69,8 @@
|
||||
return static_cast<OpenconnectAuthWorkerThread*>(obj)->validatePeerCert(cert, str);
|
||||
return -1;
|
||||
}
|
||||
- static int processAuthForm(void *obj, struct oc_auth_form *form)
|
||||
+#endif
|
||||
+ static int processAuthForm(void *obj, struct oc_auth_form *form)
|
||||
{
|
||||
if (obj)
|
||||
return static_cast<OpenconnectAuthWorkerThread*>(obj)->processAuthFormP(form);
|
||||
@@ -72,15 +87,15 @@
|
||||
}
|
||||
};
|
||||
|
||||
-OpenconnectAuthWorkerThread::OpenconnectAuthWorkerThread(QMutex *mutex, QWaitCondition *waitForUserInput, bool *userDecidedToQuit, int cancelFd)
|
||||
-: QThread(), m_mutex(mutex), m_waitForUserInput(waitForUserInput), m_userDecidedToQuit(userDecidedToQuit)
|
||||
-{
|
||||
- m_openconnectInfo = openconnect_vpninfo_new((char*)"OpenConnect VPN Agent (NetworkManager - running on KDE)",
|
||||
- OpenconnectAuthStaticWrapper::validatePeerCert,
|
||||
- OpenconnectAuthStaticWrapper::writeNewConfig,
|
||||
- OpenconnectAuthStaticWrapper::processAuthForm,
|
||||
- OpenconnectAuthStaticWrapper::writeProgress,
|
||||
- this);
|
||||
+OpenconnectAuthWorkerThread::OpenconnectAuthWorkerThread(QMutex *mutex, QWaitCondition *waitForUserInput, bool *userDecidedToQuit, bool *formGroupChanged, int cancelFd)
|
||||
+ : QThread(), m_mutex(mutex), m_waitForUserInput(waitForUserInput), m_userDecidedToQuit(userDecidedToQuit), m_formGroupChanged(formGroupChanged)
|
||||
+{
|
||||
+ m_openconnectInfo = openconnect_vpninfo_new((char*)"OpenConnect VPN Agent (PlasmaNM - running on KDE)",
|
||||
+ OpenconnectAuthStaticWrapper::validatePeerCert,
|
||||
+ OpenconnectAuthStaticWrapper::writeNewConfig,
|
||||
+ OpenconnectAuthStaticWrapper::processAuthForm,
|
||||
+ OpenconnectAuthStaticWrapper::writeProgress,
|
||||
+ this);
|
||||
#if OPENCONNECT_CHECK_VER(1,4)
|
||||
openconnect_set_cancel_fd(m_openconnectInfo, cancelFd);
|
||||
#else
|
||||
@@ -108,7 +123,7 @@
|
||||
return m_openconnectInfo;
|
||||
}
|
||||
|
||||
-int OpenconnectAuthWorkerThread::writeNewConfig(char *buf, int buflen)
|
||||
+int OpenconnectAuthWorkerThread::writeNewConfig(const char *buf, int buflen)
|
||||
{
|
||||
Q_UNUSED(buflen)
|
||||
if (*m_userDecidedToQuit)
|
||||
@@ -116,32 +131,39 @@
|
||||
emit writeNewConfig(QString(QByteArray(buf).toBase64()));
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
#if !OPENCONNECT_CHECK_VER(1,5)
|
||||
static char *openconnect_get_cert_details(struct openconnect_info *vpninfo,
|
||||
OPENCONNECT_X509 *cert)
|
||||
{
|
||||
- Q_UNUSED(vpninfo)
|
||||
-
|
||||
- BIO *bp = BIO_new(BIO_s_mem());
|
||||
- BUF_MEM *certinfo;
|
||||
- char zero = 0;
|
||||
- char *ret;
|
||||
-
|
||||
- X509_print_ex(bp, cert, 0, 0);
|
||||
- BIO_write(bp, &zero, 1);
|
||||
- BIO_get_mem_ptr(bp, &certinfo);
|
||||
-
|
||||
- ret = strdup(certinfo->data);
|
||||
- BIO_free(bp);
|
||||
-
|
||||
- return ret;
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
-int OpenconnectAuthWorkerThread::validatePeerCert(OPENCONNECT_X509 *cert, const char *reason)
|
||||
-{
|
||||
- if (*m_userDecidedToQuit)
|
||||
- return -EINVAL;
|
||||
+ Q_UNUSED(vpninfo)
|
||||
+
|
||||
+ BIO *bp = BIO_new(BIO_s_mem());
|
||||
+ BUF_MEM *certinfo;
|
||||
+ char zero = 0;
|
||||
+ char *ret;
|
||||
+
|
||||
+ X509_print_ex(bp, cert, 0, 0);
|
||||
+ BIO_write(bp, &zero, 1);
|
||||
+ BIO_get_mem_ptr(bp, &certinfo);
|
||||
+
|
||||
+ ret = strdup(certinfo->data);
|
||||
+ BIO_free(bp);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+int OpenconnectAuthWorkerThread::validatePeerCert(void *cert, const char *reason)
|
||||
+{
|
||||
+ if (*m_userDecidedToQuit)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+#if OPENCONNECT_CHECK_VER(5,0)
|
||||
+ (void)cert;
|
||||
+ const char *fingerprint = openconnect_get_peer_cert_hash(m_openconnectInfo);
|
||||
+ char *details = openconnect_get_peer_cert_details(m_openconnectInfo);
|
||||
+#else
|
||||
char fingerprint[41];
|
||||
int ret = 0;
|
||||
|
||||
@@ -150,7 +172,7 @@
|
||||
return ret;
|
||||
|
||||
char *details = openconnect_get_cert_details(m_openconnectInfo, cert);
|
||||
-
|
||||
+#endif
|
||||
bool accepted = false;
|
||||
m_mutex->lock();
|
||||
QString qFingerprint(fingerprint);
|
||||
@@ -159,7 +181,7 @@
|
||||
emit validatePeerCert(qFingerprint, qCertinfo, qReason, &accepted);
|
||||
m_waitForUserInput->wait(m_mutex);
|
||||
m_mutex->unlock();
|
||||
- ::free(details);
|
||||
+ openconnect_free_cert_info(m_openconnectInfo, details);
|
||||
if (*m_userDecidedToQuit)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -176,14 +198,15 @@
|
||||
return -1;
|
||||
|
||||
m_mutex->lock();
|
||||
+ *m_formGroupChanged = false;
|
||||
emit processAuthForm(form);
|
||||
m_waitForUserInput->wait(m_mutex);
|
||||
m_mutex->unlock();
|
||||
if (*m_userDecidedToQuit)
|
||||
return OC_FORM_RESULT_CANCELLED;
|
||||
|
||||
- // TODO : If group changed, return OC_FORM_RESULT_NEWGROUP
|
||||
-
|
||||
+ if (*m_formGroupChanged)
|
||||
+ return OC_FORM_RESULT_NEWGROUP;
|
||||
return OC_FORM_RESULT_OK;
|
||||
}
|
||||
|
||||
|
||||
--- a/vpnplugins/openconnect/openconnectauthworkerthread.h
|
||||
+++ b/vpnplugins/openconnect/openconnectauthworkerthread.h
|
||||
@@ -59,6 +59,18 @@
|
||||
#define OC_FORM_RESULT_NEWGROUP 2
|
||||
#endif
|
||||
|
||||
+#if OPENCONNECT_CHECK_VER(4,0)
|
||||
+#define OC3DUP(x) (x)
|
||||
+#else
|
||||
+#define openconnect_set_option_value(opt, val) do { \
|
||||
+ struct oc_form_opt *_o = (opt); \
|
||||
+ free(_o->value); _o->value = strdup(val); \
|
||||
+ } while (0)
|
||||
+#define openconnect_free_cert_info(v, x) ::free(x)
|
||||
+#define OC3DUP(x) strdup(x)
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
#include <QThread>
|
||||
|
||||
class QMutex;
|
||||
@@ -70,7 +82,7 @@
|
||||
Q_OBJECT
|
||||
friend class OpenconnectAuthStaticWrapper;
|
||||
public:
|
||||
- OpenconnectAuthWorkerThread(QMutex *, QWaitCondition *, bool *, int);
|
||||
+ OpenconnectAuthWorkerThread(QMutex *, QWaitCondition *, bool *, bool *, int);
|
||||
~OpenconnectAuthWorkerThread();
|
||||
struct openconnect_info* getOpenconnectInfo();
|
||||
|
||||
@@ -85,14 +97,15 @@
|
||||
void run();
|
||||
|
||||
private:
|
||||
- int writeNewConfig(char *, int);
|
||||
- int validatePeerCert(OPENCONNECT_X509 *, const char *);
|
||||
+ int writeNewConfig(const char *, int);
|
||||
+ int validatePeerCert(void *, const char *);
|
||||
int processAuthFormP(struct oc_auth_form *);
|
||||
void writeProgress(int level, const char *, va_list);
|
||||
|
||||
QMutex *m_mutex;
|
||||
QWaitCondition *m_waitForUserInput;
|
||||
bool *m_userDecidedToQuit;
|
||||
+ bool *m_formGroupChanged;
|
||||
struct openconnect_info *m_openconnectInfo;
|
||||
};
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/kde-misc/networkmanagement/networkmanagement-0.9.0.11-r1.ebuild,v 1.1 2015/01/20 22:26:06 johu Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
KDE_LINGUAS="ar bs ca ca@valencia cs da de el es et fa fi fr ga gl hu ia it
|
||||
ja kk km ko lt mr nb nds nl nn pl pt pt_BR ro ru se sk sl sr sr@ijekavian
|
||||
sr@ijekavianlatin sr@Latn sv tr uk zh_CN zh_TW"
|
||||
KDE_SCM="git"
|
||||
KDE_MINIMAL="4.11"
|
||||
inherit kde4-base
|
||||
|
||||
DESCRIPTION="KDE frontend for NetworkManager"
|
||||
HOMEPAGE="https://projects.kde.org/projects/extragear/base/networkmanagement"
|
||||
[[ ${PV} = 9999* ]] || SRC_URI="mirror://kde/unstable/${PN}/${PV}/src/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SLOT="4"
|
||||
IUSE="debug openconnect"
|
||||
|
||||
DEPEND="
|
||||
net-misc/mobile-broadband-provider-info
|
||||
>=net-misc/networkmanager-0.9.6
|
||||
openconnect? (
|
||||
net-misc/networkmanager-openconnect
|
||||
net-misc/openconnect:=
|
||||
)
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
!kde-base/solid
|
||||
!kde-misc/plasma-nm
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-openconnect7.patch" )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake-utils_use_with openconnect)
|
||||
)
|
||||
kde4-base_src_configure
|
||||
}
|
@ -0,0 +1,136 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-gfx/exiv2/exiv2-0.24-r1.ebuild,v 1.1 2015/01/20 21:40:26 johu Exp $
|
||||
|
||||
EAPI=5
|
||||
AUTOTOOLS_IN_SOURCE_BUILD=1
|
||||
PYTHON_COMPAT=( python{2_7,3_3,3_4} )
|
||||
|
||||
inherit eutils multilib toolchain-funcs python-any-r1 autotools-multilib
|
||||
|
||||
DESCRIPTION="EXIF and IPTC metadata C++ library and command line utility"
|
||||
HOMEPAGE="http://www.exiv2.org/"
|
||||
SRC_URI="http://www.exiv2.org/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/13"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x64-solaris ~x86-solaris"
|
||||
IUSE_LINGUAS="de es fi fr pl ru sk"
|
||||
IUSE="contrib doc examples nls xmp zlib static-libs $(printf 'linguas_%s ' ${IUSE_LINGUAS})"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
|
||||
xmp? ( >=dev-libs/expat-2.1.0-r3[${MULTILIB_USEDEP}] )
|
||||
zlib? ( >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
contrib? ( >=dev-libs/boost-1.44 )
|
||||
doc? (
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
virtual/pkgconfig
|
||||
media-gfx/graphviz
|
||||
${PYTHON_DEPS}
|
||||
)
|
||||
nls? ( sys-devel/gettext )
|
||||
"
|
||||
|
||||
DOCS=( README doc/ChangeLog doc/cmd.txt )
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-CVE-2014-9449.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
use doc && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# convert docs to UTF-8
|
||||
local i
|
||||
for i in doc/cmd.txt; do
|
||||
einfo "Converting "${i}" to UTF-8"
|
||||
iconv -f LATIN1 -t UTF-8 "${i}" > "${i}~" && mv -f "${i}~" "${i}" || rm -f "${i}~"
|
||||
done
|
||||
|
||||
if use doc; then
|
||||
einfo "Updating doxygen config"
|
||||
doxygen 2>&1 >/dev/null -u config/Doxyfile
|
||||
fi
|
||||
|
||||
if use contrib; then
|
||||
# create build environment for contrib
|
||||
ln -snf ../../src contrib/organize/exiv2
|
||||
sed -i -e 's:/usr/local/include/.*:'"${EPREFIX}"'/usr/include:g' \
|
||||
-e 's:/usr/local/lib/lib:-l:g' -e 's:-gcc..-mt-._..\.a::g' \
|
||||
contrib/organize/boost.mk || die
|
||||
fi
|
||||
|
||||
epatch "${FILESDIR}/${PN}-0.24-python3.patch"
|
||||
|
||||
# set locale to safe value for the sed commands (bug #382731)
|
||||
sed -i -r "s,(\s+)sed\s,\1LC_ALL="C" sed ,g" src/Makefile || die
|
||||
|
||||
autotools-multilib_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable nls)
|
||||
$(use_enable xmp)
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
# plain 'use_with' fails
|
||||
use zlib || myeconfargs+=( --without-zlib )
|
||||
|
||||
# Bug #78720. amd64/gcc-3.4/-fvisibility* fail.
|
||||
if [[ ${ABI} == amd64 && $(gcc-major-version) -lt 4 ]]; then
|
||||
myeconfargs+=( --disable-visibility )
|
||||
fi
|
||||
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# Needed for Solaris because /bin/sh is not a bash, bug #245647
|
||||
sed -i -e "s:/bin/sh:${EPREFIX}/bin/sh:" src/Makefile || die "sed failed"
|
||||
emake
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
if use contrib; then
|
||||
emake -C contrib/organize \
|
||||
LDFLAGS="\$(BOOST_LIBS) -L../../src -lexiv2 ${LDFLAGS}" \
|
||||
CPPFLAGS="${CPPFLAGS} -I\$(BOOST_INC_DIR) -I. -DEXV_HAVE_STDINT_H"
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
emake samples
|
||||
emake doc
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
autotools-utils_src_install
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
if use contrib; then
|
||||
emake DESTDIR="${D}" -C contrib/organize install
|
||||
fi
|
||||
|
||||
use doc && dohtml -r doc/html/.
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
prune_libtool_files --all
|
||||
|
||||
use xmp && dodoc doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt}
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}/examples
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
doins samples/*.cpp
|
||||
fi
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
diff -up exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 exiv2-0.24/src/riffvideo.cpp
|
||||
--- exiv2-0.24/src/riffvideo.cpp.CVE-2014-9449 2013-12-01 06:13:42.000000000 -0600
|
||||
+++ exiv2-0.24/src/riffvideo.cpp 2015-01-05 11:21:42.306728309 -0600
|
||||
@@ -856,7 +856,7 @@ namespace Exiv2 {
|
||||
|
||||
void RiffVideo::infoTagsHandler()
|
||||
{
|
||||
- const long bufMinSize = 100;
|
||||
+ const long bufMinSize = 10000;
|
||||
DataBuf buf(bufMinSize);
|
||||
buf.pData_[4] = '\0';
|
||||
io_->seek(-12, BasicIo::cur);
|
||||
@@ -879,10 +879,14 @@ namespace Exiv2 {
|
||||
if(infoSize >= 0) {
|
||||
size -= infoSize;
|
||||
io_->read(buf.pData_, infoSize);
|
||||
+ if(infoSize < 4)
|
||||
+ buf.pData_[infoSize] = '\0';
|
||||
}
|
||||
|
||||
if(tv)
|
||||
xmpData_[exvGettext(tv->label_)] = buf.pData_;
|
||||
+ else
|
||||
+ continue;
|
||||
}
|
||||
io_->seek(cur_pos + size_external, BasicIo::beg);
|
||||
} // RiffVideo::infoTagsHandler
|
@ -1,3 +1,2 @@
|
||||
DIST wkhtmltopdf-0.10.0_rc2.tar.bz2 107680 SHA256 3df9a81f0b4823ab3b0ba60e218b206a264bcf810b078fd543e266295b577a5a
|
||||
DIST wkhtmltopdf-0.11.0_rc1.tar.bz2 97589 SHA256 a36dbfc7cc27604b667f278ff8e9c86ced6777cdd1646d585d4e06e473b1905c SHA512 24a14d25e007aaf9d7f0aaab3aa686e2b6799cf00052c7612a04a0c7c4b06b059c407ff3146e12ac20798c7ce10a9917dc9fb889aaa9b38a74c5a064cf658985 WHIRLPOOL d027986995a49f7961f81a32d69090db8485794922943aa12314d530b361c618ab41585760e7036278c2042a1e5eb298c04ccfd13358194130467aa097e8dbd2
|
||||
DIST wkhtmltopdf-0.12.1.2.tar.gz 127182 SHA256 2f27dd0e9e7957692aba98014c873121898275859b1da0f1dab42b7dd5e10098 SHA512 81f3e29e6714e9fc6737100218758b59760c9675b9d9caaad1b40737e6322e6067d80dcf51cf8a533aaa5fb293b0c72efc6331909eeeed60da007fccb90f88d8 WHIRLPOOL 1f1e6470fbbbee07a76073d2946df3159d962d6452211126431e3a9c6ad44c0bf0b6444ace4616251def091dde13196577c11f3b7c4daf56892c48b0725d60e5
|
||||
DIST wkhtmltopdf-0.12.2.1.tar.gz 127565 SHA256 24847a2b8f495fb40d8b7a92c9051b40520d2439454ee8def0c952c932a1283d SHA512 4986d1a85ad8f3e8a3577ae0d6e1cfba726b143c67d3301ebbaac844c63a1ffd39b6d2b2c64054ec3603ca24efd01deb5b2f7501b14c092b09ad64160dc9db0e WHIRLPOOL f37afa640430db18cd48258f2f670405714fe3084a6cd2684aae9952bdbe5afdd1acc42fed4d0811c8a3329a5e4bd7b658444d7fb5683d228bb526670d624001
|
||||
|
@ -1,48 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-gfx/wkhtmltopdf/wkhtmltopdf-0.10.0_rc2.ebuild,v 1.2 2013/03/02 21:41:29 hwoarang Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit qt4-r2 multilib
|
||||
|
||||
DESCRIPTION="Convert html to pdf (and various image formats) using webkit"
|
||||
HOMEPAGE="http://code.google.com/p/wkhtmltopdf/"
|
||||
SRC_URI="http://wkhtmltopdf.googlecode.com/files/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="examples"
|
||||
|
||||
RDEPEND="dev-qt/qtgui:4
|
||||
dev-qt/qtwebkit:4
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtsvg:4
|
||||
dev-qt/qtxmlpatterns:4"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
# Tests pull data from websites and require a
|
||||
# special patched version of qt so many fail
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s:\(INSTALLBASE/\)lib:\1$(get_libdir):" src/lib/lib.pro || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake4 INSTALLBASE="${D}"/usr
|
||||
}
|
||||
|
||||
src_test() {
|
||||
./scripts/test.sh || die "Tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use examples ; then
|
||||
docinto examples
|
||||
dodoc examples/*
|
||||
fi
|
||||
}
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-gfx/wkhtmltopdf/wkhtmltopdf-0.11.0_rc1.ebuild,v 1.2 2013/03/02 21:41:29 hwoarang Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit qt4-r2 multilib
|
||||
|
||||
DESCRIPTION="Convert html to pdf (and various image formats) using webkit"
|
||||
HOMEPAGE="http://code.google.com/p/wkhtmltopdf/"
|
||||
SRC_URI="http://wkhtmltopdf.googlecode.com/files/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="examples"
|
||||
|
||||
RDEPEND="dev-qt/qtgui:4
|
||||
dev-qt/qtwebkit:4
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtsvg:4
|
||||
dev-qt/qtxmlpatterns:4"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
# Tests pull data from websites and require a
|
||||
# special patched version of qt so many fail
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s:\(INSTALLBASE/\)lib:\1$(get_libdir):" src/lib/lib.pro || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake4 INSTALLBASE="${D}"/usr
|
||||
}
|
||||
|
||||
src_test() {
|
||||
./scripts/test.sh || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
use examples && dodoc -r examples
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-gfx/wkhtmltopdf/wkhtmltopdf-0.12.2.1.ebuild,v 1.1 2015/01/20 22:29:52 radhermit Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit qt4-r2 multilib eutils
|
||||
|
||||
DESCRIPTION="Convert html to pdf (and various image formats) using webkit"
|
||||
HOMEPAGE="http://wkhtmltopdf.org/ https://github.com/wkhtmltopdf/wkhtmltopdf/"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="examples"
|
||||
|
||||
RDEPEND="dev-qt/qtgui:4
|
||||
dev-qt/qtwebkit:4
|
||||
dev-qt/qtcore:4
|
||||
dev-qt/qtsvg:4
|
||||
dev-qt/qtxmlpatterns:4"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
# fix install paths and don't precompress man pages
|
||||
epatch "${FILESDIR}"/${PN}-0.12.1.2-manpages.patch
|
||||
|
||||
sed -i "s:\(INSTALLBASE/\)lib:\1$(get_libdir):" src/lib/lib.pro || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
eqmake4 INSTALLBASE=/usr
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
dodoc AUTHORS CHANGELOG* README.md
|
||||
use examples && dodoc -r examples
|
||||
}
|
@ -1,14 +1,6 @@
|
||||
DIST libpng-1.2.51.tar.xz 562940 SHA256 c7d7b813b022afd70474f78bcc3655c7bb54edbf28dd4652e5521cbb6da56d4a SHA512 63ba0df5eff78b254d53f6cfd4075d3ea93ee9445e37678fc7d29fa116137b2a7c441eda23851638f9185166e408f42c51d0678c466c8376a1de356c7db760f2 WHIRLPOOL d829b07e950c64a8de37591ac5d40211f8e762feff8ff6f98db35714293997304b3eb063ea69a87064e6c66530a4fa2531dadcb1a0bb412066c558a5ff2f679c
|
||||
DIST libpng-1.2.52.tar.xz 566088 SHA256 d4fb0fbf14057ad6d0319034188fc2aecddb493da8e3031b7b072ed28f510ec0 SHA512 5890daec6aaf619e3eab32ee8105182f220ffce9e945a5129148ff6918d3749ddb3e9f60c25d6e8457184d5a2622b07d154640d13afb92f5ce9c48873e956a42 WHIRLPOOL dfa6870e7d5e4ca05ba74bd9cd599bcbc301046c7bde7042cd2d1ec4c706f4754dd40a10bd3d753ab169cc3365152a6c1f0f8fa33bcd0e0812019c670c49194a
|
||||
DIST libpng-1.5.20-apng.patch.gz 9511 SHA256 1b4fbbc1b72046ab1f2744a6ac953378d316dd72a4b8252cc2ae16751f9e55f7 SHA512 73275eada044c8983446e41b089ca78899924e118dfe6927bf1346c69fd220060bc2bde9abc0c49ddd61a38c645f52c1d815de73f1b052587c11649b503545eb WHIRLPOOL 0290abecb3dddc164d5c700cc3ed5f5c6152fbb2ec1094ffae61df8e41d70d45bd8d8243ed6ba193975ef35ca83e6dce5c571ccd5fd1b2cc7cbdfb563903e9d9
|
||||
DIST libpng-1.5.20.tar.xz 734068 SHA256 7cebb680ec30b42b540466a7dc4e376dcd9c95c7eaae1e84fe76408005050bb1 SHA512 048e8c564e9e9665fe1fe51fb24a09b9aceeb6b8cd4456c038981632efb5ad626a997802da62c331843cf4e0f78baa1e6987a7fc338e41e4f074332925efee96 WHIRLPOOL afd28cb836ce2d21649da9819bbf6dbcbd3e0ed349ee589b113fa01011eddfd040eed320be1b24e90ed89def3eb50997a99a26aef95fb2fc39b30f94d3908833
|
||||
DIST libpng-1.5.21-apng.patch.gz 9511 SHA256 8a4fffa885f1a1a34a7bdcaa2d1b8f1e025f6e1cf9c5bf17224672d2a6948d94 SHA512 b3369d97b19ebeae06e1f2874c2a3cc8f42421fb4be76f913be359630c5483c31cad6643f7c0a4edd3a952406d6acbffdd4a6cbfc9a09df07094bf6c6d9fbe15 WHIRLPOOL 5403fef0c1233c2e82785690d619f0e917d98a0056058064ddba446ed9987d05a4fe608b4883196f035f4b2de2650d858906014d13e5aed4d275d9e5e42ffb3d
|
||||
DIST libpng-1.5.21.tar.xz 734356 SHA256 b5151c64bc70489997790a492e1094d106be90a22b2958c43eee25a70dffdba7 SHA512 dd27d250271b72c33b9ea6282b549ad2a7a638334f97a218a00cde3136d97faf37544e304f84b966a064f9117e4681dde4f888ad63ecab41473d176066f3f5b4 WHIRLPOOL 4768c55e4d62a32d490b29285262f2dfb160c7a35afdd0e8f8d14a70348b4020c6f57dd97a9015b912c49c3dd73b660e0905c74df3674c0549fc3add5358899e
|
||||
DIST libpng-1.6.10-apng.patch.gz 9573 SHA256 0f159466ae95511a05d701b6a28d03d09ca19598236579f368cc13aeb23d844f SHA512 b75dbc2bbae3b565dd1abeb1072dc4c1ceceadf97f7a35c1148136432457828a0e6f14df7cf469ab5c775c745be0729b927297207ed4fd58dee1bc635d53aebf WHIRLPOOL c781e8bf9a60479cf34b5ad88c0b1ff60ec7b5f5671e08aff53c34b7f33c86c8b4171c9bf3e6c597c825de6517fccc8fa3eda0f788acad96889dc13e0946d159
|
||||
DIST libpng-1.6.10.tar.xz 898452 SHA256 4003f0fd0e36110a2b742fc5b9e1ab93ed7a7ab57ae8dc65f0e8101458775a56 SHA512 f475ba5544b11064544a1571e194a7e4cf387d386cd9f300f8bbdc252636a141ac2beeff47f32ee45617d894a8dee8c0c81e71ba3d0c42a47160ce32078cd1b5 WHIRLPOOL 461c8574c394e45886991465ef102b19dc47739e2197cd660ff91d0ce4865bb07dfef84113de655f9beebcf2c4b74e3fb097be6285533a877196288922e93742
|
||||
DIST libpng-1.6.12-apng.patch.gz 9586 SHA256 5f0f89a226edac5b5e6f45ee12b42a970ea1e3a4366bc72e584a7e3f44a1d76e SHA512 d22572263e7fd2ad98004290b567704b8a180a5877780110e5671e3374ab7fa27c9c770de7b40bce44acaf78d2e29742bc93ccd51ff22b15707e8fe8ca5c82a0 WHIRLPOOL 995e46d9616f7270ffbcc54b7ab2496fadcdb60080e5af4a7756e30a180866d2afebacdc66e1db7335c9c71cc93226f1bca19f481fe506389ed43cd7038022d8
|
||||
DIST libpng-1.6.12.tar.xz 902368 SHA256 c32ff6d299d2686b65708d4c6c065242d8c2f3ed54890c47d518c3ef568e6c5e SHA512 7cdf40b51a29f4df6f5be2c6946de80aa74c54169ceef2ed089fad21bf035b5672ad7e8983ca4d72edd4bb84c9d4e0077479a20e526e27685d30da03230bbb91 WHIRLPOOL 0a3618c64d3af848922a58cf84bc329b9dde33d43ae795e1d1f3d07582355a9a25cf5c541f2c3ce7c5d4082e3fd1294e6dd34c0d765e40cb860181d507876bc1
|
||||
DIST libpng-1.6.15-apng.patch.gz 9555 SHA256 08f1c809837476705f33f1f8d30cf875275466ae00ea25cd21f084901f7aeb82 SHA512 11da1079b559f338f19a7c716fcd62e3084b7f5773a235c88cf1cc436166987d83e2e17d99bd734ac126e8e754b84827beb123e534549c5c3c82b73221c2a0a8 WHIRLPOOL 4cad0008d42f4fc4984bfda37c6a2c4fe2673209e86d00204e53b11453e959b00a9e1b01b658e015c1a0879f3e498876602ae8f172bd07f58a4642689280d3d4
|
||||
DIST libpng-1.6.15.tar.xz 904992 SHA256 ad7046f1548b01b736c347d3125598ba507cbd1c9a0f0a1ffcc8df5aaafa53b7 SHA512 c5e6b7e994fa43b73d566e5794abf3f1a998c8a04436dabc48a14810490c15c8d93e4379564dab08d0197224f8599b3a75bf65ecc3a549c94617aa21d9a3b5ec WHIRLPOOL f089f187f9b601073f5e9c770b1c898c59ce2d1ec0acd1859ff618719218ab2d33756b101180b69c2e999dfefb22f06e2247a54a912f4032ae783959badef2a9
|
||||
DIST libpng-1.6.16-apng.patch.gz 9552 SHA256 07eb4825f6787283aa2c4f77b6fd421875ec7982e2a5b1705c3bea0cdccf5c2d SHA512 85c09090dab312ed9b61eac2d957ce1eda6496d4d66e42b3ce4278d5dd6213fffe1f84c0b94424c389e04a99d0cc08ec5b9a77cb2ac14ad75dc49055bbb45292 WHIRLPOOL b3980311dc81ae83cd42969d797924ebe27da1c8955d0f931e97df5d609d8eb0db46bd418f82d02f1f914910c6a866b8d7b4664a2780a711fefa5c71b749e376
|
||||
DIST libpng-1.6.16.tar.xz 907284 SHA256 42f754df633e4e700544e5913cbe2fd4928bbfccdc07708a5cf84e59827fbe60 SHA512 d469a86b8c111be98c15afb1744ead0c7235dbd0b18cf47c5b4b4cfe64c7b1f63897d32e1fc65b0fdd2e01aa6767cad85ea3c0f6aabf9b647696e58803904fa3 WHIRLPOOL dae0248eec827d1462f4e8b9b7c4405fc3c05bc7e9f01ca8ff817a16b010b9aeaf54fa611d223385c0b2af8ee844465eea1b0e8d1125da5213fe2e7f1928f27a
|
||||
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-libs/libpng/libpng-1.5.20.ebuild,v 1.3 2014/12/10 19:25:41 ago Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
# this ebuild is only for the libpng15.so.15 SONAME for ABI compat
|
||||
|
||||
inherit eutils libtool multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable Network Graphics library"
|
||||
HOMEPAGE="http://www.libpng.org/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz
|
||||
apng? ( mirror://sourceforge/apng/${P}-apng.patch.gz )"
|
||||
|
||||
LICENSE="libpng"
|
||||
SLOT="1.5"
|
||||
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
IUSE="apng neon"
|
||||
|
||||
RDEPEND="sys-libs/zlib:=[${MULTILIB_USEDEP}]
|
||||
!=media-libs/libpng-1.5*:0
|
||||
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20140406-r4
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils"
|
||||
|
||||
DOCS=""
|
||||
|
||||
pkg_setup() {
|
||||
local _preserved_lib=${EROOT}/usr/$(get_libdir)/libpng15.so.15
|
||||
[[ -e ${_preserved_lib} ]] && rm -f "${_preserved_lib}"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use apng; then
|
||||
epatch "${WORKDIR}"/${PN}-*-apng.patch
|
||||
# Don't execute symbols check with apng patch wrt #378111
|
||||
sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die
|
||||
fi
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf \
|
||||
--disable-static \
|
||||
--enable-arm-neon=$(usex neon)
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake libpng15.la
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
newlib.so .libs/libpng15.so.15.* libpng15.so.15
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/media-libs/libpng/libpng-1.6.10.ebuild,v 1.10 2014/06/09 23:28:13 vapier Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils libtool multilib-minimal
|
||||
|
||||
DESCRIPTION="Portable Network Graphics library"
|
||||
HOMEPAGE="http://www.libpng.org/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz
|
||||
apng? ( mirror://sourceforge/apng/${P}-apng.patch.gz )"
|
||||
|
||||
LICENSE="libpng"
|
||||
SLOT="0/16"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
IUSE="apng neon static-libs"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||
abi_x86_32? ( !<=app-emulation/emul-linux-x86-baselibs-20130224-r1
|
||||
!app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)] )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils"
|
||||
|
||||
src_prepare() {
|
||||
if use apng; then
|
||||
epatch "${WORKDIR}"/${PN}-*-apng.patch
|
||||
# Don't execute symbols check with apng patch wrt #378111
|
||||
sed -i -e '/^check/s:scripts/symbols.chk::' Makefile.in || die
|
||||
fi
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
$(use_enable static-libs static) \
|
||||
--enable-arm-neon=$(usex neon)
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc ANNOUNCE CHANGES libpng-manual.txt README TODO
|
||||
prune_libtool_files --all
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue