From owner-freebsd-hackers@FreeBSD.ORG Tue Jul 1 23:44:09 2014 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 94B314DC; Tue, 1 Jul 2014 23:44:09 +0000 (UTC) Received: from mail-ob0-x22e.google.com (mail-ob0-x22e.google.com [IPv6:2607:f8b0:4003:c01::22e]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 475B92D19; Tue, 1 Jul 2014 23:44:09 +0000 (UTC) Received: by mail-ob0-f174.google.com with SMTP id va2so11426581obc.33 for ; Tue, 01 Jul 2014 16:44:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=C/q3tBuhmcnHA6oU+VQTx7K9/S9OjBRfpbUx+0zLvIs=; b=dfGwo32pczScGetI0ly3/6hbHx+3NfqndJaQVKZT3GMSS9wp0OGtTUc9d9iZIxyHTI HYWv8jxDDFzy2zh4PVyr6d7iK9tejtz7AfgLAJDU7VHzd4BPceRMk1TTfMGoZjIXTfXZ hG47ByAUyzOd68ntweNwxOkAzAyakynqdZG1U44UOnXwt0WZx7W+ABgfALncYeiBCMN4 XUWf3Vz7pStWeXufVQbPB+eFRilFYUvtzPqRSsZaaaCOG0rz6+imVOCROONXj3NrHfEC FMSXLuEewKNFBfHAR3aQ6qKbuuv9TWmjNEXYzFCACoOvWMi1uNt1SjjTq8Y6a/iVpIWX 12vw== MIME-Version: 1.0 X-Received: by 10.182.144.161 with SMTP id sn1mr6696074obb.82.1404258248625; Tue, 01 Jul 2014 16:44:08 -0700 (PDT) Sender: tomek.cedro@gmail.com Received: by 10.202.5.193 with HTTP; Tue, 1 Jul 2014 16:44:08 -0700 (PDT) In-Reply-To: <53B33B12.8030005@FreeBSD.org> References: <53B33B12.8030005@FreeBSD.org> Date: Wed, 2 Jul 2014 01:44:08 +0200 X-Google-Sender-Auth: OOL0qBvWARS3zaZ0XuNOfC2RYJA Message-ID: Subject: Re: port - python dependencies and github master From: CeDeROM To: koobs@freebsd.org Content-Type: text/plain; charset=UTF-8 Cc: freebsd-hackers@freebsd.org, freebsd-ports X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jul 2014 23:44:09 -0000 Hello Koobs and thank you for your hints!! :-) On Wed, Jul 2, 2014 at 12:49 AM, Kubilay Kocak wrote: >> 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. Ugh, thats the problem. I have notcied that :-( At least for the first time I change the Makefile both RELEASE and DEVEL works, but then it does not work... just as Makefile was somehow cached and remembers PORTVERSION even if I change its value it still use the old value or any numeric value which is found on the Makefile even inside conditional statement.. strange :-) > 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) I would like to make a port to build a package by default, but also I would like to have option to build a devel package. No additional port for that is necessary. That would save frequent port updates, just one smart Makefile that would do the job :-) This seems sensible, but I have noticed checksum problems here when PORTVERSION is changed on the fly.. Other question if additional cura-devel port is mandatory - how can I fetch HEAD and then get the commit number to add to the package name to distinguish different builds? If PORTVERSION must be static, then should I add some package suffix that can be based on a dynamic value/variable? >> 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 ACK! :-) >> 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). ACK! :-) >> 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 >> >> #.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. ACK! :-) >> 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|]:${PORTSDIR}/category/ I know the Porter's Handbook, but there is no information on how to verify the dependencies on python modules. Using ${PYTHON_PKGNAMEPREFIX} would search for binaries, which is not the case. This is why I have "invented" ${PYTHONPREFIX_SITELIBDIR}/OpenGL which works well and checks if a given python module is available :-) > 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 Thank you I will connect that way! :-) Best regards :-) Tomek -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info