rav1e
rav1e copied to clipboard
Add rav1e to package managers
Not directly related to the codebase, but it would be very useful to have rav1e available in the most used package managers. These for example:
- [ ] APT (Debian / Ubuntu)
- [x] Homebrew (macOS)
- [ ] Chocolatey (Windows)
@lu-zero Homebrew requires at least one tagged version. Is there a release that can be tagged as 0.0.1? Or maybe we can do weekly releases untill we tag things as stable, like rav1e-2019.01.28.
I'm fine with the weekly tag approach, but I'd like to have everybody ack it.
(once we have a tag we could also produce crav1e builds/packages)
Here a prerelease so we can see what is missing packaging-wise.
I created https://bugs.debian.org/920842 asking for a Debian package. Tagged releases will make it more likely. :)
cc @infinity0 Rust Debian packager and @cuviper Rust Fedora packager
@jbeich The more the merrier :).
For CI the Ubuntu LTS versions (14.04, 16.04 and 18.04) and Debian Stable are the most important.
For general use Manjaro, Mint, MX Linux, elementary and Fedora would also be nice.
cc @ignatenkobrain for Fedora too.
There are few crates we don't have packaged yet. But otherwise it should be doable.
I'll look at it after FOSDEM
Cool. Many of us are at FOSDEM too :)
Maybe at least publish pre-built executables for various linuxes to Github releases?
Maybe at least publish pre-built executables for various linuxes to Github releases?
Having one for the latest Ubuntu LTS would be nice as it's pretty common
It it can be just a fully static musl build, like this:
https://vi-server.org/pub/rav1e_af9d4ab
SHA256 (rav1e_af9d4ab) = 73c6f959ee38324608648a3e09b9cf6e04b02a2c359ddea84e20dc22f1e464fd
https://vi-server.org/pub/rav1e_af9d4ab
Works fine even on FreeBSD via linuxulator. Tested in a clean jail without any Linux userland bits installed.
@jbeich does the packaging status badge get updated automatically?
Maybe at least publish pre-built executables for various linuxes to Github releases?
@vi Will probably integrate it into Travis somewhere next week. Should be ready for the 20190212 release.
@EwoutH, yes, Repology badges are dynamic. Not sure how frequent repository scans are: probably, every few hours. Try checking out badges for other packages e.g., cbindgen, ripgrep.
Btw, is it possible to build rav1e from the git repo on Debian without downloading extra code from the Internet? Software builds downloading random code from the Internet rub me the wrong way in addition to failing the 'desert island' test for free software, from <URL: https://people.debian.org/~bap/dfsg-faq.html >:
The Desert Island test.
Imagine a castaway on a desert island with a solar-powered computer. This would make it impossible to fulfill any requirement to make changes publicly available or to send patches to some particular place. This holds even if such requirements are only upon request, as the castaway might be able to receive messages but be unable to send them. To be free, software must be modifiable by this unfortunate castaway, who must also be able to legally share modifications with friends on the island.
In practice it require the complete source to be available from Debian.
-- Happy hacking Petter Reinholdtsen
Debian Rust packaging is already done with a cargo wrapper tool that avoids network access, see https://salsa.debian.org/rust-team/debcargo-conf/ - rav1e can submit a PR for itself and any of its dependencies not already in Debian.
[Ximin Luo]
Debian Rust packaging is already done with a cargo wrapper tool that avoids network access, see https://salsa.debian.org/rust-team/debcargo-conf/ - rav1e can submit a PR for itself and any of its dependencies not already in Debian.
Aha. Perhaps you can help make build rules for a rav1e Debian package? Or at least update <URL: https://bugs.debian.org/920842 > with details on how to do it? I know nothing about rust myself.
-- Happy hacking Petter Reinholdtsen
As a first thing wouldn't it be good to have it on crates.io (the offical rust package repo) so anyone can use cargo install rav1e
? All listed package managers are restricted to a specific OS, while cargo is not.
I'm already taking care of aom and dav1d for Fedora, I'll take care of rav1e as well when there is a point release.
@eclipseo Hi,
As we have a 0.1 release of rav1e, will it be possible for you to take care of rav1e too?
The following dependencies need to be packaged before rav1e for Debian:
dpkg-checkbuilddeps: error: Unmet build dependencies:
librust-arbitrary-0.2+default-dev
librust-arg-enum-proc-macro-0.3+default-dev
librust-arrayvec-0.5+default-dev
librust-better-panic-0.2+default-dev
librust-bitstream-io-0.8+default-dev
librust-err-derive-0.2+default-dev (>= 0.2.1-~~)
librust-interpolate-name-0.2+default-dev (>= 0.2.2-~~)
librust-ivf-0.1+default-dev
librust-nasm-rs-0.1+default-dev
librust-noop-proc-macro-0.1+default-dev
librust-paste-0.1+default-dev
librust-pretty-env-logger-0.3+default-dev
librust-scan-fmt-0.2+default-dev (>= 0.2.3-~~)
librust-signal-hook-0.1+default-dev (>= 0.1.9-~~)
librust-simd-helpers-0.1+default-dev
librust-vergen-3+default-dev
librust-y4m-0.4+default-dev
Line-breaks added for readability.
We are waiting on https://github.com/Homebrew/homebrew-core/pull/46975 so that we can include the dev artifacts in the formula. This will enable the bottle to be used for building against the C-ABI. Update: That PR landed, as did https://github.com/Homebrew/homebrew-core/pull/47100 to add the dev artifacts.
I've packaged rav1e for openSUSE which is on the way to openSUSE Tumbleweed.
Fedora is next on my list.
Are there any plans to package Debian dependencies? I tried using avifenc
in Debian recently, but it has no encoder:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=976349
[shmerl]
Are there any plans to package Debian dependencies?
I suggest bringing this up with the Debian Multimedia team, <URL: https://wiki.debian.org/DebianMultimedia >.
-- Happy hacking Petter Reinholdtsen
I'm currently in the process of packaging rav1e for Debian. The current blockers for me are at least the dependency on vergen
version 3 instead of version 6.
We are using a custom one, a patch to update to the latest is welcome though.