summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-02-15 02:27:59 -0500
committerMike Frysinger <vapier@gentoo.org>2016-02-15 02:28:13 -0500
commitbb2871538b5bc04ecd0589566682648a73fd3b1b (patch)
treee5824e20c0c2478418b4432239e7ef021b8edbaa /www-apache/mod_python
parentnet-misc/megatools: version bump 1.9.97 (diff)
downloadgentoo-bb2871538b5bc04ecd0589566682648a73fd3b1b.tar.gz
gentoo-bb2871538b5bc04ecd0589566682648a73fd3b1b.tar.bz2
gentoo-bb2871538b5bc04ecd0589566682648a73fd3b1b.zip
www-apache/mod_python: fix version generation #531154
Diffstat (limited to 'www-apache/mod_python')
-rw-r--r--www-apache/mod_python/files/mod_python-3.5.0-version.patch121
-rw-r--r--www-apache/mod_python/mod_python-3.5.0-r1.ebuild54
2 files changed, 175 insertions, 0 deletions
diff --git a/www-apache/mod_python/files/mod_python-3.5.0-version.patch b/www-apache/mod_python/files/mod_python-3.5.0-version.patch
new file mode 100644
index 000000000000..3c56c4d52188
--- /dev/null
+++ b/www-apache/mod_python/files/mod_python-3.5.0-version.patch
@@ -0,0 +1,121 @@
+taken from upstream
+
+https://bugs.gentoo.org/531154
+
+From 976a674b42f9647865d40fa417e7a3dc56a16e6e Mon Sep 17 00:00:00 2001
+From: Grisha Trubetskoy <grisha@modpython.org>
+Date: Thu, 19 Dec 2013 12:23:18 -0500
+Subject: [PATCH] Fixes for compile without git, correct how git revision hash
+ is generated (skip it if it's a tag or no git available or we are not working
+ with a checkin), also fix a bash-dependency (helps on Solaris), and a couple
+ of cross-platform awk fixes in configure.
+
+---
+ configure.in | 6 +++---
+ dist/version.sh | 15 +++++++++++++--
+ src/Makefile.in | 14 +++++---------
+ src/include/mod_python.h | 1 -
+ src/include/mod_python.h.in | 1 -
+ src/include/mp_version.h | 2 --
+ 6 files changed, 21 insertions(+), 18 deletions(-)
+
+diff --git a/dist/version.sh b/dist/version.sh
+index 1060b4f..e50000d 100755
+--- a/dist/version.sh
++++ b/dist/version.sh
+@@ -5,6 +5,17 @@ MPV_PATH="`dirname $0`/../src/include/mp_version.h"
+ MAJ=`awk '/MP_VERSION_MAJOR/ {print $3}' $MPV_PATH`
+ MIN=`awk '/MP_VERSION_MINOR/ {print $3}' $MPV_PATH`
+ PCH=`awk '/MP_VERSION_PATCH/ {print $3}' $MPV_PATH`
+-GIT=`git describe --always`
+
+-echo $MAJ.$MIN.$PCH-$GIT
++# if git exists in path
++if type git >/dev/null 2>&1; then
++ # and we are in a checkout
++ if git rev-parse 2>/dev/null; then
++ # but not on a tag (which means this is a release)
++ if test -z "`git log 'HEAD^!' --format=%d 2>/dev/null | grep 'tag: '`"; then
++ # append git revision hash to version
++ GIT="-`git describe --always`"
++ fi
++ fi
++fi
++
++echo $MAJ.$MIN.$PCH$GIT
+diff --git a/src/Makefile.in b/src/Makefile.in
+index c3b3fb2..081c954 100644
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -50,7 +50,7 @@ psp_parser.c: psp_parser.l
+
+ dso: mod_python.so
+
+-mod_python.so: $(SRCS) @SOLARIS_HACKS@
++mod_python.so: $(SRCS) @SOLARIS_HACKS@
+ @echo
+ @echo 'Building mod_python.so.'
+ @echo
+@@ -64,21 +64,17 @@ distclean: clean
+ rm -f Makefile .depend
+
+ version.c:
+- @MP_GIT_SHA=$$(git describe --always); \
+- echo > version.c ; \
++ @echo > version.c ; \
+ echo "/* THIS FILE IS AUTO-GENERATED BY Makefile */" >> version.c ; \
+ echo "#include \"mp_version.h\"" >> version.c ; \
+- echo "const char * const mp_git_sha = \"$${MP_GIT_SHA}\";" >> version.c ; \
+ echo "const int mp_version_major = MP_VERSION_MAJOR;" >> version.c ; \
+ echo "const int mp_version_minor = MP_VERSION_MINOR;" >> version.c ; \
+ echo "const int mp_version_patch = MP_VERSION_PATCH;" >> version.c ; \
+- echo "const char * const mp_version_string = MP_VERSION_STRING(MP_VERSION_MAJOR,MP_VERSION_MINOR,MP_VERSION_PATCH) \"-$${MP_GIT_SHA}\";" >> version.c ; \
+- echo "const char * const mp_version_component = \"mod_python/\" MP_VERSION_STRING(MP_VERSION_MAJOR,MP_VERSION_MINOR,MP_VERSION_PATCH) \"-$${MP_GIT_SHA}\";" >> version.c
+-
+-# echo "const char * const mp_version_component = \"mod_python/\" #MP_VERSION_MAJOR \".\" #MP_VERSION_MINOR \".\" #MP_VERSION_PATCH \"-$${MP_GIT_SHA}\";" >> version.c
++ echo "const char * const mp_version_string = \"`../dist/version.sh`\";" >> version.c ; \
++ echo "const char * const mp_version_component = \"mod_python/\" \"`../dist/version.sh`\";" >> version.c
+
+ # this is a hack to help avoid a gcc/solaris problem
+-# python uses assert() which needs _eprintf(). See
++# python uses assert() which needs _eprintf(). See
+ # SOLARIS_HACKS above
+ _eprintf.o:
+ ar -x `gcc -print-libgcc-file-name` _eprintf.o
+diff --git a/src/include/mod_python.h b/src/include/mod_python.h
+index 061146b..68a77d4 100644
+--- a/src/include/mod_python.h
++++ b/src/include/mod_python.h
+@@ -156,7 +156,6 @@ extern module AP_MODULE_DECLARE_DATA python_module;
+ #define MUTEX_DIR "/tmp"
+
+ /* version stuff */
+-extern const char * const mp_git_sha;
+ extern const int mp_version_major;
+ extern const int mp_version_minor;
+ extern const int mp_version_patch;
+diff --git a/src/include/mod_python.h.in b/src/include/mod_python.h.in
+index 4b6f1fb..7d536c5 100644
+--- a/src/include/mod_python.h.in
++++ b/src/include/mod_python.h.in
+@@ -156,7 +156,6 @@ extern module AP_MODULE_DECLARE_DATA python_module;
+ #define MUTEX_DIR "@MUTEX_DIR@"
+
+ /* version stuff */
+-extern const char * const mp_git_sha;
+ extern const int mp_version_major;
+ extern const int mp_version_minor;
+ extern const int mp_version_patch;
+diff --git a/src/include/mp_version.h b/src/include/mp_version.h
+index 4b3a494..5ed83a1 100644
+--- a/src/include/mp_version.h
++++ b/src/include/mp_version.h
+@@ -10,5 +10,3 @@
+ #define MP_VERSION_MINOR 5
+ #define MP_VERSION_PATCH 0
+
+-#define STR(x) #x
+-#define MP_VERSION_STRING(maj, min, p) STR(maj) "." STR(min) "." STR(p)
+--
+2.6.2
+
diff --git a/www-apache/mod_python/mod_python-3.5.0-r1.ebuild b/www-apache/mod_python/mod_python-3.5.0-r1.ebuild
new file mode 100644
index 000000000000..41b02e4d0372
--- /dev/null
+++ b/www-apache/mod_python/mod_python-3.5.0-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+PYTHON_COMPAT=( python2_7 python3_3 python3_4 )
+
+inherit apache-module eutils python-single-r1
+
+DESCRIPTION="An Apache2 module providing an embedded Python interpreter"
+HOMEPAGE="http://modpython.org/"
+SRC_URI="http://dist.modpython.org/dist/${P}.tgz"
+
+LICENSE="Apache-2.0"
+KEYWORDS="~alpha ~amd64 ~ia64 ~mips ~ppc ~sparc ~x86"
+IUSE="doc test"
+SLOT="0"
+
+APACHE2_MOD_CONF="16_${PN}"
+APACHE2_MOD_DEFINE="PYTHON"
+need_apache2
+
+RDEPEND="${RDEPEND}"
+DEPEND="${DEPEND}
+ test? (
+ app-admin/apache-tools
+ net-misc/curl
+ )"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-buildsystem.patch
+ epatch "${FILESDIR}"/${P}-version.patch #531154
+
+ export CFLAGS="$(apxs2 -q CFLAGS)"
+ export LDFLAGS="$(apxs2 -q LDFLAGS)"
+}
+
+src_compile() {
+ default
+}
+
+src_test() {
+ cd test || die
+ PYTHONPATH="$(ls -d ${S}/dist/build/lib.*)" ${PYTHON} test.py || die
+}
+
+src_install() {
+ default
+
+ use doc && dohtml -r doc-html/*
+
+ apache-module_src_install
+}