My thoughts on Slackware, life and everything

Tag: vlc (Page 5 of 9)

End of may ramblings

It has been a while since my latest blog post, so I thought it would be good to talk a bit about the goings-on.

First about the Slackware web server. I know, people, that we have been without http://www.slackware.com/ for a few weeks now, but rest assured that the site will eventually be back. Either we put the old web site code on a temporary server or we wait a little longer and publish a new site based on a new CMS. It all pretty much depends on how much time we can volunteer for this – it is mostly handled by a few people in the coreteam. Pat should focus on Slackware and make sure we get a new stable release at some point – there is a lot to do still on that front.

And then about my own packaging activities.

There was a new release of LibreOffice yesterday, and I am currently building packages for that. If there are no issues with the build then you can expect those packages tomorrow.

KDE release team is in the process of releasing the first beta of KDE SC 4.9, and I intend to make packages for that. There was a heated discussion about this beta when the new release manager announced he was going to call off the beta1 release… but all issues have been resolved yesterday and new tarballs are going to be made available ahead of time to the packagers. There are quite a few changes compared to KDE 4.8.x so it will cost me a while to work out the updates to the KDE.SlackBuild framework.

I also hope that VLC releases their version 2.0.2 soon. It has been lingering just around the corner for a while, but a recent fall-out between several of the core developers threatened the whole project’s existence when their most important Linux developer quit the team out of frustration. That animosity has now subsided, the team is whole again, and development is progressing toward a new release.

I also want to thank the kind people who donated a few bucks after all the upheavals about the Slackware webserver’s outage. Although I work on Slackware in my spare time, because I like it, it’s my main hobby so to speak, getting some funds enabled me to buy a new and faster build box last year, and now I ordered a Raspberry-Pi (finally…) and I am also looking for a good tablet which allows the installation of a different OS than only Android… so that I can put my unfinished port of Slackware to modern ARM architectures on it and finally release that. A release does not make sense if it runs on only one device (the Trim Slice). Perhaps I will buy some more ARM hardware too. Even Pat was becoming excited about this ARM port.

Eric

VLC 2.0.1

The newest release of the VLC media player is ready. From the version 2.0.1’s announcement it becomes clear that “This release brings a lot of bugfixes (over 110) and more stability of the young Twoflower. This is also a security update for SA1201 and SA1202“.

Since there are no source tarballs available for download yet, I created those from the “2.0.1” tag in the VLC repository and built my packages using those sources. When the official tarball becomes available, I will add that to my repository instead of the git checkout (the official source tarball will be smaller because it does not have all the git commit history).

All the internal libraries which I use for creating this VLC media playet package (ffmpeg, x264, libvpx, lame, etc…) were kept unchanged. The new VLC code (and the two securiry fixes) is what matters. There is one thing I did fix however. Thanks to an attentive Slackware user I fixed the missing support for the Open Sound System (OSS) Apparently my VLC 2.0.0 package (as opposed to the previous 1.1,x versions) was unable to use OSS for its sound output. It turns out that I had to enable support for OSS explicitly in the code. I verified that OSS is again available in the sound preferences of the player.

This is where you’ll find the packages:

My usual warning about patents: versions that can not only DEcode but also ENcode mp3 and aac audio can be found in my alternative repository where I keep the packages containing code that might violate stupid US software patents.

Have fun! Eric

Speeding up my vlc.SlackBuild script

In a comment to my previous post about the VLC media player where I announced packages for VLC 2.0.0, Nille asked if I could explain a bit more about the SlackBuild script I use to create these packages.

In my scripts, I sometimes hide interesting side-tracks or shortcuts which you would not notice if you just run the script and wait patiently until the packages have been created.

The VLC SlackBuild script is huge. Apart from VLC sources, it also compiles over 50 (fifty!) other libraries and embeds them into the VLC package. This makes VLC such a versatile media player – it supports many media formats and input sources, has audio visualisation inputs and other cool stuff.

The penalty for having such a big script, is that compiling it all takes quite a bit of time. And if you just want to update VLC to a newer snapshot, it is aggravating when the script also recompiles all of the other internal dependencies. Furthermore, in order to compile the browser plugin, the script needs Mozilla’s xulrunner libraries. Since Slackware does not ship those, the xulrunner SDK has to be compiled as well and that is time-consuming- only to be thrown away after the compilation has ended.

I added a few pieces of code which allow me to considerably shorten the compilation time of my VLC packages.

  1. Allow the use of a tarball containing a pre-built xulrunner SDK
  2. Allow the use of a tarball containing prebuilt “contribs”, i.e. all the internal libraries VLC depends on

Let me explain both.

Pre-compiled mozilla SDK.

If you run the vlc.SlackBuild, and enable the creation of the browser plugin “npapi-vlc” (this is enabled by default in the script) then the SlackBuild script will first compile the xulrunner SDK. This takes a long, long time. So, in order to speed things up, the script will look for a pre-compiled version of the xulrunner SDK in the directory containing “vlc.SlackBuild” and use that instead if available. You can find this SDK tarball after the xulrunner compilation has ended; check the “./dist/sdk” subdirectory in the xulrunner source directory (normally that would be something like “/tmp/build/tmp-vlc/mozilla-<someversion>/dist/sdk/“) and copy the file “xulrunner-*.sdk.tar.bz2” you’ll find there back into the directory containing vlc.SlackBuild. Next time you run vlc.SlackBuild, it will extract and use the contents of that SDK file instead of compiling the SDK all over again. Big timesaver!

Pre-compiled contribs.

I usually update the internal libraries (the VLC developers call them the “contribs”) only when there is a reason. For instance, when VLC requires a newer version of such a library, or because a newer version brings speed improvements (think of ffmpeg). But inbetween minor releases of VLC I usually leave the contribs as they are, and only compile the new VLC sources. In order to save time, the vlc.SlackBuild has a commandline switch which tells it to only build the contribs, but skip the VLC sources. This switch is “–wrapvlcdeps”. If you run the command:

./vlc.SlackBuild –wrapvlcdeps

… then the script will compile all internal libraries, and then “wrap” the compiled contribs into a single tarball in your $OUTPUT directory (which is /tmp by default) with the name “vlc-vlcdeps-$ARCH.tar.bz2“. Here, “$ARCH” is the architecture for which you are compiling (usually i486 or x86_64). Note that this command will not create an actual VLC package! All it does is compile the internal dependencies and wrap those into a tarball for later use.

Now, if you copy that tarball back into the directory which contains vlc.SlackBuild, the script will be able to use its pre-compiled binary contents when it is time to create a VLC package. When you run the following command:

./vlc.SlackBuild –unwrapvlcdeps

… then the script will “unwrap” the contents of the “vlc-vlcdeps” tarball and won’t bother with compiling all those contribs again. Instead, the script will proceed with compiling the VLC sources and creating the final package. Big timesaver!

Note:

You may be aware that I need to compile two versions of VLC for my repositories, thanks to stupid US software patents (Europeans, do not forget to sign the anti-ACTA petition at https://secure.avaaz.org/en/eu_save_the_internet_spread/ !). One version contains code which would violate the US software patents, such as mp3 and aac audio encoders, while the other version is free of software patent issues and therefore free to distribute inside the US. The vlc.SlackBuild script can distinguish between “restricted” and “unrestricted” tarballs containing the “contribs” or vlcdeps as I call them myself. The script has this piece of code:

  if [ "${USE_PATENTS}" == "YES" ]; then
    DEPSFILE="$SRCDIR/$PRGNAM-vlcdeps_restricted-$ARCH.tar.bz2"
  else
    DEPSFILE="$SRCDIR/$PRGNAM-vlcdeps_unrestricted-$ARCH.tar.bz2"
  fi
  [ ! -f $DEPSFILE ] && DEPSFILE="$SRCDIR/$PRGNAM-vlcdeps-$ARCH.tar.bz2"

So, if you too need to create two versions of the package (for instance if you distribute your package inside the US) it is up to you to rename the DEPSFILE “vlc-vlcdeps-$ARCH.tar.bz2” after you created it. You should add the string “restricted” or “unrestricted” to its name depending on whether it contains patented code or is unrestricted.

Have fun! Eric

VLC media player at version 2.0.0

Videolan developers finally got rid of all the blocking bugs and released the newest installment of the massively popular Open Source all-purpose media player VLC.

Initially meant to become version 1.2.0, the decision was made some months ago to change the version to 2.0.0 because of the many differences to the previous release series 1.1.x.

Get over to the VideoLAN web site and read trough the announcement. Also check out the list of new features and enhancements on that page!

For users of my Slackware packages, this news is not changing much. If you have been using my “vlcgit” package, you will have experienced a lot already of vlc 2.0.0. I have been building GIT snapshots for quite a while. Just be aware that with the official release of 2.0.0, my “vlcgit” package has become obsolete. I have removed it from my repository. Perhaps when I start building snapshots of a new release cycle (2.1 ?) you will see the vlcgit package return.

Enough said – you should get the freshly compiled VLC packages for Slackware now. They are available for Slackware 13.37 (on which I compiled them) but will work on Slackware-current too of course.

The usual caveat applies: versions that can not only DEcode but also ENcode mp3 and aac audio can be found in my alternative repository where I keep the packages containing code that might violate stupid US software patents.

There are other mirrors too of my SlackBuild package repositories – if you cannot find them, give me a yell..

 

Have fun! Eric

Package updates in the past days

I have been updating some of my Slackware packages in the past few days and at least some of them are important enough to write a bit about it.

virtuoso

Along with my packages for KDE 4.7.x I added an updated version of virtuoso “data management server” which powers a lot of the functionality in today’s KDE: However there was a regression in this version 6.1.3 which messed up the display of path names containing non-ascii (i..e Unicide) characters. See https://bugs.kde.org/show_bug.cgi?id=271664 for more details about this issue. I applied a fix to my virtuoso-ose package which solves this.

Package available here in the 4.7.1 section: http://alien.slackbook.org/ktown/ as well as all the usual mirrors.

kde-workspace

Martin Graesslin wrote an email to the KDE packagers mailing list with the plea to apply a patch to all binary packages of kde-workspace after he discovered a bug in KWin’s handling of desktop effects which apparently has been present in all versions since 4.0. The bug would cause a performance degradation which becomes worse when more windows are open on the desktop. Martin’s blog article describes how he discovered the bug during his performance analysis of KDE 4.8 code. I have applied the patch he provided in his email to my KDE 4.7.1 kde-workspace package and I will wait for a backport to KDE 4.6.x before attempting to apply the fix to the kdebase-workspace package in there.

Package available here in the 4.7.1 section: http://alien.slackbook.org/ktown/ as well as all the usual mirrors.

vlcgit

This is not a package update per sé. I have been compiling the development version of the VLC media player for a long time (I think I started re-writing the vlc.SlackBuild script for the development snapshots in January 2011). I had varying success with the package, as my build script would “break” from time to time. When someone in the #videolan IRC channel wondered if the development code would work better for high-bandwidth H.264 movies (VLC 1.1.11 drops too many frames) and a VLC developer suggested that the development code has a lot of optimizations in this regard, I decided to release a package based on my SlackBuild script. I called the package directory “vlcgit” and the build script “vlcgit.SlackBuild” but the actual package is named “vlc” so that you can easily update from 1.1.11 to this development snapshot. The vlc program will identity itself as “1.2.0-git” when it starts. I think it is worth your while to try it out because there have been lots of enhancements and additional features in the past year.

VLC 1.2.0 is expected to be released before the end of 2011.

Packages here: http://slackware.com/~alien/slackbuilds/vlcgit/ (which is a US server so these packages do not contain the mp3 and aac encoders because of patent disputes) and at http://taper.alienbase.nl/mirrors/people/alien/restricted_slackbuilds/vlcgit/ (for the version that includes mp3 and aac audio ENcoding capability). Also available on all the other mirrors of course.

flashplayer-plugin

The Adobe people are finally putting good effort into their Linux flash player plugin. One month after the “beta 2” release we now have the “release candidate 1” of the upcoming Flash Player 11. It looks like the releases for Linux and Windows platforms go hand in hand now, which is a reassuring sign that we Linux users are taken seriously.

Package available at http://slackware.com/~alien/slackbuilds/flashplayer-plugin/

calibre

The calibre download page states that you should “not use your distribution provided calibre package, as those are often buggy/outdated. Instead use the Binary install described below“. Of course you are free to follow that advice, but if you prefer to know how your packages get built, like me, you can still grab the packages that I provide. There is a new release of Calibre every friday and I have been following that release cycle for the past months, releasing updated packages the same day. I use Calibre every day and am happy with my builds.

Get the package here: http://slackware.com/~alien/slackbuilds/calibre/

sigil

If you are seriously into writing or converting e-books, then Calibre is the perfect management and conversion software for the task. But Calibre does not offer an actual epub editor. Epub is an open specification for electronic books and widely used all over the world except for the US apparently where Amazon dominates with the mobi format used for its Kindle. Both mobi and epub formats are quite similar, basically it is HTML text plus a book’s metadata, bundled together in a ZIP archive. Whether you are writing an ebook yourself, or need to clean up an ebook provided by someone else, there is one application which is best suited for this task: Sigil. Sigil is designed to edit epub format only. It contains an embedded HTML tidy which cleans up the book’s HTML code autimatically and an embedded Flightcrew, which assists you in validating your book to the EPUB specification.

The Sigil homepage offers pre-built binaries, but these are quite big. Since they have to work everywhere the binaries include a lot of libraries which we already have in Slackware. The new Sigil maintainer seems to be very responsive so I asked him if he could put up a page with distro-specific packages and add a link to my Slackware package there. He did that right away, and more distros have been added there since.

Get the package fir Sigil here: http://slackware.com/~alien/slackbuilds/sigil/ .

 

Good fun with all of this! Eric

Update Sun Sep 11 15:43:06 UTC 2011:

libbluedevil

Willy Sudiarto Raharjo pointed out that there was another package update and I failed to mention it. The 32bit package “libbluedevil” was not tagged with my “alien” tag initially, and I fixed that by renaming the affected files in the repository.

Remember why tagging your packages is useful? If you use slackpkg to keep your Slackware up to date, then you can blacklist all my packages (since I apply the “alien” tag to all my packages) so that slackpkg does not “see” them anymore. Add this single line to the file “/etc/slackpkg/blacklist“:

[0-9]+alien

🙂

« Older posts Newer posts »

© 2025 Alien Pastures

Theme by Anders NorenUp ↑