Date: Wed, 02 Jul 2014 08:49:54 +1000 From: Kubilay Kocak <koobs@FreeBSD.org> To: CeDeROM <cederom@tlen.pl>, freebsd-ports <freebsd-ports@freebsd.org>, freebsd-hackers@freebsd.org Subject: Re: port - python dependencies and github master Message-ID: <53B33B12.8030005@FreeBSD.org> In-Reply-To: <CAFYkXjkb2UsKHb3=uFz4yZBHG7GDK7QrnJA2dfm4_jn_S5coZg@mail.gmail.com> References: <CAFYkXjkb2UsKHb3=uFz4yZBHG7GDK7QrnJA2dfm4_jn_S5coZg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 1/07/2014 11:56 PM, CeDeROM wrote: > Hello there :-) > > I am writing a Makefile to a Python based port that gets the source > code from GitHub. Two questions: > > 1. How to change PORTVERSION / GH_COMMIT based on user choice / > option? One value for PORTVERSION seems fine but to change it to > master does not work.. You very probably don't want to do this. PORTVERSION needs to be static, in the sense that it can't be conditional. This is because PORTVERSION plus a few other variables is how the ports framework derives DISTFILES, who's checksums must remain consistent unless changed/updated by the maintainer (see distinfo file) > 2. Is the way to check python modules dependency correct? > > PORTNAME= cura > PORTVERSION= 14.06 > #STABLEREL= 14.06 > CATEGORIES= cad Add the 'python' category as a secondary category to Python ports > MAINTAINER= blah@blah > COMMENT= Cura is a complete and open slicing solution for > RepRap 3D printers. Don't include the package/software name or indefinite articles (A/An) in COMMENT. Also strip the trailing full stop (period). For more detail, see: http://www2.au.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#makefile-comment portlint(8) will also help here. > > OPTIONS_SINGLE= BTYPE > OPTIONS_SINGLE_BTYPE= RELEASE DEVEL > OPTIONS_SUB= yes > RELEASE_DESC= Build latest stable release from github (${PORTVERSION}) > DEVEL_DESC= Build latest development snapshot from github master > OPTIONS_DEFAULT= RELEASE > > .include <bsd.port.options.mk> > > #.if ${PORT_OPTIONS:MRELEASE} > #PORTVERSION= ${STABLEREL} > #.endif > > .if ${PORT_OPTIONS:MDEVEL} > PORTVERSION= master > #STABLEREL= master > .endif > > #PORTVERSION= ${STABLEREL} > > USE_PYTHON= yes You at least want USE_PYDISTUTILS=yes here, and maybe PYDISTUTILS_AUTOPLIST=yes also. See /usr/ports/Mk/bsd.python.mk for more information. > RUN_DEPENDS+= First assignment of {RUN,BUILD}_DEPENDS should be = not += > ${PYTHONPREFIX_SITELIBDIR}/OpenGL:${PORTSDIR}/graphics/py-opengl \ > ${PYTHONPREFIX_SITELIBDIR}/numpy:${PORTSDIR}/math/py-numpy \ > > ${PYTHONPREFIX_SITELIBDIR}/setuptools:${PORTSDIR}/devel/py-setuptools > \ > ${PYTHONPREFIX_SITELIBDIR}/serial:${PORTSDIR}/comms/py-serial > BUILD_DEPENDS+= git:${PORTSDIR}/devel/git If you're not depending on a binary (like the git line above), the simplest way is to depend on the package names. Eg: ${PYTHON_PKGNAMEPREFIX}setuptools>[0|<version>]:${PORTSDIR}/category/<portname> The following section of the Porters Handbook describes dependencies very well: http://www2.au.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#makefile-depend portlint(8) is also your friend here, and will tell you about a few things if you don't get it quite right, first time. > USE_GITHUB= yes > GH_ACCOUNT= daid > GH_COMMIT= ${PORTVERSION} If you need any porting help, we have a few IRC channels available for you: 1) #freebsd-ports - freenode 2) #freebsd-python - freenode 3) #bsdports - Efnet -- koobs
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53B33B12.8030005>