Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jun 2012 00:14:12 -0500
From:      Scot Hetzel <swhetzel@gmail.com>
To:        "xenophon\\+freebsd" <xenophon+freebsd@irtnog.org>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Need advice on a problems with the Django CMS port
Message-ID:  <CACdU%2Bf_fYzeC9m8HkZhgTaMyzbMGJFjdw-fncZuSviT1KmnMCw@mail.gmail.com>
In-Reply-To: <BABF8C57A778F04791343E5601659908236C2F@cinip100ntsbs.irtnog.net>
References:  <BABF8C57A778F04791343E5601659908236C2F@cinip100ntsbs.irtnog.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 20, 2012 at 11:38 PM, xenophon\+freebsd
<xenophon+freebsd@irtnog.org> wrote:
> Hi all,
>
> I maintain the Django CMS port (www/py-django-cms). =A0I could use some
> advice on the following problem both from other maintainers and from
> other users of the ports tree:
>
> Django CMS requires a database backend, which it accesses through the
> Django web app framework. =A0The Django port (www/py-django) doesn't
> include database support by default. =A0If someone naively runs "cd
> /usr/ports/www/py-django-cms; make install", Django CMS won't work
> properly because of the missing database drivers. =A0The Django port does
> have knobs for PostgreSQL, MySQL, and SQLite, but those knobs don't
> affect what bits of Django get installed. =A0All the knobs do is add
> databases/{py-psycopg2,py-MySQLdb,py-sqlite3} to the Django package's
> RUN_DEPENDS. =A0As I see it, I have the following options:
>
:
> (c) I could add knobs to the Django CMS port similar to those found in
> the Django port (i.e., add to RUN_DEPENDS if knob is set) -
> functionally, it doesn't matter which port pulls in the required
> database drivers. =A0This is probably the most user friendly, in that a
> single run of "make install" will result in a working version of Django
> CMS.
>
> I think option (c) is the best, but I'd love to hear what the community
> thinks.
>
Option C would be the best, as the port depends on a database (MySQL,
PostgreSQL or SQLite).

I believe the following would work with the new options framework:

OPTIONS_MULTI=3D		DATABASE
OPTIONS_MULTI_DATABASE=3D	MYSQL PGSQL SQLITE

OPTIONS_DEFAULT=3D		SQLITE

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MMYSQL}
RUN_DEPENDS+=3D	${PYTHON_PKGNAMEPREFIX}MySQLdb>=3D1.2.2:${PORTSDIR}/databas=
es/py-MySQLdb
.endif

.if ${PORT_OPTIONS:MPGSQL}
RUN_DEPENDS+=3D	${PYTHON_SITELIBDIR}/psycopg2/_psycopg.so:${PORTSDIR}/datab=
ases/py-psycopg2
.endif
.if ${PORT_OPTIONS:MSQLITE}
RUN_DEPENDS+=3D	${PYTHON_SITELIBDIR}/_sqlite3.so:${PORTSDIR}/databases/py-s=
qlite3
.endif
:
:
.include <bsd.port.mk>

Scot



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf_fYzeC9m8HkZhgTaMyzbMGJFjdw-fncZuSviT1KmnMCw>