Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 694956 - www-client/seamonkey-2.49.5 tries to pull rust
Summary: www-client/seamonkey-2.49.5 tries to pull rust
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Lars Wendler (Polynomial-C) (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-19 10:31 UTC by stephane.goujet
Modified: 2019-09-25 16:58 UTC (History)
2 users (show)

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


Attachments
change seamonkey-2.49.5 ebuild to use older mozconfig eclass (seamonkey-2.49.5-mozconfig-v6.52.patch,658 bytes, patch)
2019-09-22 16:41 UTC, Nuno Silva
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description stephane.goujet 2019-09-19 10:31:20 UTC
I was peacefully trying to update @World, when the update stopped because there no room to compile... rust, which I certainly had not requested. It appeared it was pulled by seamonkey.

I would like to get rid of this dependency. I don't know if it is caused by a particular combination of USE flags, unconditionally pulled, or what. Any idea?

Now the previous version (2.49.9.1_p0) never pulled any rust.

I see no rust in the 2.49.5 ebuild. So where does it come from?

I see no rust mentioned in the 2.49.* Release Notes.

I downloaded and compiled manually(*) the source (2.49.5), it didn't check/request for rust and compilation didn't crash because of rust missing. Now I can't say for sure it didn't use a possible embedded rust version, for the build process and the source tree of Seamonkey/Mozilla are such a gigantic mess.


(*) that's a struggle. I don't understand how upstream can ship such broken releases. On my main rig (non-Gentoo), I compile everything manually, and I didn't manage to compile 2.49.5 (last version I successfully tried was 2.49.1, didn't try in between). Firstly, there is an unused library (crmf) requested, which cause configuration failure (I guess about everyone who tries to compile the source must hit this problem); then there is an incorrect/missing check for libevent version, which causes a compilation error; and finally they seem to have broken GTK+ 2 version (on a point release!) by using GTK+ 3-only functions: I am stuck there (on that non-Gentoo system, to be clear).

Reproducible: Always

Steps to Reproduce:
emerge -upDN seamonkey
Actual Results:  
[ebuild     UD ] www-client/seamonkey-2.49.5 [2.49.9.1_p0] USE="-clang%" 

The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by virtual/rust-1.34.2::gentoo
# required by www-client/seamonkey-2.49.5::gentoo
# required by @selected
# required by @world (argument)
# /etc/portage/package.mask:
=dev-lang/rust-1.34.2


Expected Results:  
Not pulling rust, as it was with seamonkey-2.49.9.1_p0 which didn't pull it.


# eix www-client/seamonkey
[?] www-client/seamonkey
     Available versions:  2.49.5 [M]2.49.9.1_p0 {+calendar +chatzilla clang +crypt custom-cflags custom-optimization dbus debug force-gtk3 +gmp-autoupdate +ipc jack +jemalloc minimal neon pulseaudio +roaming selinux startup-notification system-cairo system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite test wifi L10N="cs de en-GB es-AR es-ES fr hu it ja lt nl pl pt-PT ru sk sv zh-CN zh-TW"}
     Installed versions:  2.49.9.1_p0(23:56:29 22/08/2018)(calendar crypt dbus gmp-autoupdate ipc jemalloc roaming startup-notification -chatzilla -custom-cflags -custom-optimization -debug -force-gtk3 -jack -minimal -neon -pulseaudio -selinux -system-cairo -system-harfbuzz -system-icu -system-jpeg -system-libevent -system-libvpx -system-sqlite -test -wifi L10N="fr -cs -de -en-GB -es-AR -es-ES -hu -it -ja -lt -nl -pl -pt-PT -ru -sk -sv -zh-CN -zh-TW")
     Homepage:            http://www.seamonkey


# emerge --info
Portage 2.3.69 (python 3.6.5-final-0, default/linux/amd64/17.0/developer, gcc-8.3.0, glibc-2.29-r2, 4.14.83-gentoo x86_64)
=================================================================
System uname: Linux-4.14.83-gentoo-x86_64-Intel-R-_Celeron-R-_CPU_1007U_@_1.50GHz-with-gentoo-2.6
KiB Mem:     1865656 total,    260672 free
KiB Swap:    4194300 total,   4086368 free
Timestamp of repository gentoo: Tue, 17 Sep 2019 12:45:01 +0000
Head commit of repository gentoo: c32c68afb677d8777009d3917411bc21bcc5115c
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.30.0::gentoo
dev-lang/python:          2.7.15::gentoo, 3.5.5::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.14.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.14.1-r2::gentoo, 1.15.1-r2::gentoo, 1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            4.7.4::gentoo, 4.8.5::gentoo, 4.9.4::gentoo, 8.3.0-r1::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.fr.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--verbose-conflicts"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms sign splitdebug strict test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://mirrors.linuxant.fr/distfiles.gentoo.org/ http://gentoo.modulix.net/gentoo/ ftp://mirror.ovh.net/gentoo-distfiles/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0"
LINGUAS="fr_FR fr en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli consolekit crypt cups cxx dbus dri dts dvd dvdr emboss encode exif fam flac fortran gdbm gif glamor gpm gtk iconv icu ipv6 jpeg lcms ldap libnotify libtirpc mad mmx mng mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds qt5 readline sdl seccomp snmp spell split-usr sse sse2 ssl startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="krita" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" L10N="fr_FR fr en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby20 ruby21 ruby22 ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="intel vesa i915 i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Nuno Silva 2019-09-22 16:26:37 UTC
It seems it is coming from the mozconfig-v6.60 eclass. I was able to compile seamonkey-2.49.5 without rust or clang by inheriting the version of that eclass used by seamonkey-2.49.9.1_p0 (mozconfig-v6.52).

AFAIK, backports included in 2.49.5 broke compilation of the gtk+2 interface. (And so I had to force gtk+3.)
Comment 2 Nuno Silva 2019-09-22 16:41:51 UTC
Created attachment 590652 [details, diff]
change seamonkey-2.49.5 ebuild to use older mozconfig eclass

Here is what I've used. It does compile, but, as I'm not acquainted with the Gentoo mozilla eclasses or the seamonkey build system, I have no idea if this is correct or if I've missed something important.
Comment 3 stephane.goujet 2019-09-25 10:18:51 UTC
(In reply to Nuno Silva from comment #2)
> Created attachment 590652 [details, diff] [details, diff]
> change seamonkey-2.49.5 ebuild to use older mozconfig eclass
> 
> Here is what I've used. It does compile, but, as I'm not acquainted with the
> Gentoo mozilla eclasses or the seamonkey build system, I have no idea if
> this is correct or if I've missed something important.

I am even less knowledgeable on those matters than you are, so the only thing I can add is that, thanks to you and your patch, I could build Seamonkey, and, so far, it seems to work OK on my setup.
Comment 4 stephane.goujet 2019-09-25 11:53:03 UTC
So, to sum up, this would be a 3-in-1 bug:

* one bug about needlessly requiring rust; 
* a second bug about needlessly requiring clang (I didn't pay attention to it, but you mentioned it);
* a third bug about GTK+ 2 support.

First two are coming from Gentoo, the last one from upstream but it should somehow be dealt with cleanly here as well in the build options (and if maintainers have some involvement or relation with Seamonkey developers, see if GTK+ 2 support could be easily re-enabled, or if they willingly decided to break it).
Comment 5 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2019-09-25 14:31:00 UTC
(In reply to stephane.goujet from comment #4)
> So, to sum up, this would be a 3-in-1 bug:
> 
> * one bug about needlessly requiring rust; 
> * a second bug about needlessly requiring clang (I didn't pay attention to
> it, but you mentioned it);
> * a third bug about GTK+ 2 support.
> 
> First two are coming from Gentoo, the last one from upstream but it should
> somehow be dealt with cleanly here as well in the build options (and if
> maintainers have some involvement or relation with Seamonkey developers, see
> if GTK+ 2 support could be easily re-enabled, or if they willingly decided
> to break it).

Writing this from my mobile phone while being on vacation so I keep the answer short.

Upstream knows about the gtk2-cairo build issue but has no intention to fix it as it will become obsolete in seamonkey-2.53 anyway which they are fully concentrating on to get it ready for release.

That is the reason I chose the mozconfig-v6.60 eclass because that way everyone must use the gtk3-cairo interface. I didn't see the cargo/rust dependencies because I have that already installed on my dev machine so that useless dependecy slipped through my attention.
Once I return from vacation I will try to implement a fix that is as painless as possible for everyone.
Comment 6 Larry the Git Cow gentoo-dev 2019-09-25 15:06:04 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c57630526c65034decd0c124f2d2d8eca5a5980d

commit c57630526c65034decd0c124f2d2d8eca5a5980d
Author:     Jory Pratt <anarchy@gentoo.org>
AuthorDate: 2019-09-25 15:05:26 +0000
Commit:     Jory Pratt <anarchy@gentoo.org>
CommitDate: 2019-09-25 15:05:26 +0000

    www-client/seamonkey: use mozconfig-v6.52
    
    Closes: https://bugs.gentoo.org/694956
    Package-Manager: Portage-2.3.76, Repoman-2.3.17
    Signed-off-by: Jory Pratt <anarchy@gentoo.org>

 www-client/seamonkey/metadata.xml            | 1 -
 www-client/seamonkey/seamonkey-2.49.5.ebuild | 3 ++-
 2 files changed, 2 insertions(+), 2 deletions(-)
Comment 7 stephane.goujet 2019-09-25 16:58:49 UTC
(In reply to Lars Wendler (Polynomial-C) from comment #5)

> Upstream knows about the gtk2-cairo build issue but has no intention to fix
> it as it will become obsolete in seamonkey-2.53 anyway which they are fully
> concentrating on to get it ready for release.

  Thank you for the information.

  Now I see on <https://www.seamonkey-project.org/releases/legacy> that the last official release supporting GTK2 was 2.48. So I can't complain that they broke it on a point release (even though we could still build some of the previous 2.49.x with GTK2, we were just lucky).

  I also see there, that in their busy quest of breaking stuff that has been working fine for a decade, they plan to break ALSA support too, right after the current version.

  Well, I guess that on my non-Gentoo, GTK2-only computer I will remain a few months with my obsolete-ish Seamonkey version, and then it will be time to switch to another (Qt-based?) browser :-( And for my Gentoo, GTK3-enabled computer, I'll wait and see what happens with ALSA on next version, and be prepared to switch to another browser if needed.