[www-apps/gitweb] add new, derived from git

This commit is contained in:
Sławomir Nizio
2011-03-25 23:23:27 +01:00
parent e6a39182f7
commit b59246ffda
4 changed files with 555 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
AUX git-1.7.2-always-install-js.patch 1167 RMD160 36cae52a1dbcb2450a521b60ce66dbd48e58b3a9 SHA1 45f652281e36627f80b2d559a6861e784b8afa75 SHA256 2988513c5a81f446818b850414b4bf7dc8a3177eb1dc32f29e530a80479baa9e
AUX git-1.7.3.5-optional-cvs.patch 11606 RMD160 d84780628a71a44eac6150e9c7acafc9591089dd SHA1 58832c8141a0fd3681c6e9c98600526d290aa637 SHA256 e6d10a52783333839b12dd0574bd43ccca7bc4c5991d371fc464c4a352bab9f0
DIST git-1.7.4.1.tar.bz2 2703860 RMD160 13ef7b6d1e8b596f97a1920e012a00f6cc8cdf6c SHA1 fff10cb498b17decc146c8f18b0b02136d5e9b88 SHA256 85c5afc1c8f96abcd8d1adfde6f813023bef5cec1dc0990fc3b159945b60cd1b
EBUILD gitweb-1.7.4.1.ebuild 3323 RMD160 e5a7c0007b2a3ac2d9f64f2d93387739a7c67778 SHA1 e83f82f31a68777885137851b7279c676e80096a SHA256 c9c0ddbcc4e1a44fd99016ad9688afbcce3b177d6ce5ee8c0a1373febeaaa83e
@@ -0,0 +1,31 @@
diff -Nuar --exclude '*.rej' --exclude '*.orig' git-1.7.2.orig/Makefile git-1.7.2/Makefile
--- git-1.7.2.orig/Makefile 2010-07-21 21:35:25.000000000 +0000
+++ git-1.7.2/Makefile 2010-07-22 16:52:22.994872806 +0000
@@ -1650,17 +1650,16 @@
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) all
ifdef JSMIN
-GITWEB_PROGRAMS += gitweb/static/gitweb.min.js
GITWEB_JS = gitweb/static/gitweb.min.js
else
GITWEB_JS = gitweb/static/gitweb.js
endif
ifdef CSSMIN
-GITWEB_PROGRAMS += gitweb/static/gitweb.min.css
GITWEB_CSS = gitweb/static/gitweb.min.css
else
GITWEB_CSS = gitweb/static/gitweb.css
endif
+GITWEB_PROGRAMS += $(GITWEB_JS) $(GITWEB_CSS)
OTHER_PROGRAMS += gitweb/gitweb.cgi $(GITWEB_PROGRAMS)
gitweb/gitweb.cgi: gitweb/gitweb.perl $(GITWEB_PROGRAMS)
$(QUIET_SUBDIR0)gitweb $(QUIET_SUBDIR1) $(patsubst gitweb/%,%,$@)
@@ -1675,7 +1674,7 @@
endif # CSSMIN
-git-instaweb: git-instaweb.sh gitweb/gitweb.cgi gitweb/static/gitweb.css gitweb/static/gitweb.js
+git-instaweb: git-instaweb.sh gitweb/gitweb.cgi $(GITWEB_CSS) $(GITWEB_JS)
$(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
@@ -0,0 +1,366 @@
--- git-1.7.3.5.orig/Makefile 2011-01-06 20:32:54.512331834 +0000
+++ git-1.7.3.5/Makefile 2011-01-07 08:22:04.682967076 +0000
@@ -183,6 +183,8 @@ all::
#
# Define NO_TCLTK if you do not want Tcl/Tk GUI.
#
+# Define NO_CVS if you do not want any CVS interface utilities.
+#
# The TCL_PATH variable governs the location of the Tcl interpreter
# used to optimize git-gui for your system. Only used if NO_TCLTK
# is not set. Defaults to the bare 'tclsh'.
@@ -339,6 +341,7 @@ LIB_OBJS =
PROGRAM_OBJS =
PROGRAMS =
SCRIPT_PERL =
+SCRIPT_PERL_CVS =
SCRIPT_PYTHON =
SCRIPT_SH =
SCRIPT_LIB =
@@ -376,17 +379,18 @@ SCRIPT_LIB += git-sh-setup
SCRIPT_PERL += git-add--interactive.perl
SCRIPT_PERL += git-difftool.perl
SCRIPT_PERL += git-archimport.perl
-SCRIPT_PERL += git-cvsexportcommit.perl
-SCRIPT_PERL += git-cvsimport.perl
-SCRIPT_PERL += git-cvsserver.perl
SCRIPT_PERL += git-relink.perl
SCRIPT_PERL += git-send-email.perl
SCRIPT_PERL += git-svn.perl
+SCRIPT_PERL_CVS += git-cvsexportcommit.perl
+SCRIPT_PERL_CVS += git-cvsimport.perl
+SCRIPT_PERL_CVS += git-cvsserver.perl
+
SCRIPT_PYTHON += git-remote-testgit.py
SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \
- $(patsubst %.perl,%,$(SCRIPT_PERL)) \
+ $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS)) \
$(patsubst %.py,%,$(SCRIPT_PYTHON)) \
git-instaweb
@@ -1676,13 +1680,25 @@ $(SCRIPT_LIB) : % : %.sh
$(QUIET_GEN)$(cmd_munge_script) && \
mv $@+ $@
+_SCRIPT_PERL_BUILD =
+_SCRIPT_PERL_NOBUILD =
+
ifndef NO_PERL
-$(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
+
+_SCRIPT_PERL_BUILD += $(SCRIPT_PERL)
+
+ifndef NO_CVS
+_SCRIPT_PERL_BUILD += $(SCRIPT_PERL_CVS)
+else # NO_CVS
+_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL_CVS)
+endif # NO_CVS
+
+$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): perl/perl.mak
perl/perl.mak: GIT-CFLAGS perl/Makefile perl/Makefile.PL
$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
-$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
+$(patsubst %.perl,%,$(_SCRIPT_PERL_BUILD)): % : %.perl
$(QUIET_GEN)$(RM) $@ $@+ && \
INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
sed -e '1{' \
@@ -1738,14 +1754,17 @@ git-instaweb: git-instaweb.sh gitweb/git
chmod +x $@+ && \
mv $@+ $@
else # NO_PERL
-$(patsubst %.perl,%,$(SCRIPT_PERL)) git-instaweb: % : unimplemented.sh
+_SCRIPT_PERL_NOBUILD += $(SCRIPT_PERL) $(SCRIPT_PERL_CVS) git-instaweb
+endif # NO_PERL
+
+# This is any perl scripts that were disabled it might be empty...
+$(patsubst %.perl,%,$(_SCRIPT_PERL_NOBUILD)): % : unimplemented.sh
$(QUIET_GEN)$(RM) $@ $@+ && \
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \
-e 's|@@REASON@@|NO_PERL=$(NO_PERL)|g' \
unimplemented.sh >$@+ && \
chmod +x $@+ && \
mv $@+ $@
-endif # NO_PERL
ifndef NO_PYTHON
$(patsubst %.py,%,$(SCRIPT_PYTHON)): GIT-CFLAGS
@@ -1780,7 +1799,7 @@ configure: configure.ac
# These can record GIT_VERSION
git.o git.spec \
$(patsubst %.sh,%,$(SCRIPT_SH)) \
- $(patsubst %.perl,%,$(SCRIPT_PERL)) \
+ $(patsubst %.perl,%,$(SCRIPT_PERL) $(SCRIPT_PERL_CVS)) \
: GIT-VERSION-FILE
TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
diff -Nuarp git-1.7.3.5.orig/t/t9200-git-cvsexportcommit.sh git-1.7.3.5/t/t9200-git-cvsexportcommit.sh
--- git-1.7.3.5.orig/t/t9200-git-cvsexportcommit.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9200-git-cvsexportcommit.sh 2011-01-07 08:41:46.478972459 +0000
@@ -12,6 +12,11 @@ if ! test_have_prereq PERL; then
test_done
fi
+if ! test_have_prereq CVS; then
+ skip_all='skipping git cvsexportcommit tests, cvs not available'
+ test_done
+fi
+
cvs >/dev/null 2>&1
if test $? -ne 1
then
diff -Nuarp git-1.7.3.5.orig/t/t9400-git-cvsserver-server.sh git-1.7.3.5/t/t9400-git-cvsserver-server.sh
--- git-1.7.3.5.orig/t/t9400-git-cvsserver-server.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9400-git-cvsserver-server.sh 2011-01-07 08:42:28.033449530 +0000
@@ -11,9 +11,15 @@ cvs CLI client via git-cvsserver server'
. ./test-lib.sh
if ! test_have_prereq PERL; then
- skip_all='skipping git cvsserver tests, perl not available'
+ skip_all='skipping git-cvsserver tests, perl not available'
test_done
fi
+
+if ! test_have_prereq CVS; then
+ skip_all='skipping git-cvsserver tests, cvs not available'
+ test_done
+fi
+
cvs >/dev/null 2>&1
if test $? -ne 1
then
diff -Nuarp git-1.7.3.5.orig/t/t9401-git-cvsserver-crlf.sh git-1.7.3.5/t/t9401-git-cvsserver-crlf.sh
--- git-1.7.3.5.orig/t/t9401-git-cvsserver-crlf.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9401-git-cvsserver-crlf.sh 2011-01-07 08:42:59.907660136 +0000
@@ -38,15 +38,20 @@ not_present() {
fi
}
-cvs >/dev/null 2>&1
-if test $? -ne 1
+if ! test_have_prereq PERL
then
- skip_all='skipping git-cvsserver tests, cvs not found'
+ skip_all='skipping git-cvsserver tests, perl not available'
test_done
fi
-if ! test_have_prereq PERL
+if ! test_have_prereq CVS
then
- skip_all='skipping git-cvsserver tests, perl not available'
+ skip_all='skipping git-cvsserver tests, cvs not available'
+ test_done
+fi
+cvs >/dev/null 2>&1
+if test $? -ne 1
+then
+ skip_all='skipping git-cvsserver tests, cvs not found'
test_done
fi
"$PERL_PATH" -e 'use DBI; use DBD::SQLite' >/dev/null 2>&1 || {
diff -Nuarp git-1.7.3.5.orig/t/t9600-cvsimport.sh git-1.7.3.5/t/t9600-cvsimport.sh
--- git-1.7.3.5.orig/t/t9600-cvsimport.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9600-cvsimport.sh 2011-01-07 08:44:34.960276512 +0000
@@ -3,14 +3,25 @@
test_description='git cvsimport basic tests'
. ./lib-cvs.sh
-test_expect_success PERL 'setup cvsroot environment' '
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
+test_expect_success 'setup cvsroot environment' '
CVSROOT=$(pwd)/cvsroot &&
export CVSROOT
'
-test_expect_success PERL 'setup cvsroot' '$CVS init'
+test_expect_success 'setup cvsroot' '$CVS init'
-test_expect_success PERL 'setup a cvs module' '
+test_expect_success 'setup a cvs module' '
mkdir "$CVSROOT/module" &&
$CVS co -d module-cvs module &&
@@ -42,23 +53,23 @@ EOF
)
'
-test_expect_success PERL 'import a trivial module' '
+test_expect_success 'import a trivial module' '
git cvsimport -a -R -z 0 -C module-git module &&
test_cmp module-cvs/o_fortuna module-git/o_fortuna
'
-test_expect_success PERL 'pack refs' '(cd module-git && git gc)'
+test_expect_success 'pack refs' '(cd module-git && git gc)'
-test_expect_success PERL 'initial import has correct .git/cvs-revisions' '
+test_expect_success 'initial import has correct .git/cvs-revisions' '
(cd module-git &&
git log --format="o_fortuna 1.1 %H" -1) > expected &&
test_cmp expected module-git/.git/cvs-revisions
'
-test_expect_success PERL 'update cvs module' '
+test_expect_success 'update cvs module' '
(cd module-cvs &&
cat <<EOF >o_fortuna &&
O Fortune,
@@ -86,7 +97,7 @@ EOF
)
'
-test_expect_success PERL 'update git module' '
+test_expect_success 'update git module' '
(cd module-git &&
git cvsimport -a -R -z 0 module &&
@@ -96,7 +107,7 @@ test_expect_success PERL 'update git mod
'
-test_expect_success PERL 'update has correct .git/cvs-revisions' '
+test_expect_success 'update has correct .git/cvs-revisions' '
(cd module-git &&
git log --format="o_fortuna 1.1 %H" -1 HEAD^ &&
@@ -104,7 +115,7 @@ test_expect_success PERL 'update has cor
test_cmp expected module-git/.git/cvs-revisions
'
-test_expect_success PERL 'update cvs module' '
+test_expect_success 'update cvs module' '
(cd module-cvs &&
echo 1 >tick &&
@@ -113,7 +124,7 @@ test_expect_success PERL 'update cvs mod
)
'
-test_expect_success PERL 'cvsimport.module config works' '
+test_expect_success 'cvsimport.module config works' '
(cd module-git &&
git config cvsimport.module module &&
@@ -124,7 +135,7 @@ test_expect_success PERL 'cvsimport.modu
'
-test_expect_success PERL 'second update has correct .git/cvs-revisions' '
+test_expect_success 'second update has correct .git/cvs-revisions' '
(cd module-git &&
git log --format="o_fortuna 1.1 %H" -1 HEAD^^ &&
@@ -133,7 +144,7 @@ test_expect_success PERL 'second update
test_cmp expected module-git/.git/cvs-revisions
'
-test_expect_success PERL 'import from a CVS working tree' '
+test_expect_success 'import from a CVS working tree' '
$CVS co -d import-from-wt module &&
(cd import-from-wt &&
@@ -145,12 +156,12 @@ test_expect_success PERL 'import from a
'
-test_expect_success PERL 'no .git/cvs-revisions created by default' '
+test_expect_success 'no .git/cvs-revisions created by default' '
! test -e import-from-wt/.git/cvs-revisions
'
-test_expect_success PERL 'test entire HEAD' 'test_cmp_branch_tree master'
+test_expect_success 'test entire HEAD' 'test_cmp_branch_tree master'
test_done
diff -Nuarp git-1.7.3.5.orig/t/t9601-cvsimport-vendor-branch.sh git-1.7.3.5/t/t9601-cvsimport-vendor-branch.sh
--- git-1.7.3.5.orig/t/t9601-cvsimport-vendor-branch.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9601-cvsimport-vendor-branch.sh 2011-01-07 08:45:11.251279877 +0000
@@ -34,6 +34,17 @@
test_description='git cvsimport handling of vendor branches'
. ./lib-cvs.sh
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
setup_cvs_test_repository t9601
test_expect_success PERL 'import a module with a vendor branch' '
diff -Nuarp git-1.7.3.5.orig/t/t9602-cvsimport-branches-tags.sh git-1.7.3.5/t/t9602-cvsimport-branches-tags.sh
--- git-1.7.3.5.orig/t/t9602-cvsimport-branches-tags.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9602-cvsimport-branches-tags.sh 2011-01-07 08:45:17.234778646 +0000
@@ -6,6 +6,17 @@
test_description='git cvsimport handling of branches and tags'
. ./lib-cvs.sh
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
setup_cvs_test_repository t9602
test_expect_success PERL 'import module' '
diff -Nuarp git-1.7.3.5.orig/t/t9603-cvsimport-patchsets.sh git-1.7.3.5/t/t9603-cvsimport-patchsets.sh
--- git-1.7.3.5.orig/t/t9603-cvsimport-patchsets.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/t9603-cvsimport-patchsets.sh 2011-01-07 08:45:24.371642637 +0000
@@ -14,6 +14,17 @@
test_description='git cvsimport testing for correct patchset estimation'
. ./lib-cvs.sh
+if ! test_have_prereq PERL
+then
+ skip_all='skipping git cvsimport tests, perl not available'
+ test_done
+fi
+if ! test_have_prereq CVS
+then
+ skip_all='skipping git cvsimport tests, cvs not available'
+ test_done
+fi
+
setup_cvs_test_repository t9603
test_expect_failure 'import with criss cross times on revisions' '
diff -Nuarp git-1.7.3.5.orig/t/test-lib.sh git-1.7.3.5/t/test-lib.sh
--- git-1.7.3.5.orig/t/test-lib.sh 2011-01-06 00:08:33.000000000 +0000
+++ git-1.7.3.5/t/test-lib.sh 2011-01-07 08:40:05.006179654 +0000
@@ -1015,6 +1015,7 @@ case $(uname -s) in
;;
esac
+test -z "$NO_CVS" && test_set_prereq CVS
test -z "$NO_PERL" && test_set_prereq PERL
test -z "$NO_PYTHON" && test_set_prereq PYTHON
+154
View File
@@ -0,0 +1,154 @@
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=3
GENTOO_DEPEND_ON_PERL=no
inherit toolchain-funcs eutils
[ "$PV" == "9999" ] && inherit git
MY_PV="${PV/_rc/.rc}"
MY_PV="${MY_PV/gitweb/git}"
MY_P="${PN}-${MY_PV}"
MY_P="${MY_P/gitweb/git}"
DESCRIPTION="A web interface to git"
HOMEPAGE="http://www.git-scm.com/"
if [ "$PV" != "9999" ]; then
SRC_URI="mirror://kernel/software/scm/git/${MY_P}.tar.bz2"
KEYWORDS="~amd64 ~x86"
else
SRC_URI=""
EGIT_BRANCH="master"
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# EGIT_REPO_URI="http://www.kernel.org/pub/scm/git/git.git"
KEYWORDS=""
fi
LICENSE="GPL-2"
SLOT="0"
IUSE=""
# Common to both DEPEND and RDEPEND
CDEPEND="
sys-libs/zlib
dev-lang/perl[-build]
dev-lang/tk"
RDEPEND="${CDEPEND}
dev-vcs/git[-cgi]
dev-perl/Error
dev-perl/Net-SMTP-SSL
dev-perl/Authen-SASL"
# this is shipped with dev-lang/perl
#virtual/perl-CGI
DEPEND="${CDEPEND}
app-arch/cpio
"
SITEFILE=50${PN}-gentoo.el
S="${WORKDIR}/${MY_P}"
src_unpack() {
if [ "${PV}" != "9999" ]; then
unpack ${MY_P}.tar.bz2
cd "${S}"
else
git_src_unpack
cd "${S}"
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# JS install fixup
epatch "${FILESDIR}"/git-1.7.2-always-install-js.patch
# bug #350330 - automagic CVS when we don't want it is bad.
epatch "${FILESDIR}"/git-1.7.3.5-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
}
git_emake() {
# 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 \
PERL_PATH="${EPREFIX}/usr/bin/env perl" \
PERL_MM_OPT="" \
GIT_TEST_OPTS="--no-color" \
"$@"
}
src_configure() {
einfo "Nothing to configure."
}
src_compile() {
git_emake gitweb || die "emake gitweb failed"
}
src_install() {
#if use perl && use cgi ; then
# 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
exeinto /usr/share/gitweb/
doexe "${S}"/gitweb/gitweb.cgi
insinto /usr/share/gitweb/static
doins "${S}"/gitweb/static/*.png
doins "${S}"/gitweb/static/*.css
doins "${S}"/gitweb/static/*.js
# fixlocalpod from perl-module: not needed
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache )"
echo
}