Sun Aug 15 10:45:58 2010 UTC ()
add py-cxfreeze-4.2, a (sort of) compiler which makes a standalone
executable of a Python script, from Helge Muehlmeier per pkgsrc-wip

This pkg abuses Python distutils in a non-portable way, so I've
added a hack which relinks the startup code behind setuptools'
back. This is easier than patching the setup.py script into doing trt.

Status:

Vendor Tag:	TNF
Release Tags:	pkgsrc-base


(drochner)
diff -r0 -r1.1.1.1 pkgsrc/lang/py-cxfreeze/Makefile
diff -r0 -r1.1.1.1 pkgsrc/lang/py-cxfreeze/DESCR
diff -r0 -r1.1.1.1 pkgsrc/lang/py-cxfreeze/distinfo
diff -r0 -r1.1.1.1 pkgsrc/lang/py-cxfreeze/PLIST
diff -r0 -r1.1.1.1 pkgsrc/lang/py-cxfreeze/buildlink3.mk
diff -r0 -r1.1.1.1 pkgsrc/lang/py-cxfreeze/patches/patch-aa

File Added: pkgsrc/lang/py-cxfreeze/Makefile
# $NetBSD: Makefile,v 1.1.1.1 2010/08/15 10:45:57 drochner Exp $
#

VERS=			4.2
DISTNAME=		cx_Freeze-${VERS}
PKGNAME=		${PYPKGPREFIX}-cxfreeze-4.2
CATEGORIES=		devel
MASTER_SITES=		${MASTER_SITE_SOURCEFORGE:=cx-freeze/}

MAINTAINER=		helgoman@users.sourceforge.net
HOMEPAGE=		http://cx-freeze.sourceforge.net/
COMMENT=		Freezing python scripts into executables
LICENSE=		python-software-foundation

PKG_DESTDIR_SUPPORT=	user-destdir

USE_LANGUAGES=      	c c++

PYDISTUTILSPKG=         yes
PLIST_SUBST+=		PYVERSSUFFIX=${PYVERSSUFFIX}

post-extract:
	${MV} ${WRKSRC}/cxfreeze ${WRKSRC}/cxfreeze${PYVERSSUFFIX}

# XXX this pkg abuses the distutils extension build mechanism to
# build executables. The result isn't executable on NetBSD.
# Relink to get valid executables.
post-build:
	cd ${WRKSRC} && ${CC} build/temp.*/source/bases/Console.o \
	-L${LOCALBASE}/lib -Wl,-R${LOCALBASE}/lib -lpython${PYVERSSUFFIX} \
	-o ${WRKDIR}/Console && \
	${CC} build/temp.*/source/bases/ConsoleKeepPath.o \
	-L${LOCALBASE}/lib -Wl,-R${LOCALBASE}/lib -lpython${PYVERSSUFFIX} \
	-o ${WRKDIR}/ConsoleKeepPath

post-install:
	${INSTALL_PROGRAM} ${WRKDIR}/Console \
		${DESTDIR}${PREFIX}/${PYSITELIB}/cx_Freeze/bases
	${INSTALL_PROGRAM} ${WRKDIR}/ConsoleKeepPath \
		${DESTDIR}${PREFIX}/${PYSITELIB}/cx_Freeze/bases

.include "../../lang/python/application.mk"
.include "../../lang/python/extension.mk"
.include "../../mk/bsd.pkg.mk"

File Added: pkgsrc/lang/py-cxfreeze/DESCR
cx_Freeze is a set of scripts and modules for freezing Python scripts into
executables in much the same way that py2exe and py2app do. Unlike these
two tools, cx_Freeze is cross platform and should work on any platform that
Python itself works on.

File Added: pkgsrc/lang/py-cxfreeze/distinfo
$NetBSD: distinfo,v 1.1.1.1 2010/08/15 10:45:57 drochner Exp $

SHA1 (cx_Freeze-4.2.tar.gz) = 704f7ee078edb18cc758db41d63ddd0f0a6002c8
RMD160 (cx_Freeze-4.2.tar.gz) = 222bd41a4e48b541086f8ab9f2a6d811b12be339
Size (cx_Freeze-4.2.tar.gz) = 59050 bytes
SHA1 (patch-aa) = 8ae98e1ac3a0962bf6ed28c8c4c7d2a2de012172

File Added: pkgsrc/lang/py-cxfreeze/PLIST
@comment $NetBSD: PLIST,v 1.1.1.1 2010/08/15 10:45:57 drochner Exp $
bin/cxfreeze${PYVERSSUFFIX}
${PYSITELIB}/cx_Freeze/__init__.py
${PYSITELIB}/cx_Freeze/__init__.pyc
${PYSITELIB}/cx_Freeze/__init__.pyo
${PYSITELIB}/cx_Freeze/bases/Console
${PYSITELIB}/cx_Freeze/bases/ConsoleKeepPath
${PYSITELIB}/cx_Freeze/dist.py
${PYSITELIB}/cx_Freeze/dist.pyc
${PYSITELIB}/cx_Freeze/dist.pyo
${PYSITELIB}/cx_Freeze/finder.py
${PYSITELIB}/cx_Freeze/finder.pyc
${PYSITELIB}/cx_Freeze/finder.pyo
${PYSITELIB}/cx_Freeze/freezer.py
${PYSITELIB}/cx_Freeze/freezer.pyc
${PYSITELIB}/cx_Freeze/freezer.pyo
${PYSITELIB}/cx_Freeze/hooks.py
${PYSITELIB}/cx_Freeze/hooks.pyc
${PYSITELIB}/cx_Freeze/hooks.pyo
${PYSITELIB}/cx_Freeze/initscripts/Console.py
${PYSITELIB}/cx_Freeze/initscripts/Console3.py
${PYSITELIB}/cx_Freeze/initscripts/ConsoleKeepPath.py
${PYSITELIB}/cx_Freeze/initscripts/ConsoleKeepPath3.py
${PYSITELIB}/cx_Freeze/initscripts/ConsoleSetLibPath.py
${PYSITELIB}/cx_Freeze/initscripts/SharedLib.py
${PYSITELIB}/cx_Freeze/initscripts/SharedLibSource.py
${PYSITELIB}/cx_Freeze/main.py
${PYSITELIB}/cx_Freeze/main.pyc
${PYSITELIB}/cx_Freeze/main.pyo
${PYSITELIB}/cx_Freeze/samples/PyQt4/PyQt4app.py
${PYSITELIB}/cx_Freeze/samples/PyQt4/setup.py
${PYSITELIB}/cx_Freeze/samples/advanced/advanced_1.py
${PYSITELIB}/cx_Freeze/samples/advanced/advanced_2.py
${PYSITELIB}/cx_Freeze/samples/advanced/modules/testfreeze_1.py
${PYSITELIB}/cx_Freeze/samples/advanced/modules/testfreeze_2.py
${PYSITELIB}/cx_Freeze/samples/advanced/setup.py
${PYSITELIB}/cx_Freeze/samples/matplotlib/setup.py
${PYSITELIB}/cx_Freeze/samples/matplotlib/test_matplotlib.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/__init__.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/pkg2/__init__.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/pkg2/sub3.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/pkg2/sub5.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/sub1.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/sub2.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/sub4.py
${PYSITELIB}/cx_Freeze/samples/relimport/pkg1/sub6.py
${PYSITELIB}/cx_Freeze/samples/relimport/relimport.py
${PYSITELIB}/cx_Freeze/samples/relimport/setup.py
${PYSITELIB}/cx_Freeze/samples/service/Config.py
${PYSITELIB}/cx_Freeze/samples/service/ServiceHandler.py
${PYSITELIB}/cx_Freeze/samples/service/setup.py
${PYSITELIB}/cx_Freeze/samples/simple/hello.py
${PYSITELIB}/cx_Freeze/samples/simple/setup.py
${PYSITELIB}/cx_Freeze/samples/wx/setup.py
${PYSITELIB}/cx_Freeze/samples/wx/wxapp.py
${PYSITELIB}/cx_Freeze/util.so
${PYSITELIB}/cx_Freeze/windist.py
${PYSITELIB}/cx_Freeze/windist.pyc
${PYSITELIB}/cx_Freeze/windist.pyo

File Added: pkgsrc/lang/py-cxfreeze/Attic/buildlink3.mk
# $NetBSD: buildlink3.mk,v 1.1.1.1 2010/08/15 10:45:57 drochner Exp $

BUILDLINK_TREE+=	cx_Freeze

.if !defined(CX_FREEZE_BUILDLINK3_MK)
CX_FREEZE_BUILDLINK3_MK:=

.include "../../lang/python/pyversion.mk"

BUILDLINK_API_DEPENDS.cx_Freeze+= ${PYPKGPREFIX}-cxfreeze>=4.1.2nb1
BUILDLINK_PKGSRCDIR.cx_Freeze?=	../../lang/py-cxfreeze
.endif	# CX_FREEZE_BUILDLINK3_MK

BUILDLINK_TREE+=	-cx_Freeze

File Added: pkgsrc/lang/py-cxfreeze/patches/Attic/patch-aa
$NetBSD: patch-aa,v 1.1.1.1 2010/08/15 10:45:57 drochner Exp $

--- setup.py.orig	2010-07-19 19:00:21.000000000 +0000
+++ setup.py
@@ -238,7 +238,7 @@ setup(name = "cx_Freeze",
         maintainer="Anthony Tuininga",
         maintainer_email="anthony.tuininga@gmail.com",
         url = "http://cx-freeze.sourceforge.net",
-        scripts = ["cxfreeze"],
+        scripts = ["cxfreeze" + sys.version[:3]],
         classifiers = classifiers,
         keywords = "freeze",
         license = "Python Software Foundation License")