freebsd-ports/www/seahub/Makefile
Bryan Drewery 5b5a90256d Update USE_GITHUB so it does not require GH_COMMIT.
Using this new scheme allows only setting the _tag_ or _commit hash_ in
GH_TAGNAME and not having to know the hash for a tag.  This scheme will
download a tarball that has a different checksum than before due to a changed
directory name for extraction.

The following MASTER_SITES are provided to retain the old checksum and
directory structure (that require GH_COMMIT):
  GH -> GHL
  GITHUB -> GITHUB_LEGACY

Differential Revision:	https://reviews.freebsd.org/D748
Submitted by:	amdmi3
Reviewed by:	mat, swills, antoine, bdrewery
With hat:	portmgr
2015-03-19 16:44:57 +00:00

144 lines
5 KiB
Makefile

# $FreeBSD$
PORTNAME= seahub
PORTVERSION= 4.0.5
CATEGORIES= www
MASTER_SITES= GHL:seahub \
https://pypi.python.org/packages/source/p/pip/:pip \
https://pypi.python.org/packages/source/p/pbr/:pbr \
https://pypi.python.org/packages/source/l/lockfile/:lockfile \
https://pypi.python.org/packages/source/s/six/:six \
https://pypi.python.org/packages/source/g/gunicorn/:gunicorn \
https://pypi.python.org/packages/source/f/flup/:flup \
https://pypi.python.org/packages/source/d/daemon/:daemon \
https://pypi.python.org/packages/source/c/chardet/:chardet \
https://pypi.python.org/packages/source/p/python-dateutil/:dateutil \
https://pypi.python.org/packages/source/P/Pillow/:Pillow \
https://pypi.python.org/packages/source/D/Django/:Django \
http://downloads.reviewboard.org/releases/Djblets/0.6/:Djblets
DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz:${PORTNAME} \
pip-1.5.6.tar.gz:pip \
pbr-0.10.0.tar.gz:pbr \
lockfile-0.10.2.tar.gz:lockfile \
six-1.8.0.tar.gz:six \
gunicorn-18.0.tar.gz:gunicorn \
flup-1.0.2.tar.gz:flup \
daemon-1.1.tar.gz:daemon \
chardet-2.3.0.tar.gz:chardet \
python-dateutil-2.2.tar.gz:dateutil \
Pillow-2.6.1.zip:Pillow \
Django-1.5.9.tar.gz:Django \
Djblets-0.6.14.tar.gz:Djblets
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= yan_jingfeng@yahoo.com
COMMENT= Web frontend for Seafile
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= ${LOCALBASE}/www/haiwen/seafile-server/seafile/bin/seaf-server:${PORTSDIR}/net-mgmt/seafile \
bash:${PORTSDIR}/shells/bash
USE_GITHUB= yes
GH_ACCOUNT= haiwen
GH_TAGNAME= v${PORTVERSION}-pro
GH_COMMIT= 921c6ce
USES= python:2 shebangfix
SHEBANG_FILES= *.sh *.template
NO_BUILD= yes
OPTIONS_DEFINE= SEAFOBJ SEAFDAV NLS SITEPACKAGES
OPTIONS_DEFAULT= SEAFOBJ SEAFDAV
OPTIONS_SUB= yes
SEAFOBJ_DESC= Enable Seafile file object modeling support
SEAFDAV_DESC= Enable Seafile WsgiDav-based support
SITEPACKAGES_DESC= Install python packages under thirdpart directory
SEAFOBJ_CONFIGURE_WITH= seafobj
SEAFOBJ_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}seafobj>0:${PORTSDIR}/www/py-seafobj
SEAFDAV_CONFIGURE_WITH= seafdav
SEAFDAV_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}seafdav>0:${PORTSDIR}/www/py-seafdav
NLS_USES= gettext iconv
NLS_CONFIGURE_OFF= --disable-nls
VIRTUALENV= ${WRKDIR}/virtualenv
HAIWENDIR= www/haiwen
SEAFILE_SERVER= ${HAIWENDIR}/seafile-server
SEAHUBDIR= ${SEAFILE_SERVER}/seahub
SEALIB= ${SEAFILE_SERVER}/seafile/lib
SITEPACKAGEDIR= ${SEAHUBDIR}/thirdpart
SEAFILE_USERNAME?= www
SEAFILE_GROUPNAME?= ${SEAFILE_USERNAME}
PLIST_SUB= SEAFILE_USERNAME=${SEAFILE_USERNAME} \
SEAFILE_GROUPNAME=${SEAFILE_GROUPNAME} \
SEAFILE_SERVER=${SEAFILE_SERVER} \
SEAHUBDIR=${SEAHUBDIR} \
HAIWENDIR=${HAIWENDIR} \
SITEPACKAGEDIR=${SITEPACKAGEDIR}
PORT_SITE_PKGS= pip-1.5.6 \
pbr-0.10.0 \
pillow-2.6.1 \
lockfile-0.10.2 \
six-1.8.0 \
gunicorn-18.0 \
flup-1.0.2 \
daemon-1.1 \
chardet-2.3.0 \
python-dateutil-2.2 \
Django-1.5.9 \
Djblets-0.6.14
.include <bsd.port.options.mk>
post-install-sitepackages:
@${MKDIR} ${VIRTUALENV}${LOCALBASE}/bin ${VIRTUALENV}${LOCALBASE}/include \
${VIRTUALENV}${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages
(cd ${WRKSRC}; export PYTHONPATH=${VIRTUALENV}${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages; \
(for sp_pkg in ${PORT_SITE_PKGS}; do \
cd ${WRKDIR}/$$sp_pkg && ${ECHO_CMD} -e "[install]\nprefix=${VIRTUALENV}${LOCALBASE}" >> setup.cfg && \
if [ "$$sp_pkg" == "Djblets-0.6.14" ]; then ${REINPLACE_CMD} -e "s|PIL|Pillow|" ./Djblets.egg-info/requires.txt; \
${REINPLACE_CMD} -e "s|PIL|Pillow|" ./setup.py; fi && \
${PYTHON_CMD} setup.py install; \
done))
(cd ${VIRTUALENV}${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages && \
${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SITEPACKAGEDIR})
.if ${PORT_OPTIONS:MSITEPACKAGES}
post-install:post-install-sitepackages
.endif
post-patch:
echo "${WRKSRC}..."
@${MKDIR} ${WRKSRC}/runtime
${CP} ${FILESDIR}/runtime_seahub.conf ${WRKSRC}/runtime/seahub.conf
${REINPLACE_CMD} -e "s|SEAFILE_VERSION = '3.0.0'|SEAFILE_VERSION = '${PORTVERSION}'|" ${WRKSRC}/seahub/settings.py
${REINPLACE_CMD} -e 's|##FIX_HAIWENDIR##|${PREFIX}/${HAIWENDIR}|' ${WRKSRC}/*.template
${REINPLACE_CMD} -e 's|##FIX_SEALIB##|${PREFIX}/${SEALIB}|' ${WRKSRC}/*.template
${REINPLACE_CMD} -e 's|##FIX_SITEPACKAGEDIR##|${PREFIX}/${SITEPACKAGEDIR}|' ${WRKSRC}/*.template
${REINPLACE_CMD} -e 's|##PYTHON_VERSION##|${PYTHON_VERSION}|g' ${WRKSRC}/*.template
${REINPLACE_CMD} -e 's|##FIX_LOCALBASE##|${LOCALBASE}|' ${WRKSRC}/*.template
${FIND} ${WRKSRC} -name "*.bak" -exec ${RM} {} \;
${FIND} ${WRKSRC} -name "*.orig" -exec ${RM} {} \;
(cd ${WRKSRC}; (for file in run-seahub.sh.template \
send_user_notifications.sh.template setenv.sh.template; do \
cp $$file $${file%%.template}; \
done))
${RM} ${WRKSRC}/.gitignore
do-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/runtime/ \
${STAGEDIR}${PREFIX}/${SEAHUBDIR}
${INSTALL} ${WRKSRC}/runtime/seahub.conf \
${STAGEDIR}${PREFIX}/${SEAFILE_SERVER}/runtime/
(cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/${SEAHUBDIR})
.include <bsd.port.mk>