aboutsummaryrefslogtreecommitdiffstats
path: root/databases/py-sqlalchemy/Makefile
blob: 90885ab374f09f21f4cc7d07f88495163220126d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# Created by: Dryice Dong Liu <dryice@dryice.name>
# $FreeBSD$

PORTNAME=   sqlalchemy
PORTVERSION=    0.7.10
CATEGORIES= databases python
MASTER_SITES=   CHEESESHOP
PKGNAMEPREFIX=  ${PYTHON_PKGNAMEPREFIX}
DISTNAME=   SQLAlchemy-${DISTVERSION}

MAINTAINER= nivit@FreeBSD.org
COMMENT=    A Python SQL toolkit and Object Relational Mapper

LICENSE=    MIT

TEST_DEPENDS:=  ${RUN_DEPENDS} \
        ${PYTHON_PKGNAMEPREFIX}nose>0:${PORTSDIR}/devel/py-nose

# Python3 ready
USE_PYTHON=     yes
USE_PYDISTUTILS=    easy_install
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=    MYSQL PGSQL SQLITE

FIREBIRD_DESC=  Firebird backend
MSSQL_DESC= MS SQL Server backend
TESTS_DESC= Include nose for unit tests
SYBASE_DESC=    Sybase backend

# bypass infrastructure bug
OPTIONSFILE=    ${PORT_DBDIR}/py-${PORTNAME}/options

.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:MTESTS}
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}nose>0:${PORTSDIR}/devel/py-nose
.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

post-install:
.if ${PORT_OPTIONS:MDOCS}
    ${MKDIR} ${DOCSDIR}
.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}
    @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/p3k-fix-pkg-plist.inc"
.endif

regression-test: build
    @cd ${WRKSRC} && ${PYTHON_CMD} sqla_nose.py

.include <bsd.port.post.mk>