$SUBJ. Нужно для использования в качестве примера.
У меня, даже до того как gentoo окончательно померла, в make.conf никогда ничего осмысленного и полезного не было потому что всё и так уже давно было запихнуто в make.defaults в самодельном профиле.
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-march=core2 -O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="bindist mmx sse sse2 gtk pango X ncurces glib svg xcb alsa jpg acpi infinality xscreensaver fontconfig ssse3 sse3 vdpau v4l drm opengl osmesa vaapi intel openrc
-java -systemd -qt -kde -webkit -pulseaudio -startup-notification -avahi -video_cards_radeon -video_cards_nouveau -video_cards_r128' -appmenu -nouveau -ati -r128 -vba -gconf"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/"
GRUB_PLATFORMS="pc"
FEATURES="parallel-fetch ccache -sandbox"
# PORTDIR_OVERLAY="/portage/00port/"
source /var/lib/layman/make.conf
CCACHE_SIZE="2G"
С таким march можно не указывать вот это: -msse -msse2 -msse3 -mssse3 -msse4.1
MAKEOPTS="-j8"
7 ядер? Обычно jX = кол-во ядер (не ht) +1
B USE очень много всего, и вероятно лишнего. Я думаю правильней выбрать профиль, а во время установки программы включение/отключение юзов фиксировать в package.use
Если в package.use поголовно встречается, например, vdpau, тогда имеет смысл перенести этот юз в make.conf.
Почему? Например, не везде нужна поддержка «X», если используется какой-нибудь xarchiver\fileroller для thunar, то 7zip не нужен собственный GUI.
Ещё пример, если используется блоб нвидии, то cairo c флагом opengl жрет много памяти и этот флаг нужно выключить, а он у тебя в глобале :)
После всего что произошло с моим железом и учитывая что все свои сроки оно уже отработало в сухом остатке на нем просто нет смысла опять браться за gentoo. Как будут дела развиваться дальше я и сам не знаю так что пока что я рад хотя бы этому…
В make.conf зеркало, архитектура, CFLAGS и MAKEOPTS. + source layman-make.conf В /etc/portage/package.{mask,unmask,keywords,use,env}/<package-name> всякие разные флаги/маски разложены по полочкам.
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
_MEDIA="mmx sse sse2 sse3 ss34a 3dnow 3dnowext mmxext osmesa mp3 v4l x264 xvid xa jpeg png aac alsa libass cairo opengl openvg svg pdf gstreamer ffmpeg"
_GUI="X gtk -qt4 -gtk3 xcb xlib-xcb -infinality "
_SYSTEM="python dbus"
USE="${_MEDIA} ${_GUI} ${_SYSTEM}"
VIDEO_CARDS="fglrx"
INPUT_DEVICES="evdev"
LINGUAS="ru"
MAKEOPTS="-j7"
FEATURES="parallel-fetch"
ACCEPT_KEYWORDS="~amd64"
EMERGE_DEFAULT_OPTS="--ask --verbose --jobs"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
Если нужен пакет без гтк3 и нет альтернатив, можно добавить поправленный ебилд в локальный оверлей (только в этом случае придется следить за его обновлением в дереве). А маскировка только сделает установку программ, требующих гтк3, невозможной.
$ cat /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=native -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
GENTOO_MIRRORS="http://linux.nsu.ru/gentoo-distfiles/"
USE="smp mmx mmxext sse sse2 sse3 sse4_1 ssse3 cpudetection threads minimal vdpau -bindist -cups -debug -doc -fortran -gnome -gpm -gstreamer -gtk -http -introspection -ipv6 -java -joystick -kde -ldap -perl -pcre -themes -qt -qt3support -qt4 -xv"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
MAKEOPTS="-j3 --quiet"
VIDEO_CARDS="nvidia"
ALSA_CARDS="snd-hda-intel"
LINGUAS="ru en"
ACCEPT_KEYWORDS="~x86"
ACCEPT_LICENSE="*"
source /var/lib/layman/make.conf
EMERGE_DEFAULT_OPTS="--deep --ask --verbose --newuse --with-bdeps=y --quiet-build=y"
PORTAGE_NICENESS=19
PORTAGE_IONICE_COMMAND="ionice -c3 -p \${PID}"
FAETURES="nodoc noinfo"
Хм, новые юзы? Пересобрал cairo с O3 и lto без mesa backend, спасибо. Может, graphite включить для него? Вроде у cairo никогда проблем небыло с волшебными флагами gcc.
sys-devel/gcc должен быть собран с юзом graphite. Из волшебства есть ещё pgo, но точно не взлетит если просто добавить CFLAGS.
//собираю так только cairo, icu и прочие, они официально рекомендуют O3 и lto.
В FF проблема, если собрать его с system-cairo, на некоторых порн сайтах мерцает флеш. Для теста включил этот xlib-xcb у cairo, но FF ещё не пересобрал что бы проверить помогло или нет.