From owner-freebsd-ports@freebsd.org Sun Dec 17 04:23:57 2017 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C0E28EA09D8 for ; Sun, 17 Dec 2017 04:23:57 +0000 (UTC) (envelope-from FreeBSD@shaneware.biz) Received: from ipmail07.adl2.internode.on.net (ipmail07.adl2.internode.on.net [150.101.137.131]) by mx1.freebsd.org (Postfix) with ESMTP id 500CB215E for ; Sun, 17 Dec 2017 04:23:56 +0000 (UTC) (envelope-from FreeBSD@shaneware.biz) Received: from ppp121-45-66-21.bras1.adl6.internode.on.net (HELO leader.local) ([121.45.66.21]) by ipmail07.adl2.internode.on.net with ESMTP; 17 Dec 2017 14:48:47 +1030 Subject: Re: Option vs. flavor? To: Yuri , Franco Fichtner Cc: Ben Woods , freebsd-ports@freebsd.org References: <20171216142849.GL10752@graf.pompo.net> <00619a7a-a812-1eac-bdb7-5cecfb891758@rawbw.com> <11f773c6-7f69-0a4a-d100-018d40a65f48@rawbw.com> <76d50979-5534-261e-83fa-9471a3850a54@rawbw.com> From: Shane Ambler Message-ID: <865c6db8-25e4-3129-4ea1-f9d4763b85a3@ShaneWare.Biz> Date: Sun, 17 Dec 2017 14:48:45 +1030 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <76d50979-5534-261e-83fa-9471a3850a54@rawbw.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-AU Content-Transfer-Encoding: 7bit X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Dec 2017 04:23:57 -0000 On 17/12/2017 08:32, Yuri wrote: > On 12/16/17 13:39, Franco Fichtner wrote: >> Why not use a separate data package as optional dependency? Solves the >> conditional fetch. > > > But with the port option fetch is also conditional. There is no need to > create an extra-package. Flavours aren't for option variations, they are for the same code being linked against multiple versions of other ports, each with different dependencies - eg python 2.7/3.6 or ruby 2.2/ruby2.4 You could either make a separate port for the data files or add it as an option to the main port. Using an option for the data files, you either make it a default option so that the data is installed by anyone that installs the pkg or have it off so that anyone who wants the data files needs to build the port themselves. Having 4.5GB of optional data, I wouldn't suggest having it as an option that is on, this way the package repos don't need to add 4.5GB of data for each arch that pkgs are built for. Add a second port for data files - see games/alephone and alephone-data for an example. To prevent the pkg being added to pkg repos, add NO_PACKAGE= Data files too big, user to download manually Using a second data port means the user can download and install the data without having to compile the program. Add info about this to pkg-message for the user to read, even if it is about building the data port to get the extra data. As for adding it as an option - OPTIONS_DEFINE= EXTRADATA EXTRADATA_DISTFILES= extra_data_files.tgz post-install-EXTRADATA-on: ${COPYTREE_SHARE} ${WRKDIR}/extra_data_files ${STAGEDIR}/${DATADIR} -- FreeBSD - the place to B...Software Developing Shane Ambler