unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Updating the rav1e package to 0.4.0
@ 2021-04-09 18:58 Leo Famulari
  2021-04-12 11:44 ` Efraim Flashner
  0 siblings, 1 reply; 3+ messages in thread
From: Leo Famulari @ 2021-04-09 18:58 UTC (permalink / raw)
  To: help-guix; +Cc: Nicolas Goaziou


[-- Attachment #1.1: Type: text/plain, Size: 9911 bytes --]

Our rav1e package ((gnu packages video) rav1e) is at version 0.3.5.

I noticed that FFmpeg 4.4 requires rav1e 0.4.0, at minimum, so I tried
updating it.

Luckily, there is a similar / duplicate package ((gnu packages
crates-graphics) rust-rav1e-0.4.0), so the required versions of Rust
dependencies are already available. The differenc between these packages
is that the 'rav1e' package includes a C interface, which is how FFmpeg
uses it.

I applied the attached patch and tried to build the package, but it
fails like this:

------
     Running `rustc --crate-name rav1e --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -Cembed-bitcode=no -C debuginfo=2 --crate-type staticlib --crate-type cdylib --cfg cargo_c -C link-arg=-Wl,-soname,librav1e.so.0 --cfg 'feature="asm"' --cfg 'feature="av-metrics"' --cfg 'feature="binaries"' --cfg 'feature="cc"' --cfg 'feature="clap"' --cfg 'feature="console"' --cfg 'feature="default"' --cfg 'feature="fern"' --cfg 'feature="ivf"' --cfg 'feature="nasm-rs"' --cfg 'feature="regex"' --cfg 'feature="scan_fmt"' --cfg 'feature="signal-hook"' --cfg 'feature="signal_support"' --cfg 'feature="y4m"' -C metadata=8c83b2dd27bd5884 -C extra-filename=-8c83b2dd27bd5884 --out-dir /tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps -C incremental=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/incremental -L dependency=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps --extern arg_enum_proc_macro=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libarg_enum_proc_macro-93ed8c9ea7d5dd1b.so --extern arrayvec=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libarrayvec-0d176be780e9b8b6.rmeta --extern av_metrics=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libav_metrics-81dbb1d256cbbf07.rmeta --extern bitstream_io=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libbitstream_io-788d0621a761068a.rmeta --extern cfg_if=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libcfg_if-8f2b5f8438981483.rmeta --extern clap=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libclap-d86faf89dbe50a9a.rmeta --extern console=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libconsole-37992ef17e817539.rmeta --extern fern=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libfern-934bc2d1ada6dcee.rmeta --extern itertools=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libitertools-495c21300f2b2e41.rmeta --extern ivf=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libivf-d91769e0921d0961.rmeta --extern libc=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/liblibc-c2941137f88810f2.rmeta --extern log=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/liblog-1a0cffccf240c183.rmeta --extern noop_proc_macro=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libnoop_proc_macro-d0c6cf2e2e4ea6d3.so --extern num_derive=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libnum_derive-f0f3c044a3428786.so --extern num_traits=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libnum_traits-e0a0117e0cd33ee6.rmeta --extern paste=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libpaste-dc838f84405bb32b.so --extern rayon=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/librayon-c933e3b6685ed4e0.rmeta --extern rust_hawktracer=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/librust_hawktracer-44830043894e2e85.rmeta --extern scan_fmt=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libscan_fmt-708ebb99bb6cce93.rmeta --extern signal_hook=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libsignal_hook-aa978f9596e44d5a.rmeta --extern simd_helpers=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libsimd_helpers-8a19edc7c2ce4cfb.so --extern thiserror=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libthiserror-d53d38f341785296.rmeta --extern v_frame=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libv_frame-d2c737d079b3471b.rmeta --extern y4m=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/liby4m-afa86606376e5621.rmeta --cap-lints allow -L /tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/build/rav1e-528ae66f4a5e7c6e/out --cfg nasm_x86_64 -l static=rav1easm`
error: crate `log` required to be available in rlib format, but was not found in this form

error: crate `libc` required to be available in rlib format, but was not found in this form

error: crate `num_traits` required to be available in rlib format, but was not found in this form

error: crate `rust_hawktracer` required to be available in rlib format, but was not found in this form

error: crate `bitstream_io` required to be available in rlib format, but was not found in this form

error: crate `arrayvec` required to be available in rlib format, but was not found in this form

error: crate `itertools` required to be available in rlib format, but was not found in this form

error: crate `v_frame` required to be available in rlib format, but was not found in this form

error: crate `thiserror` required to be available in rlib format, but was not found in this form

error: crate `rayon` required to be available in rlib format, but was not found in this form

error: aborting due to 10 previous errors

error: could not compile `rav1e`.

Caused by:
  process didn't exit successfully: `rustc --crate-name rav1e --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -Cembed-bitcode=no -C debuginfo=2 --crate-type staticlib --crate-type cdylib --cfg cargo_c -C link-arg=-Wl,-soname,librav1e.so.0 --cfg 'feature="asm"' --cfg 'feature="av-metrics"' --cfg 'feature="binaries"' --cfg 'feature="cc"' --cfg 'feature="clap"' --cfg 'feature="console"' --cfg 'feature="default"' --cfg 'feature="fern"' --cfg 'feature="ivf"' --cfg 'feature="nasm-rs"' --cfg 'feature="regex"' --cfg 'feature="scan_fmt"' --cfg 'feature="signal-hook"' --cfg 'feature="signal_support"' --cfg 'feature="y4m"' -C metadata=8c83b2dd27bd5884 -C extra-filename=-8c83b2dd27bd5884 --out-dir /tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps -C incremental=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/incremental -L dependency=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps --extern arg_enum_proc_macro=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libarg_enum_proc_macro-93ed8c9ea7d5dd1b.so --extern arrayvec=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libarrayvec-0d176be780e9b8b6.rmeta --extern av_metrics=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libav_metrics-81dbb1d256cbbf07.rmeta --extern bitstream_io=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libbitstream_io-788d0621a761068a.rmeta --extern cfg_if=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libcfg_if-8f2b5f8438981483.rmeta --extern clap=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libclap-d86faf89dbe50a9a.rmeta --extern console=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libconsole-37992ef17e817539.rmeta --extern fern=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libfern-934bc2d1ada6dcee.rmeta --extern itertools=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libitertools-495c21300f2b2e41.rmeta --extern ivf=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libivf-d91769e0921d0961.rmeta --extern libc=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/liblibc-c2941137f88810f2.rmeta --extern log=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/liblog-1a0cffccf240c183.rmeta --extern noop_proc_macro=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libnoop_proc_macro-d0c6cf2e2e4ea6d3.so --extern num_derive=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libnum_derive-f0f3c044a3428786.so --extern num_traits=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libnum_traits-e0a0117e0cd33ee6.rmeta --extern paste=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libpaste-dc838f84405bb32b.so --extern rayon=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/librayon-c933e3b6685ed4e0.rmeta --extern rust_hawktracer=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/librust_hawktracer-44830043894e2e85.rmeta --extern scan_fmt=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libscan_fmt-708ebb99bb6cce93.rmeta --extern signal_hook=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libsignal_hook-aa978f9596e44d5a.rmeta --extern simd_helpers=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libsimd_helpers-8a19edc7c2ce4cfb.so --extern thiserror=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libthiserror-d53d38f341785296.rmeta --extern v_frame=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/libv_frame-d2c737d079b3471b.rmeta --extern y4m=/tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/deps/liby4m-afa86606376e5621.rmeta --cap-lints allow -L /tmp/guix-build-rav1e-0.4.0.drv-0/rav1e-0.4.0/target/release/build/rav1e-528ae66f4a5e7c6e/out --cfg nasm_x86_64 -l static=rav1easm` (exit code: 1)
Error: Kind(InvalidInput)
command "cargo" "cinstall" "--release" "--prefix=/gnu/store/hfs14fqji8x4b0dpl910ymqchq6182ym-rav1e-0.4.0" failed with status 1
------

Does anyone know what to do? I'm totally out of my depth.

[-- Attachment #1.2: rav1e-0.4.0.diff --]
[-- Type: text/plain, Size: 3426 bytes --]

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 571dbb70c6..bd54f03219 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -4851,7 +4851,7 @@ result in several formats:
 (define-public rav1e
   (package
     (name "rav1e")
-    (version "0.3.5")
+    (version "0.4.0")
     (source
       (origin
         (method url-fetch)
@@ -4860,7 +4860,7 @@ result in several formats:
          (string-append name "-" version ".tar.gz"))
         (sha256
          (base32
-          "0c40gq4qid2apmlgzx98f6826jmn2n61prk0rn7sjxaw7yimw854"))))
+          "02cpgzycfgnflnv8sck6ajasa7abfgdzn6b4jv01sf6r21yfipbq"))))
     (build-system cargo-build-system)
     (arguments
      `(#:cargo-inputs
@@ -4869,45 +4869,45 @@ result in several formats:
         ("rust-arg-enum-proc-macro" ,rust-arg-enum-proc-macro-0.3)
         ("rust-arrayvec" ,rust-arrayvec-0.5)
         ("rust-backtrace" ,rust-backtrace-0.3)
-        ("rust-bitstream-io" ,rust-bitstream-io-0.8)
+        ("rust-bitstream-io" ,rust-bitstream-io-1)
         ("rust-byteorder" ,rust-byteorder-1)
         ("rust-cc" ,rust-cc-1)
-        ("rust-cfg-if" ,rust-cfg-if-0.1)
+        ("rust-cfg-if" ,rust-cfg-if-1)
         ("rust-clap" ,rust-clap-2)
-        ("rust-console" ,rust-console-0.11)
+        ("rust-console" ,rust-console-0.14)
         ("rust-dav1d-sys" ,rust-dav1d-sys-0.3)
         ("rust-fern" ,rust-fern-0.6)
         ("rust-image" ,rust-image-0.23)
         ("rust-interpolate-name" ,rust-interpolate-name-0.2)
-        ("rust-itertools" ,rust-itertools-0.9)
+        ("rust-itertools" ,rust-itertools-0.10)
         ("rust-ivf" ,rust-ivf-0.1)
         ("rust-libc" ,rust-libc-0.2)
         ("rust-log" ,rust-log-0.4)
         ("rust-nasm-rs" ,rust-nasm-rs-0.2)
-        ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.2)
+        ("rust-noop-proc-macro" ,rust-noop-proc-macro-0.3)
         ("rust-num-derive" ,rust-num-derive-0.3)
         ("rust-num-traits" ,rust-num-traits-0.2)
-        ("rust-paste" ,rust-paste-0.1)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+        ("rust-paste" ,rust-paste-1)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
         ("rust-rayon" ,rust-rayon-1)
         ("rust-rust-hawktracer" ,rust-rust-hawktracer-0.7)
-        ("rust-rustc-version" ,rust-rustc-version-0.2)
+        ("rust-rustc-version" ,rust-rustc-version-0.3)
         ("rust-scan-fmt" ,rust-scan-fmt-0.2)
         ("rust-serde" ,rust-serde-1)
-        ("rust-signal-hook" ,rust-signal-hook-0.1)
+        ("rust-signal-hook" ,rust-signal-hook-0.3)
         ("rust-simd-helpers" ,rust-simd-helpers-0.1)
         ("rust-thiserror" ,rust-thiserror-1)
         ("rust-toml" ,rust-toml-0.5)
         ("rust-vergen" ,rust-vergen-3)
-        ("rust-y4m" ,rust-y4m-0.5))
+        ("rust-y4m" ,rust-y4m-0.7))
        #:cargo-development-inputs
        (("rust-assert-cmd" ,rust-assert-cmd-1)
         ("rust-criterion" ,rust-criterion-0.3)
         ("rust-interpolate-name" ,rust-interpolate-name-0.2)
         ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)
-        ("rust-rand" ,rust-rand-0.7)
-        ("rust-rand-chacha" ,rust-rand-chacha-0.2)
+        ("rust-rand" ,rust-rand-0.8)
+        ("rust-rand-chacha" ,rust-rand-chacha-0.3)
         ("rust-semver" ,rust-semver-0.9))
        #:phases
        (modify-phases %standard-phases

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Updating the rav1e package to 0.4.0
  2021-04-09 18:58 Updating the rav1e package to 0.4.0 Leo Famulari
@ 2021-04-12 11:44 ` Efraim Flashner
  2021-04-15  0:31   ` la snesne
  0 siblings, 1 reply; 3+ messages in thread
From: Efraim Flashner @ 2021-04-12 11:44 UTC (permalink / raw)
  To: Leo Famulari; +Cc: help-guix, Nicolas Goaziou

[-- Attachment #1: Type: text/plain, Size: 390 bytes --]

I tried fixing the crate imports, I tried using feature flags, I tried
moving the custom 'build to after 'install. I didn't try upgrading to a
newer version of rust-cargo-c.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Updating the rav1e package to 0.4.0
  2021-04-12 11:44 ` Efraim Flashner
@ 2021-04-15  0:31   ` la snesne
  0 siblings, 0 replies; 3+ messages in thread
From: la snesne @ 2021-04-15  0:31 UTC (permalink / raw)
  To: Efraim Flashner, Leo Famulari; +Cc: help-guix, Nicolas Goaziou


[-- Attachment #1.1.1: Type: text/plain, Size: 307 bytes --]

I tried building binary instead of c interface before(0.5.0-alpha). And 
it worked fine. So it seems like problem is outdated rust-cargo-c. But 
I'm not sure how can we upgrade rust-cargo-c. It depends on cargo as an 
input, but putting ("cargo" ,rust "cargo") in #:cargo-inputs didn't work 
for me.


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 2473 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 665 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-04-15  4:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-09 18:58 Updating the rav1e package to 0.4.0 Leo Famulari
2021-04-12 11:44 ` Efraim Flashner
2021-04-15  0:31   ` la snesne

unofficial mirror of help-guix@gnu.org 

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://yhetil.org/guix-user/0 guix-user/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 guix-user guix-user/ https://yhetil.org/guix-user \
		help-guix@gnu.org
	public-inbox-index guix-user

Example config snippet for mirrors.
Newsgroups are available over NNTP:
	nntp://news.yhetil.org/yhetil.gnu.guix.user
	nntp://news.gmane.io/gmane.comp.gnu.guix.user


AGPL code for this site: git clone http://ou63pmih66umazou.onion/public-inbox.git