From owner-freebsd-ports@FreeBSD.ORG Fri Jul 11 09:40:31 2008 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3680106566C for ; Fri, 11 Jul 2008 09:40:31 +0000 (UTC) (envelope-from freebsd@troback.com) Received: from mail.gelita.se (212-162-182-244.skbbip.com [212.162.182.244]) by mx1.freebsd.org (Postfix) with ESMTP id 818688FC19 for ; Fri, 11 Jul 2008 09:40:31 +0000 (UTC) (envelope-from freebsd@troback.com) Received: from itpc02.gelita.swe (212-162-182-242.skbbip.com [212.162.182.242]) by mail.gelita.se (Postfix) with ESMTP id EBA4C10FC35; Fri, 11 Jul 2008 11:40:16 +0200 (CEST) Date: Fri, 11 Jul 2008 11:41:53 +0200 From: Anders Troback To: Peter Pentchev Message-ID: <20080711114153.72013e20@itpc02.gelita.swe> In-Reply-To: <20080711085826.GA1093@straylight.m.ringlet.net> References: <20080710110457.4b160eb1@itpc02.gelita.swe> <200807100154.17094.beech@freebsd.org> <20080710145415.59244492@itpc02.gelita.swe> <20080710193955.1acc2184@baal.troback.com> <7d6fde3d0807101334v1362886di7fe1057093ca29bf@mail.gmail.com> <20080710225313.48fe6423@baal.troback.com> <20080711085826.GA1093@straylight.m.ringlet.net> X-Mailer: Claws Mail 3.5.0 (GTK+ 2.12.11; i386-portbld-freebsd7.0) Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable MailScanner-NULL-Check: 1216374017.60943@+leOex8FWD7bMdO1IGkU2w X-Troback-MailScanner-Information: Please contact postmaster@troback.com for more information X-MailScanner-ID: EBA4C10FC35.4CE9C X-Troback-MailScanner: Found to be clean X-Troback-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-4.399, required 3.2, autolearn=not spam, ALL_TRUSTED -1.80, BAYES_00 -2.60) X-Troback-MailScanner-From: freebsd@troback.com X-Spam-Status: No Cc: Garrett Cooper , freebsd-ports@freebsd.org Subject: Re: Tgz in tgz...! X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Jul 2008 09:40:32 -0000 On Fri, 11 Jul 2008 11:58:26 +0300 Peter Pentchev wrote: > On Thu, Jul 10, 2008 at 10:53:13PM +0200, Anders Trob??ck wrote: > > On Thu, 10 Jul 2008 13:34:39 -0700 > > "Garrett Cooper" wrote: > >=20 > > > On Thu, Jul 10, 2008 at 10:39 AM, Anders Trob??ck > > > wrote: > > > > On Thu, 10 Jul 2008 14:54:15 +0200 > > > > Anders Troback wrote: > > > > > > > >> On Thu, 10 Jul 2008 01:54:10 -0800 > > > >> Beech Rintoul wrote: > > > >> > > > >> > On Thursday 10 July 2008, Anders Troback said: > > > >> > > Hi, > > > >> > > > > > >> > > I need some tips about a port that I'm working on! > > > >> > > > > > >> > > The problem that I have are that the source of the code > > > >> > > are in a tgz that are in a sub folder in an other tgz! So > > > >> > > first I need the port to download and extract the first > > > >> > > tgz and then extract, configure and make the second tgz! > > > >> > > > > > >> > > How do I cope with that? > > > >> > > > > > >> > > Thanks! > > > >> > > > > >> > You can probably extract the second time in post-extract, but > > > >> > you're going to have to get creative defining the right > > > >> > ${WRKSRC}. After that it should patch and build normally. > > > >> > > > > >> > Beech > > > >> > > > > >> > > > >> OK! Next problem:-] > > > >> > > > >> The program that I want to build are under a sub folder of > > > >> ${WRKSRC}/src so first I need to make the "main" program and > > > >> then I have to run make in that sub folder! Are there any > > > >> macros that do things like this or is there some other way? > > > >> > > > >> Thanks again! > > > >> > > > > > > > > Is this a "legal" way of solving this issue? > > > > > > > > post-build: > > > > cd ${WRKSRC}/src/extras && make > > >=20 > > > Wouldn't `gmake -C ${WRKSRC}/src/extras' be better? > > > -Garrett > >=20 > > Yes, much nice and cleaner! I don't need gmake but make was the > > same! >=20 > Actually, this might miss a lot of settings in the environment and > stuff. It would be much better to do it the way bsd.port.mk does it: >=20 > ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} > ${MAKE_ARGS} ${ALL_TARGET} >=20 > Yes, this is a command line consisting entirely of variables :) > Well, okay, to do it in a different directory you would need to use: >=20 > ${SETENV} ${MAKE_ENV} ${GMAKE} -C ${WRKSRC}/src/extras > ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET} >=20 > The ${SETENV} ${MAKE_ENV} part is really important. The rest - well, > ${MAKE_FLAGS} and ${MAKE_ARGS} are most probably not needed in this > particular case, but they still are a good idea in the general case - > although in very few cases, on very weird "make" invocations, there > might be problems because of flag differences between BSD make and > GNU make. The ${MAKEFILE} is very, very rarely *not* "Makefile" - and > if you decide to remove ${MAKE_FLAGS}, be sure to check if you still > want to pass ${MAKEFILE}, too :) >=20 > Well, okay, so basically, this could *most probably* be shortened to: >=20 > ${SETENV} ${MAKE_ENV} ${GMAKE} -C ${WRKSRC}/src/extras >=20 > ...maybe :) >=20 > G'luck, > Peter >=20 OK, thanks! --=20 Anders Trob=E4ck http://www.troback.com/ =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?" --------------------------------------------