152 lines
3.9 KiB
Makefile
152 lines
3.9 KiB
Makefile
# Created by: Dryice Dong Liu <dryice@dryice.name>
|
|
# $FreeBSD$
|
|
|
|
PORTNAME= sqlalchemy
|
|
PORTVERSION= 0.8.2
|
|
CATEGORIES= databases python
|
|
MASTER_SITES= CHEESESHOP
|
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
|
DISTNAME= SQLAlchemy-${DISTVERSION}
|
|
|
|
MAINTAINER= nivit@FreeBSD.org
|
|
COMMENT= Python SQL toolkit and Object Relational Mapper
|
|
|
|
LICENSE= MIT
|
|
|
|
LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}-devel
|
|
|
|
TEST_DEPENDS:= ${RUN_DEPENDS} \
|
|
${PYTHON_PKGNAMEPREFIX}nose>0:${PORTSDIR}/devel/py-nose
|
|
|
|
# Python3 ready
|
|
USE_PYTHON= yes
|
|
USE_PYDISTUTILS= easy_install
|
|
PY2TO3_CMD= ${LOCALBASE}/bin/2to3-${PYTHON_VER}
|
|
PY2TO3_ARGS= --no-diffs --nobackups --verbose --write
|
|
PYDISTUTILS_INSTALLARGS= --always-unzip \
|
|
--install-dir ${PYEASYINSTALL_SITELIBDIR} \
|
|
--no-deps \
|
|
--optimize 2 \
|
|
--quiet \
|
|
--script-dir ${PYEASYINSTALL_BINDIR} \
|
|
--site-dir ${PYEASYINSTALL_SITELIBDIR} \
|
|
${WRKSRC}/dist/${PYEASYINSTALL_EGG}
|
|
PYDISTUTILS_PKGNAME= SQLAlchemy
|
|
PYDISTUTILS_PKGVERSION= ${DISTVERSION}
|
|
PYDISTUTILS_NOEGGINFO= yes
|
|
PYEASYINSTALL_ARCHDEP= yes
|
|
|
|
OPTIONS_DEFINE= DOCS EXAMPLES TESTS
|
|
OPTIONS_MULTI= BACKEND
|
|
OPTIONS_MULTI_BACKEND= FIREBIRD MSSQL MYSQL PGSQL SQLITE SYBASE
|
|
OPTIONS_DEFAULT= SQLITE
|
|
|
|
FIREBIRD_DESC= Firebird backend
|
|
MSSQL_DESC= MS SQL Server backend
|
|
SYBASE_DESC= Sybase backend
|
|
TESTS_DESC= Include nose for unit tests
|
|
|
|
# bypass infrastructure bug
|
|
OPTIONSFILE= ${PORT_DBDIR}/py-${PORTNAME}/options
|
|
|
|
NO_STAGE= yes
|
|
.include <bsd.port.options.mk>
|
|
|
|
DOCSDIR= ${PREFIX}/share/doc/${PKGNAMEPREFIX}${PORTNAME}
|
|
EXAMPLESDIR= ${PREFIX}/share/examples/${PKGNAMEPREFIX}${PORTNAME}
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
AL_PORTDOCS= *.html *.js
|
|
AL_PORTDOCS_SUBDIR= core dialects orm
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MFIREBIRD}
|
|
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/kinterbasdb/__init__.py:${PORTSDIR}/databases/kinterbasdb
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MMSSQL}
|
|
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/pymssql.py:${PORTSDIR}/databases/py-mssql
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MMYSQL}
|
|
.if ${PYTHON_VER} < 3.0
|
|
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}MySQLdb>=1.2.2:${PORTSDIR}/databases/py-MySQLdb
|
|
#.else
|
|
# At the moment databases/py-pymysql does not build with Python3
|
|
# See https://github.com/petehunt/PyMySQL#python-3-0-support
|
|
#RUN_DEPENDS+= pymysql>=0.5:${PORTSDIR}/databases/py-pymysql
|
|
.endif
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MPGSQL}
|
|
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}psycopg2>=2.0.8:${PORTSDIR}/databases/py-psycopg2
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSQLITE}
|
|
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MSYBASE}
|
|
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/Sybase.py:${PORTSDIR}/databases/py-sybase
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MTESTS}
|
|
BUILD_DEPENDS:= ${TEST_DEPENDS}
|
|
.endif
|
|
|
|
.if ${PYTHON_REL} < 330
|
|
TEST_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mock>=1.0.1:${PORTSDIR}/devel/py-mock
|
|
.endif
|
|
|
|
.if ${PYTHON_REL} >= 300
|
|
pre-build:
|
|
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/lib
|
|
.endif
|
|
|
|
post-install:
|
|
.if ${PORT_OPTIONS:MDOCS}
|
|
@${MKDIR} ${DOCSDIR}
|
|
.if ${PYTHON_REL} >= 300
|
|
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/doc
|
|
.endif
|
|
.for i in ${AL_PORTDOCS}
|
|
${INSTALL_DATA} ${WRKSRC}/doc/${i} ${DOCSDIR}
|
|
.endfor
|
|
.for i in ${AL_PORTDOCS_SUBDIR}
|
|
@${MKDIR} ${DOCSDIR}/${i}
|
|
cd ${WRKSRC}/doc/${i} && ${COPYTREE_SHARE} . ${DOCSDIR}/${i}
|
|
.endfor
|
|
.endif
|
|
|
|
.if ${PORT_OPTIONS:MEXAMPLES}
|
|
@${MKDIR} ${EXAMPLESDIR}
|
|
.if ${PYTHON_REL} >= 300
|
|
@${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/examples
|
|
.endif
|
|
cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE} . ${EXAMPLESDIR}
|
|
.endif
|
|
|
|
.if ${PYTHON_REL} < 300
|
|
PLIST_SUB+= SPEEDUPS=""
|
|
.else
|
|
# C extensions are not supported in py3k
|
|
PLIST_SUB+= SPEEDUPS="@comment "
|
|
PYEASYINSTALL_OSARCH=
|
|
|
|
easyinstall-setopt:
|
|
${DO_NADA}
|
|
.endif
|
|
|
|
.if ${PYTHON_REL} >= 320
|
|
.include "${PORTSDIR}/devel/py-virtualenv/files/py3k-fix-pkg-plist.inc"
|
|
.endif
|
|
|
|
regression-test: build
|
|
.if ${PYTHON_REL} >= 300
|
|
${PY2TO3_CMD} ${PY2TO3_ARGS} ${WRKSRC}/test
|
|
.endif
|
|
@cd ${WRKSRC} && ${PYTHON_CMD} sqla_nose.py
|
|
|
|
.include <bsd.port.post.mk>
|