Bug 148237 - Rewrite and update of multimedia/vlc to 1.1.0
Summary: Rewrite and update of multimedia/vlc to 1.1.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Wesley Shields
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-29 18:40 UTC by Joseph S. Atkinson
Modified: 2010-07-11 03:10 UTC (History)
0 users

See Also:


Attachments
file.diff (58.90 KB, patch)
2010-06-29 18:40 UTC, Joseph S. Atkinson
no flags Details | Diff
vlc_1.1.0v2.diff (58.84 KB, patch)
2010-07-04 15:17 UTC, Joseph S. Atkinson
no flags Details | Diff
vlc_1.1.0v3.diff (58.91 KB, patch)
2010-07-08 17:26 UTC, Joseph S. Atkinson
no flags Details | Diff
vlc_1.1.0v4.diff (59.07 KB, patch)
2010-07-09 21:41 UTC, Joseph S. Atkinson
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Joseph S. Atkinson 2010-06-29 18:40:05 UTC
This is a significant re-write of the vlc port. It has less legacy glue, more options, and is organized to hopefully be readable by anyone else that comes along after me. There are also many changes for consistency with the way things are supposed to be done in the ports tree.

VLC has seen significant changes as well, ending support for many features and adding plenty of new ones, as well as performance improvements. See the changelog at http://wwww.videolan.org/ for full details.\

Specifically, VLC has implemented X11 output via XCB. The old X11 feature was no longer a viable option. Instead, I have implemented a WANT_SERVER_ONLY envar which will hopefully preserve the intended behavior people expected from the WITHOUT_X11 option.

In addition, VLC has an increasing dependency on Lua scripting for certain functionality, and thus Lua is now enabled by default.

I fully expect certain combinations of options to not work as expected, or even as they previously did. However, I cannot anticipate every use of this port.

Fix: IMPORTANT:

These files were moved rather than deleted, so repocopy to preserve histories:

files/extra-patch-modules_access_v4l2.c -> files/extra-patch-modules__access__v4l2.c
files/patch-v4l -> files/patch-modules__access__v4l.c

These files were removed:

Makefile.in
files/extra-patch-src_misc_thread.c
files/patch-configure-dvbpsi
files/patch-modules_access_pvr.c
files/patch-modules_codec_png.c

And these files were created:

files/patch-modules__access__file.c
files/patch-modules__gui__qt4__util__customwidgets.cpp

If the patch fails to apply cleanly for whatever reason, or if there is any question about the ports intended structure, a shar archive of the port can be found at:

http://wickedmachine.net/~jsa/FreeBSD/testports/vlc_1.1.0.shar

MD5 (vlc_1.1.0.shar) = b914df2472a1838a247dde7f3fa7e40f
SHA256 (vlc_1.1.0.shar) = 69552708de58036373dcd1adffa5e3b6e5250d1d9a21bc81d6cfc99a1ab44e50

And good luck with the tinderboxes!

Patch attached with submission follows:
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2010-06-29 18:40:18 UTC
Responsible Changed
From-To: freebsd-ports-bugs->wxs

wxs@ wants his PRs (via the GNATS Auto Assign Tool)
Comment 2 Doug Barton freebsd_committer freebsd_triage 2010-07-04 05:59:47 UTC
I was interested in this update so I gave the patch in this PR a try. 
Overall it was fine, but I did notice a few problems. Since I found the 
patch from the PR hard to apply I created a patch from CVS and put it up 
here: http://people.freebsd.org/~dougb/vlc-110.diff

The only changes in my patch are as follows:
1. I added a WANT_GNOME based on the following error message that I got 
right away when doing 'make config':
"/usr/ports/Mk/bsd.gnome.mk", line 636: The Pre include part of 
bsd.gnome.mk part is not included. Did you forget WANT_GNOME=yes before 
bsd.port.pre.mk?

2. The generated plist was incomplete, so I updated this line:
.for dir in icons kde4 vlc

3. There was a spurious double-space

There is also a problem with livemedia support. With that option 
selected the compile failed. This PR might be relevant:
http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/140170

This is pretty important to me as I use rtsp fairly often. In case it 
helps my options are below. Anything else I can do to help, let me know.


Doug


WITHOUT_AALIB=true
WITHOUT_AVAHI=true
WITHOUT_CACA=true
WITHOUT_DBUS=true
WITHOUT_DIRAC=true
WITHOUT_FLUID=true
WITHOUT_FRIBIDI=true
WITHOUT_GGI=true
WITHOUT_GNOMEVFS=true
WITHOUT_GNUTLS=true
WITHOUT_HTTPD=true
WITHOUT_JACK=true
WITHOUT_LIVEMEDIA=true
WITHOUT_LUA=true
WITHOUT_MODPLUG=true
WITHOUT_MUSEPACK=true
WITHOUT_NCURSES=true
WITHOUT_NLS=true
WITHOUT_REALAUDIO=true
WITHOUT_SAMBA=true
WITHOUT_SCHROED=true
WITHOUT_SHOUT=true
WITHOUT_STREAM=true
WITHOUT_TREMOR=true
WITHOUT_TWOLAME=true
WITHOUT_UPNP=true
WITHOUT_XOSD=true
WITHOUT_ZVBI=true
WITH_A52=true
WITH_DTS=true
WITH_DVBPSI=true
WITH_DVDNAV=true
WITH_DVDREAD=true
WITH_FAAD=true
WITH_FLAC=true
WITH_GLX=true
WITH_MAD=true
WITH_MATROSKA=true
WITH_MPEG2=true
WITH_NOTIFY=true
WITH_OCFLAGS=true
WITH_OGG=true
WITH_OPENGL=true
WITH_PNG=true
WITH_PULSE=true
WITH_QT4=true
WITH_SDL=true
WITH_SKINS=true
WITH_SPEEX=true
WITH_SQLITE=true
WITH_SVG=true
WITH_SVGALIB=true
WITH_TAGLIB=true
WITH_THEORA=true
WITH_V4L=true
WITH_VCD=true
WITH_VORBIS=true
WITH_X264=true
WITH_XCB=true
WITH_XVIDEO=true
Comment 3 Joseph S. Atkinson 2010-07-04 15:17:45 UTC
On 07/04/2010 00:59, Doug Barton wrote:
> 1. I added a WANT_GNOME based on the following error message that I got
> right away when doing 'make config':
> "/usr/ports/Mk/bsd.gnome.mk", line 636: The Pre include part of
> bsd.gnome.mk part is not included. Did you forget WANT_GNOME=yes before
> bsd.port.pre.mk?
>

I am pretty sure this is caused by/needed for GNOMEVFS so I redid that part to 
be above pre just like QT4 is. It shouldn't be tied to WANT_SERVER_ONLY since it 
should not be specific to any of those options. The v2 diff (attached) is based 
further on dougb's revision (but is probably just as hard to apply as the 
original, advice welcomed here).

> There is also a problem with livemedia support. With that option
> selected the compile failed. This PR might be relevant:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/140170
>
> This is pretty important to me as I use rtsp fairly often. In case it
> helps my options are below. Anything else I can do to help, let me know.
>

I will look into this, but I cannot right now, today being a US holiday and all.
Comment 4 Doug Barton freebsd_committer freebsd_triage 2010-07-04 21:02:14 UTC
On Sun, 4 Jul 2010, Joseph S. Atkinson wrote:

> On 07/04/2010 00:59, Doug Barton wrote:
>> 1. I added a WANT_GNOME based on the following error message that I got
>> right away when doing 'make config':
>> "/usr/ports/Mk/bsd.gnome.mk", line 636: The Pre include part of
>> bsd.gnome.mk part is not included. Did you forget WANT_GNOME=yes before
>> bsd.port.pre.mk?
>> 
>
> I am pretty sure this is caused by/needed for GNOMEVFS so I redid that part 
> to be above pre just like QT4 is. It shouldn't be tied to WANT_SERVER_ONLY 
> since it should not be specific to any of those options.

No problem, I was just taking a guess at it, and stuck it someplace that 
looked reasonable. :)

In the location where you have it, is WITH_GNOMEVFS set before 
bsd.port.pre.mk is included?

>  The v2 diff 
> (attached) is based further on dougb's revision (but is probably just as hard 
> to apply as the original, advice welcomed here).

Do the diff in the new vlc directory like this:
diff -urN /usr/ports/multimedia/vlc .

>> There is also a problem with livemedia support. With that option
>> selected the compile failed. This PR might be relevant:
>> http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/140170
>> 
>> This is pretty important to me as I use rtsp fairly often. In case it
>> helps my options are below. Anything else I can do to help, let me know.
>> 
>
> I will look into this, but I cannot right now, today being a US holiday and 
> all.

No worries. :)  And I'm sorry, I don't have a handy URL for you because 
I generally use it for remote participation in conferences like IETF, 
ICANN, NANOG, etc.

BTW, have you considered splitting the existing port into client and 
server ports? That may make it easier to maintain. It would certainly 
make it easier for the users since it would reduce the number of options 
for them to wade through. Just a thought ...


Doug

-- 

 	Improve the effectiveness of your Internet presence with
 	a domain name makeover!    http://SupersetSolutions.com/

 	Computers are useless. They can only give you answers.
 			-- Pablo Picasso
Comment 5 Joseph S. Atkinson 2010-07-05 08:19:05 UTC
On 07/04/2010 16:02, Doug Barton wrote:
>> I am pretty sure this is caused by/needed for GNOMEVFS so I redid that
>> part to be above pre just like QT4 is. It shouldn't be tied to
>> WANT_SERVER_ONLY since it should not be specific to any of those options.
>
> No problem, I was just taking a guess at it, and stuck it someplace that
> looked reasonable. :)
>
> In the location where you have it, is WITH_GNOMEVFS set before
> bsd.port.pre.mk is included?
>

Yes. So, both WANT and USE are now above bppm, which I hope doesn't have some 
unseen repercussion. As with QT4, there is now a note directing to see above 
bppm where it would have been below. I am trying like hell to make this readable 
and usable for the future.

If it does, I will have to do a .if !defined(WITH_FOO) and I have been trying to 
avoid this in favor of sane (and proper) fallthrough because of people who do 
`make install WITH_FOO=yes WITHOUT_FOO=yes` which trips up ill written port 
logic. (See current commited vlc version for MANY examples.) However, this 
should be safe here because On by default is implicit WITH, and thus WITHOUT is 
only defined (and is the only option respected) if someone explicitly defined 
WITHOUT.

> BTW, have you considered splitting the existing port into client and
> server ports? That may make it easier to maintain. It would certainly
> make it easier for the users since it would reduce the number of options
> for them to wade through. Just a thought ...
>

It's something I am considering. The chief problem being that most options are 
for formats, which would apply to both. Otherwise, there are relatively few 
settings that would be odd for the normal server config. Only LUA, GNOMEVFS, and 
DBUS come to mind without looking. LUA can be valuable on a server setup 
hypothetically, and GNOMEVFS is Off by default now to eliminate crusty and 
superfluous GTK+ depends.

LUA was enabled by default as requested by upstream do to their increasing use 
of it internally. Without it, VLC emits scary red error messages which can be 
partualy seen in this screenshot from the first successful build/run of 1.1.0 on 
FreeBSD: http://wickedmachine.net/~jsa/FreeBSD/vlc_1.1.0.png

I very much considered adding WITHOUT_LUA to the WANT_SERVER_ONLY section, but 
figured someone who knows more about doing this than I could quite possibly 
desire a server WITH_LUA, wich would then be an impossible and silently ignored 
combination.
Comment 6 Joseph S. Atkinson 2010-07-08 17:26:40 UTC
This is revision 3 of the vlc 1.1.0. Changes are mostly trivial but important.

I had added mmx and see to the OCFLAGS section, which I have no removed because 
these are specific to x86 and it wasn't properly wrapped. Configure already has 
a mechanism to handle this, so no reason to force the flags. I am giving 
consideration to making these proper options though.

Second, via private email, a discovery of a misbehaving plugin that has no 
option to decouple from the build. This is now removed from the install unless 
USE_UNSAFE_PLUGINS is defined. This is not an option per, it is intended for 
anyone who may be brave enough to attempt to help me fix this system crashing 
plugin. But for now, it's just disabled.
Comment 7 Doug Barton freebsd_committer freebsd_triage 2010-07-09 02:02:10 UTC
On 7/8/2010 9:26 AM, Joseph S. Atkinson wrote:
> This is revision 3 of the vlc 1.1.0. Changes are mostly trivial but
> important.

Seems mostly fine, I recompiled livemedia and that solved my problem.
The WANT_GNOME issue remains, you're going to have to define that
outside of a conditional, and before pre.mk.

BTW, I forgot to mention that I disagree with making LUA the default,
but I won't object more strongly than simply stating my disagreement. :)


hth,

Doug
Comment 8 Joseph S. Atkinson 2010-07-09 21:41:04 UTC
Hopefully the final version.

Renamed the port's unqiue WANT_ and USE_ variable to be WITH_ as per bsd.port.mk 
conventions for user tunables versus port imperatives (i.e. WITH_SERVER_ONLY).

WANT_GNOME is no longer conditionally included. All it appears to do is include 
bsd.gnome.mk. The USE_GNOME (used by GNOMEVFS) requires it to function, but 
conditional inclusion is incorrect and causes errors. Superfluous, but harmless 
include otherwise.

After consulting upstream and a little testing, LUA is now off in 
WITH_SERVER_ONLY because it is of no particular use without the Qt UI. This 
hopefully makes the two target audiences happy. (Unless you intend to relay 
streams from youtube or vimeo in your playlists...)
Comment 9 dfilter service freebsd_committer freebsd_triage 2010-07-11 03:07:10 UTC
wxs         2010-07-11 02:06:56 UTC

  FreeBSD ports repository

  Modified files:
    multimedia/vlc       Makefile distinfo 
  Added files:
    multimedia/vlc/files extra-patch-modules__access__v4l2.c 
                         extra-patch-modules__misc__inhibit__xdg.c 
                         extra-patch-modules__misc__inhibit__xscreensaver.c 
                         patch-modules__Makefile.am 
                         patch-modules__Makefile.in 
                         patch-modules__access__file.c 
                         patch-modules__access__v4l.c 
                         patch-modules__gui__qt4__util__customwidgets.cpp 
  Removed files:
    multimedia/vlc       Makefile.inc 
    multimedia/vlc/files extra-patch-modules_access_v4l2.c 
                         extra-patch-src_misc_thread.c 
                         patch-configure-dvbpsi 
                         patch-modules_access_pvr.c 
                         patch-modules_codec_png.c patch-v4l 
  Log:
  Update to 1.1.0.
  Add LICENSE information.
  Most of the Makefile has been re-worked.
  
  PR:             ports/148237
  Submitted by:   Joseph S. Atkinson <jsa@wickedmachine.net>
  
  Revision  Changes    Path
  1.225     +438 -335  ports/multimedia/vlc/Makefile
  1.30      +0 -309    ports/multimedia/vlc/Makefile.inc (dead)
  1.37      +3 -3      ports/multimedia/vlc/distinfo
  1.1       +71 -0     ports/multimedia/vlc/files/extra-patch-modules__access__v4l2.c (new)
  1.1       +31 -0     ports/multimedia/vlc/files/extra-patch-modules__misc__inhibit__xdg.c (new)
  1.1       +25 -0     ports/multimedia/vlc/files/extra-patch-modules__misc__inhibit__xscreensaver.c (new)
  1.2       +0 -71     ports/multimedia/vlc/files/extra-patch-modules_access_v4l2.c (dead)
  1.2       +0 -11     ports/multimedia/vlc/files/extra-patch-src_misc_thread.c (dead)
  1.2       +0 -20     ports/multimedia/vlc/files/patch-configure-dvbpsi (dead)
  1.1       +30 -0     ports/multimedia/vlc/files/patch-modules__Makefile.am (new)
  1.1       +33 -0     ports/multimedia/vlc/files/patch-modules__Makefile.in (new)
  1.3       +11 -0     ports/multimedia/vlc/files/patch-modules__access__file.c (new)
  1.1       +75 -0     ports/multimedia/vlc/files/patch-modules__access__v4l.c (new)
  1.1       +11 -0     ports/multimedia/vlc/files/patch-modules__gui__qt4__util__customwidgets.cpp (new)
  1.2       +0 -12     ports/multimedia/vlc/files/patch-modules_access_pvr.c (dead)
  1.2       +0 -20     ports/multimedia/vlc/files/patch-modules_codec_png.c (dead)
  1.5       +0 -75     ports/multimedia/vlc/files/patch-v4l (dead)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 10 Wesley Shields freebsd_committer freebsd_triage 2010-07-11 03:07:17 UTC
State Changed
From-To: open->closed

Committed, with minor changes. Thanks!