[MacPorts] #31185: ffmpeg: Replace negatively named variants with positively named and changing default variants

MacPorts noreply at macports.org
Thu Sep 8 21:30:48 PDT 2011


#31185: ffmpeg: Replace negatively named variants with positively named and
changing default variants
------------------------------+---------------------------------------------
 Reporter:  cal@…             |       Owner:  devans@…           
     Type:  defect            |      Status:  assigned           
 Priority:  Low               |   Milestone:                     
Component:  ports             |     Version:  2.0.99             
 Keywords:  haspatch          |        Port:  ffmpeg             
------------------------------+---------------------------------------------
Changes (by devans@…):

  * status:  new => assigned


Comment:

 Thanks for your input.  Looks like you and I have been thinking about the
 same things this evening.
 The -no_nonfree in particular has been bothering me since it became a
 "default variant".

 First, a little philosophy.

 To my mind, variants represent an optional change from the default
 behavior for a port.
 Hence, the idea of a "default variant" seems like a bit of an oxymoron.

 With respect to ffmpeg, the developers philosophy is that it should do any
 and everything.
 So the appropriate default is "include everything".

 They then allow you to disable things you don't want.  First to go is the
 nonfree stuff, then
 the GPL if you feel you must have LGPL, etc.

 So that's the way the port was originally set up.  Everything enabled that
 MacPorts supports as
 the default.  Then the variants for the optional selections of no nonfree
 code (libfaac) leaving
 GPL and LGPL and finally no GPL leaving just LGPL.

 I think this makes sense.  Start with the whole then make subtractions.

 Where things got crazy recently was the introduction of a build server to
 allow distribution of
 pre-compiled binaries.  Its OK to compile nonfree code for your own use
 but it shouldn't be
 redistributed in binary form.

 So the quick fix was to make no_nonfree a "default variant".  So if you
 really want to compile
 the whole thing including the nonfree code then you have to say "no
 no_nonfree" as you say.

 I propose to do the following:

   * Make the default configuration just the GPL and LGPL code without any
 nonfree code so the build server can make a distributable binary by
 default.  No variants, default or otherwise required.

   * Add a new variant +nonfree to add back in the nonfree code for those
 who need it (most?)

   * Leave the no_gpl as is. Most people will want it and those that don't
 can use the variant.

 Not optimum but fits within our required constraints.  The upstream guys
 are trying to get everything
 LGPL so if that happens then this will all be moot.

 As to faad2, it was used by ffmpeg many revisions ago but is no longer
 necessary.  References to
 it were removed along with other cleanup in r83668.  Changes in ffmpeg
 merged into ffmpeg-devel in
 r83670.  ffmpeg updated to 0.7.4 in r83674,

 Will work on the variant situation as outlined (in both ffmpeg and ffmpeg-
 devel) next.

 Hope this addresses your concerns.

-- 
Ticket URL: <https://trac.macports.org/ticket/31185#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list