From owner-freebsd-ports@FreeBSD.ORG Thu Dec 1 21:14:52 2011 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 B0B7F1065670 for ; Thu, 1 Dec 2011 21:14:52 +0000 (UTC) (envelope-from m.seaman@infracaninophile.co.uk) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) by mx1.freebsd.org (Postfix) with ESMTP id 18F558FC12 for ; Thu, 1 Dec 2011 21:14:51 +0000 (UTC) Received: from seedling.black-earth.co.uk (seedling.black-earth.co.uk [IPv6:2001:8b0:151:1:fa1e:dfff:feda:c0bb]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.5/8.14.5) with ESMTP id pB1LEbEo052046 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Thu, 1 Dec 2011 21:14:48 GMT (envelope-from m.seaman@infracaninophile.co.uk) X-DKIM: OpenDKIM Filter v2.4.1 smtp.infracaninophile.co.uk pB1LEbEo052046 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infracaninophile.co.uk; s=201001-infracaninophile; t=1322774088; bh=gYjghZMRxy3/8erKcNeOZtxv43JB7Am7RBZKtBQePp0=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type; b=oW6bm5NaX0zYYw1bNUif8zqg2kMgZu92f2sh/b1O9Rghpt8ehcqHiOF49ltUGxgx3 Y9eU7BNMB0kdiLtyQrKPtTrKwC9Bfro4Ghll5nDvtanr/wnJrDTIV7Zl6zT5ujp8lw fyCCd2OSxlD3fgo9wE420Zy/wuBMkbwE5Bl541n8= Message-ID: <4ED7EE3D.8050703@infracaninophile.co.uk> Date: Thu, 01 Dec 2011 21:14:37 +0000 From: Matthew Seaman User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:8.0) Gecko/20111105 Thunderbird/8.0 MIME-Version: 1.0 To: Muhammad Moinur Rahman <5u623l20@gmail.com> References: In-Reply-To: X-Enigmail-Version: 1.3.3 OpenPGP: id=60AE908C Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig47DAA2997DAF28746CA01062" X-Virus-Scanned: clamav-milter 0.97.3 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,SPF_FAIL autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on lucid-nonsense.infracaninophile.co.uk Cc: freebsd-ports@freebsd.org Subject: Re: Porting application with RUN_DEPENDS and extra knobs 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: Thu, 01 Dec 2011 21:14:52 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig47DAA2997DAF28746CA01062 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 01/12/2011 19:25, Muhammad Moinur Rahman wrote: > I am trying to port one of our Home Brew application for FreeBSD as we = are > moving towards BSD from Linux. Now while creating the Makefile for crea= ting > a port I am in a trouble. I want to automate the full script. My > application has RUN_DEPENDS for perl. And perl should be built with > PERL_64BITINT, THREADS and USE_PERL knobs for my application to work. I= s > there any way I can force from my Makefile to build and install perl wi= th > the above mentioned knobs. >=20 > I have thought of creating a patch file and changing the knobs > in /var/db/ports//options. But is there any official way to > handle this? The standard way of doing this is to create a slave port where you can tweak the options settings and enforce whatever you require. Compare, for example, editors/emacs and editors/emacs-nox11. Add a 'CONFLICTS' variable to prevent both the original perl port and your slave copy being installed simultaneously. You don't need to submit this new slave port to be included in the standard ports tree in order to use it with locally created ports. You can locally add a port /usr/ports/foo/bar by adding: /usr/ports/foo/Makefile.local with contents: SUBDIR +=3D bar and then refer to it in port dependencies in the usual way. If you have a bunch of local ports, you can add in a whole new category directory in a similar way by adding a /usr/ports/Makefile.local However, if you do this, be careful about how you manage synching updates to your ports tree. This sort of change (adding files) will persist across csup(1) runs, whereas editing files already part of the ports would not[*]. I think it also works with 'portsnap update' but you'll have to test to make sure. If you wanted to submit your home brew app to the ports, then it might be better to use eg. a PKGREQ script or a small snippet of perl in the Makefile to verify that perl was installed WITH_THREADED =3D yes and so forth, rather than adding a slave port. Cheers, Matthew [*] If you need to keep locally edited ports --=20 Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate JID: matthew@infracaninophile.co.uk Kent, CT11 9PW --------------enig47DAA2997DAF28746CA01062 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.16 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk7X7j0ACgkQ8Mjk52CukIyo3wCeO3ckwaQ9hPZzT8QP+aZuLxSn ukEAn0TIIyEaLLC/V0/yl8C8NqVIzX9/ =mfn/ -----END PGP SIGNATURE----- --------------enig47DAA2997DAF28746CA01062--