1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/debian/changelog Mon Jan 11 01:41:58 2010 +0100
1.3 @@ -0,0 +1,31 @@
1.4 +shedskin (0.3) lenny; urgency=low
1.5 +
1.6 + * Support for 3 new standard library modules (now about 20
1.7 + in total):
1.8 + - itertools (jeremie roquet)
1.9 + - heapq (jeremie roquet)
1.10 + - csv (converted using shedskin)
1.11 + * 4 new example programs (now 44 in total!):
1.12 + - maximum weighted matching algorithm (joris van
1.13 + rantwijk)
1.14 + - kanoodle: knuth's dancing links (david austin)
1.15 + - bidirectional dijkstra algorithm (from networkx)
1.16 + - barnes-hut force calculation
1.17 + * Improved type inference (scalability, bugfixes, major
1.18 + cleanup)
1.19 + * Support for 'map', 'filter', 'reduce' and 'next'
1.20 + * Support for 'with' statement (jeremie roquet)
1.21 + * Support for 'key' argument of 'sorted' (and 'list.sort')
1.22 + * Reorganized codebase, distutils setup.py (thomas spura)
1.23 + * Optimized list indexing (joris van rantwijk)
1.24 + * Optimized addition of 1-length lists and strings
1.25 + * Improved forward referencing of variables/functions
1.26 + * Avoid GCC warnings for 'shedskin -e'
1.27 + * Support for passing keyword arguments to extension module
1.28 + * Optimized list slicing
1.29 + * Ignore blocks surrounded by #{ and #} (mike schrick)
1.30 + * Add --makefile option (mike schrick)
1.31 + * Several cleanups, removing about 100 lines again
1.32 + * Large amount of bugfixes
1.33 +
1.34 + -- Paul Boddie <paul@boddie.org.uk> Mon, 11 Jan 2010 01:36:57 +0100
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/debian/compat Mon Jan 11 01:41:58 2010 +0100
2.3 @@ -0,0 +1,1 @@
2.4 +5
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/debian/control Mon Jan 11 01:41:58 2010 +0100
3.3 @@ -0,0 +1,14 @@
3.4 +Source: shedskin
3.5 +Section: python
3.6 +Priority: optional
3.7 +Maintainer: Paul Boddie <paul@boddie.org.uk>
3.8 +Build-Depends: debhelper (>= 5.0.38), python-all-dev (>= 2.3.5-11), python-central (>= 0.5.6)
3.9 +XS-Python-Version: all
3.10 +Standards-Version: 3.7.2.1
3.11 +
3.12 +Package: shedskin
3.13 +Architecture: all
3.14 +Depends: ${python:Depends}, libgc-dev (>= 6.8), libpcre3-dev (>= 7.4)
3.15 +Suggests: g++
3.16 +XB-Python-Version: ${python:Versions}
3.17 +Description: Shed Skin is an experimental Python-to-C++ compiler designed to speed up the execution of Python programs. It converts programs written in a static subset of Python to C++. The C++ code can be compiled to executable code, which can be run either as a standalone program or as a module imported from Python.
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/debian/copyright Mon Jan 11 01:41:58 2010 +0100
4.3 @@ -0,0 +1,44 @@
4.4 +Package creator:
4.5 +
4.6 + Paul Boddie <paul@boddie.org.uk>
4.7 +
4.8 +The origin of the package is:
4.9 +
4.10 + http://shedskin.googlecode.com
4.11 +
4.12 +Package author:
4.13 +
4.14 + Mark Dufour <mark.dufour@gmail.com>
4.15 +
4.16 +Copyright:
4.17 +
4.18 +This package is comprised of two parts:
4.19 +
4.20 + - the Shed Skin compiler, plus testing framework (*.py)
4.21 + - a C++ implementation of the Python builtins and libraries (*.?pp)
4.22 +
4.23 +Concerning the Shed Skin compiler, plus testing framework (*.py):
4.24 +
4.25 +Copyright 2005-2007 Mark Dufour; License GNU GPL version 3 or later
4.26 +
4.27 +Concerning the C++ implementation of Python builtins and libraries (*.?pp):
4.28 +
4.29 +Copyright (c) 2005, 2006 M. Dufour
4.30 +
4.31 +Permission is hereby granted, free of charge, to any person obtaining a copy
4.32 +of this software and associated documentation files (the "Software"), to deal
4.33 +in the Software without restriction, including without limitation the rights
4.34 +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
4.35 +copies of the Software, and to permit persons to whom the Software is
4.36 +furnished to do so, subject to the following conditions:
4.37 +
4.38 +The above copyright notice and this permission notice shall be included in all
4.39 +copies or substantial portions of the Software.
4.40 +
4.41 +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
4.42 +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
4.43 +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4.44 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
4.45 +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
4.46 +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
4.47 +SOFTWARE.
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/debian/docs Mon Jan 11 01:41:58 2010 +0100
5.3 @@ -0,0 +1,8 @@
5.4 +doc/README.html
5.5 +doc/README.rst
5.6 +doc/shedskin.rst
5.7 +doc/voidspace.css
5.8 +doc/LICENSE
5.9 +testdata
5.10 +debian/test.py
5.11 +unit.py
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/debian/rules Mon Jan 11 01:41:58 2010 +0100
6.3 @@ -0,0 +1,67 @@
6.4 +#!/usr/bin/make -f
6.5 +
6.6 +# Uncomment this to turn on verbose mode.
6.7 +#export DH_VERBOSE=1
6.8 +
6.9 +PYVERS=$(shell pyversions -vr)
6.10 +
6.11 +build: build-stamp
6.12 +
6.13 +build-stamp: $(PYVERS:%=build-python%)
6.14 + touch $@
6.15 +
6.16 +build-python%:
6.17 + python$* setup.py build_py
6.18 + touch $@
6.19 +
6.20 +build-python-scripts:
6.21 + python setup.py build_scripts
6.22 + touch $@
6.23 +
6.24 +clean:
6.25 + dh_testdir
6.26 + dh_testroot
6.27 + rm -f *-stamp
6.28 + rm -rf build
6.29 + find . -name '*.py[co]' | xargs rm -f
6.30 + dh_clean
6.31 +
6.32 +install: build install-prereq $(PYVERS:%=install-python%) install-python-scripts
6.33 + # Script fixing would appear here.
6.34 +
6.35 +install-prereq:
6.36 + dh_testdir
6.37 + dh_testroot
6.38 + dh_clean -k
6.39 +
6.40 +install-python%:
6.41 + python$* setup.py install_lib --install-dir $(CURDIR)/debian/shedskin/usr/lib/python$*/site-packages
6.42 +
6.43 +install-python-scripts:
6.44 + python setup.py install_scripts --install-dir $(CURDIR)/debian/shedskin/usr/bin
6.45 +
6.46 +# Build architecture-independent files here.
6.47 +
6.48 +binary-indep: install
6.49 + dh_testdir -i
6.50 + dh_testroot -i
6.51 + # Install before dh_pycentral so that it can work out that there's Python involved
6.52 + dh_install -i -n
6.53 + dh_pycentral -i usr/lib/shedskin/bin
6.54 + dh_installdocs -i
6.55 + dh_installchangelogs -i
6.56 + gzip --best debian/shedskin.1
6.57 + dh_installman -i debian/shedskin.1.gz
6.58 + dh_fixperms -i
6.59 + dh_installdeb -i
6.60 + dh_gencontrol -i
6.61 + dh_md5sums -i
6.62 + dh_builddeb -i
6.63 +
6.64 +# Build architecture-dependent files here.
6.65 +
6.66 +binary-arch:
6.67 + # Empty rule for this package.
6.68 +
6.69 +binary: binary-indep binary-arch
6.70 +.PHONY: build clean binary-arch binary-indep binary install
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/debian/scripts/shedskin Mon Jan 11 01:41:58 2010 +0100
7.3 @@ -0,0 +1,4 @@
7.4 +#!/bin/sh
7.5 +
7.6 +export SHEDSKIN_ROOT=/usr/lib/shedskin
7.7 +/usr/lib/shedskin/bin/ss.py $*
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/debian/shedskin.1 Mon Jan 11 01:41:58 2010 +0100
8.3 @@ -0,0 +1,69 @@
8.4 +
8.5 +.\" Man page generated from reStructeredText.
8.6 +.TH Shedskin 1 "2009-07-15" "0.2" ""
8.7 +.SH NAME
8.8 +Shedskin \- An experimental (restricted) Python-to-C++ Compiler
8.9 +
8.10 +.SH SYNOPSIS
8.11 +shedskin [OPTION]... FILE
8.12 +
8.13 +
8.14 +.\" visit_block_quote
8.15 +\-a \-\-noann Don\'t output annotated source code
8.16 +
8.17 +\-b \-\-nobounds Disable bounds checking
8.18 +
8.19 +\-d \-\-dir Specify alternate directory for output files
8.20 +
8.21 +\-e \-\-extmod Generate extension module
8.22 +
8.23 +\-f \-\-flags Provide alternate Makefile flags
8.24 +
8.25 +\-r \-\-random Use fast random number generator
8.26 +
8.27 +\-w \-\-nowrap Disable wrap\-around checking
8.28 +
8.29 +
8.30 +.\" depart_block_quote
8.31 +
8.32 +.SH DESCRIPTION
8.33 +Shed Skin is an experimental Python\-to\-C++ compiler designed to speed up the execution of Python programs. It converts programs written in a static subset of Python to C++. The C++ code can be compiled to executable code, which can be run either as a standalone program or as a module imported and called from CPython.
8.34 +
8.35 +
8.36 +.SH LIMITATIONS
8.37 +(See the documentation for a more detailed overview.)
8.38 +
8.39 +
8.40 +.TP 3
8.41 +1.
8.42 +Variables must be (implicitly) statically typed. Abstract types (as in C++) are supported.
8.43 +
8.44 +
8.45 +.TP 3
8.46 +2.
8.47 +Several Python features cannot be used or only partially. For example, nested functions and variable numbers of arguments are not supported.
8.48 +
8.49 +
8.50 +.TP 3
8.51 +3.
8.52 +Programs cannot freely use the standard library, only those available in
8.53 +.\" visit_literal
8.54 +lib/
8.55 +.\" depart_literal
8.56 +.
8.57 +
8.58 +
8.59 +.SH OPTIONS
8.60 +
8.61 +.SH THANKS
8.62 +Google, Bearophile, Brian Blais, Paul Boddie, Djamel Cherif, Mark Dewing, James Coughlan, Luis M. Gonzales, Karel Heyse, Denis de Leeuw Duarte, Michael Elkins, FFAO, Van Lindberg, David Marek, Jeff Miller, Joaquin Abian Monux, Harri Pasanen, SirNotAppearingInThisManPage, Dave Tweed, Jaroslaw Tworek, Pavel Vinogradov
8.63 +
8.64 +
8.65 +.SH AUTHOR
8.66 +mark.dufour@gmail.com
8.67 +
8.68 +.SH COPYRIGHT
8.69 +GPL version 3 or later
8.70 +
8.71 +.\" Generated by docutils manpage writer on 2009-07-15 14:30.
8.72 +.\"
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/debian/shedskin.install Mon Jan 11 01:41:58 2010 +0100
9.3 @@ -0,0 +1,7 @@
9.4 +ss.py usr/lib/shedskin/bin/
9.5 +shared.py usr/lib/shedskin/bin/
9.6 +extmod.py usr/lib/shedskin/bin/
9.7 +graph.py usr/lib/shedskin/bin/
9.8 +infer.py usr/lib/shedskin/bin/
9.9 +cpp.py usr/lib/shedskin/bin/
9.10 +backward.py usr/lib/shedskin/bin/
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/debian/shedskin.postinst Mon Jan 11 01:41:58 2010 +0100
10.3 @@ -0,0 +1,44 @@
10.4 +#! /bin/sh
10.5 +# postinst script for ShedSkin
10.6 +#
10.7 +# see: dh_installdeb(1)
10.8 +
10.9 +set -e
10.10 +
10.11 +# summary of how this script can be called:
10.12 +# * <postinst> `configure' <most-recently-configured-version>
10.13 +# * <old-postinst> `abort-upgrade' <new version>
10.14 +# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
10.15 +# <new-version>
10.16 +# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
10.17 +# <failed-install-package> <version> `removing'
10.18 +# <conflicting-package> <version>
10.19 +# for details, see http://www.debian.org/doc/debian-policy/ or
10.20 +# the debian-policy package
10.21 +#
10.22 +# quoting from the policy:
10.23 +# Any necessary prompting should almost always be confined to the
10.24 +# post-installation script, and should be protected with a conditional
10.25 +# so that unnecessary prompting doesn't happen if a package's
10.26 +# installation fails and the `postinst' is called with `abort-upgrade',
10.27 +# `abort-remove' or `abort-deconfigure'.
10.28 +
10.29 +PACKAGE=shedskin
10.30 +
10.31 +case "$1" in
10.32 + configure|abort-upgrade|abort-remove|abort-deconfigure)
10.33 + # ss is already a program
10.34 + chmod ugo+rx /usr/lib/shedskin/bin/ss.py /usr/bin/shedskin
10.35 + ;;
10.36 +
10.37 + *)
10.38 + echo "postinst called with unknown argument \`$1'" >&2
10.39 + exit 1
10.40 + ;;
10.41 +esac
10.42 +
10.43 +
10.44 +
10.45 +exit 0
10.46 +
10.47 +
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/debian/shedskin.postinst.debhelper Mon Jan 11 01:41:58 2010 +0100
11.3 @@ -0,0 +1,8 @@
11.4 +# Automatically added by dh_pycentral
11.5 +if which pycentral >/dev/null 2>&1; then
11.6 + pycentral pkginstall shedskin
11.7 + if grep -qs '^shedskin$' /var/lib/pycentral/delayed-pkgs; then
11.8 + sed -i '/^shedskin$/d' /var/lib/pycentral/delayed-pkgs
11.9 + fi
11.10 +fi
11.11 +# End automatically added section
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/debian/shedskin.prerm.debhelper Mon Jan 11 01:41:58 2010 +0100
13.3 @@ -0,0 +1,45 @@
13.4 +# Automatically added by dh_pycentral
13.5 +case "$1" in remove|upgrade)
13.6 + pkgremove=y
13.7 +esac
13.8 +if [ -f /var/lib/pycentral/shedskin.pkgremove ] || [ -f /var/lib/pycentral/pkgremove ]; then
13.9 + pkgremove=y
13.10 +fi
13.11 +if [ "$pkgremove" = y ]; then
13.12 +if which python >/dev/null 2>&1 && which pycentral >/dev/null 2>&1; then
13.13 + pycentral pkgremove shedskin
13.14 +else
13.15 + flist=$(tempfile)
13.16 + slist=$(tempfile)
13.17 + dpkg -L shedskin | tee $flist | \
13.18 + while read n; do
13.19 + case "$n" in
13.20 + /usr/share/pyshared/*)
13.21 + n2=${n#/usr/share/pyshared/*}
13.22 + case "$n" in
13.23 + *.py) echo "p $n";;
13.24 + *) [ -d "$n" ] && echo "d $n2" || echo "f $n2"
13.25 + esac
13.26 + ;;
13.27 + *) continue
13.28 + esac
13.29 + done > $slist
13.30 + if [ -s $slist ]; then
13.31 + for d in /usr/lib/python[0-9].[0-9]/????-packages; do
13.32 + case "$d" in */python2.1/*|*/python2.2/*) continue; esac
13.33 + while read t n; do
13.34 + case "$t" in
13.35 + p) rm -f $d/$n $d/${n}[co];;
13.36 + d) rmdir $d/$n 2>/dev/null || true;;
13.37 + *) rm -f $d/$n
13.38 + esac
13.39 + done < $slist
13.40 + done
13.41 + fi
13.42 + awk '/\/usr\/share\/pyshared/ {next} /\.py$/ {print $0"c\n" $0"o"}' $flist \
13.43 + | xargs -r rm -f >&2
13.44 + rm -f $flist $slist
13.45 +fi
13.46 +rm -f /var/lib/pycentral/shedskin.pkgremove
13.47 +fi
13.48 +# End automatically added section
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/debian/shedskin.substvars Mon Jan 11 01:41:58 2010 +0100
14.3 @@ -0,0 +1,2 @@
14.4 +python:Versions=all
14.5 +python:Depends=python, python-central (>= 0.6.7)
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/debian/test.py Mon Jan 11 01:41:58 2010 +0100
15.3 @@ -0,0 +1,1 @@
15.4 +print 'hello, world!'