F-droid decides that they only want to compile the releases themselves. And of course, they packaged a beta version and not a stable one, and they refuse to update it...
Its less that we are unwilling, more that we are unable to build the app ourselves. The build server we use bases mostly on debian stable and has too old libraries/tools installed than what are required by VLC. We are experimenting by getting things from debian testing but right now it doesn't seem to work out completely. The app has been removed now to not confuse the users. I'll continue to attempt to enable us to provide the latest version, so maybe it can be re-added one day.
We can help you make an official F-Droid repo of your own binary builds, hosted on your site. Then we could build that into the F-Droid client, and users would just need to go to the Repositories screen and switch "Videolan" on.
@jbk no one is refusing to update VLC in F-Droid, nor does anyone think it is a good idea to leave it unupdated. It is merely a matter of someone finding the time to do the work. That is made a lot more complicated by the very complicated build process of VLC, which seems to require Docker, making it even harder. Running Docker securely is not really possible without a sysadmin whose job it is.
As for the requirement of only including binaries built by F-Droid, that is nothing new nor novel. Basically all free software distros include this requirement (Debian, Fedora, Ubuntu, SUSE, Gentoo, FreeBSD, OpenBSD, etc). And VLC is also included in those, built from source on the machines of those distros. Building from source, it turns out, is the best way to ensure that the software is actually 100% free software. It also has some good security properties, which we are working to make a lot easier to manage:
https://f-droid.org/wiki/page/Deterministic,_Reproducible_Builds
We don't require Docker at all. We provide docker images to ease the pain of installing required packages, or even help for some too old distros.
The build system is not complicated, you simply need to invoke a script, provided you have the proper tools installed (which, from the top of my head, consist sollely of Android SDK & NDK.
Apparently you're having issues with gettext and other related tools, but those are being shipped in VLC. If for some reason we are not building those, it's easily fixable.
In any case, there are 2 options:
You use the builds we provide, in which case that seems like a solved problem
You want to build VLC yourself, in which case I'm available to help you in the process, feel free to email/irc/twitter/whatever me and I'll try to assist.
Once you have the whole build environment setup, then yes, ./compile.sh works fine. No complaints there. The problem is getting the whole build environment setup. On a Debian/jessie machine that is fully setup to build Android SDK and NDK, ./compile.sh fails. That's why we are having this discussion. Its VLC's build environment setup is what is so complicated. I understand why setups get this way, I've don't lots of native development on Android. I ported GnuPG to Android. Let's not pretend that this is neither complicated nor difficult, and instead work towards fixing things.
For example, the Requirements section of https://wiki.videolan.org/AndroidCompile does not list the versions, and ./compile requires specific, relatively new versions of a number of tools. I see nowhere that documents how the buildbot is setup.
Using Arch or Debian/sid means that every time someone runs the setup process (e.g. the docker image), they will get a different result since the packages are always changing. That's another complication for other people building VLC. If the docker image creation instead uses http://snapshot.debian.org or something like https://nixos.com, then you can easily use the latest versions while also having a reproducible build environment.
You claim to be a build and distribution service, then complaining it is hard to build, while our buildbots do it everyday for months is a very very weird argument.
Obviously your build setup works! Like I said before, the build process works fine, no complaints. The thing I'm talking about is that the build environment is hard to reproduce. I want to solve this once and for all, so that means figuring out a way to reliably reproduce the build environment. Using http://snapshot.debian.org/ for example is a really easy change. Instead of specifying sid in the docker image creation, specify http://snapshot.debian.org/ with a date. Then its easy to reproduce the exact build environment, like this:
I insist that I'm still available to help you with any build problem you can have. However, I don't know what the problem is. Please point me to the relevant ticket on f-droid side, or contact me privately (hugo@beauzee.fr) so this can be solved.
Once debian stretch gets tagged (which should happen soon) you can have a reproducible image. When VLC 3.0 gets released, things should become smoother.
Oops, my example got cutoff. I'm not saying freeze to a specific Debian version. I'm saying specify the date from which the Debian packages are drawn. That's easy with snapshot.debian.org:
/etc/apt/sources.list:
deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20170131T212623Z/ stretch main
Then to update to newer versions of the packages, just change the date.
@chouquette pointed me towards vlc/extras/tools/bootstrap which does specifically list the versions of the build tools needed. It was very helpful for fixing our build environment. Can someone with a login add a link to it on https://wiki.videolan.org/AndroidCompile ? I tried creating an account and logging in, but it gave me a 403 on login.