Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 682516 - mail-client/thunderbird-60.6.1 fails to compile against cargo of dev-lang/rust-1.33.0
Summary: mail-client/thunderbird-60.6.1 fails to compile against cargo of dev-lang/rus...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-04-04 09:40 UTC by Attila Tóth
Modified: 2019-04-08 16:02 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
Use the attach patch to prevent downgrading. (torbrowser-rust_missing_docs.patch,537 bytes, patch)
2019-04-05 03:24 UTC, Jory A. Pratt
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Attila Tóth 2019-04-04 09:40:16 UTC
13:21.65    Compiling style_traits v0.0.1 (/var/tmp/portage/mail-client/thunderbird-60.6.1-r1/work/thunderbird-60.6.1/servo/components/style_traits)
13:21.84 warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead
13:21.85   --> servo/components/style_traits/viewport.rs:10:30
13:21.85    |
13:21.85 10 | #[allow(unused_imports)] use std::ascii::AsciiExt;
13:21.85    |                              ^^^^^^^^^^^^^^^^^^^^
13:21.85    |
13:21.85    = note: #[warn(deprecated)] on by default
13:21.85
13:22.11 error: missing documentation for macro
13:22.11    --> servo/components/style_traits/values.rs:139:1
13:22.11     |
13:22.11 139 | macro_rules! serialize_function {
13:22.11     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13:22.11     |
13:22.11 note: lint level defined here
13:22.11    --> servo/components/style_traits/lib.rs:12:22
13:22.11     |
13:22.11 12  | #![deny(unsafe_code, missing_docs)]
13:22.11     |                      ^^^^^^^^^^^^
13:22.11
13:22.11 error: missing documentation for macro
13:22.11    --> servo/components/style_traits/values.rs:408:1
13:22.11     |
13:22.11 408 | macro_rules! define_css_keyword_enum {
13:22.11     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
13:22.11
13:22.13 error: aborting due to 2 previous errors
13:22.13
13:22.16 error: Could not compile `style_traits`.
13:22.16
13:22.16 To learn more, run the command again with --verbose.
13:22.16 gmake[4]: *** [/var/tmp/portage/mail-client/thunderbird-60.6.1-r1/work/thunderbird-60.6.1/config/rules.mk:979: force-cargo-library-build] Error 101
13:22.16 gmake[4]: Leaving directory '/var/tmp/portage/mail-client/thunderbird-60.6.1-r1/work/thunderbird-60.6.1/tbird/toolkit/library/rust'
13:22.16 gmake[3]: *** [/var/tmp/portage/mail-client/thunderbird-60.6.1-r1/work/thunderbird-60.6.1/config/recurse.mk:73: toolkit/library/rust/target] Error 2
13:22.16 gmake[3]: *** Waiting for unfinished jobs....
Comment 1 Attila Tóth 2019-04-04 09:41:53 UTC
Downgrading dev-lang/rust to 1.32.0 lets the package compile.
Are there any other workarounds? Package to recompile instead of downgrading?
Comment 2 Jory A. Pratt gentoo-dev 2019-04-05 03:24:25 UTC
Created attachment 571894 [details, diff]
Use the attach patch to prevent downgrading.

The attached patch will keep you from having to downgrade. The firefox patchset for esr needs to be bumped in the ebuild.
Comment 3 Albert Veli 2019-04-05 07:05:17 UTC
FYI, I tried to create a custom overlay and just removed two lines from the ebuild.

diff -u /usr/portage/mail-client/thunderbird/thunderbird-60.6.1.ebuild thunderbird-60.6.1.ebuild                                          
--- /usr/portage/mail-client/thunderbird/thunderbird-60.6.1.ebuild      2019-03-28 08:09:37.000000000 +0100                                                                                   
+++ thunderbird-60.6.1.ebuild   2019-04-05 08:15:59.585579540 +0200
@@ -144,11 +144,9 @@
        )
        pulseaudio? ( media-sound/pulseaudio )
        elibc_glibc? (
-               virtual/cargo
                virtual/rust
        )
        elibc_musl? (
-               virtual/cargo
                virtual/rust
        )
        amd64? (

It compiles just fine. It seems cargo was moved into the rust package so the cargo dep should be dropped.
Comment 4 Albert Veli 2019-04-05 13:16:48 UTC
(In reply to Albert Veli from comment #3)
> 
> It compiles just fine. It seems cargo was moved into the rust package so the
> cargo dep should be dropped.

Correction. The dependency to cargo can be dropped *if* rust is new enough and has all needed cargo functionality in it. Don't know how to specify that in an ebuild.
Comment 5 Thomas Deutschmann (RETIRED) gentoo-dev 2019-04-05 13:46:52 UTC
No. No. No. Please read more about virtual/cargo. You will see that virtual/cargo-1.33 is satisfied by dev-lang/rust{,-bin}-1.33*.

We cannot get rid of virtual/cargo because there are other providers (not for 1.33 version). In a world where rust-1.33 is the only rust version available, virtual/cargo wouldn't exist. But we are not (yet) in this world :-)
Comment 6 Attila Tóth 2019-04-05 16:23:32 UTC
(In reply to Albert Veli from comment #4)
> (In reply to Albert Veli from comment #3)
> > 
> > It compiles just fine. It seems cargo was moved into the rust package so the
> > cargo dep should be dropped.
> 
> Correction. The dependency to cargo can be dropped *if* rust is new enough
> and has all needed cargo functionality in it. Don't know how to specify that
> in an ebuild.

That is exactly why _virtual_/cargo is there for. Please leave it alone. Removing the dependency is not the reason why you haven't seen the problem. Study comment #2 by Anarchy.
Comment 7 Jory A. Pratt gentoo-dev 2019-04-05 17:09:45 UTC
I want to see the whole build.log, it appears your using something not provided by the mozilla project.  *   6010_rust-1.33-support.patch ...   [ ok ]

The patch is already applied by the mozilla project using 
firefox-60.6-patches-02.tar.xz 

I have also confirmed the package does build just fine with rust-1.33.0
Comment 8 Attila Tóth 2019-04-06 09:23:46 UTC
(In reply to Jory A. Pratt from comment #7)
> I want to see the whole build.log, it appears your using something not
> provided by the mozilla project.  *   6010_rust-1.33-support.patch ...   [
> ok ]
> 
> The patch is already applied by the mozilla project using 
> firefox-60.6-patches-02.tar.xz 
> 
> I have also confirmed the package does build just fine with rust-1.33.0

Dear Anarchy,

Thank you for the heads-up. I'm keeping my own local version of thunderbird, with only two hardened changes. I don't keep an eye on each commit in the tree and I missed that firefox-60.6-patches version bump from 01 to 02. It would be much better from this regard to designate an ebuild revision in such a case - that would make it easier to notice for some users like me.

Thanks:
Dw.
Comment 9 Albert Veli 2019-04-08 12:57:07 UTC
(In reply to Attila Tóth from comment #6)
> (In reply to Albert Veli from comment #4)
> > (In reply to Albert Veli from comment #3)
> > > 
> > > It compiles just fine. It seems cargo was moved into the rust package so the
> > > cargo dep should be dropped.
> > 
> > Correction. The dependency to cargo can be dropped *if* rust is new enough
> > and has all needed cargo functionality in it. Don't know how to specify that
> > in an ebuild.
> 
> That is exactly why _virtual_/cargo is there for. Please leave it alone.
> Removing the dependency is not the reason why you haven't seen the problem.
> Study comment #2 by Anarchy.

Hmm, maybe rust-1.33 should provide virtual/cargo then. That should also solve the problem.
Comment 10 Ian Stakenvicius (RETIRED) gentoo-dev 2019-04-08 13:46:18 UTC
(In reply to Albert Veli from comment #9)
> 
> Hmm, maybe rust-1.33 should provide virtual/cargo then. That should also
> solve the problem.

It does.  virtual/cargo-1.33 is explicitly fulfilled by either dev-lang/rust-1.33 or dev-lang/rust-bin-1.33.  Dependencies don't go the other way around, rust can't "provide" virtual/cargo.
Comment 11 Attila Tóth 2019-04-08 16:02:32 UTC
(In reply to Ian Stakenvicius from comment #10)
> (In reply to Albert Veli from comment #9)
> > 
> > Hmm, maybe rust-1.33 should provide virtual/cargo then. That should also
> > solve the problem.
> 
> It does.  virtual/cargo-1.33 is explicitly fulfilled by either
> dev-lang/rust-1.33 or dev-lang/rust-bin-1.33.  Dependencies don't go the
> other way around, rust can't "provide" virtual/cargo.

There's nothing wrong with that. virtual/cargo fulfills its role and rust satisfies the requirements.

I was missing a firefox patch bump, because I was using a local version of the ebuild. That was the reason of the problem. Which was otherwise could be addressed by the attached patch.

Let's forget about this bug and move on. Sync your tree and you must be OK. It's obsolete.