Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 796140 - media-libs/harfbuzz request to simplify default flags for headless
Summary: media-libs/harfbuzz request to simplify default flags for headless
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal minor (vote)
Assignee: Gentoo Office Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-06-15 04:26 UTC by A Schenck
Modified: 2022-06-29 06:51 UTC (History)
4 users (show)

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


Attachments
requested change to no longer default cairo and introspection use flags (harfbuzz_dont_default_cairo_and_introspection.patch,590 bytes, patch)
2021-07-11 02:23 UTC, A Schenck
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description A Schenck 2021-06-15 04:26:49 UTC
I enabled [libass] for ffmpeg because it would be nice to support subtitles.  This naturally pulled in media-libs/libass which further pulled in media-libs/harfbizz.  I was surprised that this wanted x11 things because I don't have X on this server.  My profile is simply default/linux/arm64/17.0, no desktop or anything.

Reproducible: Always

Steps to Reproduce:
1. Install base gentoo with profile default/linux/arm64/17.0 and ACCEPT_KEYWORDS=~arm64
2. echo "media-video/ffmpeg libass" >> /etc/portage/package.use/package.use
3. emerge -atv ffmpeg
Actual Results:  
It pulls in x11-libs/cairo

Expected Results:  
A bunch of libs but not X11

rockpro64 ~ # emerge --info
Portage 3.0.19 (python 3.8.10-final-0, default/linux/arm64/17.0, gcc-11.1.0, glibc-2.33, 5.6.0-1137-ayufan-ge57f05e7bf8f aarch64)
=================================================================
System uname: Linux-5.6.0-1137-ayufan-ge57f05e7bf8f-aarch64-with-glibc2.17
KiB Mem:     3884724 total,    304928 free
KiB Swap:    8388600 total,   5959368 free
Timestamp of repository gentoo: Mon, 31 May 2021 03:30:01 +0000
Head commit of repository gentoo: 3ddcf2b4b150428a092fc9132e6b450703298dca
sh bash 5.1_p8
ld GNU ld (Gentoo 2.35.2 p1) 2.35.2
app-shells/bash:          5.1_p8::gentoo
dev-lang/perl:            5.34.0::gentoo
dev-lang/python:          3.8.10_p1::gentoo, 3.9.5_p1::gentoo, 3.10.0_beta1::gentoo
dev-util/cmake:           3.20.3::gentoo
sys-apps/baselayout:      2.7-r2::gentoo
sys-apps/openrc:          0.43.3::gentoo
sys-apps/sandbox:         2.24::gentoo
sys-devel/autoconf:       2.69-r5::gentoo, 2.71::gentoo
sys-devel/automake:       1.16.3-r1::gentoo
sys-devel/binutils:       2.35.2::gentoo, 2.36.1-r1::gentoo
sys-devel/gcc:            10.2.0-r5::gentoo, 11.1.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.12::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33::gentoo
Repositories:

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

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

flow
    location: /var/lib/layman/flow
    masters: gentoo
    priority: 50

gitlab
    location: /var/lib/layman/gitlab
    masters: gentoo
    priority: 50

nest
    location: /var/lib/layman/nest
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="arm64 ~arm64"
ACCEPT_LICENSE="@FREE"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.3/ext-active/ /etc/php/apache2-php7.4/ext-active/ /etc/php/apache2-php8.0/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cgi-php8.0/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/php/cli-php8.0/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/mnt/raid/portage/distfiles/"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH 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="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance 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 qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/var/cache/binpkgs"
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="/mnt/raid/var/tmp/"
USE="acl arm64 berkdb bzip2 cli crypt custom-cflags dri fortran gdbm iconv ipv6 libglvnd libtirpc mysql ncurses nls nptl openmp pam pcre postgres readline ruby seccomp split-usr ssl system-zlib tcpd unicode vim-syntax xattr zlib" ADA_TARGET="gnat_2018" 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="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 v4 v5 v6 v7 v8 thumb2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8" RUBY_TARGETS="ruby27" USERLAND="GNU" VIDEO_CARDS="fbdev dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 1 A Schenck 2021-06-15 04:32:08 UTC
rockpro64 ~ # grep cairo -r /var/db/repos/gentoo/profiles/
[snip]
/var/db/repos/gentoo/profiles/targets/desktop/make.defaults:USE="a52 aac acpi alsa bluetooth branding cairo cdda cdr cups dbus dri dts dvd dvdr elogind emboss encode exif flac gif gpm gtk gui icu jpeg lcms libnotify mad mng mp3 mp4 mpeg ogg opengl pango pdf png policykit ppds qt5 sdl spell startup-notification svg tiff truetype vorbis udev udisks unicode upower usb wxwidgets X xcb x264 xml xv xvid"
rockpro64 ~ # grep introspection -r /var/db/repos/gentoo/profiles/
[snip]
/var/db/repos/gentoo/profiles/targets/desktop/gnome/make.defaults:USE="colord eds evo gnome gnome-keyring gnome-online-accounts gstreamer introspection libsecret nautilus networkmanager pulseaudio sysprof tracker wayland"
[snip]
Comment 2 Bernd 2021-06-15 12:18:49 UTC
Thanks for your report.
In order to properly process the issue, we need the full build log attached.
Feel free, to re-open the issue again, by setting the status to UNCONFIRMED.

Additional info:
The cairo USE flag is enabled by default in media-libs/harfbuzz.
Please unset it for the package and try if this solves the issue.
Comment 3 A Schenck 2021-06-15 17:42:32 UTC
(In reply to Bernd from comment #2)
> Thanks for your report.
> In order to properly process the issue, we need the full build log attached.
> Feel free, to re-open the issue again, by setting the status to UNCONFIRMED.
> 
> Additional info:
> The cairo USE flag is enabled by default in media-libs/harfbuzz.
> Please unset it for the package and try if this solves the issue.

I did override default cairo and introspections use flags in package.use and emerge.  I'm requesting that this shouldn't be necessary on a headless server profile.  The various desktop profiles already enable these use flags where they are appropriate.
Comment 4 Mike Gilbert gentoo-dev 2021-06-15 19:04:15 UTC
cairo is a vector graphics library. It really isn't an "X11" library, despite its category. It is useful even when you are not rendering output to an X11 display.

I don't really think there is anything to fix here.
Comment 5 Matt Turner gentoo-dev 2021-06-16 04:44:31 UTC
(In reply to A Schenck from comment #3)
> (In reply to Bernd from comment #2)
> > Thanks for your report.
> > In order to properly process the issue, we need the full build log attached.
> > Feel free, to re-open the issue again, by setting the status to UNCONFIRMED.
> > 
> > Additional info:
> > The cairo USE flag is enabled by default in media-libs/harfbuzz.
> > Please unset it for the package and try if this solves the issue.
> 
> I did override default cairo and introspections use flags in package.use and
> emerge.  I'm requesting that this shouldn't be necessary on a headless
> server profile.  The various desktop profiles already enable these use flags
> where they are appropriate.

I don't even understand what packages it's pulled in that you don't want.

cairo has a USE=X flag. Presumably it's off for you, so you shouldn't be getting any libX* packages.

Is cairo itself the problem? If so...
Comment 6 A Schenck 2021-07-11 01:35:10 UTC
(In reply to Matt Turner from comment #5)
> (In reply to A Schenck from comment #3)
> > (In reply to Bernd from comment #2)
> > > Thanks for your report.
> > > In order to properly process the issue, we need the full build log attached.
> > > Feel free, to re-open the issue again, by setting the status to UNCONFIRMED.
> > > 
> > > Additional info:
> > > The cairo USE flag is enabled by default in media-libs/harfbuzz.
> > > Please unset it for the package and try if this solves the issue.
> > 
> > I did override default cairo and introspections use flags in package.use and
> > emerge.  I'm requesting that this shouldn't be necessary on a headless
> > server profile.  The various desktop profiles already enable these use flags
> > where they are appropriate.
> 
> I don't even understand what packages it's pulled in that you don't want.
> 
> cairo has a USE=X flag. Presumably it's off for you, so you shouldn't be
> getting any libX* packages.
> 
> Is cairo itself the problem? If so...

Ack!  Been away for a while.  My apologies.

I was alarmed at seeing 'x11-libs' in the emerge pretend output because this system doesn't have X.  If cairo isn't actually an X library then ideally it would be in media-libs or media-gfx but I understand that a pkgmove is a big deal for such a common dependency.

I have overridden them in package.use, but I would prefer if the cairo and introspection USE flags were _not_ defaulted to on, particularly since those USE flags are enabled in the profiles that they apply to.
Comment 7 A Schenck 2021-07-11 02:23:01 UTC
Created attachment 723199 [details, diff]
requested change to no longer default cairo and introspection use flags

Basically this patch was my request.