[SM-Commit] GIT changes to master grimoire by Vlad Glagolev (19fc1b35fefb488b54d955d59d7b257e6f5fdbf2)

Vlad Glagolev scm at sourcemage.org
Thu Dec 4 01:12:02 EST 2008


GIT changes to master grimoire by Vlad Glagolev <stealth at sourcemage.org>:

 ChangeLog                        |    3 +++
 devel/python3000/BUILD           |   23 +++++++++++++++++++++++
 devel/python3000/CONFIGURE       |   11 +++++++++++
 devel/python3000/DEPENDS         |   11 +++++++++++
 devel/python3000/DETAILS         |   23 +++++++++++++++++++++++
 devel/python3000/DETAILS.orig    |   23 +++++++++++++++++++++++
 devel/python3000/HISTORY         |    3 +++
 devel/python3000/INSTALL         |    9 +++++++++
 devel/python3000/PRE_SUB_DEPENDS |    7 +++++++
 devel/python3000/SUB_DEPENDS     |   10 ++++++++++
 devel/python3000/TRIGGERS        |    3 +++
 devel/python3000/UP_TRIGGERS     |   22 ++++++++++++++++++++++
 devel/python3000/python.gpg      |binary
 devel/python3000/volatiles       |    1 +
 14 files changed, 149 insertions(+)

New commits:
commit 19fc1b35fefb488b54d955d59d7b257e6f5fdbf2
Author: Vlad Glagolev <stealth at sourcemage.org>
Commit: Vlad Glagolev <stealth at sourcemage.org>

    python3000: Python 3.0 (a.k.a. "Python 3000" or "Py3k")

diff --git a/ChangeLog b/ChangeLog
index 5b87939..b24a577 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+2008-12-04 Vlad Glagolev <stealth at sourcemage.org>
+	* devel/python3000: new spell, Python 3.0 (a.k.a. "Python 3000" or "Py3k")
+
 2008-12-03 Treeve Jelbert <treeve at sourcemage.org>
 	* python-pypi/config: new spell, configuration tool
 	* python-pypi/pypdf: pdf tools
diff --git a/devel/python3000/BUILD b/devel/python3000/BUILD
new file mode 100755
index 0000000..510cf49
--- /dev/null
+++ b/devel/python3000/BUILD
@@ -0,0 +1,23 @@
+OPT="$CFLAGS" &&
+
+OPTS="--enable-shared $PYTHON3_OPTS $OPTS" &&
+
+# The following file from kdebindings has a syntax error that
+# makes Python compilation fail
+local PYTHON_VERSION=`echo $VERSION|cut -d. -f1,2`
+if [[ -f $INSTALL_ROOT/usr/lib/python$PYTHON_VERSION/pydcop.py ]]; then
+  mkdir "$SOURCE_DIRECTORY/spell-tmp" &&
+  mv "$INSTALL_ROOT/usr/lib/python$PYTHON_VERSION/pydcop.py" \
+    "$SOURCE_DIRECTORY/spell-tmp"
+fi &&
+
+default_build &&
+
+if [[ $PY3K == y ]];
+  # python -c '"(c)", "lynx"*3'
+  make fullinstall DESTDIR="$SOURCE_DIRECTORY/anywhere"
+else
+  make install DESTDIR="$SOURCE_DIRECTORY/anywhere"
+fi &&
+
+message "Fake stage complete, installing to real path.."
diff --git a/devel/python3000/CONFIGURE b/devel/python3000/CONFIGURE
new file mode 100755
index 0000000..1951dae
--- /dev/null
+++ b/devel/python3000/CONFIGURE
@@ -0,0 +1,11 @@
+config_query PY3K "Use Python 3000 as primary version on the system?" n &&
+
+config_query_option PYTHON3_OPTS \
+                    "Enable IPv6?" y \
+                    "--enable-ipv6" \
+                    "--disable-ipv6" &&
+
+config_query_option PYTHON3_OPTS \
+                    "Enable POSIX threads (pthreads) support?" y \
+                    "--with-pth" \
+                    "--without-pth"
diff --git a/devel/python3000/DEPENDS b/devel/python3000/DEPENDS
new file mode 100755
index 0000000..76d7d7f
--- /dev/null
+++ b/devel/python3000/DEPENDS
@@ -0,0 +1,11 @@
+optional_depends db "" "" "for Sleepycat db support" &&
+optional_depends sqlite "" "" "for SQLite db support" &&
+optional_depends tk "" "" "for Tk support" &&
+optional_depends ncurses "" "" "for Ncurses support" &&
+optional_depends readline "" "" "for Readline support" &&
+optional_depends expat "" "" "for XML parser module" &&
+
+optional_depends g++ \
+                 "--with-cxx-main=g++" \
+                 "--without-cxx-main" \
+                 "for C++ module support"
diff --git a/devel/python3000/DETAILS b/devel/python3000/DETAILS
new file mode 100755
index 0000000..f723781
--- /dev/null
+++ b/devel/python3000/DETAILS
@@ -0,0 +1,23 @@
+           SPELL=python3000
+         VERSION=3.0
+          SOURCE=Python-$VERSION.tar.bz2
+         SOURCE2=$SOURCE.asc
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/Python-$VERSION"
+   SOURCE_URL[0]=http://www.python.org/ftp/python/$VERSION/$SOURCE
+  SOURCE2_URL[0]=http://www.python.org/download/releases/$VERSION/$SOURCE2
+      SOURCE_GPG=python.gpg:$SOURCE2:UPSTREAM_KEY
+  SOURCE2_IGNORE=signature
+        WEB_SITE=http://www.python.org/
+         ENTERED=20081203
+      LICENSE[0]=PYTHON
+        KEYWORDS="devel"
+           SHORT="interpreted, interactive, object-oriented language, version 3"
+cat << EOF
+Python is an interpreted, interactive, object-oriented programming language. It
+combines remarkable power with very clear syntax, and isn't difficult to learn.
+It has modules, classes, exceptions, very high level data types, and dynamic
+typing. There are interfaces to many system calls and libraries, as well as to
+various windowing systems (Tk, Mac, MFC, GTK+, Qt, wxWindows). Newbuilt-in
+modules are easily written in C or C++. Python is also usable as an extension
+language for applications that need a programmable interface.
+EOF
diff --git a/devel/python3000/DETAILS.orig b/devel/python3000/DETAILS.orig
new file mode 100755
index 0000000..f723781
--- /dev/null
+++ b/devel/python3000/DETAILS.orig
@@ -0,0 +1,23 @@
+           SPELL=python3000
+         VERSION=3.0
+          SOURCE=Python-$VERSION.tar.bz2
+         SOURCE2=$SOURCE.asc
+SOURCE_DIRECTORY="$BUILD_DIRECTORY/Python-$VERSION"
+   SOURCE_URL[0]=http://www.python.org/ftp/python/$VERSION/$SOURCE
+  SOURCE2_URL[0]=http://www.python.org/download/releases/$VERSION/$SOURCE2
+      SOURCE_GPG=python.gpg:$SOURCE2:UPSTREAM_KEY
+  SOURCE2_IGNORE=signature
+        WEB_SITE=http://www.python.org/
+         ENTERED=20081203
+      LICENSE[0]=PYTHON
+        KEYWORDS="devel"
+           SHORT="interpreted, interactive, object-oriented language, version 3"
+cat << EOF
+Python is an interpreted, interactive, object-oriented programming language. It
+combines remarkable power with very clear syntax, and isn't difficult to learn.
+It has modules, classes, exceptions, very high level data types, and dynamic
+typing. There are interfaces to many system calls and libraries, as well as to
+various windowing systems (Tk, Mac, MFC, GTK+, Qt, wxWindows). Newbuilt-in
+modules are easily written in C or C++. Python is also usable as an extension
+language for applications that need a programmable interface.
+EOF
diff --git a/devel/python3000/HISTORY b/devel/python3000/HISTORY
new file mode 100644
index 0000000..3ce8c5e
--- /dev/null
+++ b/devel/python3000/HISTORY
@@ -0,0 +1,3 @@
+2008-12-03 Vlad Glagolev <stealth at sourcemage.org>
+	* BUILD, CONFIGURE, DEPENDS, DETAILS, HISTORY, INSTALL, PRE_SUB_DEPENDS
+	  SUB_DEPENDS, TRIGGERS, UP_TRIGGERS, python.gpg, volatiles: created
diff --git a/devel/python3000/INSTALL b/devel/python3000/INSTALL
new file mode 100755
index 0000000..c963dae
--- /dev/null
+++ b/devel/python3000/INSTALL
@@ -0,0 +1,9 @@
+cp -av "$SOURCE_DIRECTORY/anywhere/usr" "$INSTALL_ROOT/" &&
+
+if [[ -f "$SOURCE_DIRECTORY/spell-tmp/pydcop.py" ]]; then
+  cp "$SOURCE_DIRECTORY/spell-tmp/pydcop.py" "$PYPATH"
+fi &&
+
+# gettext
+install -vm 755 "$SOURCE_DIRECTORY/Tools/i18n/"{pygettext.py,msgfmt.py} \
+                "$INSTALL_ROOT/usr/bin"
diff --git a/devel/python3000/PRE_SUB_DEPENDS b/devel/python3000/PRE_SUB_DEPENDS
new file mode 100755
index 0000000..eb48c7f
--- /dev/null
+++ b/devel/python3000/PRE_SUB_DEPENDS
@@ -0,0 +1,7 @@
+case $THIS_SUB_DEPENDS in
+      db) is_depends_enabled $SPELL db;;
+  sqlite) is_depends_enabled $SPELL sqlite;;
+   expat) is_depends_enabled $SPELL expat;;
+       *) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL $THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+          return 1;;
+esac
diff --git a/devel/python3000/SUB_DEPENDS b/devel/python3000/SUB_DEPENDS
new file mode 100755
index 0000000..4205f7c
--- /dev/null
+++ b/devel/python3000/SUB_DEPENDS
@@ -0,0 +1,10 @@
+case $THIS_SUB_DEPENDS in
+      db) message "DB support requested, forcing db dependency" &&
+          depends db;;
+  sqlite) message "SQLite support requested, forcing sqlite dependency" &&
+          depends sqlite;;
+   expat) message "XML parser module requested, forcing expat dependency" &&
+          depends expat;;
+       *) message "${PROBLEM_COLOR}bogus sub_depends: $SPELL $THIS_SUB_DEPENDS${DEFAULT_COLOR}"
+          return 1;;
+esac
diff --git a/devel/python3000/TRIGGERS b/devel/python3000/TRIGGERS
new file mode 100755
index 0000000..4a23cff
--- /dev/null
+++ b/devel/python3000/TRIGGERS
@@ -0,0 +1,3 @@
+on_cast   gettext   check_self
+on_dispel pygtk2    check_self
+on_dispel pygobject check_self
diff --git a/devel/python3000/UP_TRIGGERS b/devel/python3000/UP_TRIGGERS
new file mode 100755
index 0000000..f9be32e
--- /dev/null
+++ b/devel/python3000/UP_TRIGGERS
@@ -0,0 +1,22 @@
+# up_trigger everything on minor version updates
+
+if spell_ok $SPELL && [[ $PY3K == y ]]; then
+  local OLD_SPELL_VERSION="$(installed_version $SPELL)"
+  if test "${VERSION:2:1}" != "${OLD_SPELL_VERSION:2:1}"; then
+    message "This is a possibly incompatible update of python..."
+    message "Figuring out what spells need to be recast, this may take a while."
+
+    for each in $(show_up_depends $SPELL 1); do
+      # Check in the install logs if python packages has been installed
+      if gaze install $each | grep -q "$TRACK_ROOT/usr/lib/python${OLD_SPELL_VERSION:0:3}/site-packages"; then
+        up_trigger $each cast_self
+      else
+      # Check if the binaries link against libpython.so
+        if gaze install $each | xargs readelf -d 2> /dev/null |
+          grep -q "NEEDED.*libpython${OLD_SPELL_VERSION:0:3}"; then
+          up_trigger $each cast_self
+        fi
+      fi
+    done
+  fi
+fi
diff --git a/devel/python3000/python.gpg b/devel/python3000/python.gpg
new file mode 100644
index 0000000..7c942eb
Binary files /dev/null and b/devel/python3000/python.gpg differ
diff --git a/devel/python3000/volatiles b/devel/python3000/volatiles
new file mode 100755
index 0000000..c4f7a3c
--- /dev/null
+++ b/devel/python3000/volatiles
@@ -0,0 +1 @@
+^.*.pyc$



More information about the SM-Commit mailing list