summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HOWTO/release.txt17
-rw-r--r--README3
-rw-r--r--SConstruct32
-rw-r--r--gentoo/scons.ebuild.in25
4 files changed, 77 insertions, 0 deletions
diff --git a/HOWTO/release.txt b/HOWTO/release.txt
index d9c0ae88..283c4abb 100644
--- a/HOWTO/release.txt
+++ b/HOWTO/release.txt
@@ -327,6 +327,23 @@ Things to do to release a new version of SCons:
[wait until business hours so the announcement
hits mailboxes while U.S. workers are active]
+ Notify Gentoo Linux of the update
+
+ For now, we will do this by entering a bug report, and
+ attaching the files in build/gentoo to the report. Go
+ to:
+
+ http://bugs.gentoo.org/
+
+ This requires an account (based on your email address)
+ and a certain amount of Bugzilla-based navigation,
+ but nothing that's too difficult.
+
+ This is just my best stab at a process that will work
+ for Gentoo. This process may change if the Gentoo
+ developers come back and want something submitted in
+ some other form.
+
Notify www.cmtoday.com/contribute.html
[This guy wants an announcement no more frequently than
diff --git a/README b/README
index 47c90906..965a623a 100644
--- a/README
+++ b/README
@@ -316,6 +316,9 @@ etc/
and which we don't want to force people to have to install on
their own just to help out with SCons development.
+gentoo/
+ Stuff to generate files for Gentoo Linux.
+
HOWTO/
Documentation of SCons administrative procedures (making a
change, releasing a new version). Maybe other administrative
diff --git a/SConstruct b/SConstruct
index 59f70881..570570d7 100644
--- a/SConstruct
+++ b/SConstruct
@@ -241,6 +241,7 @@ def SCons_revision(target, source, env):
line = string.replace(line, '__FILE' + '__', str(source[0]))
line = string.replace(line, '__REVISION' + '__', env['REVISION'])
line = string.replace(line, '__VERSION' + '__', env['VERSION'])
+ line = string.replace(line, '__NULL' + '__', '')
outf.write(line)
inf.close()
outf.close()
@@ -733,6 +734,37 @@ for p in [ scons ]:
deb,
"dpkg --fsys-tarfile $SOURCES | (cd $TEST_DEB_DIR && tar -xf -)")
+
+ #
+ # Generate portage files for submission to Gentoo Linux.
+ #
+ gentoo = os.path.join('build', 'gentoo')
+ ebuild = os.path.join(gentoo, 'scons-%s.ebuild' % version)
+ digest = os.path.join(gentoo, 'files', 'digest-scons-%s' % version)
+ env.Command(ebuild, os.path.join('gentoo', 'scons.ebuild.in'), SCons_revision)
+ def Digestify(target, source, env):
+ import md5
+ def hexdigest(s):
+ """Return a signature as a string of hex characters.
+ """
+ # NOTE: This routine is a method in the Python 2.0 interface
+ # of the native md5 module, but we want SCons to operate all
+ # the way back to at least Python 1.5.2, which doesn't have it.
+ h = string.hexdigits
+ r = ''
+ for c in s:
+ i = ord(c)
+ r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
+ return r
+ src = source[0].rfile()
+ contents = open(str(src)).read()
+ sig = hexdigest(md5.new(contents).digest())
+ bytes = os.stat(str(src))[6]
+ open(str(target[0]), 'w').write("MD5 %s %s %d\n" % (sig,
+ src.name,
+ bytes))
+ env.Command(digest, tar_gz, Digestify)
+
#
# Use the Python distutils to generate the appropriate packages.
#
diff --git a/gentoo/scons.ebuild.in b/gentoo/scons.ebuild.in
new file mode 100644
index 00000000..36f83db4
--- /dev/null
+++ b/gentoo/scons.ebuild.in
@@ -0,0 +1,25 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $__NULL__Header: /home/cvsroot/gentoo-x86/dev-util/scons/scons-__VERSION__.ebuild,v 1.2 2003/02/13 12:00:11 vapier Exp __NULL__$
+
+MY_P=${PN}-__VERSION__
+S=${WORKDIR}/${MY_P}
+DESCRIPTION="Extensible python-based build utility"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+HOMEPAGE="http://www.scons.org"
+
+SLOT="0"
+LICENSE="as-is"
+KEYWORDS="~x86 ~sparc"
+
+DEPEND=">=dev-lang/python-2.0"
+
+src_compile() {
+ python setup.py build
+}
+
+src_install () {
+ python setup.py install --root=${D}
+ dodoc *.txt PKG-INFO MANIFEST
+ doman scons.1
+}