parent
46ef8b3a86
commit
c5f393517c
@ -0,0 +1,25 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-notify-send/eselect-notify-send-0.1.ebuild,v 1.1 2013/03/19 16:15:10 ssuominen Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Manage /usr/bin/notify-send symlink"
|
||||
HOMEPAGE="http://www.gentoo.org/proj/en/eselect/"
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=app-admin/eselect-lib-bin-symlink-0.1.1
|
||||
!<x11-libs/libnotify-0.7.5-r1"
|
||||
DEPEND=${RDEPEND}
|
||||
|
||||
S=${FILESDIR}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/share/eselect/modules
|
||||
newins notify-send.eselect-${PV} notify-send.eselect
|
||||
}
|
@ -0,0 +1,13 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id: notify-send.eselect-0.1,v 1.1 2013/03/19 16:15:10 ssuominen Exp $
|
||||
|
||||
DESCRIPTION="Manage /usr/bin/notify-send implementation"
|
||||
MAINTAINER="ssuominen@gentoo.org"
|
||||
VERSION="0.1"
|
||||
|
||||
SYMLINK_PATH=/usr/bin/notify-send
|
||||
SYMLINK_TARGETS=( libnotify-notify-send tinynotify-send )
|
||||
SYMLINK_DESCRIPTION='notify-send binary'
|
||||
|
||||
inherit bin-symlink
|
@ -1,12 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>freedesktop</herd>
|
||||
<maintainer>
|
||||
<email>floppym@gentoo.org</email>
|
||||
<name>Mike Gilbert</name>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<email>williamh@gentoo.org</email>
|
||||
<name>William Hubbs</name>
|
||||
<email>freedesktop-bugs@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1,5 +1,6 @@
|
||||
DIST ulogd-1.23.tar.bz2 143608 SHA256 78fda62a39e5ebccbd3277d723eb0a0087a6972c6350d987e454f8fa17546341 SHA512 b91ff1d971de505a1cccc56897d9cf7c246ff9999e134db1080be920ef217a6fd9e9a227a34b7cbc8839c376cd8fa091fd836bf6032605a81381b850943cb328 WHIRLPOOL 82d900e228b402b04b7ca5fa3e44d8128888b2bf0fc779c1ef877ec089cc1e0ee2ebcde4b240b287758223a81f37e6518f87b5c80cfc035b8d80d704677a5856
|
||||
DIST ulogd-1.24.tar.bz2 177398 SHA256 63a6069d9b537d8a6d6a4d99beeb4ccc0a853717414da3a6e0ce230a34d0e057 SHA512 9a11a3430998ba5130ab1d8b04766a7e2198acbb8fffac8cfee5b1c69b2d74d9878530a06fcf56aa6d6bb3f1c406d522a2cdc508617817107d289b275c010fe2 WHIRLPOOL 3f9e1c70aa6a9f0a37908a6478e647fc0bf1bd6ba3cc28b27b638338854ad59fd000913665f2767503e289bd9585520cfb2cf4fc4de2f2234e7f2aa32cc00d8f
|
||||
DIST ulogd-2.0.0beta4.tar.bz2 354526 SHA256 f29a75b87e2da6284a6e52a359c9d9e1f7c14b6dd96a4cd1b68f18a91f48e7a2 SHA512 e9151d6a3519fe6d8df8cfc722447892fb3dbfdfb3ae0b72e31f91bb4eb986a9fde15dd8281154a1b1a1e91936551022e421c8614fd9a1f56984d69cd6415fb0 WHIRLPOOL 5dfd330bbc251d8e92b0cf46b0499f35a26143e3535f0b2d50a507098eabc0d39229e849e00639a555051d27ef015c511aba1d84541a5f6a570430974a4b24a5
|
||||
DIST ulogd-2.0.2.tar.bz2 466664 SHA256 a36c4032d83edaef1b13f96b6647e9e150d7f20b5af7035f0a91c17fe2e066c5 SHA512 a7ac243ec67ab4325855df631bae011284c716495e5e2d26c1f392207448b6b793117124c89b66e7745a05b74cdddb5ed7acb44c34c24618cc27948a25e978df WHIRLPOOL 8113b5e35fe236fbcba8239daf13f435949aa7798f23794e1fc138cd6decc4119da3b06fdda1e3ad6f4c45f0521c44f0e1a50a7bef19644263df1972fedb00d8
|
||||
DIST ulogd-glsa-200701.patch.bz2 5279 SHA256 7b37b10e68761423f2fbf1b0ec15433c1364f8e27c7a8572b094450a7cb963ea SHA512 8a482ee25a5432fc367e64128a375f150dd34497ce8dfc0f511b08b6768a5f3dfcbfad0523d9a8747f02e3487552be6aba42022dc396557cc819258d2a1de5b3 WHIRLPOOL f48c0c82fb727c4aba8fcc9c32875714710c76a9fc2f7d55e4dbac2ca1b7903de6f23f9f151e04917cf1f9fe0f640348a04dc097dc486b10c191debd2131e7a6
|
||||
DIST ulogd-glsa-200805.patch.bz2 11649 SHA256 144426251c151f9cbd48931540865da11ff5cafd5039d1b4db46dba505aaebb7 SHA512 628e3405c5dcf8713a9d1647744df7e78d10a6eff1bcdfd3549502f8b509078d35264d70981248ed86e2fac46b6aea050785b72afef8d5fc9dbd10047340f353 WHIRLPOOL fd8ca22b3a468105d8ebd9dd77a28d7b2c93e08c437d5b67ca5c6b28aa11514aa620cc328177f7849e8a4a5f2a1ad9f46859696ab679005be5dd0b8daa7c57d3
|
||||
|
@ -0,0 +1,60 @@
|
||||
--- configure.ac.orig 2013-03-01 19:45:23.285968838 +0400
|
||||
+++ configure.ac 2013-03-15 03:38:50.587620528 +0400
|
||||
@@ -20,14 +20,6 @@ AC_PROG_LIBTOOL
|
||||
dnl Checks for libraries.
|
||||
AC_SEARCH_LIBS([dlopen], [dl], [libdl_LIBS="$LIBS"; LIBS=""])
|
||||
AC_SUBST([libdl_LIBS])
|
||||
-AC_SEARCH_LIBS([pcap_close], [pcap], [libpcap_LIBS="-lpcap"; LIBS=""])
|
||||
-AC_SUBST([libpcap_LIBS])
|
||||
-AM_CONDITIONAL([HAVE_PCAP], [test -n "$libpcap_LIBS"])
|
||||
-if test "x$libpcap_LIBS" != "x"; then
|
||||
- enable_pcap="yes"
|
||||
-else
|
||||
- enable_pcap="no"
|
||||
-fi
|
||||
|
||||
dnl Checks for header files.
|
||||
AC_HEADER_DIRENT
|
||||
@@ -88,7 +80,10 @@ else
|
||||
enable_mysql="no"
|
||||
fi
|
||||
|
||||
-PKG_CHECK_MODULES([libsqlite3], [sqlite3], [], [:])
|
||||
+AC_ARG_WITH([sqlite], AS_HELP_STRING([--without-sqlite], [Build without SQLITE3 output plugin (default: test)]))
|
||||
+AS_IF([test "x$with_sqlite" != "xno"], [
|
||||
+ PKG_CHECK_MODULES([libsqlite3], [sqlite3], [], [:])
|
||||
+])
|
||||
AM_CONDITIONAL([HAVE_SQLITE3], [test -n "$libsqlite3_LIBS"])
|
||||
if test "x$libsqlite3_LIBS" != "x"; then
|
||||
enable_sqlite3="yes"
|
||||
@@ -96,7 +91,10 @@ else
|
||||
enable_sqlite3="no"
|
||||
fi
|
||||
|
||||
-CT_CHECK_DBI()
|
||||
+AC_ARG_WITH([dbi], AS_HELP_STRING([--without-dbi], [Build without DBI output plugin (default: test)]))
|
||||
+AS_IF([test "x$with_dbi" != "xno"], [
|
||||
+ CT_CHECK_DBI()
|
||||
+])
|
||||
AM_CONDITIONAL(HAVE_DBI, test "x$DBI_LIB" != "x")
|
||||
if test "x$DBI_LIB" != "x"; then
|
||||
enable_dbi="yes"
|
||||
@@ -104,6 +102,18 @@ else
|
||||
enable_dbi="no"
|
||||
fi
|
||||
|
||||
+AC_ARG_WITH([pcap], AS_HELP_STRING([--without-pcap], [Build without PCAP output plugin (default: test)]))
|
||||
+AS_IF([test "x$with_pcap" != "xno"], [
|
||||
+ AC_SEARCH_LIBS([pcap_close], [pcap], [libpcap_LIBS="-lpcap"; LIBS=""])
|
||||
+ AC_SUBST([libpcap_LIBS])
|
||||
+])
|
||||
+AM_CONDITIONAL([HAVE_PCAP], [test -n "$libpcap_LIBS"])
|
||||
+if test "x$libpcap_LIBS" != "x"; then
|
||||
+ enable_pcap="yes"
|
||||
+else
|
||||
+ enable_pcap="no"
|
||||
+fi
|
||||
+
|
||||
dnl AC_SUBST(DATABASE_DIR)
|
||||
dnl AC_SUBST(DATABASE_LIB)
|
||||
dnl AC_SUBST(DATABASE_LIB_DIR)
|
@ -0,0 +1,43 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/ulogd/files/ulogd-2.init,v 1.1 2013/03/20 08:38:18 pinkbyte Exp $
|
||||
|
||||
ULOGD_PIDFILE="/run/ulogd.pid"
|
||||
ULOGD_EXEC="/usr/sbin/ulogd"
|
||||
ULOGD_OPTS="-u ulogd"
|
||||
|
||||
extra_started_commands="reload reopen_logs"
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting ${SVCNAME}"
|
||||
start-stop-daemon --start --quiet \
|
||||
--make-pidfile \
|
||||
--pidfile ${ULOGD_PIDFILE} \
|
||||
--background \
|
||||
--exec ${ULOGD_EXEC} \
|
||||
-- ${ULOGD_OPTS}
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping ${SVCNAME}"
|
||||
start-stop-daemon --stop --pidfile ${ULOGD_PIDFILE}
|
||||
eend $?
|
||||
}
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading ${SVCNAME} configuration"
|
||||
start-stop-daemon --signal USR1 --pidfile ${ULOGD_PIDFILE}
|
||||
eend $?
|
||||
}
|
||||
|
||||
reopen_logs() {
|
||||
ebegin "Reopening ${SVCNAME} logfiles"
|
||||
start-stop-daemon --signal HUP --pidfile ${ULOGD_PIDFILE}
|
||||
eend $?
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
/var/log/ulogd/ulogd.log {
|
||||
notifempty
|
||||
size 1M
|
||||
create 0640 ulogd
|
||||
postrotate
|
||||
/etc/init.d/ulogd reopen_logs > /dev/null
|
||||
endscript
|
||||
}
|
||||
|
||||
/var/log/ulogd/ulogd_syslogemu.log {
|
||||
rotate 12
|
||||
size 5M
|
||||
notifempty
|
||||
create 0640 ulogd
|
||||
postrotate
|
||||
/etc/init.d/ulogd reopen_logs > /dev/null
|
||||
endscript
|
||||
}
|
@ -1,13 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>proxy-maintainers</herd>
|
||||
<maintainer>
|
||||
<email>maintainer-needed@gentoo.org</email>
|
||||
<email>itumaykin@gmail.com</email>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name='pcap'>Build PCAP output plugin to save packets in PCAP format. Uses the <pkg>net-libs/libpcap</pkg> library</flag>
|
||||
<flag name='mysql'>Build MYSQL output plugin to save packets in a mysql database.</flag>
|
||||
<flag name='pcap'>Build PCAP output plugin to save packets in libpcap file format.</flag>
|
||||
<flag name='mysql'>Build MySQL output plugin to save packets in a mysql database.</flag>
|
||||
<flag name='postgres'>Build PGSQL output plugin to save packets in a postgres database.</flag>
|
||||
<flag name='sqlite'>Build SQLITE3 output plugin to save packets in an sqlite database.</flag>
|
||||
<flag name='sqlite'>Build SQLITE3 output plugin to save packets in a sqlite database.</flag>
|
||||
<flag name='nflog'>Build NFLOG input plugin to support stateless packet-based logging via nfnetlink_queue.</flag>
|
||||
<flag name='nfct'>Build NFCT input plugin to support stateful flow-based via nf_conntrack_netlink.</flag>
|
||||
<flag name='nfacct'>Build NFACCT input plugin to support traffic accounting via nfnetlink_acct.</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
@ -0,0 +1,131 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-admin/ulogd/ulogd-2.0.2.ebuild,v 1.2 2013/03/20 13:23:57 pinkbyte Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
AUTOTOOLS_AUTORECONF=1
|
||||
AUTOTOOLS_IN_SOURCE_BUILD=1
|
||||
inherit autotools-utils eutils linux-info readme.gentoo user
|
||||
|
||||
DESCRIPTION="A userspace logging daemon for netfilter/iptables related logging"
|
||||
HOMEPAGE="http://netfilter.org/projects/ulogd/index.html"
|
||||
SRC_URI="http://ftp.netfilter.org/pub/${PN}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="dbi doc mysql nfacct +nfct +nflog pcap postgres sqlite"
|
||||
|
||||
RDEPEND="net-firewall/iptables
|
||||
>=net-libs/libnfnetlink-1.0.1
|
||||
>=net-libs/libmnl-1.0.3
|
||||
dbi? ( dev-db/libdbi )
|
||||
nfacct? ( >=net-libs/libnetfilter_acct-1.0.1 )
|
||||
nfct? ( >=net-libs/libnetfilter_conntrack-1.0.2 )
|
||||
nflog? ( >=net-libs/libnetfilter_log-1.0.0 )
|
||||
mysql? ( virtual/mysql )
|
||||
pcap? ( net-libs/libpcap )
|
||||
postgres? ( dev-db/postgresql-base )
|
||||
sqlite? ( dev-db/sqlite:3 )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
doc? (
|
||||
app-text/linuxdoc-tools
|
||||
app-text/texlive-core
|
||||
virtual/latex-base
|
||||
)"
|
||||
|
||||
DOCS=( AUTHORS README TODO )
|
||||
PATCHES=(
|
||||
# fix automagic support of dbi, pcap and sqlite3 output plugins
|
||||
"${FILESDIR}/${P}-automagic.patch"
|
||||
)
|
||||
DOC_CONTENTS="You must have at least one logging stack enabled to make ulogd work.
|
||||
Please edit example configuration located at /etc/ulogd.conf"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ulogd
|
||||
enewuser ulogd -1 -1 /var/log/ulogd ulogd
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
if kernel_is lt 2 6 14; then
|
||||
die "ulogd2 requires kernel newer than 2.6.14"
|
||||
fi
|
||||
|
||||
if kernel_is lt 2 6 18; then
|
||||
ewarn
|
||||
ewarn "You are using kernel older than 2.6.18"
|
||||
ewarn "Some ulogd2 features may be unavailable"
|
||||
ewarn
|
||||
fi
|
||||
|
||||
if use nfacct && kernel_is lt 3 3 0; then
|
||||
ewarn "NFACCT input plugin requires kernel newer than 3.3.0"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# - make all logs to be kept in a single dir /var/log/ulogd
|
||||
# - place sockets in /run instead of /tmp
|
||||
sed -i \
|
||||
-e 's:var/log:var/log/ulogd:g' \
|
||||
-e 's:tmp:run:g' \
|
||||
ulogd.conf.in || die 'sed on ulogd.conf.in failed'
|
||||
|
||||
autotools-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_with dbi)
|
||||
$(use_enable nfacct)
|
||||
$(use_enable nfct)
|
||||
$(use_enable nflog)
|
||||
$(use_with mysql)
|
||||
$(use_with pcap)
|
||||
$(use_with postgres pgsql)
|
||||
$(use_with sqlite)
|
||||
)
|
||||
autotools-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
autotools-utils_src_compile
|
||||
|
||||
if use doc ; then
|
||||
# prevent access violations from generation of bitmap font files
|
||||
export VARTEXFONTS="${T}"/fonts
|
||||
emake -C doc
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
autotools-utils_src_install
|
||||
readme.gentoo_create_doc
|
||||
prune_libtool_files --modules
|
||||
|
||||
if use doc ; then
|
||||
dohtml doc/${PN}.html
|
||||
dodoc doc/${PN}.dvi doc/${PN}.txt doc/${PN}.ps
|
||||
fi
|
||||
|
||||
use sqlite && dodoc doc/sqlite3.table
|
||||
use mysql && dodoc doc/mysql-*.sql
|
||||
use postgres && dodoc doc/pgsql-*.sql
|
||||
doman ${PN}.8
|
||||
|
||||
insinto /etc
|
||||
doins ${PN}.conf
|
||||
fowners root:ulogd /etc/ulogd.conf
|
||||
fperms 640 /etc/ulogd.conf
|
||||
|
||||
newinitd "${FILESDIR}/${PN}-2.init" ${PN}
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/${PN}-2.logrotate" ${PN}
|
||||
|
||||
diropts -o ulogd -g ulogd
|
||||
keepdir /var/log/ulogd
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-editors/mg/mg-20110905-r1.ebuild,v 1.1 2013/03/20 17:20:50 ulm Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="MicroGnuEmacs, a port from the BSDs"
|
||||
HOMEPAGE="http://homepage.boetes.org/software/mg/"
|
||||
SRC_URI="http://homepage.boetes.org/software/mg/${P}.tar.gz"
|
||||
|
||||
LICENSE="public-domain ISC BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos"
|
||||
IUSE="livecd"
|
||||
|
||||
RDEPEND="sys-libs/ncurses"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
# remove OpenBSD specific easter egg
|
||||
sed -i -e 's/theo\.o//' Makefile.in || die
|
||||
sed -i -e '/theo_init/d' main.c || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# econf won't work, as this script does not accept any parameters
|
||||
./configure || die "configure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)" \
|
||||
CFLAGS="${CFLAGS}" \
|
||||
LDFLAGS="${LDFLAGS}" \
|
||||
LIBS="$("$(tc-getPKG_CONFIG)" --libs ncurses)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstall
|
||||
dodoc README tutorial
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use livecd; then
|
||||
[[ -e ${EROOT}/usr/bin/emacs ]] || ln -s mg "${EROOT}"/usr/bin/emacs
|
||||
fi
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
DIST fdutils-5.4-20020222.diff.gz 25310 SHA256 259c340a5956272e60385d0b8ae0a04b3d2ae0fc395114672536cba5f50bf903 SHA512 069583e796f86266e486ad65009d6a8163fc56b59f957f34ab144cc25188b868c950a48e2fd25fc876cd5b1fa3faa40bdc4c16e4690fe3a2a47f933f85e31094 WHIRLPOOL 9b679a1a0b7254a1d72de083c3ae3fa9c329234c6da6138ad08649cde8fbff002e31ba8f0d4de504c3a98404a88ab23a3dc76a60b51599ee18af786f157e2d12
|
||||
DIST fdutils-5.4.tar.gz 190535 SHA256 20ebb4fa9ec74e669eb0377819fafbf177325e930906032649aa8344bb34b9e9 SHA512 3c2dde9d2e14f771f6916851827df5b2dde62e3522b6ceb411bf0772800a4d8ed4721d99ad170b81de0cc8dba41a60817232993f3d69eb07141e1929ac626570 WHIRLPOOL 20626366bc1ad4334184de97c8ef43d50a00496be80f298a59eeb1144f493750cea61a39cc43ff8d251794854ec0a635141bc39d43cba9fad36c411bd0710da2
|
||||
DIST fdutils-5.5.tar.gz 222801 SHA256 87d5bbe8094558463acc5902664c58afd794322b0ea3ab3c2ed7b362c583a48a SHA512 c9eab0b8931bbd11fcacfeff54c87059844b068595725abb00c7c605cba0bdc7c9abcd31d0a0186786306a9136eac2ec3bad43842f0383acdb162ccbb39a73b8 WHIRLPOOL 622ded0b8f56257f42fdb7ab7ce648a3d813882c2b05ab30cc36c1b447b66e8c51757ce972b43ffd65d7929be7b7aed72ff3fe235c8fa47a263739ae1daace14
|
||||
DIST fdutils_5.5-20060227-6.debian.tar.gz 54489 SHA256 51fae03acb4f087b09c076dc3ec4e7b31362f1e1a9fa7b2b17d6dade1cd512fb SHA512 db6759bd2b98ae65bca39cf5b09fdb250371e02daa7665d8d21f93c3ab968cfe345cecb20faedaf2600104b22e2fb4df6868860dac3ead0ffb28d2141c8d7149 WHIRLPOOL f34a8d5d98a5b89544270dad4c3198881062aef7bec99e2dbfc186bfeab2e24f5ac741b487fac8136d7bddce907527645116d26d21f5f1af9e6d4f6c581196e8
|
||||
DIST fdutils_5.5-20060227.orig.tar.gz 222915 SHA256 a867b381adc3596ca9a0c9139773bef18a38ceb5fa0e7401af46813c3a4b8d58 SHA512 a25d23827b9178a9a54d0012ad20248072e07aa5798bb3661fd0412d2441239b7bbf1778b5e34acb1a09a25a76e44c1801b706a242ce3b2337c06757e0ac02dd WHIRLPOOL 4baa17276258669d950a0b3199db23521ebcd63ebe069f9ad94ec1903dd62e142314ad411c6d40a7323f5cc4869f3fab147ca3eb930f4ae0c7dcaaea3362c442
|
||||
|
@ -0,0 +1,53 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-misc/fdutils/fdutils-5.5.20060227.ebuild,v 1.1 2013/03/20 18:38:33 ssuominen Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils
|
||||
|
||||
MY_P=${PN}_5.5-20060227
|
||||
|
||||
DESCRIPTION="utilities for configuring and debugging the Linux floppy driver"
|
||||
HOMEPAGE="http://fdutils.linux.lu/"
|
||||
SRC_URI="mirror://debian/pool/main/f/${PN}/${MY_P}.orig.tar.gz
|
||||
mirror://debian/pool/main/f/${PN}/${MY_P}-6.debian.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND=">=sys-fs/mtools-4"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-apps/texinfo
|
||||
virtual/os-headers
|
||||
doc? ( virtual/texi2dvi )"
|
||||
|
||||
S=${WORKDIR}/${PN}-5.5-20060227
|
||||
|
||||
src_prepare() {
|
||||
local d="${WORKDIR}"/debian/patches
|
||||
EPATCH_SOURCE="${d}" epatch $(<"${d}"/series)
|
||||
sed -i -e 's:{LDFLAFS}:(LDFLAGS):' src/Makefile.in || die #337721
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf --enable-fdmount-floppy-only
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake -j1 $(use doc || echo compile)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /etc
|
||||
use doc && dodir /usr/share/info
|
||||
|
||||
emake -j1 DESTDIR="${D}" install
|
||||
|
||||
# The copy in sys-apps/man-pages is more recent
|
||||
rm -f "${ED}"/usr/share/man/man4/fd.4 || die
|
||||
|
||||
# Rename to match binary
|
||||
mv "${ED}"/usr/share/man/man1/{makefloppies,MAKEFLOPPIES}.1 || die
|
||||
}
|
@ -0,0 +1,114 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-office/akonadi-server/akonadi-server-1.9.1-r1.ebuild,v 1.1 2013/03/20 13:38:54 kensington Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
if [[ $PV = *9999* ]]; then
|
||||
scm_eclass=git-2
|
||||
EGIT_REPO_URI="git://anongit.kde.org/akonadi"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://kde/stable/${PN/-server/}/src/${P/-server/}.tar.bz2"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~ppc64 ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"
|
||||
S="${WORKDIR}/${P/-server/}"
|
||||
fi
|
||||
|
||||
inherit cmake-utils ${scm_eclass}
|
||||
|
||||
DESCRIPTION="The server part of Akonadi"
|
||||
HOMEPAGE="http://pim.kde.org/akonadi"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
IUSE="+mysql postgres sqlite test"
|
||||
|
||||
CDEPEND="
|
||||
dev-libs/boost
|
||||
>=dev-libs/soprano-2.6.51
|
||||
>=dev-qt/qtgui-4.5.0:4[dbus]
|
||||
>=dev-qt/qtsql-4.5.0:4[mysql?,postgres?]
|
||||
>=dev-qt/qttest-4.5.0:4
|
||||
x11-misc/shared-mime-info
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-libs/libxslt
|
||||
>=dev-util/automoc-0.9.88
|
||||
"
|
||||
RDEPEND="${CDEPEND}
|
||||
postgres? ( dev-db/postgresql-server )
|
||||
"
|
||||
|
||||
REQUIRED_USE="|| ( sqlite mysql postgres )"
|
||||
|
||||
RESTRICT=test
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-1.9.0-qt5.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
# Set default storage backend in order: MySQL, SQLite PostgreSQL
|
||||
# reverse driver check to keep the order
|
||||
if use postgres; then
|
||||
DRIVER="QPSQL"
|
||||
AVAILABLE+=" ${DRIVER}"
|
||||
fi
|
||||
|
||||
if use sqlite; then
|
||||
DRIVER="QSQLITE3"
|
||||
AVAILABLE+=" ${DRIVER}"
|
||||
fi
|
||||
|
||||
if use mysql; then
|
||||
DRIVER="QMYSQL"
|
||||
AVAILABLE+=" ${DRIVER}"
|
||||
fi
|
||||
|
||||
# Notify about driver name change
|
||||
if use sqlite && has_version "<=${CATEGORY}/${PN}-1.4.0[sqlite]"; then
|
||||
ewarn
|
||||
ewarn "SQLite driver name changed from QSQLITE to QSQLITE3."
|
||||
ewarn "Please edit your ~/.config/akonadi/akonadiserverrc."
|
||||
fi
|
||||
|
||||
# Notify about MySQL not being default anymore
|
||||
if ! use sqlite && has_version "<=${CATEGORY}/${PN}-1.9.0[sqlite]"; then
|
||||
ewarn
|
||||
ewarn "The default storage drive has changed from SQLite to MySQL."
|
||||
ewarn "If you want to stay with SQLite, enable the sqlite USE flag and reinstall"
|
||||
ewarn "${CATEGORY}/${PN}."
|
||||
ewarn "Otherwise, select a different driver in your ~/.config/akonadi/akonadiserverrc."
|
||||
ewarn "Available drivers are:${AVAILABLE}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DAKONADI_USE_STRIGI_SEARCH=OFF
|
||||
-DINSTALL_QSQLITE_IN_QT_PREFIX=ON
|
||||
-DWITH_QT5=OFF
|
||||
$(cmake-utils_use test AKONADI_BUILD_TESTS)
|
||||
$(cmake-utils_use sqlite AKONADI_BUILD_QSQLITE)
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Who knows, maybe it accidentally fixes our permission issues
|
||||
cat <<-EOF > "${T}"/akonadiserverrc
|
||||
[%General]
|
||||
Driver=${DRIVER}
|
||||
EOF
|
||||
insinto /usr/share/config/akonadi
|
||||
doins "${T}"/akonadiserverrc
|
||||
|
||||
cmake-utils_src_install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
echo
|
||||
elog "${DRIVER} has been set as your default akonadi storage backend."
|
||||
elog "You can override it in your ~/.config/akonadi/akonadiserverrc."
|
||||
elog "Available drivers are: ${AVAILABLE}"
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST linuxdoc-tools_0.9.21-0.11.tar.gz 592246 SHA256 021324e1ca3940c2baff5c2cf872ddb1991207f39e170a9fe558ef2ffe35ac1c SHA512 b039c76d81556e6453c4181cea24bf15ec5a4f1780b3d48a72fde82e8f4d517cb8242f0f5151c6ff0d89ca911a4767bd9aa2da2b13b411e616d0cd628d51ac75 WHIRLPOOL 15b354b22cf5944c7f1ca5ca03f02b13de97a1d8223670548873a9308162794850b01a03233bb4b7ccf3e2a226afddfe9e3cb34495a5f130b1375bc2c5be6b8c
|
||||
DIST linuxdoc-tools_0.9.68.tar.gz 619242 SHA256 3b8611683d61480a60cdd2497132f15ca15fb583c9fe5543f6750d187a5dee67 SHA512 a78c662f4bf69b68530af0176fb6b35328c004a80cc73e7ed1151d46da3a7868e4a8a61094f8c4081a686f1ed0c58bd19c2c5ad5a2b6677ddc7c686e67a71df7 WHIRLPOOL 966e47e081bf5eb35de546f7cd0522396aba306d8afbeeba55afb91f360c196b196c3271b84ae8a98d7f9a4d0460558986a8a32a824940b0340236c705490676
|
||||
|
@ -0,0 +1,38 @@
|
||||
--- rtf-fix/Makefile.orig
|
||||
+++ rtf-fix/Makefile
|
||||
@@ -1,6 +1,4 @@
|
||||
-CC=gcc
|
||||
LEX=flex
|
||||
-CFLAGS=-O
|
||||
|
||||
all: rtf2rtf
|
||||
|
||||
--- sgmls-1.1/Makefile.orig 2013-03-20 13:40:43.674880678 +0400
|
||||
+++ sgmls-1.1/Makefile 2013-03-20 13:40:58.558881151 +0400
|
||||
@@ -15,14 +15,11 @@
|
||||
# Permissions mode to use for man pages.
|
||||
MANMODE=444
|
||||
|
||||
-CC=gcc
|
||||
PROFILE=
|
||||
INCLUDE=
|
||||
OPTIMIZE=-O
|
||||
DEBUG=
|
||||
WARN=
|
||||
-CFLAGS=$(DEBUG) $(INCLUDE) $(WARN) $(PROFILE) $(OPTIMIZE)
|
||||
-LDFLAGS=$(DEBUG) $(PROFILE)
|
||||
# Additional libraries needed.
|
||||
# Ultrix needs -li
|
||||
LIBS=
|
||||
|
||||
--- Makefile.in.orig 2013-03-20 13:43:36.900886178 +0400
|
||||
+++ Makefile.in 2013-03-20 13:43:49.783886587 +0400
|
||||
@@ -48,8 +48,6 @@
|
||||
OPTIMIZE = -O
|
||||
DEBUG =
|
||||
WARN =
|
||||
-CFLAGS = $(DEBUG) $(INCLUDE) $(WARN) $(PROFILE) $(OPTIMIZE)
|
||||
-LDFLAGS = $(DEBUG) $(PROFILE)
|
||||
|
||||
all:
|
||||
ifeq ($(BUILD_SGMLSASP), true)
|
@ -0,0 +1,24 @@
|
||||
--- linuxdoc-tools-0.9.68/perl5lib/LinuxDocTools.pm.letter Mon Nov 26 16:09:37 2001
|
||||
+++ linuxdoc-tools-0.9.68/perl5lib/LinuxDocTools.pm Mon Nov 26 16:09:49 2001
|
||||
@@ -108,7 +108,7 @@
|
||||
{ option => "pass", type => "s", short => "P" }
|
||||
];
|
||||
$global->{backend} = "linuxdoc";
|
||||
- $global->{papersize} = "a4";
|
||||
+ $global->{papersize} = "letter";
|
||||
$global->{language} = "en";
|
||||
$global->{charset} = "ascii";
|
||||
$global->{style} = "";
|
||||
--- linuxdoc-tools-0.9.68/man/linuxdoc.1.letter Mon Nov 26 16:10:04 2001
|
||||
+++ linuxdoc-tools-0.9.68/man/linuxdoc.1 Mon Nov 26 16:10:42 2001
|
||||
@@ -46,8 +46,8 @@
|
||||
format, but just output the usage of this suites.
|
||||
Available formats are: html, info, latex, lyx, rtf, tex, check.
|
||||
.IP "--papersize=\fIsize\fR, -p
|
||||
-Set the paper size. Default is ``a4'' (European 297x210mm paper).
|
||||
-You may also specify ``letter'' size.
|
||||
+Set the paper size. Default is ``letter''.
|
||||
+You may also specify ``a4'' size (European 297x210mm paper).
|
||||
.IP "--language=\fIlang\fR, -l"
|
||||
Specify the language of the document (this may change which style
|
||||
files are used for formatting by a back end). The default language is
|
@ -0,0 +1,11 @@
|
||||
--- rtf-fix/rtf2rtf.l.orig 2013-03-20 13:14:06.146829954 +0400
|
||||
+++ rtf-fix/rtf2rtf.l 2013-03-20 13:14:28.193830654 +0400
|
||||
@@ -72,7 +72,7 @@
|
||||
int skipnewline = 0;
|
||||
|
||||
extern char *yytext;
|
||||
-extern int yyleng;
|
||||
+extern yy_size_t yyleng;
|
||||
|
||||
#define CHAPTER 1
|
||||
#define SECTION 2
|
@ -0,0 +1,73 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/linuxdoc-tools/linuxdoc-tools-0.9.68.ebuild,v 1.1 2013/03/20 10:09:38 pinkbyte Exp $
|
||||
|
||||
EAPI=2
|
||||
|
||||
inherit eutils sgml-catalog toolchain-funcs
|
||||
|
||||
DESCRIPTION="A toolset for processing LinuxDoc DTD SGML files"
|
||||
HOMEPAGE="http://packages.qa.debian.org/l/linuxdoc-tools.html"
|
||||
SRC_URI="mirror://debian/pool/main/l/${PN}/${PN}_${PV}.tar.gz"
|
||||
|
||||
LICENSE="MIT SGMLUG"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ia64 ~ppc ~x86 ~x86-fbsd"
|
||||
|
||||
IUSE=""
|
||||
|
||||
DEPEND="app-text/openjade
|
||||
app-text/opensp
|
||||
app-text/sgml-common
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
>=dev-lang/perl-5.004
|
||||
sys-apps/gawk
|
||||
sys-apps/groff
|
||||
virtual/latex-base"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
sgml-catalog_cat_include "/etc/sgml/linuxdoc.cat" \
|
||||
"/usr/share/linuxdoc-tools/linuxdoc-tools.catalog"
|
||||
|
||||
src_prepare() {
|
||||
epatch \
|
||||
"${FILESDIR}/${P}-letter.patch" \
|
||||
"${FILESDIR}/${PN}-0.9.21-malloc.patch" \
|
||||
"${FILESDIR}/${P}-compiler.patch" \
|
||||
"${FILESDIR}/${P}-lex.patch"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CC
|
||||
econf --with-installed-iso-entities || die "./configure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" || die "Compilation failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Else fails with sandbox violations
|
||||
export VARTEXFONTS="${T}/fonts"
|
||||
|
||||
# Besides the path being wrong, in changing perl5libdir, it cannot find the
|
||||
# catalog.
|
||||
export SGML_CATALOG_FILES="/usr/share/sgml/sgml-iso-entities-8879.1986/catalog"
|
||||
|
||||
eval `perl -V:installvendorarch`
|
||||
einstall \
|
||||
perl5libdir="${D}${installvendorarch}" \
|
||||
LINUXDOCDOC="${D}/usr/share/doc/${PF}/guide" \
|
||||
|| die "Installation failed"
|
||||
|
||||
# Wrong path for the catalog.
|
||||
sed -i -e \
|
||||
's,/iso-entities-8879.1986/iso-entities.cat,/sgml-iso-entities-8879.1986/catalog,' \
|
||||
/usr/share/linuxdoc-tools/LinuxDocTools.pm || die 'sed failed'
|
||||
|
||||
insinto /usr/share/texmf/tex/latex/misc
|
||||
doins "${S}"/lib/*.sty || die
|
||||
|
||||
dodoc ChangeLog README || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST wgetpaste-2.19.tar.bz2 9960 SHA256 bb832557fca3be838838a87d790cb535974ea70bd2393818201676212f0f3b5a SHA512 66722faac50d5e33318a5c1dc5a6a2be89f348f9e2120a97de76adcdcaf9d96bf2a71f8e0407ce72bb6473ede5f9a9d755db6ed0dede585a2851fcee8caef2c4 WHIRLPOOL 1fd62492ae25ef05f049aae5fd4d5b3508934b744b487bb297cdf5a4d304f7b5f3de4427127d02c928389dbab7e3783bbdae24f27aafeac34580df3f9de7aaf7
|
||||
DIST wgetpaste-2.20.tar.bz2 10104 SHA256 7a53836d02e07cefc3c2978bb129a037fa1e1222ba0e275c4e818230a6d6fb9e SHA512 4d7042a77a7594ed42ebcc5bd75ff04548c5007656402f1934047f557fb3b01db5d21430eb62e25ca785c3c79dcdb3c8ccb8452d60f930b617f33f387111433d WHIRLPOOL 9bdfa014d61d873b98e75477046ecc06cbd3f6900e547d0af823b5c1865198742ad80891b977ae50090eb5c1d53bb56b6d2d5ee41d0982dfff46cc6022014d32
|
||||
DIST wgetpaste-2.21.tar.bz2 10102 SHA256 6e7ab50a16adb7dde6dc09681d9b2a3b53858251cdd007dd5d05007d694649c8 SHA512 61fe415369f9ac59c835ab7ff8e3be256fd052233dc82ad5f4791180f6cd3238323f1a23b1496fa29c23a7945c499e240f381e2038b5b4bfcce9423a2db7f551 WHIRLPOOL ce851208f0df9c3a8932c23d1079dc7d4eb7d0eca384be9a28589c01bbcbcb2fb82b7cc39074618d6886443b33f2bbbe58dfccd9b1d8c022aeb2da9e9fb43be1
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-text/wgetpaste/wgetpaste-2.21.ebuild,v 1.1 2013/03/20 09:50:08 maksbotan Exp $
|
||||
|
||||
EAPI="4"
|
||||
|
||||
DESCRIPTION="Command-line interface to various pastebins"
|
||||
HOMEPAGE="http://wgetpaste.zlin.dk/"
|
||||
SRC_URI="http://wgetpaste.zlin.dk/${P}.tar.bz2"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="zsh-completion +lodgeit-default"
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND="net-misc/wget
|
||||
zsh-completion? ( app-shells/zsh )"
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e "s:/etc:\"${EPREFIX}\"/etc:g" wgetpaste || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
insinto /etc/wgetpaste.d
|
||||
newins "${FILESDIR}"/wgetpaste-config-services services.conf
|
||||
use lodgeit-default && \
|
||||
newins "${FILESDIR}"/wgetpaste-config-default-lodgeit gentoo-default.conf
|
||||
if use zsh-completion ; then
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins _wgetpaste
|
||||
fi
|
||||
}
|
@ -1,8 +1,10 @@
|
||||
DIST 20120514-10gen-mms-agent.zip 30130 SHA256 a305434e79ba97f1bac6a8942ee5fccb8fde11dedc9ae4bd8eb5f6ad2beaef88 SHA512 8faab37d31fa681d6abe0f969996426041fe7dfd3a5991f46b3a48fe2b000fe073eec17ea7fdc8aab6d55df9b9f2486c10c80675ec1090a59c1b9c5e94b605e3 WHIRLPOOL 53cb78049aab3f6f1866840aaf2eba84d772d75a13183767db62efefedf86d37b944944fee7a7cc897b753c1211df89c20614b2aba3beb07b4705dedf159628f
|
||||
DIST 20120830-10gen-mms-agent.zip 30259 SHA256 9232813052f05376670724ae3da7ccff2a0515e8342d07c520cf6b9ae3e781d6 SHA512 84a7c07ffb18a34c5fc21e73b99f0b42a7b28a8aa33d56156c93a34c5cc9fba545788903117f3bfbe35d7b3a0f50e01c4ff8c9053cbf23317c84d739440878c8 WHIRLPOOL 61e89b7608f90b1994471f856aeae34e8cc1ec6d8168e804f5b3c2207702ac2334dc9ee18cf4e31facb212380a4956b008a3b296424d13e15178c65e868073ce
|
||||
DIST 20121128-10gen-mms-agent.zip 31408 SHA256 be5314dcf2dbfe22b6acd6901fa7d436c336884738cf59f8a4aacf2ccf331052 SHA512 7077c8212089b335710319ba83255c676cbafa415b5adbfdd323f46c66129efd8b561fcdc2cbf892a9d43cb22b1ae7685bb2c427b3b0c001ffe910874fa9d817 WHIRLPOOL 90cc005441acff46a83a899c7e33852799b45a31d790c25642636fdd8ddda50e1e8e58835d4cb1eca89244a9f2622cff10a1d0e20d1f4d5c3509b0de6baf276b
|
||||
DIST 20130319-10gen-mms-agent.zip 31825 SHA256 62b1860ffa13a49f1a7f64f7c87964ea1bbac061e0ffbab9c0490c5d8a0a9766 SHA512 c3acea261de5c0a7591885f42867e2625651e8ab8d9689563c7261a9727859600aab692bf6daa4febd490ce130b676476f60fc6fdf6c7247b2774cfa0310df95 WHIRLPOOL 872868872884eba636b48f99a2996a5417f4557c5e197e8063e9cb5d5a8ce23c1138b582b99efef01ce6d2a2795a3a02e536a025db69fb712fac89f13a8bb888
|
||||
DIST mongodb-src-r2.0.7.tar.gz 2982999 SHA256 b204d94bc912692bdc154402fbfc2e5c4bd60b09dcbe244f3b2b7657f0a82736 SHA512 4c92d99433388f6829e990f3a065b7d897c0ef83a8b41e99613b1b7fbccd8d1797a048c4340d6dafed956dcb06785ac9784a4b68990020c5052b11368ec98806 WHIRLPOOL 159952c811eae62cdb6b4ad577351a8f6537b8fae1b2d2ad5e4dbdf07e14944aebff765ee896f48ce53cbd7d53b6bb0fc2da470226488f2957b5c6e6df07f3e4
|
||||
DIST mongodb-src-r2.0.8.tar.gz 2983263 SHA256 882f0880609c9658793702af4da5183f49d85331600ae4d8997018367f4ae827 SHA512 f79ecc75bcf574886681b27198263cc9128ab6d865b71ae3a32ea366e9125f3c636fa45a7e94d8ee7acc04adb8da655f940da03e8a285d11d6b62b0c1cad23f5 WHIRLPOOL 21525830a69a8c734bdc39d979cd3abd3e7092ffa5b1e98392ca5e013e0bd7dd2e298792ba876e5c6098204fc73f35d5cf6186cb58e12f933de46fa903938c65
|
||||
DIST mongodb-src-r2.2.0.tar.gz 10150762 SHA256 084626e476ac747dfae143889c24a10f739cd54480af9bf253f50999f065608b SHA512 b040efe01457703d14d63f69b3fff79a09d6068a89b17d52ad7eb430f81d3f60fdba711cee628d55456a772d7e36fde7c683d4d71fa7d95225e436e28ccac163 WHIRLPOOL 43d12039aff75bdb12c41721ccf259b379245a655aba72472f2a973dad921d9a384f79356d6bfa9795b609f2011324b1e7100ff94b8b92f2834c40a3a9bbe653
|
||||
DIST mongodb-src-r2.2.2.tar.gz 10171793 SHA256 e646abd0a9839dec11fa4f35089aad8e9aeef628bce7832ab40a3138c7462127 SHA512 004c321dc046ee59a3bdb2e672d6720d627b6a0d482afacf89b557846bc0600ac06623c94076fd41f62fc6d59660a8a80c5333d128e7482a9835e260f7238142 WHIRLPOOL 52f310acb1cbed1d296fbe3719c71c74cf3bf89ea1ad89bc8dbc6aafeafae3e719fdce479fcf5a9d95b29eaab2e6099111687ed748309a125c18dfb10782f20a
|
||||
DIST mongodb-src-r2.2.3.tar.gz 10178451 SHA256 dd292c73f8182eb201ae4dd4bd7132c79c56247a7bc4fcde9d09a5bc6c74978d SHA512 216bb448db731ff5b435edcc127ccd99ca6fc388d1814872915e3fb6584621263d1339d8bf4da8a37ae25911df3fc036fb0fb898998e0c37ec65f61d5e38d83a WHIRLPOOL ca9a78b8574e03ec40dc4a505f768c34af964435685768fb878d30827dcb6c4c6da32d13d705f6704febd299a5d0e03aa594a51ae6894b9bc14aad0134b8cf76
|
||||
DIST mongodb-src-r2.4.0.tar.gz 14100300 SHA256 81bcdc4c4dcc97b8384277de06c35f4d5be10079262b047954b72b3b04cfbc84 SHA512 941bef21830e87406fe1b203bbeaebce1b45e55142969490fac780bbd81d901b9a2636606f325f766e650783860374d27cdf66eed516d0be67f7269d5f7c200d WHIRLPOOL 50de799457704d74f57d0b00bc286809ea52a0a66230c097a6beee9e33cac939367a84ebb36def82334d51b27de2bcb457476a32cb935cba5bfb8a6ed1f644e4
|
||||
|
@ -0,0 +1,129 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/mongodb/mongodb-2.4.0.ebuild,v 1.1 2013/03/20 17:30:47 ultrabug Exp $
|
||||
|
||||
EAPI=4
|
||||
SCONS_MIN_VERSION="1.2.0"
|
||||
|
||||
inherit eutils flag-o-matic multilib pax-utils scons-utils user versionator
|
||||
|
||||
MY_P=${PN}-src-r${PV/_rc/-rc}
|
||||
|
||||
DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
|
||||
HOMEPAGE="http://www.mongodb.org"
|
||||
SRC_URI="http://downloads.mongodb.org/src/${MY_P}.tar.gz
|
||||
mms-agent? ( http://dev.gentoo.org/~ultrabug/20130319-10gen-mms-agent.zip )"
|
||||
|
||||
LICENSE="AGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="mms-agent sharedclient spidermonkey ssl static-libs"
|
||||
|
||||
PDEPEND="mms-agent? ( dev-python/pymongo )"
|
||||
RDEPEND="
|
||||
dev-lang/v8
|
||||
>=dev-libs/boost-1.50[threads(+)]
|
||||
dev-libs/libpcre[cxx]
|
||||
dev-util/google-perftools
|
||||
net-libs/libpcap
|
||||
app-arch/snappy"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-libs/readline
|
||||
sys-libs/ncurses"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup mongodb
|
||||
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
|
||||
|
||||
scons_opts=" --cc=$(tc-getCC) --cxx=$(tc-getCXX)"
|
||||
scons_opts+=" --use-system-tcmalloc"
|
||||
scons_opts+=" --use-system-pcre"
|
||||
scons_opts+=" --use-system-snappy"
|
||||
scons_opts+=" --use-system-boost"
|
||||
|
||||
if use spidermonkey; then
|
||||
scons_opts+=" --usesm"
|
||||
else
|
||||
scons_opts+=" --use-system-v8"
|
||||
fi
|
||||
|
||||
if use sharedclient; then
|
||||
scons_opts+=" --sharedclient"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
scons_opts+=" --ssl"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-2.2-r1-fix-scons.patch"
|
||||
epatch "${FILESDIR}/${PN}-2.2-r1-fix-boost.patch"
|
||||
|
||||
if use sharedclient; then
|
||||
sed -i -e '/env.Append( LINKFLAGS=" -Wl,--as-needed -Wl,-zdefs " )/d' SConstruct || die
|
||||
sed -i -e 's/#env.SharedLibrary/env.SharedLibrary/g' src/SConscript.client || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
escons ${scons_opts} all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
escons ${scons_opts} --full --nostrip install --prefix="${ED}"/usr
|
||||
|
||||
use static-libs || find "${ED}"/usr/ -type f -name "*.a" -delete
|
||||
|
||||
if ! use spidermonkey; then
|
||||
pax-mark m "${ED}"/usr/bin/{mongo,mongod}
|
||||
fi
|
||||
|
||||
for x in /var/{lib,log}/${PN}; do
|
||||
keepdir "${x}"
|
||||
fowners mongodb:mongodb "${x}"
|
||||
done
|
||||
|
||||
doman debian/mongo*.1
|
||||
dodoc README docs/building.md
|
||||
|
||||
newinitd "${FILESDIR}/${PN}.initd" ${PN}
|
||||
newconfd "${FILESDIR}/${PN}.confd" ${PN}
|
||||
newinitd "${FILESDIR}/${PN/db/s}.initd" ${PN/db/s}
|
||||
newconfd "${FILESDIR}/${PN/db/s}.confd" ${PN/db/s}
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}.logrotate" ${PN}
|
||||
|
||||
if use mms-agent; then
|
||||
local MY_PN="mms-agent"
|
||||
local MY_D="/opt/${MY_PN}"
|
||||
insinto ${MY_D}
|
||||
doins "${WORKDIR}/${MY_PN}/"*
|
||||
fowners -R mongodb:mongodb ${MY_D}
|
||||
newinitd "${FILESDIR}/${MY_PN}.initd" ${MY_PN}
|
||||
newconfd "${FILESDIR}/${MY_PN}.confd" ${MY_PN}
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# wrt bug #461466
|
||||
if [[ "$(get_libdir)" == "lib64" ]]; then
|
||||
rmdir "${ED}"/usr/lib/
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
escons ${scons_opts} test
|
||||
"${S}"/test --dbpath=unittest || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ${REPLACING_VERSIONS} < 1.8 ]]; then
|
||||
ewarn "You just upgraded from a previous version of mongodb !"
|
||||
ewarn "Make sure you run 'mongod --upgrade' before using this version."
|
||||
fi
|
||||
elog "Journaling is now enabled by default, see /etc/conf.d/${PN}"
|
||||
}
|
@ -1,7 +1,10 @@
|
||||
DIST sqlite-2.8.16.tar.gz 981834 SHA256 d26e8a6fac1ad497a3ade719da4f1d6d60f586fd10f66253f1c3d3db7168984e SHA512 262cacbb9a6e615cd6ce7c2992c4dd5b0cd59de096daa74925e81baef4c0e4b3d9a7e4ebf8f4ba949afac4fe2fbf2c627ead29fa72ff38dffe6446ae46c40d4a WHIRLPOOL 78c4dc05f94d97483c03b1f1eee67f86fd5d9499e82b082ba3951878867d10d18ecbb5cac9086ce509c0cb1cb47b57661709a28d2ee7e61038512d1c11c77bff
|
||||
DIST sqlite-autoconf-3071401.tar.gz 1832051 SHA256 d46d302a63b23d9c3b80e519be12cb7d6a8d3da57bd9c119341a0aa8b3b28692 SHA512 0d66e32e5d5d6d83f106f1dea66d08c96846a4c74d4a536be7eeb9f30823988fbc3ecb7377fcddc5c2fa06ad94dd0a27f7f6ef4665718354eb92edc8431631c9 WHIRLPOOL 93f15bec26e44840b9f3e81173f9de00769359e0dc302c1f93bd19641618aaa780e50764a8ec35aa20e91bbae114f49817acf6fb6338ca5eecd5fc87978c9ce8
|
||||
DIST sqlite-autoconf-3071502.tar.gz 1846778 SHA256 782d16b797f6ca879f6f679ba3fb6ceb54bcb0cab65feef332058bf04b36ba8c SHA512 ccec842f649c1dd47aed4712fc775d41097daca895ccc8b7fee24771f6c1832fb5210473f62dc62d4391c0a47ed3dfc9b92046fa7937aeb859105680942da082 WHIRLPOOL bba4dfd6482fe2164d6d7719ca6202771dc6eb252e4e9c42473d4d77e99039097be6c1f35601b267ba6161c635766e5b3d4754324d1f2ccdbc2a671ddd68896c
|
||||
DIST sqlite-autoconf-3071600.tar.gz 1854055 SHA256 3509c20fa2b1725734997b1dbb3dbfc825cfa7a09194cbac8f6fe33ed187ad34 SHA512 5f63a1ce5d06e4e09c86bac5cf78091ff4444b1a79b05008443e6ef211512acc6bea258052a83cee290b42fe2dd395698526b0e2cade9bb9d09ae522245454e2 WHIRLPOOL fb3aa5c0c836993b3f161807d1b815678d512102405fd9b2e4fba0f04be9ccaae5ffd9bfbec92b5ea0ea5beb66e2df561637d6360a273fd4e4004a88b4b7c7c8
|
||||
DIST sqlite-doc-3071400.zip 4109131 SHA256 d427a538339e7641168d034b6d07b241014e87330c143372a47f1ce082262a4a SHA512 0475f7a894ecf7daa942b85cd136efdd8e46cb0f70ae781ef1ac7a0e1b145a0a49a04abc2afc641b4e042c4fb90cecf2d1eda3ed856e9aaa8a27876090b7cf06 WHIRLPOOL 9ac485d5f5b4e2ae09b1763abf9e43fc83dea2f9be5bbd8309956abbc55e70f124240580614546a8e776340fc0b2d4bcfd60392f554581d36a4316c17eee4bf0
|
||||
DIST sqlite-doc-3071502.zip 4116611 SHA256 14ad48d79d4a9d3b261df3de1896c9d2b4565d6a11c01a4594fa04695a45c85d SHA512 1e59c870d02932565d1943f47554adf665e9bf3734efe0dcfc06c2cef4f0997af6796104fa1c7a2f1a34e70e1b577195e468b980ef69f3f01760c0302b9a8bee WHIRLPOOL 7ef06e21c2928cb2b1212ea03bca8f21def5ed404c2641425146df19f846a5f7f6a40768ecaf3ad0c735ad7c4e70c2980a0f5f8b2fcb28655dce13036f0b2842
|
||||
DIST sqlite-doc-3071600.zip 4124081 SHA256 2e4784c426176705bc10438bb2d392a1ed17a05746a81b7200355c01d0d1baa3 SHA512 d77009c56cc57dedb8cd0ccf94d36196a1d20d241e689839b89e4d95481c4e7fa19f39bc3d2fc43e0d96d3769811422a73d7a4bba7be7db4747262dee3c663f7 WHIRLPOOL 34fb3034e8894d9096922e695ede1d9035bca95b1a67e9cf8fd136eb675432309cc4ce8513089b1f66626524a0069d9a68c0bfcd1c36b53cc87a09e1bb3c5a03
|
||||
DIST sqlite-src-3071401.zip 4966093 SHA256 cba6c248cdab98644e54a4f7cb378d0f371459214603ac3d522eb1a8a4215ced SHA512 c42d4ab15ab992a3bf297e5049aad6c7c9adc211b04e9cb06d397e1a6c73f5f7f9e329a0db0b8f7296d2705999001bcc44a76148fcdd2c8b4757b09664140939 WHIRLPOOL e09ae98e090b4351a8da101fd9a60c0bb02ddc7aa7a072f0824bf3a303502a0120a6068d4b3dac2d81aef40754991793a91e7c464f12ee783174f104903600df
|
||||
DIST sqlite-src-3071502.zip 5005498 SHA256 a44b38caed99f9538d07a6ad417d562c99416ec0f79ad29d5e60ad69a8866d87 SHA512 aa73497eca9d6ed8d4e25cb560a9a53d2014f30d3df2a9d1bb24ca4ac829c6f5955515d0046b33f2203ff0022043b15ac3e882f35191463e0022c83614fb41db WHIRLPOOL b12756e24e3f630d615ee891c44515cb5459c54409ddf76da5d6220f75cfa4a9e502bd84a46bd51ebe517c5dfca0f3fe20ec1d18bf45918706a5dcbe4b0bfe70
|
||||
DIST sqlite-src-3071600.zip 5045036 SHA256 714bb725f6e1b527ec344876e9c3e9cfac747de9f4ae80a0d633d1bc35bae6a9 SHA512 60fed8cee0449143eb630ed948447eddbdbd8072b54128e84a9e1b62319e846fc4f76f05fe2d8dbc49196f95a2ead78f8dff23cf83cb965112f3a563dae34c5e WHIRLPOOL c164adceaf7d1db97b5327a52044673cb0a37a4c7640a44906791847206b564eeb609b16405124fece83e624caa05015613162d24927fd588c1753c7ea722a0f
|
||||
|
@ -0,0 +1,161 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-db/sqlite/sqlite-3.7.16.ebuild,v 1.1 2013/03/19 23:18:24 floppym Exp $
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib 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/2013/${PN}-doc-${DOC_PV}.zip )
|
||||
tcl? ( http://sqlite.org/2013/${PN}-src-${SRC_PV}.zip )
|
||||
!tcl? (
|
||||
test? ( http://sqlite.org/2013/${PN}-src-${SRC_PV}.zip )
|
||||
!test? ( http://sqlite.org/2013/${PN}-autoconf-${SRC_PV}.tar.gz )
|
||||
)"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~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 +extensions icu +readline secure-delete static-libs tcl test"
|
||||
|
||||
RDEPEND="icu? ( dev-libs/icu:= )
|
||||
readline? ( sys-libs/readline )
|
||||
tcl? ( dev-lang/tcl:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-arch/unzip )
|
||||
tcl? ( app-arch/unzip )
|
||||
test? (
|
||||
app-arch/unzip
|
||||
dev-lang/tcl
|
||||
)"
|
||||
|
||||
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() {
|
||||
# At least ppc-aix, x86-interix and *-solaris need newer libtool.
|
||||
use prefix && eautoreconf
|
||||
|
||||
if amalgamation; then
|
||||
epunt_cxx
|
||||
fi
|
||||
}
|
||||
|
||||
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 column metadata functions.
|
||||
# http://sqlite.org/c3ref/column_database_name.html
|
||||
# http://sqlite.org/c3ref/table_column_metadata.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 -DSQLITE_ENABLE_FTS4_UNICODE61
|
||||
|
||||
# Support R*Trees.
|
||||
# http://sqlite.org/rtree.html
|
||||
append-cppflags -DSQLITE_ENABLE_RTREE
|
||||
|
||||
# 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 by default.
|
||||
# http://sqlite.org/pragma.html#pragma_secure_delete
|
||||
if use secure-delete; then
|
||||
append-cppflags -DSQLITE_SECURE_DELETE -DSQLITE_CHECK_PAGES -DSQLITE_CORE
|
||||
fi
|
||||
|
||||
local extensions_option
|
||||
if amalgamation; then
|
||||
extensions_option="dynamic-extensions"
|
||||
else
|
||||
extensions_option="load-extension"
|
||||
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-threadsafe \
|
||||
$(use_enable extensions ${extensions_option}) \
|
||||
$(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)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ "${EUID}" -eq 0 ]]; then
|
||||
ewarn "Skipping tests due to root permissions"
|
||||
return
|
||||
fi
|
||||
|
||||
emake $(use debug && echo fulltest || echo test)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" HAVE_TCL="$(usex tcl 1 "")" TCLLIBDIR="${EPREFIX}/usr/$(get_libdir)/${P}" install
|
||||
prune_libtool_files
|
||||
|
||||
doman sqlite3.1
|
||||
|
||||
if use doc; then
|
||||
find "${WORKDIR}/${PN}-doc-${DOC_PV}" -name ".[_~]*" -delete
|
||||
dohtml -A ico,odg,pdf,svg -r "${WORKDIR}/${PN}-doc-${DOC_PV}/"
|
||||
fi
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
From 253e1d0d10bdece158f8f68dc48c19ab57d2da29 Mon Sep 17 00:00:00 2001
|
||||
From: Mandeep Singh Baines <msb@chromium.org>
|
||||
Date: Mon, 18 Mar 2013 19:03:36 -0700
|
||||
Subject: [PATCH] atomic: fix compiler error when building for thumb2
|
||||
|
||||
Fixed the following error:
|
||||
|
||||
{standard input}: Assembler messages:
|
||||
{standard input}:179: Error: thumb conditional instruction should be in IT block
|
||||
-- `strexeq r4,r1,[r2]'
|
||||
{standard input}:283: Error: thumb conditional instruction should be in IT block
|
||||
-- `strexeq r1,r4,[r2]'
|
||||
{standard input}:379: Error: thumb conditional instruction should be in IT block
|
||||
-- `strexeq r1,r2,[r0]'
|
||||
make[4]: *** [fifo.lo] Error 1
|
||||
|
||||
Fix was to add the appropriate it block.
|
||||
|
||||
While I was at it, I optimized the code a bit by:
|
||||
|
||||
1) Moved the mov instruction above the ldrex to minimize the number
|
||||
of instructions between the ldex and strex as recommeded here:
|
||||
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/BABFFBJB.html
|
||||
2) Saved 4 bytes by replacing mov with movs and teq with cmp.
|
||||
|
||||
Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
|
||||
---
|
||||
lib/direct/atomic.h | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/direct/atomic.h b/lib/direct/atomic.h
|
||||
index 94cb0c9..8dc0dfb 100644
|
||||
--- a/lib/direct/atomic.h
|
||||
+++ b/lib/direct/atomic.h
|
||||
@@ -191,9 +191,10 @@ static inline int _D__atomic_cmpxchg(volatile int *ptr, int old, int _new)
|
||||
|
||||
do {
|
||||
__asm__ __volatile__("@ atomic_cmpxchg\n"
|
||||
+ "movs %0, #0\n"
|
||||
"ldrex %1, [%2]\n"
|
||||
- "mov %0, #0\n"
|
||||
- "teq %1, %3\n"
|
||||
+ "cmp %1, %3\n"
|
||||
+ "it eq\n"
|
||||
"strexeq %0, %4, [%2]\n"
|
||||
: "=&r" (res), "=&r" (oldval)
|
||||
: "r" (ptr), "Ir" (old), "r" (_new)
|
||||
--
|
||||
1.7.12.4
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST libburn-1.2.4.tar.gz 917837 SHA256 f0598fa76d157a935b576778ab8cc772f96480894239da14be84986ef1313e4b SHA512 4d8c34bdb2c829931b2a8860580319f8e374d6ea04622e40d6b97fc2120dddcd0836d31011c7797508fce0e9e5a4bcd763332bb9d505058ce656e1118c85fe0e WHIRLPOOL ab175c6af51ab1cd1982e5b96480e3b6d17dcf6c70cd6fe3509cb0d440de81c30c5e88d9add269ebf6f4c031c814c56d299d3c125dcf6fdfae16b6ff974917f7
|
||||
DIST libburn-1.2.6.tar.gz 923413 SHA256 7b99a3036834c18259a59293b2aab37892550bd1d19a8a010fa338379555188f SHA512 5026f271680f3321281dfb89d8ab7e2975549db4848a9db79020b42869ab33974d9ba2d8ca1f0bcc6dabb7cd05fa99fb6087fbd6e62bcee77c96f879104c9e70 WHIRLPOOL 6654390f58dea410a3d4734532d9a97e4ce898a6a1853e179820817ad1491232fa86c94086d9837063b0db7ea25664554cfddd63709653aa8d1de165fb329810
|
||||
DIST libburn-1.2.8.tar.gz 926601 SHA256 5f33c8616c49950729133a4eb751b1bfe4a61943b59ea0a6e5968d475448845c SHA512 0fcab29201292a4a7341806281b550f36d3849268e5de25b9fe8d5e1610da457897eafdf2b7f2a2b9d3adb1258b5e072bdfd717675dea28ecab11d1f1c8951f1 WHIRLPOOL e07498fbd278bd930f842da01d1ebfe3eeca3f83ff2be4493716bbaf361a87bdfb19da883d887aecaa73920bca08717144853833807bff967ad104ee150f095b
|
||||
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libburn/libburn-1.2.8.ebuild,v 1.1 2013/03/20 18:25:30 billie Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Libburn is an open-source library for reading, mastering and writing optical discs."
|
||||
HOMEPAGE="http://libburnia-project.org"
|
||||
SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="cdio debug static-libs track-src-odirect"
|
||||
|
||||
RDEPEND="cdio? ( >=dev-libs/libcdio-0.83 )"
|
||||
DEPEND="$RDEPEND
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable track-src-odirect) \
|
||||
--enable-pkg-check-modules \
|
||||
$(use_enable cdio libcdio) \
|
||||
--disable-ldconfig-at-install \
|
||||
$(use_enable debug)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
dodoc CONTRIBUTORS doc/{comments,*.txt}
|
||||
|
||||
cd "${S}"/cdrskin
|
||||
docinto cdrskin
|
||||
dodoc *.txt README
|
||||
docinto cdrskin/html
|
||||
dohtml cdrskin_eng.html
|
||||
|
||||
find "${D}" -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libffi-3.0.11.tar.gz 794220 SHA256 70bfb01356360089aa97d3e71e3edf05d195599fd822e922e50d46a0055a6283 SHA512 0049388d16207078a3d6dce97c877f1d9647aa9d908a9372a3f67ca064b70d8c8b23ee458be4a15a6344a5d39ea3e6292be728dfbcc73e1efc0b1db03be874f3 WHIRLPOOL c5ee01a6415b2715a4542d0997e3a7f42cbc97e476589d4e093fcff44315cc83f78a02dc04929c96831309966ac196e6ceb134c8b14cfc02313e139a98e6c11a
|
||||
DIST libffi-3.0.12.tar.gz 844641 SHA256 2ea0db90c2bbcc907c3aefc3f76e9dfc3b35c7a0fb75a4319f5248e0172c1e9e SHA512 9ebd5f274aaf007a5f888d3eb3a1652f61f7ff46ea23283a94888b229bcc959fd22904a7101989cd238dfbb10c335129cfa3a947c650dad72522f7fcd0d9c79c WHIRLPOOL d1d2247b3727b4f75006db3bcd4b01dbde2817ea774dadbee30bd8cb4578d01176be089ed6e4bf373587f824fef06ae7fbd1d24f775da7d8f91bb9e753d2580b
|
||||
DIST libffi-3.0.13.tar.gz 845747 SHA256 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c SHA512 fc47f5d25197c631754efe05a349edb556d072807ecef19b41f17c1a8f39c95221be64926fbd05b1f8439181df1ddff8fc01462ce3a26005b75159ddc27e6f6a WHIRLPOOL d5b14d48a7b35f7349ec938d0deac62db7022ac4d611ab13bc7a6a2766a47e210fc1663fc8c6d7ee48d421c06b66f558010829ac2c215620c76d0bf7650e1308
|
||||
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libffi/libffi-3.0.13.ebuild,v 1.1 2013/03/20 17:16:28 ssuominen Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils libtool multilib toolchain-funcs
|
||||
|
||||
DESCRIPTION="a portable, high level programming interface to various calling conventions."
|
||||
HOMEPAGE="http://sourceware.org/libffi/"
|
||||
SRC_URI="ftp://sourceware.org/pub/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug pax_kernel static-libs test"
|
||||
|
||||
DEPEND="test? ( dev-util/dejagnu )"
|
||||
|
||||
DOCS="ChangeLog* README"
|
||||
|
||||
pkg_setup() {
|
||||
# Check for orphaned libffi, see http://bugs.gentoo.org/354903 for example
|
||||
if [[ ${ROOT} == "/" && ${EPREFIX} == "" ]] && ! has_version ${CATEGORY}/${PN}; then
|
||||
local base="${T}"/conftest
|
||||
echo 'int main() { }' > "${base}".c
|
||||
$(tc-getCC) -o "${base}" "${base}".c -lffi >&/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
eerror "The linker reported linking against -lffi to be working while it shouldn't have."
|
||||
eerror "This is wrong and you should find and delete the old copy of libffi before continuing."
|
||||
die "The system is in inconsistent state with unknown libffi installed."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch_user
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use userland_BSD && export HOST="${CHOST}"
|
||||
econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable pax_kernel pax_emutramp) \
|
||||
$(use_enable debug)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
prune_libtool_files
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/${PN}$(get_libname 5)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/${PN}$(get_libname 5)
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libisoburn-1.2.4.tar.gz 1279036 SHA256 be5c3adfcf8c32e8489ac77de5842c39cfefd8e994edebabb8353262945a85bf SHA512 379febdaad104cdb020d2fee94da0843f8ae7db497eb4e5fe55cb4da20f88fd07c8ae766767c905abbe7120684a38b2eae7d62169ce00305d4d420204db72390 WHIRLPOOL 07e05f872c7ba7b7546edfe9b18ce44fdbb0d2e0e0d5369ca30c67a116026eb9e17461220035afccbafec3635fd799a6ac99749ad07eb851c435d4ed73025607
|
||||
DIST libisoburn-1.2.6.tar.gz 1363911 SHA256 caf09ad8b96b2ea4ef7cc54b1afbb65f7b7acfae2df6b5599efdef5b8d1bb7ce SHA512 6740659d0371f6b67964c233ba544c515bb42ce4d17a251d7fab56c38938008f8f2a39f750ccbef313aa5ec1b730aaebe4f5714a18075b1dfb195235e8ccf65c WHIRLPOOL c7c4e79254df63c477b3f8d4af3c951f0f71f80840ce8afac141136de78c32f5972d387036d57ea88bfb54bac380f21bca8ede92129ed3738a46814373525f43
|
||||
DIST libisoburn-1.2.8.tar.gz 1370701 SHA256 f6fc41f1ad00ae5edb2ef7e204e3c3465bd348dc2fee27c327bb31741cae0e88 SHA512 5706cf15008e5fb280d3c6f7172a06aea3cfb2090ab709ee79983962da220139d68940c0db154ccea44b97b63017f50c90b64570bca90b190238c750db60abe7 WHIRLPOOL 9e472848a80dff2e123c4f8b5de6b1ae6de04de8f79ea94969f246380bc93922e82f5849a3d62280411ef63e72a4524385ce40a6fc73ce58bf69e0c53f1c0214
|
||||
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libisoburn/libisoburn-1.2.8.ebuild,v 1.1 2013/03/20 18:29:23 billie Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Enables creation and expansion of ISO-9660 filesystems on all CD/DVD media supported by libburn"
|
||||
HOMEPAGE="http://libburnia-project.org/"
|
||||
SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2 GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~x86"
|
||||
IUSE="acl cdio debug external-filters external-filters-setuid frontend-optional launch-frontend launch-frontend-setuid readline static-libs xattr zlib"
|
||||
|
||||
REQUIRED_USE="frontend-optional? ( || ( launch-frontend launch-frontend-setuid ) )"
|
||||
|
||||
RDEPEND=">=dev-libs/libburn-1.2.8
|
||||
>=dev-libs/libisofs-1.2.8
|
||||
readline? ( sys-libs/readline )
|
||||
acl? ( virtual/acl )
|
||||
xattr? ( sys-apps/attr )
|
||||
zlib? ( sys-libs/zlib )
|
||||
cdio? ( >=dev-libs/libcdio-0.83 )
|
||||
launch-frontend? ( dev-lang/tcl dev-lang/tk )
|
||||
launch-frontend-setuid? ( dev-lang/tcl dev-lang/tk )
|
||||
frontend-optional? ( dev-tcltk/bwidget )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable readline libreadline) \
|
||||
$(use_enable acl libacl) \
|
||||
$(use_enable xattr) \
|
||||
$(use_enable zlib) \
|
||||
--disable-libjte \
|
||||
$(use_enable cdio libcdio) \
|
||||
$(use_enable external-filters) \
|
||||
$(use_enable external-filters-setuid) \
|
||||
$(use_enable launch-frontend) \
|
||||
$(use_enable launch-frontend-setuid) \
|
||||
--disable-ldconfig-at-install \
|
||||
--enable-pkg-check-modules \
|
||||
$(use_enable debug)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
dodoc CONTRIBUTORS doc/{comments,*.wiki,startup_file.txt}
|
||||
|
||||
cd "${S}"/xorriso
|
||||
docinto xorriso
|
||||
dodoc changelog.txt README_gnu_xorriso
|
||||
|
||||
find "${D}" -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libisofs-1.2.4.tar.gz 763300 SHA256 d0875e51f229c5e34491dce58f3cdddf8c98fadeae9e84b62b27cff7800a967f SHA512 4ebdab4b1d7c2b4b8ffd5431e27e765a405db14117f55a0c749ffa30ca705529f692762959b6e136bee78924524dd38fdbadbd722be1bd11be10ec23d928ab26 WHIRLPOOL 056f4176a84145eacd654648d7df122da843db4f66e76bb54ef579995718ead240bf3abe512fe405f6535245014bb92dec9a101c56a4849928f908afe1ce618b
|
||||
DIST libisofs-1.2.6.tar.gz 763513 SHA256 c89da6821d5cac049657a27bbbc19d69b475ca51bfd595804617ee6ee2e977b7 SHA512 6bc25297b79805b547fdd92833c850b145dcdc0f9e84004aac2cb19b0df302dc1a44612c320fca0f867653a212c42adea3a84a45d273f31cc7523a9325f1e3a4 WHIRLPOOL 3de5fae5663477820a2143cc013bb2a932157c6d6e701f379ea31fbc46eb5752295ec4debf5de1b8421a9b0a4d0044d484092c969baa608f5dabfe0cbe0a1bbe
|
||||
DIST libisofs-1.2.8.tar.gz 764335 SHA256 665f07752d416d05bc780ff12cccc438b9b0a9917b943750f2b3236ddeac65a0 SHA512 707a220fe49ff5ecd6816ac69d614823a3fa38e79d29c03f0bf696551cdeb6489b0f251ec7532fe79887cddb31183e5233862ce0b859fde46092588fd4313a38 WHIRLPOOL 81082eca7f73d8efac457138320f9a0bc8c5a4f42e4b252ee11b86f6e14bdc5f6dffc8508a1311ea258bb1975fdabd72e9952e9379f4aa75fd69028754d69a44
|
||||
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libisofs/libisofs-1.2.8.ebuild,v 1.1 2013/03/20 18:26:54 billie Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="libisofs is an open-source library for reading, mastering and writing optical discs."
|
||||
HOMEPAGE="http://libburnia-project.org/"
|
||||
SRC_URI="http://files.libburnia-project.org/releases/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="acl debug static-libs verbose-debug xattr zlib"
|
||||
|
||||
RDEPEND="acl? ( virtual/acl )
|
||||
xattr? ( sys-apps/attr )
|
||||
zlib? ( sys-libs/zlib )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable verbose-debug) \
|
||||
$(use_enable acl libacl) \
|
||||
$(use_enable xattr) \
|
||||
$(use_enable zlib) \
|
||||
--disable-libjte \
|
||||
--disable-ldconfig-at-install
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
dodoc Roadmap doc/{checksums.txt,susp_aaip*,Tutorial,zisofs_format.txt}
|
||||
|
||||
find "${D}" -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
--- a/include/netlink-local.h
|
||||
+++ b/include/netlink-local.h
|
||||
@@ -343,7 +343,9 @@
|
||||
}
|
||||
|
||||
#define ARRAY_SIZE(X) (sizeof(X) / sizeof((X)[0]))
|
||||
+#ifndef offsetof
|
||||
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
|
||||
+#endif
|
||||
|
||||
#define __init __attribute__ ((constructor))
|
||||
#define __exit __attribute__ ((destructor))
|
@ -0,0 +1,48 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/libnl/libnl-1.1.3.ebuild,v 1.1 2013/03/20 01:26:43 jer Exp $
|
||||
|
||||
EAPI=5
|
||||
inherit eutils multilib toolchain-funcs
|
||||
|
||||
DESCRIPTION="A library for applications dealing with netlink socket"
|
||||
HOMEPAGE="http://www.infradead.org/~tgr/libnl/"
|
||||
SRC_URI="http://www.infradead.org/~tgr/libnl/files/${P}.tar.gz"
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="1.1"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
IUSE="doc"
|
||||
|
||||
DEPEND="doc? ( app-doc/doxygen )"
|
||||
DOCS=( ChangeLog )
|
||||
|
||||
src_prepare() {
|
||||
epatch \
|
||||
"${FILESDIR}"/${PN}-1.1-vlan-header.patch \
|
||||
"${FILESDIR}"/${PN}-1.1-flags.patch \
|
||||
"${FILESDIR}"/${PN}-1.1.3-offsetof.patch
|
||||
sed -i \
|
||||
-e '/@echo/d' \
|
||||
Makefile.rules {lib,src,tests}/Makefile || die
|
||||
sed -i \
|
||||
-e 's|-g ||g' \
|
||||
Makefile.opts.in || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake AR=$(tc-getAR)
|
||||
|
||||
if use doc ; then
|
||||
cd "${S}/doc"
|
||||
emake gendoc || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use doc ; then
|
||||
cd "${S}/doc"
|
||||
dohtml -r html/*
|
||||
fi
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-libs/yaz/yaz-4.2.51.ebuild,v 1.1 2013/03/20 16:45:40 robbat2 Exp $
|
||||
|
||||
EAPI=2
|
||||
inherit eutils autotools
|
||||
|
||||
DESCRIPTION="C/C++ programmer's toolkit supporting the development of Z39.50v3 clients and servers"
|
||||
HOMEPAGE="http://www.indexdata.dk/yaz"
|
||||
SRC_URI="http://ftp.indexdata.dk/pub/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD GPL-2"
|
||||
SLOT="4"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
|
||||
IUSE="debug icu tcpd ziffy"
|
||||
|
||||
RDEPEND="dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/openssl
|
||||
icu? ( dev-libs/icu )
|
||||
tcpd? ( sys-apps/tcp-wrappers )
|
||||
ziffy? ( net-libs/libpcap )"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
dev-lang/tcl
|
||||
>=sys-devel/libtool-2"
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-4.2.30-icu-automagic.patch
|
||||
AT_M4DIR="m4" eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--enable-static \
|
||||
--enable-shared \
|
||||
$(use_enable debug memdebug) \
|
||||
$(use_enable icu) \
|
||||
$(use_enable tcpd tcpd /usr)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake || die "emake failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local docdir="/usr/share/doc/${PF}"
|
||||
emake DESTDIR="${D}" docdir="${docdir}" install || die "install failed"
|
||||
|
||||
dodir ${docdir}/html
|
||||
mv -f "${D}"/${docdir}/*.{html,png} "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
|
||||
mv -f "${D}"/usr/share/doc/${PN}/common "${D}"/${docdir}/html/ || die "Failed to move HTML docs"
|
||||
rm -rf "${D}"/usr/share/doc/${PN}
|
||||
|
||||
dodoc ChangeLog NEWS README
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST Geo-IP-1.40.tar.gz 111898 SHA256 ca48babd3e944cb1bc5cac56f618c9f94f3a329dd2716d6b49b658ae28848ab3 SHA512 6c5e3d136dcbaebf291ea14004cb775e0b4ef3ccaa4a200609a16818d34f6c9f1c2550b3f4d98626b6d58cfb372d1a7db86002506eddeceb592b800a056f11f2 WHIRLPOOL c4e91c22de1bc34b36c9d400c827577e878fa977098c7f0de68d35cae1b2354f4899b7e3663f9ec3c93f05b7fdf8015bbc9d55f285b30c30ef541b413ccf6889
|
||||
DIST Geo-IP-1.41.tar.gz 111749 SHA256 d6afe868033f2620377de3d311c277fa2e70ccf02266b72efe03358b87ded348 SHA512 ddf5eaee87cf8e60e9516495a8d34ad7776dedb70db7c3ccfe970c37e03806f18a94d99f0086ce8981f5a35488395e91ae6f45e1aa549d678506b261fab0c01c WHIRLPOOL b1999dcebad5ad0e9c2abaa71ae552d4a8d5eb0e4048e2dd08146544e76757798f00b0d85d8c384e2bc92202ef73166e6c6e6376cfa7c1a98ef28f4537d963ed
|
||||
|
@ -0,0 +1,36 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/cffi/cffi-0.5-r1.ebuild,v 1.1 2013/03/20 08:23:58 idella4 Exp $
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_COMPAT=( python{2_6,2_7} pypy{1_9,2_0} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Foreign Function Interface for Python calling C code."
|
||||
HOMEPAGE="http://cffi.readthedocs.org/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc test"
|
||||
|
||||
RDEPEND="virtual/libffi
|
||||
dev-python/pycparser[$(python_gen_usedep python{2_6,2_7} pypy{1_9,2_0})]
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
dev-python/hgdistver"
|
||||
DEPEND="$REDEPEND
|
||||
test? ( dev-python/virtualenv )"
|
||||
|
||||
python_compile_all() {
|
||||
use doc && emake -C doc html
|
||||
}
|
||||
|
||||
python_test() {
|
||||
py.test c/ testing/ -x -v
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
use doc && dohtml -r doc/build/
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST Frozen-Flask-0.10.tar.gz 105667 SHA256 e88c9a37e7ae46d51c302ea75fcc628a0a0d0fc6e9ec505d7570c45e7585e15c SHA512 16c9fb7227a2e3f2ed8ffef871df69f616e5d9b42b5ef8fb7c952ebfad253ea1e606aa1598003b963c27f873ddf6c9df5ba495792991e93ae4ba87bac91639ed WHIRLPOOL 8df307e7922f01d2be98941e19f26c42373a164f5a27647553190c622ff1a74388846eb1c3ff474d765da5476a7a361223a8245791d901953e9e675fbadd83db
|
||||
DIST Frozen-Flask-0.7.tar.gz 72109 SHA256 71f65b79f4a68b07fa142e5c6203bfa0aaf2fe16cafa5d8f0582809761c6a4f7 SHA512 942c8f74dcc35665b84e4464bfe3d86745e34b460601c2300afb9e78abcfdc18b967448f1182bb10ffd8f3fdc696b6cacd1651a698413505ee85a38c30d3523f WHIRLPOOL 42628d9df66d1b22f323e622249545a8e171569f1f95aab4660918785e7e892e0553528c710835d63a4a3f2d8e37c09f426d072a94d00c81e265098a189e3bd1
|
||||
DIST Frozen-Flask-0.8.tar.gz 72881 SHA256 36647fa44e711573995a1d662067fc802f240626c3c1898bd60c89e477c9d549 SHA512 f65a7f57346fd4872c406f2070ff2b4fb959dc58d86f98d2910b7fa9fc435fd63e880acc9029007813ae6b23f0db1f6fa5495bab0ffad3791e33243c0c82ad5e WHIRLPOOL 2f52c7377f6478c14fb92aa4c9253702c888ad63ebeeb179a4f5606e958671da0b9844049e33f0ebd8710112b67df4d3c16207fb8d4f87dc052fb1a61521be10
|
||||
DIST Frozen-Flask-0.9.tar.gz 73608 SHA256 21d7a6f2fba940106544aaf41bd5f26e281d96fbb642d7876a3aaceec944a163 SHA512 54ef915a8abd6279ccca2dbb52e87e22d466bd0f899af01359e9f6c53b7bb91bb702b0727ace47b483be4bdc485e0dd77d3cb9f9d382a5483bf390fe92630afe WHIRLPOOL 1b3b0c6b3231ed062f12b2544089686278aa24d874ebe0ee781930a03904457efbd39e03613ed64e0f5adfd856198b930df3d0efa336fd0a3f5c5bd2f136de01
|
||||
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/frozen-flask/frozen-flask-0.10.ebuild,v 1.1 2013/03/20 08:05:36 patrick Exp $
|
||||
|
||||
EAPI="3"
|
||||
PYTHON_DEPEND="2:2.5"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
RESTRICT_PYTHON_ABIS="2.4 3.*"
|
||||
DISTUTILS_SRC_TEST="nosetests"
|
||||
|
||||
inherit distutils
|
||||
|
||||
MY_PN="Frozen-Flask"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Freezes a Flask application into a set of static files."
|
||||
HOMEPAGE="https://github.com/SimonSapin/Frozen-Flask http://pypi.python.org/pypi/Frozen-Flask"
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=">=dev-python/flask-0.7"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PYTHON_MODNAME="flask_frozen"
|
@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/mwlib/mwlib-0.15.3.ebuild,v 1.1 2013/03/20 08:52:47 patrick Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
PYTHON_DEPEND="2:2.6"
|
||||
SUPPORT_PYTHON_ABIS="1"
|
||||
RESTRICT_PYTHON_ABIS="3.* *-pypy-* *-jython"
|
||||
DISTUTILS_SRC_TEST=py.test
|
||||
|
||||
inherit distutils eutils
|
||||
|
||||
DESCRIPTION="Tools for parsing Mediawiki content to other formats"
|
||||
HOMEPAGE="http://code.pediapress.com/wiki/wiki http://pypi.python.org/pypi/mwlib"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="doc"
|
||||
|
||||
RDEPEND="dev-python/lxml
|
||||
=dev-python/odfpy-0.9*
|
||||
dev-python/pyPdf
|
||||
virtual/pyparsing
|
||||
dev-python/timelib
|
||||
virtual/latex-base
|
||||
>=dev-python/simplejson-2.5
|
||||
dev-python/gevent
|
||||
dev-python/bottle
|
||||
dev-python/apipkg
|
||||
dev-python/qserve
|
||||
dev-python/roman
|
||||
dev-python/py
|
||||
dev-python/sqlite3dbm"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools
|
||||
app-arch/unzip
|
||||
doc? ( dev-python/sphinx )"
|
||||
|
||||
PYTHON_CFLAGS=("2.* + -fno-strict-aliasing")
|
||||
|
||||
DOCS="changelog.rst"
|
||||
|
||||
src_prepare() {
|
||||
# mwlib.apipkg is actually used.
|
||||
sed -e 's/, "apipkg"//' -i setup.py || die
|
||||
|
||||
# Execute odflint script.
|
||||
sed \
|
||||
-e "/def _get_odflint_module():/,/odflint = _get_odflint_module()/d" \
|
||||
-e "s/odflint.lint(path)/os.system('odflint %s' % path)/" \
|
||||
-i tests/test_odfwriter.py || die
|
||||
|
||||
distutils_src_prepare
|
||||
|
||||
# Disable test which requires installed mw-zip script.
|
||||
rm -f tests/test_{nuwiki,redirect,zipwiki}.py
|
||||
# Disable render test that fails for no apparent reason
|
||||
rm -f tests/test_render.py
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
distutils_src_compile
|
||||
if use doc; then
|
||||
emake -C docs html
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
distutils_src_test tests
|
||||
}
|
||||
|
||||
src_install() {
|
||||
distutils_src_install
|
||||
if use doc; then
|
||||
dohtml -r docs/_build/html/
|
||||
fi
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST waitress-0.8.2.tar.gz 100184 SHA256 9b69a80762a899c9cb8d7e04fa3acd2e93e99ba197cae7d3d7de70fdf45a337b SHA512 b276a0164425d783d0fe64da0c8c8dc1b199294fcc4db2150e620a68c4f219aede1908a366a88e513f9290c8b9d60b5f3cd853e15e329a1ce4e6a35f7a69598a WHIRLPOOL c22542f7d1c10b977bad1873a2d2daa69841fe2ec9d3777620a063ba117479038c50b1d3f10638d27a0815376a27dac9a98b78b472f43684751cf1941f36ff25
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>python</herd>
|
||||
<upstream>
|
||||
<remote-id type="pypi">waitress</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/waitress/waitress-0.8.2.ebuild,v 1.1 2013/03/20 04:02:11 patrick Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
|
||||
|
||||
# doc creation is fatally broken
|
||||
|
||||
# somehow this seems to not work at all :\
|
||||
RESTRICT="test"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A pure-Python WSGI server"
|
||||
HOMEPAGE="http://docs.pylonsproject.org/projects/waitress/en/latest/ https://pypi.python.org/pypi/waitress/ https://github.com/Pylons/waitress"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/unzip"
|
||||
|
||||
python_test() {
|
||||
nosetests || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/wehjit/wehjit-0.2.2-r1.ebuild,v 1.1 2013/03/19 17:42:51 idella4 Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A Python web-widget library"
|
||||
HOMEPAGE="http://jderose.fedorapeople.org/wehjit"
|
||||
SRC_URI="http://jderose.fedorapeople.org/${PN}/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~x86 ~amd64"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-python/genshi
|
||||
dev-python/assets[${PYTHON_USEDEP}]
|
||||
dev-python/paste[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
DOCS=( README NEWS )
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-SkipTest.patch )
|
||||
|
||||
python_test() {
|
||||
if [[ "${EPYTHON:6:3}" == '2.6' ]]; then
|
||||
nosetests -I test_app* -e=*getitem
|
||||
else
|
||||
nosetests
|
||||
fi
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
diff -ur Werkzeug-0.8.3.orig/werkzeug/testsuite/debug.py Werkzeug-0.8.3/werkzeug/testsuite/debug.py
|
||||
--- werkzeug/testsuite/debug.py 2011-09-30 18:49:32.000000000 +0800
|
||||
+++ werkzeug/testsuite/debug.py 2013-03-20 00:31:07.850897531 +0800
|
||||
@@ -92,9 +92,14 @@
|
||||
def __repr__(self):
|
||||
1/0
|
||||
|
||||
- assert debug_repr(Foo()) == \
|
||||
- u'<span class="brokenrepr"><broken repr (ZeroDivisionError: ' \
|
||||
- u'integer division or modulo by zero)></span>'
|
||||
+ if hasattr(sys, 'pypy_version_info'):
|
||||
+ assert debug_repr(Foo()) == \
|
||||
+ u'<span class="brokenrepr"><broken repr (ZeroDivisionError: ' \
|
||||
+ u'integer division by zero)></span>'
|
||||
+ else:
|
||||
+ assert debug_repr(Foo()) == \
|
||||
+ u'<span class="brokenrepr"><broken repr (ZeroDivisionError: ' \
|
||||
+ u'integer division or modulo by zero)></span>'
|
||||
|
||||
|
||||
class DebugHelpersTestCase(WerkzeugTestCase):
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/werkzeug/werkzeug-0.8.3-r1.ebuild,v 1.1 2013/03/19 16:43:30 idella4 Exp $
|
||||
|
||||
EAPI="5"
|
||||
PYTHON_COMPAT=( python2_{5,6,7} pypy{1_9,2_0} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN="Werkzeug"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Collection of various utilities for WSGI applications"
|
||||
HOMEPAGE="http://werkzeug.pocoo.org/ http://pypi.python.org/pypi/Werkzeug"
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-python/simplejson"
|
||||
DEPEND="dev-python/setuptools
|
||||
test? ( dev-python/lxml )"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
DOCS="CHANGES"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${P}-pypytest.patch )
|
||||
|
||||
python_prepare() {
|
||||
# Disable redis-related tests.
|
||||
# https://github.com/mitsuhiko/werkzeug/issues/120
|
||||
sed -e "s/import redis/redis = None/" -i werkzeug/testsuite/contrib/cache.py
|
||||
}
|
||||
|
||||
python_test() {
|
||||
PYTHONPATH="${BUILD_DIR/build/}" esetup.py test
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/workerpool/workerpool-0.9.2-r1.ebuild,v 1.1 2013/03/19 15:39:16 idella4 Exp $
|
||||
|
||||
EAPI=5
|
||||
PYTHON_COMPAT=( python2_{5,6,7} pypy{1_9,2_0} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Module for distributing jobs to a pool of worker threads."
|
||||
HOMEPAGE="http://github.com/shazow/workerpool"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test examples"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
dev-python/setuptools"
|
||||
|
||||
python_test() {
|
||||
nosetests -v test || die
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use examples; then
|
||||
docompress -x usr/share/doc/${P}/samples
|
||||
insinto usr/share/doc/${P}/
|
||||
doins -r samples
|
||||
fi
|
||||
}
|
@ -0,0 +1 @@
|
||||
DIST WSGIProxy2-0.1.tar.gz 6465 SHA256 1162147455aa0b2f9a83b0ba4c3f48840f8329d090647426f994bb790f9e5763 SHA512 be6f6f29cca98470f9f4739d5423e395789f6dbce8131301dcee69571395ef154d12a9bb6b5d58393fe3f0f5f57cc27d230c446f94ebb3e06160ecb81dc314f1 WHIRLPOOL f88cba0a7422edc6caa3efc9c2f19334e35b8747ba821ba91077f1d3ee381f71cc58b925bea7f0214b1949e52c3262fb07dd0f50a78f8ad153c28e5fdb1fb36b
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>python</herd>
|
||||
<upstream>
|
||||
<remote-id type="pypi">WSGIProxy2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-python/wsgiproxy2/wsgiproxy2-0.1.ebuild,v 1.1 2013/03/20 07:12:32 patrick Exp $
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python{2_6,2_7,3_2,3_3} )
|
||||
|
||||
# this looks quite unpossible to run
|
||||
RESTRICT="test"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN="WSGIProxy2"
|
||||
|
||||
DESCRIPTION="HTTP proxying tools for WSGI apps"
|
||||
HOMEPAGE="http://pythonpaste.org/wsgiproxy/"
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
RDEPEND="dev-python/urllib3
|
||||
dev-python/socketpool[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/restkit
|
||||
dev-python/webob[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-python/webtest[${PYTHON_USEDEP}] )"
|
||||
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
python_test() {
|
||||
nosetests || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -1,513 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.7.12-r1.ebuild,v 1.5 2012/08/24 03:51:48 zmedico Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
!blksha1? ( dev-libs/openssl )
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc
|
||||
app-text/xmlto"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation.
|
||||
epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh remotes2config.sh rerere-train.sh \
|
||||
stats svn-fe vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash completion"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,525 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.7.12-r2.ebuild,v 1.4 2012/08/24 16:55:29 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc
|
||||
app-text/xmlto"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation.
|
||||
epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "email credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh remotes2config.sh rerere-train.sh \
|
||||
stats svn-fe vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,525 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.7.12.3-r1.ebuild,v 1.1 2012/10/11 18:17:09 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc
|
||||
app-text/xmlto"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation.
|
||||
epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "email credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh remotes2config.sh rerere-train.sh \
|
||||
stats svn-fe vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,513 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.7.12.3.ebuild,v 1.1 2012/10/10 17:47:37 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
!blksha1? ( dev-libs/openssl )
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc
|
||||
app-text/xmlto"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation.
|
||||
epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh remotes2config.sh rerere-train.sh \
|
||||
stats svn-fe vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash completion"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,511 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.7.12.ebuild,v 1.4 2012/08/24 03:51:48 zmedico Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
!blksha1? ( dev-libs/openssl )
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc
|
||||
app-text/xmlto"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh remotes2config.sh rerere-train.sh \
|
||||
stats svn-fe vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash completion"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,595 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.8.0-r1.ebuild,v 1.3 2012/12/06 18:59:29 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )
|
||||
gnome-keyring? ( gnome-base/gnome-keyring )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
app-text/xmlto
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-solaris* ]]; then
|
||||
myopts="${myopts} NEEDS_LIBICONV=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation. Merged upstream in 1.8.0.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
|
||||
# Fix git-subtree missing DESTDIR
|
||||
sed -i \
|
||||
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
|
||||
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
|
||||
contrib/subtree/Makefile
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "emake credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
git_emake || die "emake svn-fe failed"
|
||||
if use doc ; then
|
||||
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
|
||||
fi
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
git_emake || die "emake git-credential-gnome-keyring failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake
|
||||
use doc && git_emake doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
# git-subtree
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake install || die "Failed to emake install git-subtree"
|
||||
if use doc ; then
|
||||
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
|
||||
fi
|
||||
newdoc README README.git-subtree
|
||||
dodoc git-subtree.txt
|
||||
cd "${S}"
|
||||
|
||||
# git-diffall
|
||||
dobin contrib/diffall/git-diffall
|
||||
newdoc contrib/diffall/README git-diffall.txt
|
||||
|
||||
# diff-highlight
|
||||
dobin contrib/diff-highlight/diff-highlight
|
||||
newdoc contrib/diff-highlight/README README.diff-highlight
|
||||
|
||||
# git-jump
|
||||
dobin contrib/git-jump/git-jump
|
||||
newdoc contrib/git-jump/README git-jump.txt
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
dobin git-credential-gnome-keyring
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
dobin svn-fe
|
||||
dodoc svn-fe.txt
|
||||
use doc && doman svn-fe.1 && dohtml svn-fe.html
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# credential/gnome-keyring TODO
|
||||
# diff-highlight - done above
|
||||
# diffall - done above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# git-jump - done above
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# persistent-https - TODO
|
||||
# mw-to-git - TODO
|
||||
# subtree - build seperately
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh rerere-train.sh \
|
||||
stats vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,525 +0,0 @@
|
||||
# Copyright 1999-2012 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.8.0.ebuild,v 1.1 2012/11/02 15:59:14 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc
|
||||
app-text/xmlto"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation. Merged upstream in 1.8.0.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "email credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh remotes2config.sh rerere-train.sh \
|
||||
stats svn-fe vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,595 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.8.1.1.ebuild,v 1.1 2013/01/15 19:16:30 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )
|
||||
gnome-keyring? ( gnome-base/gnome-keyring )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
app-text/xmlto
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-solaris* ]]; then
|
||||
myopts="${myopts} NEEDS_LIBICONV=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation. Merged upstream in 1.8.0.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
|
||||
# Fix git-subtree missing DESTDIR
|
||||
sed -i \
|
||||
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
|
||||
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
|
||||
contrib/subtree/Makefile
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "emake credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
git_emake || die "emake svn-fe failed"
|
||||
if use doc ; then
|
||||
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
|
||||
fi
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
git_emake || die "emake git-credential-gnome-keyring failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake
|
||||
use doc && git_emake doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
# git-subtree
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake install || die "Failed to emake install git-subtree"
|
||||
if use doc ; then
|
||||
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
|
||||
fi
|
||||
newdoc README README.git-subtree
|
||||
dodoc git-subtree.txt
|
||||
cd "${S}"
|
||||
|
||||
# git-diffall
|
||||
dobin contrib/diffall/git-diffall
|
||||
newdoc contrib/diffall/README git-diffall.txt
|
||||
|
||||
# diff-highlight
|
||||
dobin contrib/diff-highlight/diff-highlight
|
||||
newdoc contrib/diff-highlight/README README.diff-highlight
|
||||
|
||||
# git-jump
|
||||
dobin contrib/git-jump/git-jump
|
||||
newdoc contrib/git-jump/README git-jump.txt
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
dobin git-credential-gnome-keyring
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
dobin svn-fe
|
||||
dodoc svn-fe.txt
|
||||
use doc && doman svn-fe.1 && dohtml svn-fe.html
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# credential/gnome-keyring TODO
|
||||
# diff-highlight - done above
|
||||
# diffall - done above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# git-jump - done above
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# persistent-https - TODO
|
||||
# mw-to-git - TODO
|
||||
# subtree - build seperately
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh rerere-train.sh \
|
||||
stats vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,597 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.8.1.2.ebuild,v 1.3 2013/02/22 17:57:16 zmedico Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )
|
||||
gnome-keyring? ( gnome-base/gnome-keyring )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
app-text/xmlto
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-solaris* ]]; then
|
||||
myopts="${myopts} NEEDS_LIBICONV=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation. Merged upstream in 1.8.0.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
|
||||
# Fix git-subtree missing DESTDIR
|
||||
sed -i \
|
||||
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
|
||||
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
|
||||
contrib/subtree/Makefile
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "emake credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
git_emake || die "emake svn-fe failed"
|
||||
if use doc ; then
|
||||
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
|
||||
fi
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
git_emake || die "emake git-credential-gnome-keyring failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake
|
||||
use doc && git_emake doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
# git-subtree
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake install || die "Failed to emake install git-subtree"
|
||||
if use doc ; then
|
||||
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
|
||||
fi
|
||||
newdoc README README.git-subtree
|
||||
dodoc git-subtree.txt
|
||||
cd "${S}"
|
||||
|
||||
# git-diffall
|
||||
dobin contrib/diffall/git-diffall
|
||||
newdoc contrib/diffall/README git-diffall.txt
|
||||
|
||||
# diff-highlight
|
||||
dobin contrib/diff-highlight/diff-highlight
|
||||
newdoc contrib/diff-highlight/README README.diff-highlight
|
||||
|
||||
# git-jump
|
||||
dobin contrib/git-jump/git-jump
|
||||
newdoc contrib/git-jump/README git-jump.txt
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
dobin git-credential-gnome-keyring
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
dobin svn-fe
|
||||
dodoc svn-fe.txt
|
||||
use doc && doman svn-fe.1 && dohtml svn-fe.html
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# credential/gnome-keyring TODO
|
||||
# diff-highlight - done above
|
||||
# diffall - done above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# git-jump - done above
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# persistent-https - TODO
|
||||
# mw-to-git - TODO
|
||||
# subtree - build seperately
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh rerere-train.sh \
|
||||
stats vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
if use !prefix ; then
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
fi
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,597 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.8.1.4.ebuild,v 1.2 2013/02/22 17:57:16 zmedico Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )
|
||||
gnome-keyring? ( gnome-base/gnome-keyring )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
app-text/xmlto
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-solaris* ]]; then
|
||||
myopts="${myopts} NEEDS_LIBICONV=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation. Merged upstream in 1.8.0.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
|
||||
# Fix git-subtree missing DESTDIR
|
||||
sed -i \
|
||||
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
|
||||
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
|
||||
contrib/subtree/Makefile
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "emake credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
git_emake || die "emake svn-fe failed"
|
||||
if use doc ; then
|
||||
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
|
||||
fi
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
git_emake || die "emake git-credential-gnome-keyring failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake
|
||||
use doc && git_emake doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
# git-subtree
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake install || die "Failed to emake install git-subtree"
|
||||
if use doc ; then
|
||||
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
|
||||
fi
|
||||
newdoc README README.git-subtree
|
||||
dodoc git-subtree.txt
|
||||
cd "${S}"
|
||||
|
||||
# git-diffall
|
||||
dobin contrib/diffall/git-diffall
|
||||
newdoc contrib/diffall/README git-diffall.txt
|
||||
|
||||
# diff-highlight
|
||||
dobin contrib/diff-highlight/diff-highlight
|
||||
newdoc contrib/diff-highlight/README README.diff-highlight
|
||||
|
||||
# git-jump
|
||||
dobin contrib/git-jump/git-jump
|
||||
newdoc contrib/git-jump/README git-jump.txt
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
dobin git-credential-gnome-keyring
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
dobin svn-fe
|
||||
dodoc svn-fe.txt
|
||||
use doc && doman svn-fe.1 && dohtml svn-fe.html
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# credential/gnome-keyring TODO
|
||||
# diff-highlight - done above
|
||||
# diffall - done above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# git-jump - done above
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# persistent-https - TODO
|
||||
# mw-to-git - TODO
|
||||
# subtree - build seperately
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh rerere-train.sh \
|
||||
stats vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
if use !prefix ; then
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
fi
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,595 +0,0 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/dev-vcs/git/git-1.8.1.ebuild,v 1.1 2013/01/03 02:20:08 robbat2 Exp $
|
||||
|
||||
EAPI=4
|
||||
|
||||
GENTOO_DEPEND_ON_PERL=no
|
||||
|
||||
# bug #329479: git-remote-testgit is not multiple-version aware
|
||||
PYTHON_DEPEND="python? 2"
|
||||
[[ ${PV} == *9999 ]] && SCM="git-2"
|
||||
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
|
||||
|
||||
inherit toolchain-funcs eutils elisp-common perl-module bash-completion-r1 python ${SCM}
|
||||
|
||||
MY_PV="${PV/_rc/.rc}"
|
||||
MY_P="${PN}-${MY_PV}"
|
||||
|
||||
DOC_VER=${MY_PV}
|
||||
|
||||
DESCRIPTION="GIT - the stupid content tracker, the revision control system heavily used by the Linux kernel team"
|
||||
HOMEPAGE="http://www.git-scm.com/"
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
SRC_URI_SUFFIX="gz"
|
||||
SRC_URI_GOOG="http://git-core.googlecode.com/files"
|
||||
SRC_URI_KORG="mirror://kernel/software/scm/git"
|
||||
SRC_URI="${SRC_URI_GOOG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
doc? (
|
||||
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
${SRC_URI_GOOG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
else
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg gtk highlight +iconv +nls +pcre +perl +python ppcsha1 tk +threads +webdav xinetd cvs subversion test"
|
||||
|
||||
# Common to both DEPEND and RDEPEND
|
||||
CDEPEND="
|
||||
dev-libs/openssl
|
||||
sys-libs/zlib
|
||||
pcre? ( dev-libs/libpcre )
|
||||
perl? ( dev-lang/perl[-build] )
|
||||
tk? ( dev-lang/tk )
|
||||
curl? (
|
||||
net-misc/curl
|
||||
webdav? ( dev-libs/expat )
|
||||
)
|
||||
emacs? ( virtual/emacs )
|
||||
gnome-keyring? ( gnome-base/gnome-keyring )"
|
||||
|
||||
RDEPEND="${CDEPEND}
|
||||
gpg? ( app-crypt/gnupg )
|
||||
perl? ( dev-perl/Error
|
||||
dev-perl/Net-SMTP-SSL
|
||||
dev-perl/Authen-SASL
|
||||
cgi? ( virtual/perl-CGI highlight? ( app-text/highlight ) )
|
||||
cvs? ( >=dev-vcs/cvsps-2.1 dev-perl/DBI dev-perl/DBD-SQLite )
|
||||
subversion? ( dev-vcs/subversion[-dso,perl] dev-perl/libwww-perl dev-perl/TermReadKey )
|
||||
)
|
||||
python? ( gtk?
|
||||
(
|
||||
>=dev-python/pygtk-2.8
|
||||
dev-python/pygtksourceview:2
|
||||
) )"
|
||||
|
||||
# This is how info docs are created with Git:
|
||||
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
|
||||
# .xml/docbook --(docbook2texi.pl)--> .texi
|
||||
# .texi --(makeinfo)---------> .info
|
||||
DEPEND="${CDEPEND}
|
||||
app-arch/cpio
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/docbook2X
|
||||
sys-apps/texinfo
|
||||
app-text/xmlto
|
||||
)
|
||||
test? (
|
||||
app-crypt/gnupg
|
||||
)"
|
||||
|
||||
# Live ebuild builds man pages and HTML docs, additionally
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
DEPEND="${DEPEND}
|
||||
app-text/asciidoc"
|
||||
fi
|
||||
|
||||
SITEFILE=50${PN}-gentoo.el
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
cgi? ( perl )
|
||||
cvs? ( perl )
|
||||
subversion? ( perl )
|
||||
webdav? ( curl )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if use subversion && has_version dev-vcs/subversion && built_with_use --missing false dev-vcs/subversion dso ; then
|
||||
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
|
||||
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
|
||||
ewarn "have been warned."
|
||||
fi
|
||||
if use python ; then
|
||||
python_set_active_version 2
|
||||
python_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
# This is needed because for some obscure reasons future calls to make don't
|
||||
# pick up these exports if we export them in src_unpack()
|
||||
exportmakeopts() {
|
||||
local myopts
|
||||
|
||||
if use blksha1 ; then
|
||||
myopts="${myopts} BLK_SHA1=YesPlease"
|
||||
elif use ppcsha1 ; then
|
||||
myopts="${myopts} PPC_SHA1=YesPlease"
|
||||
fi
|
||||
|
||||
if use curl ; then
|
||||
use webdav || myopts="${myopts} NO_EXPAT=YesPlease"
|
||||
else
|
||||
myopts="${myopts} NO_CURL=YesPlease"
|
||||
fi
|
||||
|
||||
# broken assumptions, because of broken build system ...
|
||||
myopts="${myopts} NO_FINK=YesPlease NO_DARWIN_PORTS=YesPlease"
|
||||
myopts="${myopts} INSTALL=install TAR=tar"
|
||||
myopts="${myopts} SHELL_PATH=${EPREFIX}/bin/sh"
|
||||
myopts="${myopts} SANE_TOOL_PATH="
|
||||
myopts="${myopts} OLD_ICONV="
|
||||
myopts="${myopts} NO_EXTERNAL_GREP="
|
||||
|
||||
# can't define this to null, since the entire makefile depends on it
|
||||
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile
|
||||
|
||||
use iconv \
|
||||
|| myopts="${myopts} NO_ICONV=YesPlease"
|
||||
use nls \
|
||||
|| myopts="${myopts} NO_GETTEXT=YesPlease"
|
||||
use tk \
|
||||
|| myopts="${myopts} NO_TCLTK=YesPlease"
|
||||
use pcre \
|
||||
&& myopts="${myopts} USE_LIBPCRE=yes"
|
||||
use perl \
|
||||
&& myopts="${myopts} INSTALLDIRS=vendor" \
|
||||
|| myopts="${myopts} NO_PERL=YesPlease"
|
||||
use python \
|
||||
|| myopts="${myopts} NO_PYTHON=YesPlease"
|
||||
use subversion \
|
||||
|| myopts="${myopts} NO_SVN_TESTS=YesPlease"
|
||||
use threads \
|
||||
&& myopts="${myopts} THREADED_DELTA_SEARCH=YesPlease"
|
||||
use cvs \
|
||||
|| myopts="${myopts} NO_CVS=YesPlease"
|
||||
# Disabled until ~m68k-mint can be keyworded again
|
||||
# if [[ ${CHOST} == *-mint* ]] ; then
|
||||
# myopts="${myopts} NO_MMAP=YesPlease"
|
||||
# myopts="${myopts} NO_IPV6=YesPlease"
|
||||
# myopts="${myopts} NO_STRLCPY=YesPlease"
|
||||
# myopts="${myopts} NO_MEMMEM=YesPlease"
|
||||
# myopts="${myopts} NO_MKDTEMP=YesPlease"
|
||||
# myopts="${myopts} NO_MKSTEMPS=YesPlease"
|
||||
# fi
|
||||
if [[ ${CHOST} == ia64-*-hpux* ]]; then
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-*-aix* ]]; then
|
||||
myopts="${myopts} NO_FNMATCH_CASEFOLD=YesPlease"
|
||||
fi
|
||||
if [[ ${CHOST} == *-solaris* ]]; then
|
||||
myopts="${myopts} NEEDS_LIBICONV=YesPlease"
|
||||
fi
|
||||
|
||||
has_version '>=app-text/asciidoc-8.0' \
|
||||
&& myopts="${myopts} ASCIIDOC8=YesPlease"
|
||||
myopts="${myopts} ASCIIDOC_NO_ROFF=YesPlease"
|
||||
|
||||
# Bug 290465:
|
||||
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
|
||||
[[ "${CHOST}" == *-uclibc* ]] && \
|
||||
myopts="${myopts} NO_NSEC=YesPlease"
|
||||
|
||||
export MY_MAKEOPTS="${myopts}"
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} != *9999 ]]; then
|
||||
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
use doc && \
|
||||
cd "${S}"/Documentation && \
|
||||
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
|
||||
cd "${S}"
|
||||
else
|
||||
git-2_src_unpack
|
||||
cd "${S}"
|
||||
#cp "${FILESDIR}"/GIT-VERSION-GEN .
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# bug #418431 - stated for upstream 1.7.13. Developed by Michael Schwern,
|
||||
# funded as a bounty by the Gentoo Foundation. Merged upstream in 1.8.0.
|
||||
#epatch "${FILESDIR}"/git-1.7.12-git-svn-backport.patch
|
||||
|
||||
# bug #350330 - automagic CVS when we don't want it is bad.
|
||||
epatch "${FILESDIR}"/git-1.7.12-optional-cvs.patch
|
||||
|
||||
sed -i \
|
||||
-e 's:^\(CFLAGS =\).*$:\1 $(OPTCFLAGS) -Wall:' \
|
||||
-e 's:^\(LDFLAGS =\).*$:\1 $(OPTLDFLAGS):' \
|
||||
-e 's:^\(CC = \).*$:\1$(OPTCC):' \
|
||||
-e 's:^\(AR = \).*$:\1$(OPTAR):' \
|
||||
-e "s:\(PYTHON_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
-e "s:\(PERL_PATH = \)\(.*\)$:\1${EPREFIX}\2:" \
|
||||
Makefile || die "sed failed"
|
||||
|
||||
# Never install the private copy of Error.pm (bug #296310)
|
||||
sed -i \
|
||||
-e '/private-Error.pm/s,^,#,' \
|
||||
perl/Makefile.PL
|
||||
|
||||
# Fix docbook2texi command
|
||||
sed -i 's/DOCBOOK2X_TEXI=docbook2x-texi/DOCBOOK2X_TEXI=docbook2texi.pl/' \
|
||||
Documentation/Makefile || die "sed failed"
|
||||
|
||||
# Fix git-subtree missing DESTDIR
|
||||
sed -i \
|
||||
-e '/$(INSTALL)/s/ $(libexecdir)/ $(DESTDIR)$(libexecdir)/g' \
|
||||
-e '/$(INSTALL)/s/ $(man1dir)/ $(DESTDIR)$(man1dir)/g' \
|
||||
contrib/subtree/Makefile
|
||||
}
|
||||
|
||||
git_emake() {
|
||||
# bug #326625: PERL_PATH, PERL_MM_OPT
|
||||
# bug #320647: PYTHON_PATH
|
||||
PYTHON_PATH=""
|
||||
use python && PYTHON_PATH="$(PYTHON -a)"
|
||||
emake ${MY_MAKEOPTS} \
|
||||
DESTDIR="${D}" \
|
||||
OPTCFLAGS="${CFLAGS}" \
|
||||
OPTLDFLAGS="${LDFLAGS}" \
|
||||
OPTCC="$(tc-getCC)" \
|
||||
OPTAR="$(tc-getAR)" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
|
||||
sysconfdir="${EPREFIX}"/etc \
|
||||
PYTHON_PATH="${PYTHON_PATH}" \
|
||||
PERL_MM_OPT="" \
|
||||
GIT_TEST_OPTS="--no-color" \
|
||||
"$@"
|
||||
# This is the fix for bug #326625, but it also causes breakage, see bug
|
||||
# #352693.
|
||||
# PERL_PATH="${EPREFIX}/usr/bin/env perl" \
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
exportmakeopts
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if use perl ; then
|
||||
git_emake perl/PM.stamp || die "emake perl/PM.stamp failed"
|
||||
git_emake perl/perl.mak || die "emake perl/perl.mak failed"
|
||||
fi
|
||||
git_emake || die "emake failed"
|
||||
|
||||
if use emacs ; then
|
||||
elisp-compile contrib/emacs/git{,-blame}.el \
|
||||
|| die "emacs modules failed"
|
||||
fi
|
||||
|
||||
if use perl && use cgi ; then
|
||||
git_emake \
|
||||
gitweb/gitweb.cgi \
|
||||
|| die "emake gitweb/gitweb.cgi failed"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
cd "${S}"/contrib/credential/osxkeychain || die "cd credential/osxkeychain"
|
||||
git_emake || die "emake credential-osxkeychain"
|
||||
fi
|
||||
|
||||
cd "${S}"/Documentation
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
git_emake man \
|
||||
|| die "emake man failed"
|
||||
if use doc ; then
|
||||
git_emake info html \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
else
|
||||
if use doc ; then
|
||||
git_emake info \
|
||||
|| die "emake info html failed"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
git_emake || die "emake svn-fe failed"
|
||||
if use doc ; then
|
||||
git_emake svn-fe.{1,html} || die "emake svn-fe.1 svn-fe.html failed"
|
||||
fi
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
git_emake || die "emake git-credential-gnome-keyring failed"
|
||||
fi
|
||||
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake
|
||||
use doc && git_emake doc
|
||||
}
|
||||
|
||||
src_install() {
|
||||
git_emake \
|
||||
install || \
|
||||
die "make install failed"
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]]; then
|
||||
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
|
||||
fi
|
||||
|
||||
# Depending on the tarball and manual rebuild of the documentation, the
|
||||
# manpages may exist in either OR both of these directories.
|
||||
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
|
||||
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
|
||||
|
||||
dodoc README Documentation/{SubmittingPatches,CodingGuidelines}
|
||||
use doc && dodir /usr/share/doc/${PF}/html
|
||||
for d in / /howto/ /technical/ ; do
|
||||
docinto ${d}
|
||||
dodoc Documentation${d}*.txt
|
||||
use doc && dohtml -p ${d} Documentation${d}*.html
|
||||
done
|
||||
docinto /
|
||||
# Upstream does not ship this pre-built :-(
|
||||
use doc && doinfo Documentation/{git,gitman}.info
|
||||
|
||||
newbashcomp contrib/completion/git-completion.bash ${PN}
|
||||
newbashcomp contrib/completion/git-prompt.sh ${PN}-prompt
|
||||
|
||||
if use emacs ; then
|
||||
elisp-install ${PN} contrib/emacs/git.{el,elc} || die
|
||||
elisp-install ${PN} contrib/emacs/git-blame.{el,elc} || die
|
||||
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc} || die
|
||||
# don't add automatically to the load-path, so the sitefile
|
||||
# can do a conditional loading
|
||||
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
|
||||
if use python && use gtk ; then
|
||||
dobin "${S}"/contrib/gitview/gitview
|
||||
python_convert_shebangs ${PYTHON_ABI} "${ED}"/usr/bin/gitview
|
||||
dodoc "${S}"/contrib/gitview/gitview.txt
|
||||
fi
|
||||
|
||||
#dobin contrib/fast-import/git-p4 # Moved upstream
|
||||
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
|
||||
newbin contrib/fast-import/import-tars.perl import-tars
|
||||
newbin contrib/git-resurrect.sh git-resurrect
|
||||
|
||||
# git-subtree
|
||||
cd "${S}"/contrib/subtree
|
||||
git_emake install || die "Failed to emake install git-subtree"
|
||||
if use doc ; then
|
||||
git_emake install-man install-doc || die "Failed to emake install-doc install-mangit-subtree"
|
||||
fi
|
||||
newdoc README README.git-subtree
|
||||
dodoc git-subtree.txt
|
||||
cd "${S}"
|
||||
|
||||
# git-diffall
|
||||
dobin contrib/diffall/git-diffall
|
||||
newdoc contrib/diffall/README git-diffall.txt
|
||||
|
||||
# diff-highlight
|
||||
dobin contrib/diff-highlight/diff-highlight
|
||||
newdoc contrib/diff-highlight/README README.diff-highlight
|
||||
|
||||
# git-jump
|
||||
dobin contrib/git-jump/git-jump
|
||||
newdoc contrib/git-jump/README git-jump.txt
|
||||
|
||||
if use gnome-keyring ; then
|
||||
cd "${S}"/contrib/credential/gnome-keyring
|
||||
dobin git-credential-gnome-keyring
|
||||
fi
|
||||
|
||||
if use subversion ; then
|
||||
cd "${S}"/contrib/svn-fe
|
||||
dobin svn-fe
|
||||
dodoc svn-fe.txt
|
||||
use doc && doman svn-fe.1 && dohtml svn-fe.html
|
||||
cd "${S}"
|
||||
fi
|
||||
|
||||
dodir /usr/share/${PN}/contrib
|
||||
# The following are excluded:
|
||||
# completion - installed above
|
||||
# credential/gnome-keyring TODO
|
||||
# diff-highlight - done above
|
||||
# diffall - done above
|
||||
# emacs - installed above
|
||||
# examples - these are stuff that is not used in Git anymore actually
|
||||
# git-jump - done above
|
||||
# gitview - installed above
|
||||
# p4import - excluded because fast-import has a better one
|
||||
# patches - stuff the Git guys made to go upstream to other places
|
||||
# persistent-https - TODO
|
||||
# mw-to-git - TODO
|
||||
# subtree - build seperately
|
||||
# svnimport - use git-svn
|
||||
# thunderbird-patch-inline - fixes thunderbird
|
||||
for i in \
|
||||
blameview buildsystems ciabot continuous convert-objects fast-import \
|
||||
hg-to-git hooks remotes2config.sh rerere-train.sh \
|
||||
stats vim workdir \
|
||||
; do
|
||||
cp -rf \
|
||||
"${S}"/contrib/${i} \
|
||||
"${ED}"/usr/share/${PN}/contrib \
|
||||
|| die "Failed contrib ${i}"
|
||||
done
|
||||
|
||||
if use perl && use cgi ; then
|
||||
# We used to install in /usr/share/${PN}/gitweb
|
||||
# but upstream installs in /usr/share/gitweb
|
||||
# so we will install a symlink and use their location for compat with other
|
||||
# distros
|
||||
dosym /usr/share/gitweb /usr/share/${PN}/gitweb
|
||||
|
||||
# INSTALL discusses configuration issues, not just installation
|
||||
docinto /
|
||||
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
|
||||
newdoc "${S}"/gitweb/README README.gitweb
|
||||
|
||||
find "${ED}"/usr/lib64/perl5/ \
|
||||
-name .packlist \
|
||||
-exec rm \{\} \;
|
||||
else
|
||||
rm -rf "${ED}"/usr/share/gitweb
|
||||
fi
|
||||
|
||||
if ! use subversion ; then
|
||||
rm -f "${ED}"/usr/libexec/git-core/git-svn \
|
||||
"${ED}"/usr/share/man/man1/git-svn.1*
|
||||
fi
|
||||
|
||||
if use xinetd ; then
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
|
||||
fi
|
||||
|
||||
newinitd "${FILESDIR}"/git-daemon.initd git-daemon
|
||||
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
|
||||
|
||||
fixlocalpod
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local disabled=""
|
||||
local tests_cvs="t9200-git-cvsexportcommit.sh \
|
||||
t9400-git-cvsserver-server.sh \
|
||||
t9401-git-cvsserver-crlf.sh \
|
||||
t9600-cvsimport.sh \
|
||||
t9601-cvsimport-vendor-branch.sh \
|
||||
t9602-cvsimport-branches-tags.sh \
|
||||
t9603-cvsimport-patchsets.sh"
|
||||
local tests_perl="t5502-quickfetch.sh \
|
||||
t5512-ls-remote.sh \
|
||||
t5520-pull.sh"
|
||||
# Bug #225601 - t0004 is not suitable for root perm
|
||||
# Bug #219839 - t1004 is not suitable for root perm
|
||||
# t0001-init.sh - check for init notices EPERM* fails
|
||||
local tests_nonroot="t0001-init.sh \
|
||||
t0004-unwritable.sh \
|
||||
t0070-fundamental.sh \
|
||||
t1004-read-tree-m-u-wf.sh \
|
||||
t3700-add.sh \
|
||||
t7300-clean.sh"
|
||||
# t9100 still fails with symlinks in SVN 1.7
|
||||
local test_svn="t9100-git-svn-basic.sh"
|
||||
|
||||
# Unzip is used only for the testcase code, not by any normal parts of Git.
|
||||
if ! has_version app-arch/unzip ; then
|
||||
einfo "Disabling tar-tree tests"
|
||||
disabled="${disabled} t5000-tar-tree.sh"
|
||||
fi
|
||||
|
||||
cvs=0
|
||||
use cvs && let cvs=$cvs+1
|
||||
if [[ ${EUID} -eq 0 ]]; then
|
||||
if [[ $cvs -eq 1 ]]; then
|
||||
ewarn "Skipping CVS tests because CVS does not work as root!"
|
||||
ewarn "You should retest with FEATURES=userpriv!"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
einfo "Skipping other tests that require being non-root"
|
||||
disabled="${disabled} ${tests_nonroot}"
|
||||
else
|
||||
[[ $cvs -gt 0 ]] && \
|
||||
has_version dev-vcs/cvs && \
|
||||
let cvs=$cvs+1
|
||||
[[ $cvs -gt 1 ]] && \
|
||||
built_with_use dev-vcs/cvs server && \
|
||||
let cvs=$cvs+1
|
||||
if [[ $cvs -lt 3 ]]; then
|
||||
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
|
||||
disabled="${disabled} ${tests_cvs}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! use perl ; then
|
||||
einfo "Disabling tests that need Perl"
|
||||
disabled="${disabled} ${tests_perl}"
|
||||
fi
|
||||
|
||||
einfo "Disabling tests that fail with SVN 1.7"
|
||||
disabled="${disabled} ${test_svn}"
|
||||
|
||||
# Reset all previously disabled tests
|
||||
cd "${S}/t"
|
||||
for i in *.sh.DISABLED ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
|
||||
done
|
||||
einfo "Disabled tests:"
|
||||
for i in ${disabled} ; do
|
||||
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled $i"
|
||||
done
|
||||
|
||||
# Avoid the test system removing the results because we want them ourselves
|
||||
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
|
||||
-i "${S}"/t/Makefile
|
||||
|
||||
# Clean old results first, must always run
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake clean
|
||||
|
||||
# Now run the tests, keep going if we hit an error, and don't terminate on
|
||||
# failure
|
||||
cd "${S}"
|
||||
einfo "Start test run"
|
||||
#MAKEOPTS=-j1
|
||||
nonfatal git_emake --keep-going test
|
||||
rc=$?
|
||||
|
||||
# Display nice results, now print the results
|
||||
cd "${S}/t"
|
||||
nonfatal git_emake aggregate-results
|
||||
|
||||
# And bail if there was a problem
|
||||
[ $rc -eq 0 ] || die "tests failed. Please file a bug."
|
||||
}
|
||||
|
||||
showpkgdeps() {
|
||||
local pkg=$1
|
||||
shift
|
||||
elog " $(printf "%-17s:" ${pkg}) ${@}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_optimize git_remote_helpers
|
||||
einfo "Please read /usr/share/bash-completion/git for Git bash command completion"
|
||||
einfo "Please read /usr/share/bash-completion/git-prompt for Git bash prompt"
|
||||
einfo "Note that the prompt bash code is now in the seperate script"
|
||||
elog "These additional scripts need some dependencies:"
|
||||
echo
|
||||
showpkgdeps git-quiltimport "dev-util/quilt"
|
||||
showpkgdeps git-instaweb \
|
||||
"|| ( www-servers/lighttpd www-servers/apache )"
|
||||
echo
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
use python && python_mod_cleanup git_remote_helpers
|
||||
}
|
@ -1,3 +1,7 @@
|
||||
DIST duke3d_hrp_5.2.zip 709961560 SHA256 d5dc9ef4be517de1464e8ed886f2a6352402fdec2b9cf271d292a5aee82fae27 SHA512 6b80739082d01e879ee77c85d3702269a605bc5f5b9393ce2f391d50c2a14e8fd0cd274a7e3010636646c3b7725591f45f107503c04a84655621a197f5f3c69e WHIRLPOOL 03cbc7fe0b8f3f7d4eaf7e5df4d8c9537ffaa0e7a49d938f0138bf0a6c87a72ecfa30666a94ec228dc66da6e55a6632d08340edcb2c49d9c4aaa4031ab5f231c
|
||||
DIST duke3d_mus_3.0.zip 129992841 SHA256 6dc9eb70ee1850519b55e547a399e3f7f03ddf60a6b16b0e205edd8a05bdda4a SHA512 9b782a2b6bb006a01e7ca2a8c395fcbe0884cc7648fce03f7760d67e67e4b03d73e31fff5964a604270ffddf09df69f306147dffd115efcd738de416939060cf WHIRLPOOL dec7613bf321a8392361ed414c3cba1909adf6106ae16fe04858549d8574d696f677ac90b0a8a7ab7cf6fb31b6263223b03434536f528c7f50c8b77fd7c059d2
|
||||
DIST duke3d_musopl_2.0.zip 266444907 SHA256 4f0afc46bfb5f38b1a1417a6145c0c548355cf4c4438e0330a9de704b139f1c3 SHA512 e9ae69727f84ff71bf9abffa283fda1fcaf56fd6ae6b865d12f138d64b0fca0d36fd9695b1e60a64716154055373eecd6499ebd8801a4ecb55ddc4722208eff7 WHIRLPOOL b69b76050f97785b54a1693b3f9eeb124b208cb785719c9c37a499a7af8f9cdd2362a7ce0cab81b17a3ab7f80744eadd0a286b45844dee6bf37e0f320d61148a
|
||||
DIST duke3d_xxx_1.33.zip 26586453 SHA256 c31713e6400a175a1bfa3bd369d132f8a8abce8915c113549f98262b9a84b534 SHA512 4783d159610fc178e748446b7a5f9c13d90e1aca3cef34deb82e99655b7f4a254f1130e16dbcfad9013b95bc07161d5c5dccfcc552fbb7a88404b4b9cedbadbf WHIRLPOOL 1e7c8a06fd8ff558a8f5a5cc37093fe055555bdfd296194935c986978b4630c225a1f5da7d54e274bd8a5258a4b518ffc2456c79f515185bfb6e403488cad125
|
||||
DIST eduke32-icons.tar 102400 SHA256 efce5cddd9a55f07824f5739831b79cff2ea6e508f0b17b996316533af925842 SHA512 797f76cfc0e253ce3364e80f70b616fc004811c08519020727871addc90c7780b475ee7769398e13859f93893ccbb916bd4229a39f4c119169a69231e6fd411c WHIRLPOOL 9815abce63dcf8e865c61610f1b04915ced9b29c65cd831022f5b6f261bd55efc700b6fd5ee2741332023b85682b08d3a327998c57be33846dffdcb60eb1339b
|
||||
DIST eduke32_src_20130207-3467.tar.bz2 5707852 SHA256 95bd278a3d0e88dd202ee93616bbc55a64e88f9947efb80e058f7174cd66d021 SHA512 84b2effa4b5a6b60d60096dc216cb217e0b6a5998ecb76460ccb93cf903dfe24b464b4b99d142ebc4f7c0999761106f4a7d10b42d61575a93a7b1c43ead44d51 WHIRLPOOL 4892a3dee06a86ccb2d4ef05f1f01069e088d01445872e81703c21b28e12c5d002f09471e6f52c698609186c38d947ce5f01df27812d3077dd96f5a7a44b2435
|
||||
DIST eduke32_src_20130317-3572.tar.bz2 10591673 SHA256 082b0676f184ad6fe574925f9be95e31318b9eff38a7117c9d094fb64b57967d SHA512 911c282918ae6173ced1bca3461da69ecb7c5893023dfe9a4d1261fd47b64aba1fcde9514746ae38daabf8ece7739f8e1c9257e68d929ef607bbcff030179e60 WHIRLPOOL 1642facdedd1a8824ac1d453278b3ac6d61d0dfd72210511cf1855bede570bc3111b972f7f6fe984f9aba039f28967e4e546d7e8f53be7e592ce1a8b1f19cef5
|
||||
|
@ -0,0 +1,213 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/games-fps/eduke32/eduke32-20130317.3572-r1.ebuild,v 1.1 2013/03/20 00:50:49 hasufell Exp $
|
||||
|
||||
# TODO/FIXME:
|
||||
# lunatic broken
|
||||
# lunatic? ( >=dev-lang/luajit-2.0.0_beta10:2 )
|
||||
# $(usex lunatic "LUNATIC=1" "LUNATIC=0")
|
||||
#
|
||||
# extras? ( games-fps/${PN}-extras )
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils gnome2-utils games
|
||||
|
||||
MY_PV=${PV%.*}
|
||||
MY_BUILD=${PV#*.}
|
||||
|
||||
# extensions
|
||||
MY_HRP=5.2
|
||||
MY_SC55=3.0
|
||||
MY_OPL=2.0
|
||||
MY_XXX=1.33
|
||||
|
||||
DESCRIPTION="Port of Duke Nukem 3D for SDL"
|
||||
HOMEPAGE="http://www.eduke32.com/ http://hrp.duke4.net/"
|
||||
SRC_URI="http://dukeworld.duke4.net/eduke32/synthesis/${MY_PV}-${MY_BUILD}/${PN}_src_${MY_PV}-${MY_BUILD}.tar.bz2
|
||||
http://dev.gentoo.org/~hasufell/distfiles/eduke32-icons.tar
|
||||
textures? ( http://www.duke4.org/files/nightfright/duke3d_hrp.zip -> duke3d_hrp_${MY_HRP}.zip )
|
||||
sc55-musicpack? ( http://www.duke4.org/files/nightfright/music/duke3d_mus.zip -> duke3d_mus_${MY_SC55}.zip )
|
||||
opl-musicpack? ( http://www.duke4.org/files/nightfright/music/duke3d_musopl.zip -> duke3d_musopl_${MY_OPL}.zip )
|
||||
offensive? ( http://www.duke4.org/files/nightfright/duke3d_xxx.zip -> duke3d_xxx_${MY_XXX}.zip )"
|
||||
|
||||
LICENSE="GPL-2 BUILDLIC textures? ( hrp_art )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="cdinstall debug demo gtk offensive +opengl opl-musicpack +png samples sc55-musicpack +server textures tools +vpx"
|
||||
REQUIRED_USE="vpx? ( opengl )
|
||||
textures? ( opengl )
|
||||
offensive? ( textures )
|
||||
?? ( opl-musicpack sc55-musicpack )"
|
||||
|
||||
RDEPEND="media-libs/flac
|
||||
media-libs/libogg
|
||||
media-libs/libsdl[X,joystick,opengl?,video]
|
||||
media-libs/libvorbis
|
||||
media-libs/sdl-mixer[timidity]
|
||||
sys-libs/zlib
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
opengl? ( virtual/glu
|
||||
virtual/opengl )
|
||||
png? ( media-libs/libpng:0
|
||||
sys-libs/zlib )
|
||||
vpx? ( media-libs/libvpx )"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/unzip
|
||||
x86? ( dev-lang/nasm )"
|
||||
PDEPEND="cdinstall? ( games-fps/duke3d-data )
|
||||
demo? ( games-fps/duke3d-demodata )"
|
||||
|
||||
S=${WORKDIR}/${PN}_${MY_PV}-${MY_BUILD}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${PN}_src_${MY_PV}-${MY_BUILD}.tar.bz2 eduke32-icons.tar
|
||||
|
||||
if use textures; then
|
||||
unzip -q "${DISTDIR}"/duke3d_hrp_${MY_HRP}.zip "hrp_readme.txt" \
|
||||
|| die "unzip hrp readme"
|
||||
if use offensive; then
|
||||
unzip -q "${DISTDIR}"/duke3d_xxx_${MY_XXX}.zip "xxx_readme.txt" \
|
||||
|| die "unzip xxx readme"
|
||||
fi
|
||||
fi
|
||||
if use opl-musicpack; then
|
||||
unzip -q "${DISTDIR}"/duke3d_musopl_${MY_OPL}.zip "readme.txt" \
|
||||
|| die "unzip musopl readme"
|
||||
mv readme.txt musopl_readme.txt || die "mv musopl_readme"
|
||||
elif use sc55-musicpack; then
|
||||
unzip -q "${DISTDIR}"/duke3d_mus_${MY_SC55}.zip "music_readme.txt" \
|
||||
|| die "unzip mus readme"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${P}-QA.patch
|
||||
|
||||
# Point eduke32 to data files in shared duke3d folder.
|
||||
# Multiple search paths can be defined, so that with the default configuration as of
|
||||
# the 20130128 release, this adds /usr/share/games/duke3d in ADDITION to
|
||||
# /usr/share/games/eduke32 so that eduke32 and duke3d's base data can be kept separate.
|
||||
# also redirect log file so it's not always written in $PWD
|
||||
sed -i \
|
||||
-e "s;/usr/local/share/games/${PN};${GAMES_DATADIR}/duke3d;" \
|
||||
-e "s;mapster32.log;${GAMES_LOGDIR}/mapster32.log;" \
|
||||
source/astub.c || die "sed astub.c path update failed"
|
||||
sed -i \
|
||||
-e "s;/usr/local/share/games/${PN};${GAMES_DATADIR}/duke3d;" \
|
||||
-e "s;${PN}.log;${GAMES_LOGDIR}/${PN}.log;" \
|
||||
source/game.c || die "sed game.c path update failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local MY_OPTS=(
|
||||
ARCH=
|
||||
LTO=0
|
||||
PRETTY_OUTPUT=0
|
||||
RELEASE=1
|
||||
LUNATIC=0
|
||||
STRIP=touch
|
||||
LINKED_GTK=1
|
||||
CPLUSPLUS=0
|
||||
$(usex gtk "WITHOUT_GTK=0" "WITHOUT_GTK=1")
|
||||
$(usex debug "DEBUGANYWAY=1" "DEBUGANYWAY=0")
|
||||
$(usex x86 "NOASM=0" "NOASM=1")
|
||||
$(usex server "NETCODE=1" "NETCODE=0")
|
||||
$(usex opengl "USE_OPENGL=1 POLYMER=1" "USE_OPENGL=0 POLYMER=0")
|
||||
$(usex png "USE_LIBPNG=1" "USE_LIBPNG=0")
|
||||
$(usex vpx "USE_LIBVPX=1" "USE_LIBVPX=0")
|
||||
)
|
||||
|
||||
emake ${MY_OPTS[@]}
|
||||
|
||||
if use tools; then
|
||||
emake -C build ${MY_OPTS[@]}
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local ARGS
|
||||
|
||||
newgamesbin ${PN} ${PN}.bin
|
||||
dogamesbin mapster32
|
||||
|
||||
if use tools; then
|
||||
dobin build/{arttool,bsuite,cacheinfo,generateicon,givedepth,kextract,kgroup,kmd2tool,md2tool,mkpalette,transpal,unpackssi,wad2art,wad2map}
|
||||
dodoc build/doc/*.txt
|
||||
fi
|
||||
|
||||
insinto "${GAMES_DATADIR}/${PN}"
|
||||
# Install optional components
|
||||
if use textures; then
|
||||
newins "${DISTDIR}"/duke3d_hrp_${MY_HRP}.zip duke3d_hrp.zip
|
||||
dodoc "${WORKDIR}"/hrp_readme.txt
|
||||
ARGS+=" -g duke3d_hrp.zip"
|
||||
|
||||
if use offensive; then
|
||||
newins "${DISTDIR}"/duke3d_xxx_${MY_XXX}.zip duke3d_xxx.zip
|
||||
dodoc "${WORKDIR}"/xxx_readme.txt
|
||||
ARGS+=" -g duke3d_xxx.zip"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use opl-musicpack; then
|
||||
newins "${DISTDIR}"/duke3d_musopl_${MY_OPL}.zip duke3d_musopl.zip
|
||||
dodoc "${WORKDIR}"/musopl_readme.txt
|
||||
ARGS+=" -g duke3d_musopl.zip"
|
||||
elif use sc55-musicpack; then
|
||||
newins "${DISTDIR}"/duke3d_mus_${MY_SC55}.zip duke3d_mus.zip
|
||||
dodoc "${WORKDIR}"/music_readme.txt
|
||||
ARGS+=" -g duke3d_mus.zip"
|
||||
fi
|
||||
|
||||
# Install game data
|
||||
doins package/{SEHELP.HLP,STHELP.HLP,m32help.hlp,names.h,tiles.cfg}
|
||||
use samples && doins -r package/samples
|
||||
|
||||
local i
|
||||
for i in 16 32 128 256 ; do
|
||||
newicon -s ${i} "${WORKDIR}"/${PN}_${i}x${i}x32.png ${PN}.png
|
||||
newicon -s ${i} "${WORKDIR}"/mapster32_${i}x${i}x32.png mapster32.png
|
||||
done
|
||||
|
||||
games_make_wrapper "${PN}" "${GAMES_BINDIR}/${PN}.bin ${ARGS}"
|
||||
make_desktop_entry ${PN} EDuke32 ${PN}
|
||||
make_desktop_entry mapster32 Mapster32 mapster32
|
||||
|
||||
dodoc build/buildlic.txt
|
||||
|
||||
dodir "${GAMES_LOGDIR}"
|
||||
|
||||
prepgamesdirs
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
games_pkg_preinst
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
games_pkg_postinst
|
||||
gnome2_icon_cache_update
|
||||
|
||||
use cdinstall || use demo || {
|
||||
elog "Note: You must also install the game data files, either manually or with"
|
||||
elog "games-fps/duke3d-demodata or games-fps/duke3d-data before playing."
|
||||
}
|
||||
|
||||
einfo
|
||||
elog "${PN} reads data files from ${GAMES_DATADIR}/duke3d"
|
||||
einfo
|
||||
|
||||
[[ -e ${ROOT}/${GAMES_LOGDIR} ]] || mkdir -p "${ROOT}/${GAMES_LOGDIR}"
|
||||
touch "${ROOT}/${GAMES_LOGDIR}"/${PN}.log
|
||||
touch "${ROOT}/${GAMES_LOGDIR}"/mapster32.log
|
||||
chown ${GAMES_USER}:${GAMES_GROUP} "${ROOT}/${GAMES_LOGDIR}"/${PN}.log
|
||||
chown ${GAMES_USER}:${GAMES_GROUP} "${ROOT}/${GAMES_LOGDIR}"/mapster32.log
|
||||
chmod g+w "${ROOT}/${GAMES_LOGDIR}"/${PN}.log
|
||||
chmod g+w "${ROOT}/${GAMES_LOGDIR}"/mapster32.log
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST wesnoth-1.10.4.tar.bz2 342665460 SHA256 97131daf6e52175abe1c84ff55dbbf0f6b102b99f29d32490f5e89ee02cfebc3 SHA512 363f67805538450c693702add4790d7ec6ceb38c22fe79acd22c6ebb74ecacc1035b5dab2940ce88bb85d2d13c6fb24ec485d23c2ffc10e79778c57cf373c590 WHIRLPOOL c43f8e2e07eda50202d8f893c7b4593356a545d8f9cde07eac463cdf685e71c2d2667f7704ced0f9e8e8b45eaf42f05baa006611fe6190bac26eb95e48bc9d4e
|
||||
DIST wesnoth-1.10.5.tar.bz2 343638424 SHA256 f627d246e473dcbad3b928a37e0783a7191a237430b0bfc7680ffe3d18ca74e7 SHA512 75e33ae3ef191aa3531066350d6e280c6a3d459461e9a09849a6786ef9ec5f37afe55862cd92b033e44be2ad5c1a3125ceea55c2b477b965d86bc5d0a36d945b WHIRLPOOL 72c373f2bf62a5e0017c4a01ad4829e9bf1e33aee8d2084793d68df5ba8ef68b9cd80f6fe1bced7d108a3a7a1e1f051918a72784b0bbf7e4f943e3b6023aa32f
|
||||
DIST wesnoth-1.10.6.tar.bz2 346125796 SHA256 05f3b47dcec4d2c3e2aaa05be270bc1505948d0311f2508d2bf8ece5741d2081 SHA512 185f5df617fcd7aa4e206caf09705e3679735bb0fb4fef25bdd20b4d354e043d66ec2988ec9d7f92c864a31cf8ee0b4ff13cc621175c44b4f756825d98fb6d63 WHIRLPOOL 8ba208fa9b8533aed899e51544cdcba67f895e50c111b406324703e3474215840ea37652967f81517d67f889242e094e085055b2bde7839113eadda5820be01b
|
||||
|
@ -0,0 +1,117 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/games-strategy/wesnoth/wesnoth-1.10.6.ebuild,v 1.1 2013/03/19 17:04:35 mr_bones_ Exp $
|
||||
|
||||
EAPI=2
|
||||
inherit cmake-utils eutils multilib toolchain-funcs flag-o-matic games
|
||||
|
||||
DESCRIPTION="Battle for Wesnoth - A fantasy turn-based strategy game"
|
||||
HOMEPAGE="http://www.wesnoth.org/"
|
||||
SRC_URI="mirror://sourceforge/wesnoth/${P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
|
||||
IUSE="dbus dedicated doc nls server"
|
||||
|
||||
RDEPEND=">=media-libs/libsdl-1.2.7[joystick,video,X]
|
||||
media-libs/sdl-net
|
||||
>=media-libs/sdl-ttf-2.0.8
|
||||
>=media-libs/sdl-mixer-1.2[vorbis]
|
||||
>=media-libs/sdl-image-1.2[jpeg,png]
|
||||
!dedicated? (
|
||||
dbus? ( sys-apps/dbus )
|
||||
)
|
||||
>=dev-libs/boost-1.36
|
||||
sys-libs/zlib
|
||||
x11-libs/pango
|
||||
dev-lang/lua
|
||||
media-libs/fontconfig
|
||||
virtual/libintl"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
sys-devel/gettext"
|
||||
|
||||
src_prepare() {
|
||||
if use dedicated || use server ; then
|
||||
sed \
|
||||
-e "s:GAMES_BINDIR:${GAMES_BINDIR}:" \
|
||||
-e "s:GAMES_STATEDIR:${GAMES_STATEDIR}:" \
|
||||
-e "s/GAMES_USER_DED/${GAMES_USER_DED}/" \
|
||||
-e "s/GAMES_GROUP/${GAMES_GROUP}/" "${FILESDIR}"/wesnothd.rc \
|
||||
> "${T}"/wesnothd \
|
||||
|| die "sed failed"
|
||||
fi
|
||||
if ! use doc ; then
|
||||
sed -i \
|
||||
-e '/manual/d' \
|
||||
doc/CMakeLists.txt \
|
||||
|| die "sed failed"
|
||||
fi
|
||||
# how do I hate boost? Let me count the ways...
|
||||
local boost_ver=$(best_version ">=dev-libs/boost-1.36")
|
||||
|
||||
boost_ver=${boost_ver/*boost-/}
|
||||
boost_ver=${boost_ver%.*}
|
||||
boost_ver=${boost_ver/./_}
|
||||
|
||||
einfo "Using boost version ${boost_ver}"
|
||||
append-cxxflags \
|
||||
-I/usr/include/boost-${boost_ver}
|
||||
append-ldflags \
|
||||
-L/usr/$(get_libdir)/boost-${boost_ver}
|
||||
export BOOST_INCLUDEDIR="/usr/include/boost-${boost_ver}"
|
||||
export BOOST_LIBRARYDIR="/usr/$(get_libdir)/boost-${boost_ver}"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
filter-flags -ftracer -fomit-frame-pointer
|
||||
if [[ $(gcc-major-version) -eq 3 ]] ; then
|
||||
filter-flags -fstack-protector
|
||||
append-flags -fno-stack-protector
|
||||
fi
|
||||
if use dedicated || use server ; then
|
||||
mycmakeargs=(
|
||||
"-DENABLE_CAMPAIGN_SERVER=TRUE"
|
||||
"-DENABLE_SERVER=TRUE"
|
||||
"-DSERVER_UID=${GAMES_USER_DED}"
|
||||
"-DSERVER_GID=${GAMES_GROUP}"
|
||||
"-DFIFO_DIR=${GAMES_STATEDIR}/run/wesnothd"
|
||||
)
|
||||
else
|
||||
mycmakeargs=(
|
||||
"-DENABLE_CAMPAIGN_SERVER=FALSE"
|
||||
"-DENABLE_SERVER=FALSE"
|
||||
)
|
||||
fi
|
||||
mycmakeargs+=(
|
||||
$(cmake-utils_use_enable !dedicated GAME)
|
||||
$(cmake-utils_use_enable !dedicated ENABLE_DESKTOP_ENTRY)
|
||||
$(cmake-utils_use_enable nls NLS)
|
||||
$(cmake-utils_use_enable dbus NOTIFICATIONS)
|
||||
"-DCMAKE_VERBOSE_MAKEFILE=TRUE"
|
||||
"-DENABLE_FRIBIDI=FALSE"
|
||||
"-DENABLE_STRICT_COMPILATION=FALSE"
|
||||
"-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
|
||||
"-DDATAROOTDIR=${GAMES_DATADIR}"
|
||||
"-DBINDIR=${GAMES_BINDIR}"
|
||||
"-DICONDIR=/usr/share/pixmaps"
|
||||
"-DDESKTOPDIR=/usr/share/applications"
|
||||
"-DMANDIR=/usr/share/man"
|
||||
"-DDOCDIR=/usr/share/doc/${PF}"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cmake-utils_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
DOCS="README changelog players_changelog" cmake-utils_src_install
|
||||
if use dedicated || use server; then
|
||||
keepdir "${GAMES_STATEDIR}/run/wesnothd"
|
||||
doinitd "${T}"/wesnothd || die "doinitd failed"
|
||||
fi
|
||||
prepgamesdirs
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue