From owner-freebsd-ports@FreeBSD.ORG Sat Oct 6 05:01:48 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 69799106564A for ; Sat, 6 Oct 2012 05:01:48 +0000 (UTC) (envelope-from bc979@lafn.org) Received: from zoom.lafn.org (zoom.lafn.org [108.92.93.123]) by mx1.freebsd.org (Postfix) with ESMTP id 3DF818FC08 for ; Sat, 6 Oct 2012 05:01:47 +0000 (UTC) Received: from [10.0.1.2] (pool-98-112-217-228.lsanca.fios.verizon.net [98.112.217.228]) (authenticated bits=0) by zoom.lafn.org (8.14.3/8.14.2) with ESMTP id q9651kGr018299 for ; Fri, 5 Oct 2012 22:01:46 -0700 (PDT) (envelope-from bc979@lafn.org) From: Doug Hardie Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Fri, 5 Oct 2012 22:01:45 -0700 Message-Id: <6B7F31C1-0A5C-4B65-AC5B-BCCE21817692@lafn.org> To: FreeBSD-PORTS Mime-Version: 1.0 (Apple Message framework v1283) X-Mailer: Apple Mail (2.1283) X-Virus-Scanned: clamav-milter 0.97 at zoom.lafn.org X-Virus-Status: Clean Subject: New Port Options 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: Sat, 06 Oct 2012 05:01:48 -0000 I just converted a port over to the new options structure and have a few = observations. I have not been involved in any of the discussions about = the structure as I didn't have the time to get involved. However, a = couple things came to mind during the process: 1. The Port handbook is actually quite good in the information it = provides. However, it does presume that you know a few things about the = port structure that are probably common knowledge to anyone involved = with it, but not to those of us who just "use" it. The first update I = made to the Makefile cause a slew of make errors that were pretty much = useless. They meant nothing to me. My first thought was that somehow I = had munged one of the includes and managed to include some random file = rather than the right one. My second idea was that I had typed the option names wrong, but that = didn't seem to fit with the error messages either. After quite a while = of reading the handbook, I noticed that in the PORT_OPTIONS clause you = have to precede the option name with a M. That is not at all obvious = and is easily missed. Why an M is also baffling. I am sure there is a = reason other then it just won't work otherwise. 2. The syntax for a conditional expression for an option that is = selected is completely different from that for an option that is not = selected. That is just weird. The use of {} for one and () for the = other again must have some reason other than it just won't work = otherwise. No clue is given in the handbook. 3. The examples are a bit difficult to distinguish between {} and (). = I had to look quite a few times before I figured that out. 4. The handbook shows for submitting a change to a port the use of a = regular diff. My recollection is that the last time a unified diff was = requested so that things like the file names show. I only maintain one port so the effort to make the changes would have = been quite minor for additional ports. Its really not that big a change = from the maintainer's point of view.=