├── .gitattributes ├── .gitignore ├── backups └── systemd-units │ ├── pipewire-pulse.service │ ├── pipewire.service │ ├── pulseaudio.service │ └── wireplumber.service ├── bashrc ├── compiler-wrapper ├── clang++-gnu11 ├── clang-c++11 ├── clang-cpp-gnu99 ├── clang-filter-opts ├── clang-filter-opts++ ├── clang-gnu11 ├── clang-gnu99 ├── libatomic-clang ├── libatomic-clang++ ├── rust-clang └── rust-clang++ ├── env ├── Wno-error.conf ├── allow-undefined-version.conf ├── app-containers │ ├── docker │ └── docker-cli ├── app-emulation │ ├── anbox-modules │ └── vmware-modules ├── c++11-force.conf ├── c++11.conf ├── c++17.conf ├── chost.conf ├── clang-filter-opts.conf ├── clang-lto.conf ├── clang.conf ├── define-linux.conf ├── dev-lang │ ├── fpc │ ├── go │ ├── rust-bin │ └── spidermonkey ├── dev-qt │ └── qtlocation ├── dev-util │ ├── ostree │ └── pkgconf ├── enable-man.conf ├── ffmpeg.conf ├── fpic.conf ├── fpie.conf ├── gfortran.conf ├── glibc-static-helper.conf ├── gnu-gcc-gold.conf ├── gnu-gcc.conf ├── gnu-ld-bfd.conf ├── gnu-ld.conf ├── gnu-ldO-bfd.conf ├── gnu-ldO.conf ├── gnu-ldS-bfd.conf ├── gnu-ldS.conf ├── gnu-source-light.conf ├── gnu-source.conf ├── go-posix-no-gnu.conf ├── go-posix.conf ├── j1.conf ├── j2.conf ├── j6.conf ├── ld-fix-libs.conf ├── ld-force-lib64.conf ├── ld-no-gnu.conf ├── libatomic-clang.conf ├── libdl.conf ├── libgcc_s.conf ├── libunwind.conf ├── lld-text-relocations.conf ├── lldb-tuning.conf ├── media-fonts │ └── x11fonts-jmk ├── media-video │ └── v4l2loopback ├── net-misc │ └── x11-ssh-askpass ├── no-c++11-narrowing-error.conf ├── no-lto.conf ├── no-optimizations.conf ├── nostrip.conf ├── online-sandbox.conf ├── plasma-applet-window-appmenu.conf ├── remove-flags.conf ├── rust-clang.conf ├── rust-libs.conf ├── splitdebug.conf ├── srcinstall.conf ├── static-gnu-runtime.conf ├── std-gnu11.conf ├── std-gnu17.conf ├── std-gnu99.conf ├── stdc-constant-macros.conf ├── strict-ansi.conf ├── sys-devel │ ├── clang │ └── llvm ├── sys-kernel │ └── linux-headers ├── sys-libs │ └── glibc ├── sys-power │ └── bbswitch ├── test │ └── test ├── undef-cpp.conf ├── undef-strings.conf ├── undef-strip.conf ├── www-client │ └── librewolf └── x11-drivers │ └── nvidia-drivers ├── git-commit ├── hooks ├── app-accessibility │ ├── orca │ └── orca.hook ├── app-antivirus │ ├── clamav │ └── clamav.hook ├── app-arch │ ├── tar │ └── tar.hook ├── app-editors │ ├── vscode │ ├── vscode.hook │ ├── vscodium │ ├── vscodium.hook │ └── vscodium.py ├── app-emulation │ ├── vmware-workstation │ ├── vmware-workstation.hook │ ├── wine-desktop-common │ ├── wine-desktop-common.hook │ ├── wine-staging │ ├── wine-staging.hook │ ├── wine-vanilla │ ├── wine-vanilla.hook │ ├── winetricks │ └── winetricks.hook ├── app-eselect │ ├── eselect-wine │ └── eselect-wine.hook ├── app-office │ ├── freeoffice │ └── freeoffice.hook ├── app-text │ ├── opensp │ └── opensp.hook ├── dev-cpp │ ├── libcutl │ ├── libcutl.hook │ ├── libxsd-frontend │ └── libxsd-frontend.hook ├── dev-db │ ├── mariadb │ └── mariadb.hook ├── dev-lang │ ├── rust │ └── rust.hook ├── dev-libs │ ├── openssl │ └── openssl.hook ├── dev-python │ ├── pycparser │ ├── pycparser.hook │ ├── wxpython │ └── wxpython.hook ├── dev-ruby │ ├── rubygems │ └── rubygems.hook ├── dev-util │ ├── lldb │ └── lldb.hook ├── functions │ ├── check-env.sh │ ├── delete-vcs.sh │ └── desktop-utils.sh ├── games-util │ ├── steam-launcher │ └── steam-launcher.hook ├── gnome-base │ ├── gnome-keyring │ └── gnome-keyring.hook ├── kde-apps │ ├── gwenview │ ├── gwenview.hook │ ├── kdepim-runtime │ ├── kdepim-runtime.hook │ ├── kipi-plugins │ ├── kipi-plugins.hook │ ├── korganizer │ └── korganizer.hook ├── kde-frameworks │ ├── baloo │ ├── baloo.hook │ ├── kio │ ├── kio.hook │ ├── purpose │ └── purpose.hook ├── kde-misc │ ├── kdeconnect │ └── kdeconnect.hook ├── kde-plasma │ ├── plasma-desktop │ ├── plasma-desktop.hook │ ├── systemsettings │ └── systemsettings.hook ├── media-libs │ ├── amdgpu-pro-vulkan │ ├── amdgpu-pro-vulkan.hook │ ├── libmng │ ├── libmng.hook │ ├── mesa │ └── mesa.hook ├── media-sound │ ├── alsa-tools │ └── alsa-tools.hook ├── media-video │ ├── mediainfo │ ├── mediainfo.hook │ ├── mpv │ ├── mpv.hook │ ├── pipewire │ ├── pipewire.hook │ ├── svp │ ├── svp.hook │ ├── vlc │ └── vlc.hook ├── net-dns │ ├── avahi │ ├── avahi.hook │ ├── pihole │ ├── pihole-admin │ ├── pihole-admin.hook │ └── pihole.hook ├── net-im │ ├── coturn │ ├── coturn.hook │ ├── discord │ ├── discord.hook │ ├── riot-desktop │ ├── riot-desktop.hook │ ├── zoom │ └── zoom.hook ├── net-misc │ ├── networkmanager │ ├── networkmanager.hook │ ├── x11-ssh-askpass │ └── x11-ssh-askpass.hook ├── net-proxy │ ├── files │ │ └── privoxy.service │ ├── privoxy │ └── privoxy.hook ├── patches │ ├── app-editors │ │ └── vscodium │ │ │ ├── custom.css │ │ │ ├── custom.css.v1 │ │ │ ├── custom.js │ │ │ ├── gnu-runtime-libs.patch │ │ │ ├── vscode-gnu-runtime-libs.patch │ │ │ ├── vscode-use-dgpu-for-rendering.patch │ │ │ ├── vscode-use-kde-file-dialogs.patch │ │ │ └── workbench-custom-css.patch │ ├── app-eselect │ │ └── eselect-wine │ │ │ └── remove-desktop-support.diff │ ├── dev-lang │ │ └── rust │ │ │ ├── fix-config-toml-multilib.patch │ │ │ └── fix-config-toml.patch │ ├── dev-util │ │ └── lldb │ │ │ └── fix-cmake-configure-error.patch │ ├── media-libs │ │ └── libmng │ │ │ └── compiler.patch │ ├── net-dns │ │ └── pihole-admin │ │ │ ├── boxed-bg.jpg │ │ │ ├── caddy-routing-fix.patch │ │ │ ├── customizations.patch │ │ │ ├── gravity-db-custom-ownership.patch │ │ │ └── tidy-up-admin-interface.patch │ ├── net-im │ │ ├── discord-bin │ │ │ └── discord.sh │ │ ├── riot-desktop │ │ │ ├── custom.css │ │ │ └── no-markdown-font-important.patch │ │ └── zoom │ │ │ └── zoom.sh │ ├── sys-apps │ │ └── bat │ │ │ ├── libgit2-missing-gnu-extensions.patch │ │ │ └── sys-info-missing-gnu-extensions.patch │ ├── sys-devel │ │ └── clang │ │ │ ├── README.md │ │ │ ├── change-platform-defaults.patch │ │ │ ├── clangd │ │ │ └── clangd-semantic-token-type-inactive-code.patch │ │ │ ├── default-debugger-tuning-lldb.patch │ │ │ ├── force-language-standard.patch │ │ │ ├── no-unused-warning-on-linker-overwrite.patch │ │ │ └── switch-default-linker-to-lld.patch │ ├── www-client │ │ ├── brave-bin │ │ │ └── brave.sh │ │ └── vivaldi │ │ │ ├── gnu-runtime-libs.patch │ │ │ └── vivaldi-stable.sh │ └── x11-misc │ │ └── primus │ │ └── primusrun-gentoo-nvidia-fix.patch ├── portage-hook-ctrl ├── sys-apps │ ├── bat │ ├── bat.hook │ ├── firejail │ ├── firejail.hook │ ├── systemd │ └── systemd.hook ├── sys-devel │ ├── clang │ ├── clang.hook │ ├── gnuconfig │ ├── gnuconfig.hook │ ├── lld │ ├── lld.hook │ ├── llvm │ └── llvm.hook ├── sys-libs │ ├── compiler-rt │ ├── compiler-rt-sanitizers │ ├── compiler-rt-sanitizers.hook │ ├── compiler-rt.hook │ ├── libcxx │ ├── libcxx.hook │ ├── libcxxabi │ ├── libcxxabi.hook │ ├── llvm-libunwind │ └── llvm-libunwind.hook ├── sys-process │ ├── htop │ └── htop.hook ├── test │ ├── test │ └── test.hook ├── www-client │ ├── brave-bin │ ├── brave-bin.hook │ ├── falkon │ ├── falkon.hook │ ├── ungoogled-chromium-bin │ ├── ungoogled-chromium-bin.hook │ ├── vivaldi │ └── vivaldi.hook ├── x11-drivers │ ├── nvidia-drivers │ └── nvidia-drivers.hook ├── x11-misc │ ├── alltray │ ├── alltray.hook │ ├── compton │ ├── compton.hook │ ├── picom │ ├── picom.hook │ ├── primus │ └── primus.hook └── x11-terms │ ├── xterm │ └── xterm.hook ├── kernel-modules ├── make.conf ├── make.profile ├── package.accept_keywords ├── kde ├── other └── stable ├── package.env ├── _uncategorized ├── dev-lang ├── dracut ├── feature-flags ├── glibc-static ├── gnu-extensions ├── go ├── gstreamer ├── kernel ├── lldb-tuning ├── online-sandbox ├── portage ├── rust ├── rust-libs ├── toolchain ├── undefined-version ├── world └── x11 ├── package.mask ├── blacklist ├── bricked ├── dev-lang ├── repositories ├── sys-boot └── tmp ├── package.unmask ├── package.use ├── 32bit-support ├── app-accessibility ├── app-admin ├── app-antivirus ├── app-arch ├── app-backup ├── app-crypt ├── app-dicts ├── app-doc ├── app-editors ├── app-emulation ├── app-eselect ├── app-i18n ├── app-laptop ├── app-misc ├── app-office ├── app-pda ├── app-shells ├── app-text ├── dev-cpp ├── dev-db ├── dev-games ├── dev-lang ├── dev-libs ├── dev-perl ├── dev-php ├── dev-python ├── dev-qt ├── dev-ruby ├── dev-tcltk ├── dev-util ├── dev-vcs ├── fcitx ├── games-action ├── games-emulation ├── games-util ├── gnome-base ├── gui-apps ├── gui-libs ├── gui-wm ├── kde ├── llvm ├── media-fonts ├── media-gfx ├── media-libs ├── media-plugins ├── media-sound ├── media-tv ├── media-video ├── net-analyzer ├── net-dialup ├── net-dns ├── net-firewall ├── net-fs ├── net-libs ├── net-misc ├── net-p2p ├── net-print ├── net-proxy ├── net-voip ├── net-wireless ├── portage ├── postfix ├── sci-libs ├── static-libs ├── sys-apps ├── sys-auth ├── sys-block ├── sys-boot ├── sys-devel ├── sys-firmware ├── sys-fs ├── sys-kernel ├── sys-libs ├── sys-process ├── virtual ├── world ├── www-client ├── www-servers ├── x11-apps ├── x11-base ├── x11-drivers ├── x11-libs ├── x11-misc └── x11-terms ├── patchelf.list ├── patches ├── alloca.h ├── app-admin │ └── doas │ │ └── disable-syslog.patch ├── app-arch │ └── unzip │ │ ├── README.md │ │ └── fix-llvm-toolchain-compile.patch ├── app-containers │ ├── podman │ │ └── remove-werror.patch │ └── runc │ │ └── compilation-fix.patch ├── app-crypt │ └── heimdal │ │ └── pthread-link-fix.patch ├── app-editors │ └── kile │ │ └── remove-user-menu.patch ├── app-emulation │ ├── lxd │ │ └── clang-fix.patch │ ├── playonlinux │ │ ├── dont-check-for-wine-installation.patch │ │ └── replace-gcc-with-clang.patch │ ├── spice │ │ └── fix-missing-gnu-extensions.patch │ └── vmware-modules │ │ └── vmmon-kernel-5.3.patch.disabled ├── app-i18n │ └── fcitx:4 │ │ └── gettext-fix-missing-symbol-error.patch ├── app-shells │ ├── fish │ │ └── emerge-absolute-path.patch │ └── gentoo-bashcomp │ │ └── emerge-absolute-path.patch ├── app-text │ └── opensp │ │ └── register-storage-type-fix.patch ├── dev-build │ ├── cmake │ │ ├── change-global-default-generator-to-ninja.patch │ │ ├── ninja-compile-commands-output-location.patch │ │ └── ninja-compile-commands-output-location.patch.v1 │ └── ninja │ │ └── disable-truncation.patch ├── dev-cpp │ └── clucene │ │ └── fix-compile.patch ├── dev-db │ └── soci │ │ └── my_bool-fix.patch ├── dev-lang │ ├── fpc │ │ ├── PATCHES.md │ │ ├── fix-llvm-lld.patch │ │ ├── ld │ │ └── remove-gnu-abi-tag.patch │ ├── go │ │ ├── llvm-userland-fixes-1.patch │ │ └── llvm-userland-fixes-2.patch │ ├── luajit │ │ └── libunwind-link.patch │ ├── nim │ │ ├── linenoise-gnu-source.patch │ │ ├── nimble-libdl.patch │ │ ├── testament-libdl.patch │ │ └── tools-nimgrep-libdl.patch │ └── spidermonkey │ │ └── fix-rust-nonsense.patch ├── dev-libs │ ├── jansson │ │ ├── automake-no-default-symver.patch │ │ └── cmake-no-default-symver.patch │ ├── libffi │ │ ├── README.md │ │ └── sysv-fix-clang11-section-flag-error.patch │ ├── libgcrypt │ │ └── disable-building-tests.patch │ ├── libksba │ │ └── inject-gnu-source-macro.patch │ ├── liblinphone │ │ └── dont-treat-warnings-as-errors.patch │ └── xapian │ │ └── glass-fix.patch ├── dev-python │ ├── matplotlib │ │ └── tri-add-missing-std-flag.patch │ ├── pycparser │ │ └── dont-fail-on-doc-strings.patch │ └── wxpython │ │ └── add-missing-std-flag.patch ├── dev-qt │ ├── qtbluetooth │ │ └── fix-llvm-libc++-compile.patch │ ├── qtcore │ │ └── qfilesystemwatcher-remove-log-spam.patch │ ├── qtlocation:5 │ │ ├── README │ │ └── mapbox-gl-native-downgrade-c++-std.patch │ ├── qtspeech │ │ └── disable-speech-dispatcher.patch │ └── qtwebengine │ │ ├── 0002-Add-ffp-contract-off-to-compiler-flags.patch │ │ ├── 0100-Mark-RefCountedDeleteOnSequence-constructor-as-explicit.patch │ │ ├── 0101-Mark-scoped_refptr-with-clang-trivial_abi.patch │ │ ├── 0102-Mark-WeakPtr-with-TRIVIAL_ABI-attribute.patch │ │ ├── 0103-Optimize-WeakPtr-reference-access.patch │ │ ├── 0104-Add-fno-delete-null-pointer-checks-to-compiler-flags.patch │ │ ├── OpenMandrivaAssociation-qt5-qtwebengine-cfd17f1ecf4068ef84df2019e965518ae33ad5b2.patch │ │ ├── README.md │ │ ├── disable-crash-reporting.patch │ │ ├── disable-stack-tracing.patch │ │ └── remove-gnu-runtime-linkage.patch ├── dev-ruby │ ├── bundler │ │ └── disable-bundled-with-gen.patch │ ├── mecab-ruby │ │ └── use-c++11.patch │ └── rubygems │ │ ├── dont-abort-gem-loading-on-missing-extension.patch │ │ └── rubygems-operating-system-defaults.patch ├── dev-util │ ├── ccache │ │ └── llvm-libc++-filesystem-requires-pthread.patch │ ├── dub │ │ └── placement-location-local-default.patch │ └── rz-ghidra │ │ └── workaround-segfault-in-config.patch ├── dev-vcs │ └── git │ │ └── allow-empty-messages-by-default.patch ├── games-emulation │ ├── mupen64plus-core │ │ └── force-llvm-toolchain.patch │ └── ppsspp │ │ └── fix-private-operator-access.patch ├── games-util │ ├── antimicro │ │ └── fix-pointer-comparison.patch │ └── steam-launcher │ │ ├── custom-steam-package.patch │ │ └── steam.sh ├── gnome-base │ └── dconf │ │ └── disable-tests.patch ├── gui-wm │ └── gamescope │ │ └── include-missing-header.patch ├── kde-apps │ ├── dolphin │ │ ├── README.md │ │ ├── remove-placeholder-labels.patch │ │ ├── remove-trash.patch │ │ ├── revert-7f3967cf38f8ab707681981dd0bc6b220c3dbf83-hide-trash-mime.patch │ │ └── viewsettings-add-more-lines.patch │ ├── grantleetheme │ │ └── nuke-ugly-error-message.patch │ ├── kate-lib │ │ └── restore-old-behavior-open-new-window-on-dragdrop.patch │ ├── kdepim-runtime │ │ ├── auto-retry-and-stop-nagging-v2.patch │ │ └── remove-google.patch │ ├── kio-extras │ │ ├── disable-smbnotifier.patch │ │ └── smb-include-missing-headers.patch │ ├── kldap │ │ └── fix-segfault.patch │ ├── libgravatar │ │ ├── README.md │ │ └── remove-gravatar-malware.patch │ ├── libkgapi │ │ ├── README.md │ │ └── remove-google.patch │ ├── messagelib │ │ ├── remove-babysitting.patch │ │ └── remove-google-safebrowsing-v2.patch │ └── okular │ │ └── fix-segfault.patch ├── kde-frameworks │ ├── kholidays │ │ └── remove-religious-holidays-from-austria.patch │ ├── kio │ │ ├── README.md │ │ ├── disable-samba-error-messages.patch │ │ ├── force-disable-dgpu-support.patch │ │ └── remove-trash-handling.patch │ ├── knotifications │ │ └── fix-pulseaudio-system-mode-notification-sounds.patch │ ├── kservice │ │ └── revert-opening-kcms-in-systemsettings.patch │ ├── ktexteditor │ │ └── remember-auth-for-a-period-of-time.patch.disabled │ ├── networkmanager-qt │ │ └── add-missing-header.patch │ └── sonnet │ │ └── remove-missing-languages-warning.patch ├── kde-misc │ ├── bismuth │ │ └── 490.patch │ ├── material-decoration │ │ ├── remove-resize-handle.patch │ │ └── use-regular-style-for-close-button.patch │ └── plasma-applet-nvidia-prime-offload-status │ │ └── custom-prime-status-command.patch.disabled ├── kde-plasma │ ├── breeze │ │ ├── remove-size-grip.patch │ │ └── remove-size-grip.patch.old │ ├── kde-gtk-config │ │ └── remove-gtk2-support.patch │ ├── ksysguard │ │ └── disable-error-printing.patch │ ├── ksystemstats │ │ ├── 01-d42ab99437830c1c8aa1b6cd6a616d51fcd42916.patch.disabled │ │ ├── 02-00b1f21b0fe8164c4bcda9109e08bf7a69c0ce24.patch.disabled │ │ ├── 03-d58d03ecf14b1f879a982c9a431384a30033f230.patch.disabled │ │ ├── 4f7213e6e742b993feeaf300181a67923e60c0f4.patch.disabled │ │ └── README.md │ ├── kwin │ │ ├── 6424-kde5-backport.patch │ │ ├── 6424.patch.ref │ │ ├── README.md │ │ ├── disable-window-open-close-animation.patch │ │ └── remove-size-grip.patch │ ├── libkscreen │ │ └── allow-per-output-scaling-on-x11.patch │ ├── plasma-desktop │ │ ├── README.md │ │ ├── disable-panel-margins.patch │ │ ├── pager-always-show-minimized-windows.patch │ │ ├── revert-829501dd777966091ddcf94e5c5247aaa78ac832.patch │ │ └── taskmanager-always-show-all-places.patch │ └── plasma-workspace │ │ ├── 02-force-normal-notification-urgency.patch │ │ ├── allow-hidpi-scaling-by-qt.patch │ │ ├── ksmserver-increase-greeter-timeout.patch │ │ └── remove-panel-shadows.patch ├── media-libs │ ├── libpng:0 │ │ └── remove-console-log-spam.patch │ ├── mlt │ │ └── add-missing-std-flags.patch │ └── opencolorio │ │ └── fix-clang-compile.patch ├── media-sound │ ├── audacity │ │ └── remove-libatomic.patch │ ├── cantata │ │ └── reduce-notify-timeout.patch │ ├── fluidsynth │ │ └── dont-unset-compiler-customizations.patch │ ├── pavucontrol-qt │ │ └── improvements.patch │ ├── pulseaudio-15 │ │ ├── dont-annoy-about-system-mode.patch │ │ ├── fix-uninitialized-warnings.patch │ │ ├── ofono-remove-unrelated-error-message.patch │ │ └── system-mode-fix.patch │ ├── pulseeffects │ │ └── add-missing-headers.patch │ └── sonic-visualiser │ │ └── enable-global-menu-bar.patch ├── media-tv │ └── kodi │ │ ├── README.md │ │ ├── always-show-os-mouse.patch │ │ ├── always-show-os-mouse.patch.old │ │ ├── assets │ │ ├── Pointer.xml │ │ ├── breeze.png │ │ └── pointer_1x1.png │ │ └── hide-kodi-cursor.patch ├── media-video │ ├── jellyfin-media-player │ │ ├── force-hwdec-to-vaapi.patch │ │ └── mpv-breaking-change-loadfile-command.patch │ ├── mpv │ │ └── mkv-never-select-default-subtitles.patch │ ├── obs-studio │ │ └── deps-libcaption-add-missing-headers.patch │ └── subtitlecomposer │ │ └── add-missing-header.patch ├── net-dns │ ├── pihole-admin │ │ └── customizations.patch │ └── pihole │ │ ├── README.md │ │ ├── allow-multiple-instances.patch │ │ └── custom-config-path.patch ├── net-libs │ └── nodejs │ │ ├── 01-llvm-clang-remove-non-needed-libatomic.patch │ │ ├── 02-deps-cares-remove-non-needed-libgcc.patch │ │ ├── 90-npm-allow-node_modules-to-be-a-symlink-to-a-directory.patch │ │ └── README.md ├── net-misc │ ├── freerdp:2 │ │ └── 3700ccbfc8a781dda34f9ba3710a467e3e2c1102-remove-trailing-NUL-from-clipboard-data.patch │ ├── nextcloud-client │ │ └── disable-oxygen-doesnt-work-with-llvm-10-cmake-for-now.patch │ ├── streamlink │ │ └── fix-useragent-operating-system.patch │ └── x11-ssh-askpass │ │ └── use-correct-compiler.patch ├── net-print │ └── libcupsfilters │ │ └── use-correct-std-version.patch ├── net-voip │ └── linphone-desktop │ │ └── remove-invite-button.patch ├── sys-apps │ ├── coreutils │ │ └── llvm-linux.patch │ ├── flatpak │ │ ├── SSL_SAD.md │ │ ├── fix-ssl-not-working.patch │ │ └── remove-warning-about-xdg-paths.patch │ ├── groff │ │ └── fix.patch │ ├── gsmartcontrol │ │ ├── README.md │ │ └── llvm-libc++-compatibility.patch │ ├── pkgcore │ │ └── fix-profile-path.patch │ ├── portage │ │ ├── clang-is-the-default-system-compiler.patch │ │ ├── estrip-support-for-llvm-strip.patch │ │ ├── remove-some-output-noise.patch │ │ └── toolchain-info-pkgs.patch │ ├── systemd │ │ └── efi-boot-use-lld.patch │ └── tcp-wrappers │ │ └── remove-misplaced-strings-decl.patch ├── sys-auth │ └── libfprint │ │ ├── 01-add-goodix-27c6:60c2.patch │ │ └── README.md ├── sys-block │ └── parted │ │ └── fix-linker-error-libuuid.patch ├── sys-devel │ ├── crossdev │ │ ├── README │ │ └── crossdev-llvm.patch │ └── gnuconfig │ │ ├── README.md │ │ ├── config.guess │ │ └── config.sub ├── sys-fs │ └── diskdev_cmds │ │ └── use-clang.patch ├── sys-libs │ ├── libcxx │ │ └── 7a073e3b20-fix-time-formatters.patch │ └── pam │ │ └── disable-session-logging.patch ├── www-client │ └── librewolf │ │ └── cargo-linker-use-llvm-libs.patch ├── x11-drivers │ └── nvidia-drivers │ │ └── 99glvnd-custom └── x11-misc │ ├── albert │ ├── calc-force-off-separators.patch │ ├── minimal-applications-plugin.patch │ └── remove-unused-plugins.patch │ ├── bumblebee │ └── libglvnd.patch │ ├── imake │ └── fix-llvm-toolchain-compat.patch │ └── mangohud │ └── seperate-configs-per-gpu.patch.disabled ├── postsync.d └── 50-eix-postsync ├── profile ├── eapi ├── package.unmask ├── package.use ├── package.use.force ├── package.use.mask ├── packages └── parent ├── repos.conf ├── default.conf ├── eselect-repo.conf ├── flatpak.conf ├── gentoo.conf ├── layman.conf ├── librewolf.conf ├── localrepo.conf ├── nvidia-docker.conf ├── steam-overlay.conf └── stubs.conf ├── savedconfig ├── app-shells │ └── fzy-1.0-r1 ├── net-wireless │ └── hostapd-2.10-r3 ├── sys-apps │ └── busybox-1.36.1-r3 ├── sys-firmware │ └── ipxe-1.21.1 ├── sys-kernel │ └── linux-firmware-20240220-r2 └── x11-misc │ └── dmenu-5.3 ├── toolchain-update.md └── unittests ├── atomic └── atomic.cpp ├── dlang ├── betterC.d ├── env.d ├── hello.d └── shared.d ├── macro-tests ├── macros.c └── macros.cpp ├── musl-clang-test ├── test.c └── test.cpp ├── rust-test └── test.rs ├── tests ├── toolchain-test ├── a │ ├── init.cpp │ └── main.cpp ├── consteval.cpp ├── coroutine.cpp ├── loc.cpp ├── nostdlib.cpp ├── possible-compiler-crash-1.cpp ├── stdtest.cpp ├── test.cpp ├── test1.cpp └── testdebugger.cpp └── verify-toolchain /.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-vendored 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # patches which are way too opinionated and/or may violate several license terms 2 | private-*.patch 3 | private-*.patch-* 4 | -------------------------------------------------------------------------------- /backups/systemd-units/pipewire-pulse.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=PipeWire Multimedia Service (Pulse) 3 | Requires=pipewire.socket 4 | After=pipewire.service 5 | 6 | [Service] 7 | LockPersonality=yes 8 | MemoryDenyWriteExecute=yes 9 | NoNewPrivileges=yes 10 | RestrictNamespaces=yes 11 | SystemCallArchitectures=native 12 | SystemCallFilter=@system-service 13 | Type=simple 14 | AmbientCapabilities=CAP_SYS_NICE 15 | ExecStart=/usr/bin/pipewire-pulse 16 | Restart=on-failure 17 | RuntimeDirectory=pipewire 18 | RuntimeDirectoryPreserve=yes 19 | User=pipewire 20 | Environment=PIPEWIRE_RUNTIME_DIR=%t/pipewire 21 | Environment=PULSE_RUNTIME_PATH=%t/pipewire 22 | 23 | [Install] 24 | Also=pipewire.socket 25 | WantedBy=default.target 26 | -------------------------------------------------------------------------------- /backups/systemd-units/pulseaudio.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=PulseAudio Daemon 3 | 4 | [Install] 5 | WantedBy=multi-user.target 6 | 7 | [Service] 8 | Type=simple 9 | PrivateTmp=false 10 | ExecStart=/usr/bin/pulseaudio --system --disallow-exit 11 | Environment="LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH" 12 | -------------------------------------------------------------------------------- /backups/systemd-units/wireplumber.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Multimedia Service Session Manager 3 | After=pipewire.service 4 | BindsTo=pipewire.service 5 | Conflicts=pipewire-media-session.service 6 | 7 | [Service] 8 | LockPersonality=yes 9 | MemoryDenyWriteExecute=yes 10 | NoNewPrivileges=yes 11 | RestrictNamespaces=yes 12 | SystemCallArchitectures=native 13 | SystemCallFilter=@system-service 14 | Type=simple 15 | AmbientCapabilities=CAP_SYS_NICE 16 | ExecStart=/usr/bin/wireplumber 17 | Restart=on-failure 18 | User=pipewire 19 | Environment=PIPEWIRE_RUNTIME_DIR=%t/pipewire 20 | Environment=GIO_USE_VFS=local 21 | 22 | [Install] 23 | WantedBy=pipewire.service 24 | Alias=pipewire-session-manager.service 25 | -------------------------------------------------------------------------------- /compiler-wrapper/clang++-gnu11: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec clang++ -std=gnu++11 "$@" 3 | -------------------------------------------------------------------------------- /compiler-wrapper/clang-c++11: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec clang++ -std=c++11 "$@" 3 | -------------------------------------------------------------------------------- /compiler-wrapper/clang-cpp-gnu99: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec clang-cpp -std=gnu99 "$@" 3 | -------------------------------------------------------------------------------- /compiler-wrapper/clang-filter-opts: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CLANG="$(basename "$0")" 4 | args=() 5 | 6 | if [[ "$CLANG" == *"++" ]]; then 7 | REAL_CLANG=clang++ 8 | else 9 | REAL_CLANG=clang 10 | fi 11 | 12 | for x in "$@"; do 13 | if [[ "$x" == *"-Wl,--default-symver"* ]]; then 14 | : 15 | elif [[ "$x" == *"-fuse-ld=bfd"* ]]; then 16 | : 17 | elif [[ "$x" == *"-stdlib=libstdc++"* ]]; then 18 | : 19 | else 20 | args+=("$x") 21 | fi 22 | done 23 | 24 | exec "$REAL_CLANG" "${args[@]}" 25 | -------------------------------------------------------------------------------- /compiler-wrapper/clang-filter-opts++: -------------------------------------------------------------------------------- 1 | clang-filter-opts -------------------------------------------------------------------------------- /compiler-wrapper/clang-gnu11: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec clang -std=gnu11 "$@" 3 | -------------------------------------------------------------------------------- /compiler-wrapper/clang-gnu99: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | exec clang -std=gnu99 "$@" 3 | -------------------------------------------------------------------------------- /compiler-wrapper/libatomic-clang: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # wrapper around -latomic to use the absolute path to it 4 | # otherwise the library isn't found during linking 5 | 6 | CLANG="$(basename "$0")" 7 | args=() 8 | 9 | BITS=64 10 | for i in "$@"; do 11 | if [[ "$i" == "-m32" ]]; then 12 | BITS= 13 | fi 14 | done 15 | 16 | if [[ "$CLANG" == *"++" ]]; then 17 | REAL_CLANG=clang++ 18 | else 19 | REAL_CLANG=clang 20 | fi 21 | 22 | for x in "$@"; do 23 | if [[ "$x" == *"-latomic"* ]]; then 24 | #args+=("/usr/lib$BITS/libatomic.so.1") 25 | args+=("/sucks/gnu/lib$BITS/libatomic.a") 26 | else 27 | args+=("$x") 28 | fi 29 | done 30 | 31 | exec "$REAL_CLANG" "${args[@]}" 32 | -------------------------------------------------------------------------------- /compiler-wrapper/libatomic-clang++: -------------------------------------------------------------------------------- 1 | libatomic-clang -------------------------------------------------------------------------------- /compiler-wrapper/rust-clang: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ld="$(basename "$0")" 4 | args=() 5 | 6 | # replace GNU with LLVM 7 | for x in "$@"; do 8 | if [[ "$x" == *"-lstdc++"* ]]; then 9 | args+=("-lc++") 10 | elif [[ "$x" == *"-lgcc_s"* ]]; then 11 | args+=("-lunwind") 12 | else 13 | args+=("$x") 14 | fi 15 | done 16 | 17 | # invoice real clang with modified arguments 18 | exec "clang" -D_GNU_SOURCE "${args[@]}" 19 | -------------------------------------------------------------------------------- /compiler-wrapper/rust-clang++: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ld="$(basename "$0")" 4 | args=() 5 | 6 | # replace GNU with LLVM 7 | for x in "$@"; do 8 | if [[ "$x" == *"-lstdc++"* ]]; then 9 | args+=("-lc++") 10 | elif [[ "$x" == *"-lgcc_s"* ]]; then 11 | args+=("-lunwind") 12 | else 13 | args+=("$x") 14 | fi 15 | done 16 | 17 | # invoice real clang with modified arguments 18 | exec "clang++" -D_GNU_SOURCE "${args[@]}" 19 | -------------------------------------------------------------------------------- /env/Wno-error.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -Wno-error" 2 | CXXFLAGS="${CXXFLAGS} -Wno-error" 3 | -------------------------------------------------------------------------------- /env/allow-undefined-version.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -Wl,--undefined-version" 2 | CXXFLAGS="${CXXFLAGS} -Wl,--undefined-version" 3 | LDFLAGS="${LDFLAGS} -Wl,--undefined-version" 4 | -------------------------------------------------------------------------------- /env/app-containers/docker: -------------------------------------------------------------------------------- 1 | unset GOCACHE 2 | unset GOPATH 3 | -------------------------------------------------------------------------------- /env/app-containers/docker-cli: -------------------------------------------------------------------------------- 1 | unset GOCACHE 2 | unset GOPATH 3 | -------------------------------------------------------------------------------- /env/app-emulation/anbox-modules: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/app-emulation/vmware-modules: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/c++11-force.conf: -------------------------------------------------------------------------------- 1 | # enable explicit C++11 support for broken ebuilds or packages 2 | CXXFLAGS="${CXXFLAGS} -std=c++0x" 3 | CXX="/etc/portage/compiler-wrapper/clang-c++11" 4 | -------------------------------------------------------------------------------- /env/c++11.conf: -------------------------------------------------------------------------------- 1 | # enable explicit C++11 support for broken ebuilds or packages 2 | CXXFLAGS="${CXXFLAGS} -std=c++0x" 3 | -------------------------------------------------------------------------------- /env/c++17.conf: -------------------------------------------------------------------------------- 1 | # enable explicit C++17 support for broken ebuilds or packages 2 | CXXFLAGS="${CXXFLAGS} -std=c++1z" 3 | -------------------------------------------------------------------------------- /env/chost.conf: -------------------------------------------------------------------------------- 1 | CHOST="x86_64-pc-linux-unknown" 2 | CHOST_x86="i686-pc-linux-unknown" 3 | CHOST_amd64="x86_64-pc-linux-unknown" 4 | -------------------------------------------------------------------------------- /env/clang-filter-opts.conf: -------------------------------------------------------------------------------- 1 | CC="/etc/portage/compiler-wrapper/clang-filter-opts" 2 | CXX="/etc/portage/compiler-wrapper/clang-filter-opts++" 3 | -------------------------------------------------------------------------------- /env/clang-lto.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -flto" 2 | CXXFLAGS="${CXXFLAGS} -flto" 3 | -------------------------------------------------------------------------------- /env/clang.conf: -------------------------------------------------------------------------------- 1 | USE="clang -gcc" 2 | LD="ld.lld" 3 | CC="clang" 4 | CXX="clang++" 5 | CPP="clang-cpp" 6 | HOSTCC="clang" 7 | HOSTCXX="clang++" 8 | HOSTCPP="clang-cpp" 9 | BUILDCC="clang" 10 | BUILDCXX="clang++" 11 | HOST_CC="clang" 12 | HOST_CXX="clang++" 13 | HOST_CPP="clang-cpp" 14 | AR="llvm-ar" 15 | NM="llvm-nm" 16 | RANLIB="llvm-ranlib" 17 | OBJCOPY="llvm-objcopy" 18 | OBJDUMP="llvm-objdump" 19 | READELF="llvm-readelf" 20 | STRIP="llvm-strip" 21 | STRINGS="llvm-strings" 22 | ADDR2LINE="llvm-symbolizer" 23 | SIZE="llvm-size" 24 | -------------------------------------------------------------------------------- /env/define-linux.conf: -------------------------------------------------------------------------------- 1 | # fix for wrong os detection 2 | CFLAGS="${CFLAGS} -Dlinux" 3 | CXXFLAGS="${CXXFLAGS} -Dlinux" 4 | -------------------------------------------------------------------------------- /env/dev-lang/fpc: -------------------------------------------------------------------------------- 1 | #PATH="/sucks/gnu/bin:$PATH" 2 | 3 | # ld wrapper to fix stage 1 4 | PATH="/etc/portage/patches/dev-lang/fpc:$PATH" 5 | -------------------------------------------------------------------------------- /env/dev-lang/go: -------------------------------------------------------------------------------- 1 | unset GOCACHE 2 | unset GOPATH 3 | -------------------------------------------------------------------------------- /env/dev-lang/rust-bin: -------------------------------------------------------------------------------- 1 | CHOST="x86_64-unknown-linux-gnu" 2 | CBUILD="x86_64-unknown-linux-gnu" 3 | -------------------------------------------------------------------------------- /env/dev-lang/spidermonkey: -------------------------------------------------------------------------------- 1 | # rustc can't figure its own shit out :angry_face: 2 | CHOST="x86_64-unknown-linux-gnu" 3 | CBUILD="x86_64-unknown-linux-gnu" 4 | 5 | # x86_64-unknown-linux-gnu- 6 | PATH="/sucks/gnu/target-triplet-gnu:$PATH" 7 | LD_LIBRARY_PATH="/sucks/gnu/target-triplet-gnu:$LD_LIBRARY_PATH" 8 | -------------------------------------------------------------------------------- /env/dev-qt/qtlocation: -------------------------------------------------------------------------------- 1 | CXXFLAGS="${CXXFLAGS} -Wno-enum-constexpr-conversion" 2 | -------------------------------------------------------------------------------- /env/dev-util/ostree: -------------------------------------------------------------------------------- 1 | LDFLAGS="$LDFLAGS -lgpg-error" 2 | -------------------------------------------------------------------------------- /env/dev-util/pkgconf: -------------------------------------------------------------------------------- 1 | LDFLAGS="$LDFLAGS -lbsd" 2 | -------------------------------------------------------------------------------- /env/enable-man.conf: -------------------------------------------------------------------------------- 1 | FEATURES="${FEATURES} -noman" 2 | -------------------------------------------------------------------------------- /env/ffmpeg.conf: -------------------------------------------------------------------------------- 1 | # ffmpeg specific environment 2 | CPU_FLAGS_X86="aes avx avx2 mmx sse sse2 sse4_1 sse4_2 ssse3 sse3 fma3 fma4 mmxext sse3" 3 | -------------------------------------------------------------------------------- /env/fpic.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -fPIC" 2 | CXXFLAGS="${CXXFLAGS} -fPIC" 3 | FCFLAGS="${FCFLAGS} -fPIC" 4 | FFLAGS="${FFLAGS} -fPIC" 5 | -------------------------------------------------------------------------------- /env/fpie.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -fPIE" 2 | CXXFLAGS="${CXXFLAGS} -fPIE" 3 | FCFLAGS="${FCFLAGS} -fPIE" 4 | FFLAGS="${FFLAGS} -fPIE" 5 | -------------------------------------------------------------------------------- /env/gfortran.conf: -------------------------------------------------------------------------------- 1 | FC="/sucks/gnu/bin/gfortran" 2 | -------------------------------------------------------------------------------- /env/glibc-static-helper.conf: -------------------------------------------------------------------------------- 1 | # not multilib compatible!! 2 | CFLAGS="${CFLAGS} -Wl,--verbose -L/sucks/gnu/glibc-static/64" 3 | CXXFLAGS="${CXXFLAGS} -Wl,--verbose -L/sucks/gnu/glibc-static/64" 4 | -------------------------------------------------------------------------------- /env/gnu-gcc-gold.conf: -------------------------------------------------------------------------------- 1 | LD="/sucks/gnu/bin/ld.gold" 2 | -------------------------------------------------------------------------------- /env/gnu-gcc.conf: -------------------------------------------------------------------------------- 1 | # out of place installation of GCC (not tracked by Portage) 2 | PATH="/sucks/gnu/bin:$PATH" 3 | USE="-clang gcc" 4 | LD="/sucks/gnu/bin/ld" 5 | CC="/sucks/gnu/bin/gcc" 6 | CXX="/sucks/gnu/bin/g++" 7 | CPP="/sucks/gnu/bin/cpp" 8 | HOSTCC="/sucks/gnu/bin/gcc" 9 | HOSTCXX="/sucks/gnu/bin/g++" 10 | HOSTCPP="/sucks/gnu/bin/cpp" 11 | HOST_CC="/sucks/gnu/bin/gcc" 12 | HOST_CXX="/sucks/gnu/bin/g++" 13 | HOST_CPP="/sucks/gnu/bin/cpp" 14 | AR="/sucks/gnu/bin/ar" 15 | NM="/sucks/gnu/bin/nm" 16 | RANLIB="/sucks/gnu/bin/ranlib" 17 | OBJCOPY="/sucks/gnu/bin/objcopy" 18 | OBJDUMP="/sucks/gnu/bin/objdump" 19 | READELF="/sucks/gnu/bin/readelf" 20 | STRIP="/sucks/gnu/bin/strip" 21 | STRINGS="/sucks/gnu/bin/strings" 22 | ADDR2LINE="/sucks/gnu/bin/addr2line" 23 | SIZE="/sucks/gnu/bin/size" 24 | -------------------------------------------------------------------------------- /env/gnu-ld-bfd.conf: -------------------------------------------------------------------------------- 1 | # use GNU/bfd instead of LLVM/lld on very weird linker errors I don't understand :( 2 | # my guess is some kind of incompatibility with the build system though 3 | CFLAGS="${CFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfd" 4 | CXXFLAGS="${CXXFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfd" 5 | LDFLAGS="${LDFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfd" 6 | -------------------------------------------------------------------------------- /env/gnu-ld.conf: -------------------------------------------------------------------------------- 1 | # use GNU/gold instead of LLVM/lld on very weird linker errors I don't understand :( 2 | # my guess is some kind of incompatibility with the build system though 3 | CFLAGS="${CFLAGS} -fuse-ld=/sucks/gnu/compat/ld.gold" 4 | CXXFLAGS="${CXXFLAGS} -fuse-ld=/sucks/gnu/compat/ld.gold" 5 | LDFLAGS="${LDFLAGS} -fuse-ld=/sucks/gnu/compat/ld.gold" 6 | -------------------------------------------------------------------------------- /env/gnu-ldO-bfd.conf: -------------------------------------------------------------------------------- 1 | # use GNU/bfd instead of LLVM/lld on very weird linker errors I don't understand :( 2 | # my guess is some kind of incompatibility with the build system though 3 | CFLAGS="${CFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfdO" 4 | CXXFLAGS="${CXXFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfdO" 5 | LDFLAGS="${LDFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfdO" 6 | -------------------------------------------------------------------------------- /env/gnu-ldO.conf: -------------------------------------------------------------------------------- 1 | # use GNU/gold instead of LLVM/lld on very weird linker errors I don't understand :( 2 | # my guess is some kind of incompatibility with the build system though 3 | CFLAGS="${CFLAGS} -fuse-ld=/sucks/gnu/compat/ld.goldO" 4 | CXXFLAGS="${CXXFLAGS} -fuse-ld=/sucks/gnu/compat/ld.goldO" 5 | LDFLAGS="${LDFLAGS} -fuse-ld=/sucks/gnu/compat/ld.goldO" 6 | -------------------------------------------------------------------------------- /env/gnu-ldS-bfd.conf: -------------------------------------------------------------------------------- 1 | # use GNU/bfd instead of LLVM/lld on very weird linker errors I don't understand :( 2 | # my guess is some kind of incompatibility with the build system though 3 | CFLAGS="${CFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfdS" 4 | CXXFLAGS="${CXXFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfdS" 5 | LDFLAGS="${LDFLAGS} -fuse-ld=/sucks/gnu/compat/ld.bfdS" 6 | -------------------------------------------------------------------------------- /env/gnu-ldS.conf: -------------------------------------------------------------------------------- 1 | # use GNU/gold instead of LLVM/lld on very weird linker errors I don't understand :( 2 | # my guess is some kind of incompatibility with the build system though 3 | CFLAGS="${CFLAGS} -fuse-ld=/sucks/gnu/compat/ld.goldS" 4 | CXXFLAGS="${CXXFLAGS} -fuse-ld=/sucks/gnu/compat/ld.goldS" 5 | LDFLAGS="${LDFLAGS} -fuse-ld=/sucks/gnu/compat/ld.goldS" 6 | -------------------------------------------------------------------------------- /env/gnu-source-light.conf: -------------------------------------------------------------------------------- 1 | # enable GNU extensions 2 | CFLAGS="${CFLAGS} -D_GNU_SOURCE" 3 | CXXFLAGS="${CXXFLAGS} -D_GNU_SOURCE" 4 | -------------------------------------------------------------------------------- /env/gnu-source.conf: -------------------------------------------------------------------------------- 1 | # enable GNU and POSIX extensions 2 | # WARNING: deprecated, use gnu-source-light.conf instead 3 | CFLAGS="${CFLAGS} -D_GNU_SOURCE -D_POSIX_C_SOURCE -D__USE_XOPEN_EXTENDED -D__USE_XOPEN2K -D__USE_XOPEN -D_XOPEN_SOURCE" 4 | CXXFLAGS="${CXXFLAGS} -D_GNU_SOURCE -D_POSIX_C_SOURCE -D__USE_XOPEN_EXTENDED -D__USE_XOPEN2K -D__USE_XOPEN -D_XOPEN_SOURCE" 5 | -------------------------------------------------------------------------------- /env/go-posix-no-gnu.conf: -------------------------------------------------------------------------------- 1 | # force GNU and POSIX extensions onto Go when building with Portage 2 | # this is required because most Go applications on Linux assume that 3 | # those extensions are available for convenience, especially networking stuff 4 | # 5 | # this is required because my clang has extensions disabled by default 6 | # 7 | CGO_CFLAGS="${CGO_CFLAGS} -D_GNU_SOURCE -Wno-error" 8 | HOST_CFLAGS="${HOST_CFLAGS} -D_GNU_SOURCE -Wno-error" 9 | CFLAGS="${CFLAGS} -D_GNU_SOURCE -Wno-error" 10 | -------------------------------------------------------------------------------- /env/go-posix.conf: -------------------------------------------------------------------------------- 1 | # force GNU and POSIX extensions onto Go when building with Portage 2 | # this is required because most Go applications on Linux assume that 3 | # those extensions are available for convenience, especially networking stuff 4 | # 5 | # this is required because my clang has extensions disabled by default 6 | # 7 | CGO_CFLAGS="${CGO_CFLAGS} -D_GNU_SOURCE -Wno-error" 8 | HOST_CFLAGS="${HOST_CFLAGS} -D_GNU_SOURCE -Wno-error" 9 | CFLAGS="${CFLAGS} -D_GNU_SOURCE -Wno-error" 10 | -------------------------------------------------------------------------------- /env/j1.conf: -------------------------------------------------------------------------------- 1 | MAKEOPTS="-j1" 2 | -------------------------------------------------------------------------------- /env/j2.conf: -------------------------------------------------------------------------------- 1 | MAKEOPTS="-j2" 2 | -------------------------------------------------------------------------------- /env/j6.conf: -------------------------------------------------------------------------------- 1 | MAKEOPTS="-j6" 2 | -------------------------------------------------------------------------------- /env/ld-fix-libs.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -fuse-ld=fix-libs" 2 | CXXFLAGS="${CXXFLAGS} -fuse-ld=fix-libs" 3 | LDFLAGS="${LDFLAGS} -fuse-ld=fix-libs" 4 | -------------------------------------------------------------------------------- /env/ld-force-lib64.conf: -------------------------------------------------------------------------------- 1 | # replace -L/usr/lib with -L/usr/lib64 during linker invocation 2 | # replace -L/lib with -L/lib64 during linker invocation 3 | # because LLD doesn't like this and throws incompatible ELF format errors 4 | # the real problem resides in the build process of the application/library 5 | # though because it doesn't support the lib/lib64 library structure :( 6 | CFLAGS="${CFLAGS} -fuse-ld=force-lib64" 7 | CXXFLAGS="${CXXFLAGS} -fuse-ld=force-lib64" 8 | LDFLAGS="${LDFLAGS} -fuse-ld=force-lib64" 9 | -------------------------------------------------------------------------------- /env/ld-no-gnu.conf: -------------------------------------------------------------------------------- 1 | # filter GNU libraries during linking for very broken build systems 2 | # replaces gnu libraries with their LLVM counterpart and forwards 3 | # all command line arguments to LLD 4 | CC=clang-nognu 5 | CXX=clang++-nognu 6 | CFLAGS="${CFLAGS} -fuse-ld=no-gnu" 7 | CXXFLAGS="${CXXFLAGS} -fuse-ld=no-gnu" 8 | LDFLAGS="${LDFLAGS} -fuse-ld=no-gnu" 9 | -------------------------------------------------------------------------------- /env/libatomic-clang.conf: -------------------------------------------------------------------------------- 1 | CC="/etc/portage/compiler-wrapper/libatomic-clang" 2 | CXX="/etc/portage/compiler-wrapper/libatomic-clang++" 3 | 4 | #BUILD_CC="/etc/portage/compiler-wrapper/libatomic-clang" 5 | #BUILD_CXX="/etc/portage/compiler-wrapper/libatomic-clang++" 6 | -------------------------------------------------------------------------------- /env/libdl.conf: -------------------------------------------------------------------------------- 1 | LDFLAGS="${LDFLAGS} -ldl" 2 | -------------------------------------------------------------------------------- /env/libgcc_s.conf: -------------------------------------------------------------------------------- 1 | # link explicitly to libgcc_s when _Unwind_* symbols aren't found 2 | # this is a workaround for software which doesn't work with my non-GNU toolchain 3 | LDFLAGS="${LDFLAGS} -lgcc_s" 4 | -------------------------------------------------------------------------------- /env/libunwind.conf: -------------------------------------------------------------------------------- 1 | # link explicitly to libunwind when _Unwind_* symbols aren't found 2 | LDFLAGS="${LDFLAGS} -lunwind" 3 | -------------------------------------------------------------------------------- /env/lld-text-relocations.conf: -------------------------------------------------------------------------------- 1 | # allow text relocations in objects with LLVM/lld 2 | LDFLAGS="${LDFLAGS} -Wl,-z,notext" 3 | -------------------------------------------------------------------------------- /env/lldb-tuning.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -glldb" 2 | CXXFLAGS="${CXXFLAGS} -glldb" 3 | -------------------------------------------------------------------------------- /env/media-fonts/x11fonts-jmk: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/media-video/v4l2loopback: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:/sucks/compat/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/net-misc/x11-ssh-askpass: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/no-c++11-narrowing-error.conf: -------------------------------------------------------------------------------- 1 | # don't thread this as an error 2 | # workarounds standard violations in gcc-hardcoded packages 3 | CXXFLAGS="${CXXFLAGS} -Wno-c++11-narrowing" 4 | -------------------------------------------------------------------------------- /env/no-lto.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="-fno-lto" 2 | CXXFLAGS="-fno-lto" 3 | -------------------------------------------------------------------------------- /env/no-optimizations.conf: -------------------------------------------------------------------------------- 1 | # disable optimizations 2 | COMMON_FLAGS="-march=x86-64 -mtune=generic -O0 -pipe -fdiagnostics-color=always" 3 | CFLAGS="${COMMON_FLAGS}" 4 | CXXFLAGS="${COMMON_FLAGS}" 5 | -------------------------------------------------------------------------------- /env/nostrip.conf: -------------------------------------------------------------------------------- 1 | # don't strip binaries, workaround for debugger which don't support splitdebug 2 | FEATURES="${FEATURES} nostrip" 3 | -------------------------------------------------------------------------------- /env/online-sandbox.conf: -------------------------------------------------------------------------------- 1 | # allow internet connections and networking in sandbox 2 | FEATURES="${FEATURES} -network-sandbox" 3 | -------------------------------------------------------------------------------- /env/plasma-applet-window-appmenu.conf: -------------------------------------------------------------------------------- 1 | # release build with optimizations is broken for some reason 2 | # segfault in plasma_applet_windowappmenu.so`AppMenuApplet::setMenuColorScheme(QString const&) + 55 3 | CFLAGS="" 4 | CXXFLAGS="" 5 | CMAKE_BUILD_TYPE=Debug 6 | -------------------------------------------------------------------------------- /env/remove-flags.conf: -------------------------------------------------------------------------------- 1 | COMMON_FLAGS="" 2 | CFLAGS="${COMMON_FLAGS}" 3 | CXXFLAGS="${COMMON_FLAGS}" 4 | -------------------------------------------------------------------------------- /env/rust-clang.conf: -------------------------------------------------------------------------------- 1 | CC="/etc/portage/compiler-wrapper/rust-clang" 2 | CXX="/etc/portage/compiler-wrapper/rust-clang++" 3 | 4 | # rust fails to build otherwise 5 | CHOST="x86_64-pc-linux-gnu" 6 | CHOST_x86="i686-pc-linux-gnu" 7 | CHOST_amd64="x86_64-pc-linux-gnu" 8 | -------------------------------------------------------------------------------- /env/rust-libs.conf: -------------------------------------------------------------------------------- 1 | CHOST="x86_64-pc-linux-gnu" 2 | CHOST_x86="i686-pc-linux-gnu" 3 | CHOST_amd64="x86_64-pc-linux-gnu" 4 | -------------------------------------------------------------------------------- /env/splitdebug.conf: -------------------------------------------------------------------------------- 1 | # symbols are stored in /usr/lib/debug 2 | FEATURES="${FEATURES} splitdebug compressdebug -nostrip" 3 | -------------------------------------------------------------------------------- /env/srcinstall.conf: -------------------------------------------------------------------------------- 1 | # install the source code alongside the built binaries 2 | FEATURES="${FEATURES} installsources" 3 | -------------------------------------------------------------------------------- /env/static-gnu-runtime.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="-static-libgcc" 2 | CXXFLAGS="-static-libgcc -static-libstdc++" 3 | -------------------------------------------------------------------------------- /env/std-gnu11.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -std=gnu11" 2 | CXXFLAGS="${CXXFLAGS} -std=gnu++11" 3 | 4 | CC="/etc/portage/compiler-wrapper/clang-gnu11" 5 | CXX="/etc/portage/compiler-wrapper/clang++-gnu11" 6 | -------------------------------------------------------------------------------- /env/std-gnu17.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -std=gnu17" 2 | CXXFLAGS="${CXXFLAGS} -std=gnu++17" 3 | -------------------------------------------------------------------------------- /env/std-gnu99.conf: -------------------------------------------------------------------------------- 1 | # explicitly enable GNU C 99 mode for packages which need it 2 | # and forgot to set this by themselves, because their build 3 | # system is either broken or incomplete and is based on assumptions 4 | CFLAGS="${CFLAGS} -std=gnu99" 5 | 6 | # some configure scripts ignore CFLAGS and fail 7 | CC="/etc/portage/compiler-wrapper/clang-gnu99" 8 | 9 | # some configure scripts use the preprocessor instead of the compiler to make conftests :/ 10 | CPP="/etc/portage/compiler-wrapper/clang-cpp-gnu99" 11 | -------------------------------------------------------------------------------- /env/stdc-constant-macros.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="-D__STDC_CONSTANT_MACROS $CFLAGS" 2 | CXXFLAGS="-D__STDC_CONSTANT_MACROS $CXXFLAGS" 3 | -------------------------------------------------------------------------------- /env/strict-ansi.conf: -------------------------------------------------------------------------------- 1 | CFLAGS="${CFLAGS} -U__STRICT_ANSI__" 2 | CXXFLAGS="${CXXFLAGS} -U__STRICT_ANSI__" 3 | -------------------------------------------------------------------------------- /env/sys-devel/clang: -------------------------------------------------------------------------------- 1 | export MYCMAKEARGS="-DCLANG_DEFAULT_UNWINDLIB=libunwind -DCLANG_DEFAULT_RTLIB=compiler-rt -DCLANG_DEFAULT_CXX_STDLIB=libc++ -DCLANG_DEFAULT_OBJCOPY=llvm-objcopy -DCLANG_DEFAULT_LINKER=ld.lld -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp -DCLANG_DEFAULT_STD_C=c17 -DCLANG_DEFAULT_STD_CXX=cxx17 -DLLVM_INCLUDE_TESTS=OFF" 2 | -------------------------------------------------------------------------------- /env/sys-devel/llvm: -------------------------------------------------------------------------------- 1 | export MYCMAKEARGS="-DLLVM_TARGET_TRIPLE_ENV=${CHOST} -DLLVM_TARGET_TRIPLE_ENV=${CHOST} -DLLVM_DEFAULT_TARGET_TRIPLE=${CHOST}" 2 | -------------------------------------------------------------------------------- /env/sys-kernel/linux-headers: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:/sucks/compat/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/sys-power/bbswitch: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:$PATH" 2 | -------------------------------------------------------------------------------- /env/test/test: -------------------------------------------------------------------------------- 1 | export PATH="/test:$PATH" 2 | -------------------------------------------------------------------------------- /env/undef-cpp.conf: -------------------------------------------------------------------------------- 1 | CPP="" 2 | -------------------------------------------------------------------------------- /env/undef-strings.conf: -------------------------------------------------------------------------------- 1 | STRINGS="" 2 | -------------------------------------------------------------------------------- /env/undef-strip.conf: -------------------------------------------------------------------------------- 1 | STRIP="" 2 | -------------------------------------------------------------------------------- /env/www-client/librewolf: -------------------------------------------------------------------------------- 1 | # disable google integration 2 | export MOZ_API_KEY_GOOGLE="" 3 | export MOZ_API_KEY_LOCATION="" 4 | export MOZ_API_KEY_MOZILLA="" 5 | -------------------------------------------------------------------------------- /env/x11-drivers/nvidia-drivers: -------------------------------------------------------------------------------- 1 | export PATH="/sucks/gnu/bin:$PATH" 2 | -------------------------------------------------------------------------------- /git-commit: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | git commit -am "$(date +"%Y-%m-%d-%H:%M")" 3 | -------------------------------------------------------------------------------- /hooks/app-accessibility/orca: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | cd "${ED}" 7 | 8 | rm -r "${ED}/etc/xdg/autostart" 9 | } 10 | 11 | case "$1" in 12 | instprep) instprep ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/app-accessibility/orca.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-antivirus/clamav: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | cd "${ED}" 7 | 8 | echo "Preparing ClamAV for minimal usage..." 9 | 10 | # remove daemon, only use command line scanner 11 | rm "${ED}/usr/sbin/clamd" 12 | rmdir "${ED}/usr/sbin" 13 | rm "${ED}/usr/bin/clamdscan" 14 | 15 | # remove service files 16 | rm -r "${ED}/etc/init.d" 17 | rm -r "${ED}/lib/systemd" 18 | 19 | # remove header files and pkg-config, so nothing can accidentally depend on it 20 | rm -r "${ED}/usr/lib64/pkgconfig" 21 | rm -r "${ED}/usr/include" 22 | } 23 | 24 | case "$1" in 25 | instprep) instprep ;; 26 | *) : ;; 27 | esac 28 | -------------------------------------------------------------------------------- /hooks/app-antivirus/clamav.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-arch/tar: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | #cd "${ED}/bin" || exit 1 7 | 8 | # create explicit GNU tar symlink, this is enabled with userland_bsd use flag 9 | # but since we are not on *BSD, use a hook to create this manually 10 | # in the future I plan to replace GNU tar with libarchive bsdtar 11 | 12 | #echo "creating gtar symlink..." 13 | #ln -s tar gtar 14 | : 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | *) : ;; 20 | esac 21 | -------------------------------------------------------------------------------- /hooks/app-arch/tar.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-editors/vscode.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | postinst 3 | -------------------------------------------------------------------------------- /hooks/app-editors/vscodium.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | postinst 3 | -------------------------------------------------------------------------------- /hooks/app-emulation/vmware-workstation: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo "Patching vmware-vmx to use absolute paths to bundled GCC runtime libraries..." 7 | 8 | cd "${ED}/opt/vmware/lib/vmware/bin" 9 | patchelf --replace-needed libstdc++.so.6 /opt/vmware/lib/vmware/lib/libstdc++.so.6/libstdc++.so.6 vmware-vmx 10 | patchelf --replace-needed libgcc_s.so.1 /opt/vmware/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1 vmware-vmx 11 | } 12 | 13 | case "$1" in 14 | instprep) instprep ;; 15 | *) : ;; 16 | esac 17 | -------------------------------------------------------------------------------- /hooks/app-emulation/vmware-workstation.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-emulation/wine-desktop-common: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | # get rid of useless desktop files and other random stuff 8 | # only keep the icons because they may be useful :) 9 | 10 | instprep() { 11 | echo -e ">>> Removing ${PN} desktop files and directories..." 12 | remove_desktop_files 13 | remove_desktop_directories 14 | 15 | echo -e ">>> Removing ${PN} xdg menu files..." 16 | remove_xdg_menus 17 | } 18 | 19 | case "$1" in 20 | instprep) instprep ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/app-emulation/wine-desktop-common.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-emulation/wine-staging: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | 11 | if [ ! -z "$ED" ]; then 12 | rm -r "$ED/usr/share/${PN}-${PV}/applications" 13 | fi 14 | } 15 | 16 | case "$1" in 17 | instprep) instprep ;; 18 | *) : ;; 19 | esac 20 | -------------------------------------------------------------------------------- /hooks/app-emulation/wine-staging.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-emulation/wine-vanilla.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-emulation/winetricks: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | postinst() { 13 | echo -e ">>> Removing ${PN} desktop files..." 14 | rm -f /usr/share/applications/winetricks.desktop 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | postinst) postinst ;; 20 | *) : ;; 21 | esac 22 | -------------------------------------------------------------------------------- /hooks/app-emulation/winetricks.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-eselect/eselect-wine: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # out of line patch to remove desktop file processing in 6 | # eselect-wine, otherwise it complains with an error and 7 | # just dies leaving a lot of dangling and incorrect symlinks 8 | # in place 9 | # i didn't managed to get this patch to apply inside 10 | # /etc/portage/patches 11 | # so i implemented this hook which modifies the install image 12 | # before merging it into the system 13 | 14 | instprep() { 15 | cd "$ED/usr/share/eselect/modules" 16 | patch wine.eselect < /etc/portage/hooks/patches/app-eselect/eselect-wine/remove-desktop-support.diff 17 | } 18 | 19 | case "$1" in 20 | instprep) instprep ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/app-eselect/eselect-wine.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-office/freeoffice: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo "Patching binaries to find GNU runtime libraries..." 7 | 8 | cd "${ED}/usr/lib64/freeoffice" 9 | 10 | for elf in textmaker planmaker presentations; do 11 | patchelf --replace-needed libstdc++.so.6 /sucks/gnu/lib64/libstdc++.so.6 "$elf" 12 | patchelf --replace-needed libgcc_s.so.1 /sucks/gnu/lib64/libgcc_s.so.1 "$elf" 13 | done 14 | } 15 | 16 | case "$1" in 17 | instprep) instprep ;; 18 | *) : ;; 19 | esac 20 | -------------------------------------------------------------------------------- /hooks/app-office/freeoffice.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/app-text/opensp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | configure() { 6 | cd "$S" 7 | #patch -p1 < /etc/portage/patches/app-text/opensp/register-storage-type-fix.patch 8 | } 9 | 10 | case "$1" in 11 | configure) configure ;; 12 | *) : ;; 13 | esac 14 | -------------------------------------------------------------------------------- /hooks/app-text/opensp.hook: -------------------------------------------------------------------------------- 1 | configure 2 | -------------------------------------------------------------------------------- /hooks/dev-cpp/libcutl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | prepare() { 6 | # remove tests 7 | rm -r "../work/${P}/tests" 8 | 9 | # remove version file (conflicts with LLVM/libc++) 10 | #rm "../work/${P}/version" 11 | } 12 | 13 | case "$1" in 14 | prepare) prepare ;; 15 | *) : ;; 16 | esac 17 | -------------------------------------------------------------------------------- /hooks/dev-cpp/libcutl.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/dev-cpp/libxsd-frontend: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | prepare() { 6 | # remove version file (conflicts with LLVM/libc++) 7 | #rm "../work/${P}/version" 8 | : 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/dev-cpp/libxsd-frontend.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/dev-db/mariadb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | # for some reason this exists on mariadb, remove it 7 | cd "${ED}" 8 | rm -f usr/lib64/libgcc.a 9 | rm -f usr/lib/libgcc.a 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/dev-db/mariadb.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/dev-lang/rust.hook: -------------------------------------------------------------------------------- 1 | compile 2 | -------------------------------------------------------------------------------- /hooks/dev-libs/openssl: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | rm -r "${ED}/usr/share/doc" 7 | } 8 | 9 | case "$1" in 10 | instprep) instprep ;; 11 | *) : ;; 12 | esac 13 | -------------------------------------------------------------------------------- /hooks/dev-libs/openssl.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/dev-python/pycparser.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/dev-python/wxpython: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/dev-python/wxpython.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/dev-ruby/rubygems: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # THIS HOOK IS OBSOLETE AS I DON'T HAVE A CUSTOM ENVIRONMENT ANYMORE 6 | 7 | # remove the obtrusive and shitty Gentoo ruby gems default 8 | # which conflict and break with my /opt/ruby/gems setup 9 | # causing major fuckups and breakage 10 | # I was wondering why my gems wasn't updating, until I figured 11 | # out they where installed/updated in the wrong directory 12 | # *reeeeeeeeeeee* 13 | # thanks Gentoo 14 | 15 | instprep_disabled() { 16 | # FIXME: hardcoded ruby target version 17 | #rm -f "$ED/usr/lib64/ruby/site_ruby/2.6.0/rubygems/defaults/operating_system.rb" 18 | #rm -f "$ED/usr/lib64/ruby/site_ruby/2.7.0/rubygems/defaults/operating_system.rb" 19 | : 20 | } 21 | 22 | case "$1" in 23 | instprep) : ;; 24 | *) : ;; 25 | esac 26 | -------------------------------------------------------------------------------- /hooks/dev-ruby/rubygems.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/dev-util/lldb: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | 10 | # apply patches 11 | pushd "${S}" 12 | for PATCH in /etc/portage/hooks/patches/dev-util/lldb/*.patch; do 13 | echo -e "\e[1m === Applying patch ${PATCH}...\e[0m" 14 | patch --verbose -p1 < "$PATCH" 15 | done 16 | popd 17 | } 18 | 19 | case "$1" in 20 | prepare) prepare ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/dev-util/lldb.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/functions/check-env.sh: -------------------------------------------------------------------------------- 1 | # avoid catastrophic failures due to environment variables 2 | # not being set correctly 3 | # source this in every hook 4 | 5 | function die() { 6 | echo "$1" >&2 7 | exit 254 8 | } 9 | 10 | if [[ -z "$ED" || "$ED" != "/"* ]]; then 11 | die "ED is not set or a relative path" 12 | fi 13 | 14 | if [[ -z "$D" || "$D" != "/"* ]]; then 15 | die "D is not set or a relative path" 16 | fi 17 | 18 | if [[ -z "$S" || "$S" != "/"* ]]; then 19 | die "S is not set or a relative path" 20 | fi 21 | 22 | if [[ -z "$PN" ]]; then 23 | die "PN is not set" 24 | fi 25 | -------------------------------------------------------------------------------- /hooks/functions/delete-vcs.sh: -------------------------------------------------------------------------------- 1 | # delete version control system directories 2 | remove_vcs() { 3 | if [ ! -z "$S" ]; then 4 | rm -rf "${S}/.$1" 5 | rm -rf "${S}/../.$1" 6 | fi 7 | } 8 | -------------------------------------------------------------------------------- /hooks/functions/desktop-utils.sh: -------------------------------------------------------------------------------- 1 | # removes all desktop files from a package before it is merged into the system 2 | # that way "equery files" will not show these files as they are not part of the 3 | # package; call this function inside the instprep ebuild phase 4 | remove_desktop_files() { 5 | if [ ! -z "$ED" ]; then 6 | rm -r "$ED/usr/share/applications" 7 | fi 8 | } 9 | 10 | remove_desktop_directories() { 11 | if [ ! -z "$ED" ]; then 12 | rm -r "$ED/usr/share/desktop-directories" 13 | fi 14 | } 15 | 16 | remove_xdg_menus() { 17 | if [ ! -z "$ED" ]; then 18 | rm -r "$ED/etc/xdg/menus" 19 | fi 20 | } 21 | -------------------------------------------------------------------------------- /hooks/games-util/steam-launcher.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/gnome-base/gnome-keyring: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo "remove unused xdg autostart files..." 7 | rm "${ED}/etc/xdg/autostart/gnome-keyring-pkcs11.desktop" 8 | rm "${ED}/etc/xdg/autostart/gnome-keyring-ssh.desktop" 9 | 10 | echo "remove pkcs11 module..." 11 | rm -r "${ED}/usr/lib64/pkcs11" 12 | } 13 | 14 | case "$1" in 15 | instprep) instprep ;; 16 | *) : ;; 17 | esac 18 | -------------------------------------------------------------------------------- /hooks/gnome-base/gnome-keyring.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-apps/gwenview: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove Solid actions..." 8 | 9 | rm -r "${D}/usr/share/solid" 10 | fi 11 | } 12 | 13 | case "$1" in 14 | instprep) instprep ;; 15 | *) : ;; 16 | esac 17 | -------------------------------------------------------------------------------- /hooks/kde-apps/gwenview.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-apps/kdepim-runtime: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove Google..." 8 | 9 | #rm "${D}/usr/bin/akonadi_googlecalendar_resource" 10 | #rm "${D}/usr/bin/akonadi_googlecontacts_resource" 11 | #rm "${D}/usr/share/akonadi/agents/googlecalendarresource.desktop" 12 | #rm "${D}/usr/share/akonadi/agents/googlecontactsresource.desktop" 13 | 14 | rm -f "${D}/usr/bin/akonadi_google_resource" 15 | rm -f "${D}/usr/share/akonadi/agents/googleresource.desktop" 16 | fi 17 | } 18 | 19 | case "$1" in 20 | instprep) instprep ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/kde-apps/kdepim-runtime.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-apps/kipi-plugins.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-apps/korganizer: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove Reminder Daemon..." 8 | 9 | rm "${D}/usr/bin/korgac" 10 | echo -e '#!'"/bin/sh\nexit 0\n" > "${D}/usr/bin/korgac" 11 | chmod +x "${D}/usr/bin/korgac" 12 | 13 | rm -r "${D}/etc/xdg/autostart" 14 | fi 15 | } 16 | 17 | case "$1" in 18 | instprep) : ;; 19 | *) : ;; 20 | esac 21 | -------------------------------------------------------------------------------- /hooks/kde-apps/korganizer.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-frameworks/baloo: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove xdg-autostart..." 8 | rm -r "${D}/etc/xdg/autostart" 9 | fi 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/kde-frameworks/baloo.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-frameworks/kio: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove search providers..." 8 | rm "${D}/usr/share/kservices5/searchproviders/"* 9 | 10 | echo "Remove trash bin..." 11 | rm "${D}/usr/bin/ktrash5" 12 | rm "${D}/usr/lib64/qt5/plugins/kcm_trash.so" 13 | rm "${D}/usr/lib64/qt5/plugins/kf5/kio/trash.so" 14 | rm "${D}/usr/lib64/qt5/plugins/kf5/kio/kio_trash.so" 15 | rm "${D}/usr/share/kservices5/kcmtrash.desktop" 16 | fi 17 | } 18 | 19 | case "$1" in 20 | instprep) instprep ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/kde-frameworks/kio.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-frameworks/purpose: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove unneeded plugins from DNS blocked services..." 8 | 9 | rm "${D}/usr/lib64/qt5/plugins/kf5/purpose/imgurplugin.so" 10 | rm "${D}/usr/lib64/qt5/plugins/kf5/purpose/pastebinplugin.so" 11 | rm "${D}/usr/lib64/qt5/plugins/kf5/purpose/telegramplugin.so" 12 | fi 13 | } 14 | 15 | case "$1" in 16 | instprep) instprep ;; 17 | *) : ;; 18 | esac 19 | -------------------------------------------------------------------------------- /hooks/kde-frameworks/purpose.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-misc/kdeconnect: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove autostart files..." 8 | 9 | rm -r "${D}/etc/xdg/autostart" 10 | fi 11 | } 12 | 13 | case "$1" in 14 | instprep) instprep ;; 15 | *) : ;; 16 | esac 17 | -------------------------------------------------------------------------------- /hooks/kde-misc/kdeconnect.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-plasma/plasma-desktop: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | echo "Remove trash bin..." 8 | rm -r "${D}/usr/lib64/qt5/qml/org/kde/plasma/private/trash" 9 | rm -r "${D}/usr/share/plasma/plasmoids/org.kde.plasma.trash" 10 | 11 | rm "${D}/usr/share/kservices5/plasma-applet-org.kde.plasma.trash.desktop" 12 | rm "${D}/usr/share/metainfo/org.kde.plasma.trash.appdata.xml" 13 | fi 14 | } 15 | 16 | case "$1" in 17 | instprep) instprep ;; 18 | *) : ;; 19 | esac 20 | -------------------------------------------------------------------------------- /hooks/kde-plasma/plasma-desktop.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/kde-plasma/systemsettings: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | # this fixes some (not all) shortcuts to open in kcmshell5 again instead of the full settings application 8 | # who the fuck thought this would be a great idea anyway :| and it's even hardcoded, no way to change it without using Gentoo 9 | echo "Remove systemsettings desktop entry..." 10 | rm "${D}/usr/share/applications/kdesystemsettings.desktop" 11 | rm "${D}/usr/share/applications/systemsettings.desktop" 12 | rm "${D}/usr/share/kglobalaccel/systemsettings.desktop" 13 | 14 | # for the remaining shit see "revert-opening-kcms-in-systemsettings.patch" 15 | fi 16 | } 17 | 18 | case "$1" in 19 | instprep) instprep ;; 20 | *) : ;; 21 | esac 22 | -------------------------------------------------------------------------------- /hooks/kde-plasma/systemsettings.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-libs/amdgpu-pro-vulkan: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | cd "${ED}" 7 | 8 | echo "hiding amdgpu-pro vulkan icd... (conflicts with my setup)" 9 | mkdir -p "${ED}/opt/amdgpu-pro/vulkan/icd.d" 10 | mv "${ED}/usr/share/vulkan/icd.d/amd_pro_icd64.json" "${ED}/opt/amdgpu-pro/vulkan/icd.d/" 11 | 12 | echo "removing default bin wrappers... (conflicts with my setup)" 13 | rm "${ED}/usr/bin/vk_radv" 14 | rm "${ED}/usr/bin/vk_pro" 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | *) : ;; 20 | esac 21 | -------------------------------------------------------------------------------- /hooks/media-libs/amdgpu-pro-vulkan.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-libs/libmng: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | prepare() { 6 | cd "$S" 7 | patch -p1 < /etc/portage/hooks/patches/media-libs/libmng/compiler.patch 8 | } 9 | 10 | case "$1" in 11 | prepare) prepare ;; 12 | *) : ;; 13 | esac 14 | -------------------------------------------------------------------------------- /hooks/media-libs/libmng.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/media-libs/mesa.hook: -------------------------------------------------------------------------------- 1 | compile 2 | -------------------------------------------------------------------------------- /hooks/media-sound/alsa-tools: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | postinst() { 13 | echo -e ">>> Removing ${PN} desktop files..." 14 | rm -f /usr/share/applications/hwmixvolume.desktop 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | postinst) postinst ;; 20 | *) : ;; 21 | esac 22 | -------------------------------------------------------------------------------- /hooks/media-sound/alsa-tools.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-video/mediainfo: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | : 7 | } 8 | 9 | _instprep() { 10 | echo -e ">>> Installing Japanese language file for ${CATEGORY}/${PN}..." 11 | 12 | local i18n_dir="${ED}/usr/share/mediainfo/i18n" 13 | mkdir -p "${i18n_dir}" 14 | cd "/var/tmp/portage/${CATEGORY}/${PN}-${PV}"*"/work/MediaInfo/Source/Resource/Plugin/Language" 15 | 16 | cp ja.csv "${i18n_dir}/" 17 | } 18 | 19 | case "$1" in 20 | instprep) instprep ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/media-video/mediainfo.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-video/mpv: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # put the overwritten commands in /usr/local/bin which 6 | # is placed before /usr/bin in $PATH 7 | 8 | # - single instance mode with `pidof` and `kill` 9 | # - image viewer wrapper to load all images in current directory as playlist 10 | 11 | instprep() { 12 | echo -e ">>> Copying ${PN} binaries for several process operations..." 13 | 14 | cd "${ED}/usr/bin" 15 | 16 | # for use with net-misc/streamlink 17 | cp mpv mpv-streamlink 18 | 19 | # for use as image viewer 20 | cp mpv mvi 21 | } 22 | 23 | case "$1" in 24 | instprep) instprep ;; 25 | *) : ;; 26 | esac 27 | -------------------------------------------------------------------------------- /hooks/media-video/mpv.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-video/pipewire: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo -e ">>> [${PN}] Preparing ${PN} for system mode..." 7 | 8 | echo -e ">>> [${PN}] Deleting unnecessary and conflicting files..." 9 | rm -f "${ED}/etc/xdg/autostart/pipewire.desktop" 10 | rm -f "${ED}/usr/bin/gentoo-pipewire-launcher" 11 | 12 | # remove those files, just to be sure 13 | echo -e ">>> [${PN}] Deleting systemd user units..." 14 | rm -f "${ED}/usr/lib/systemd/user/"* 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | *) : ;; 20 | esac 21 | -------------------------------------------------------------------------------- /hooks/media-video/pipewire.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-video/svp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo "Patching svp to inject GCC runtime libraries..." 7 | 8 | cd "${ED}/opt/svp/plugins" 9 | for i in *; do 10 | echo "Patching ${i}..." 11 | patchelf --replace-needed libstdc++.so.6 /sucks/gnu/lib64/libstdc++.so.6 "$i" 12 | patchelf --replace-needed libgcc_s.so.1 /sucks/gnu/lib64/libgcc_s.so.1 "$i" 13 | done 14 | 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | *) : ;; 20 | esac 21 | -------------------------------------------------------------------------------- /hooks/media-video/svp.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/media-video/vlc: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/media-video/vlc.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-dns/avahi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # remove binaries and daemons 6 | # only keep libraries for some precompiled stuff which needs this but works without the daemon running 7 | 8 | instprep() { 9 | echo -e ">>> Minifying install of ${PN}..." 10 | if [ ! -z "${ED}" ]; then 11 | rm -r "${ED}/etc" 12 | rm -r "${ED}/usr/sbin" 13 | rm -r "${ED}/usr/bin" 14 | rm -r "${ED}/lib/systemd" 15 | rm -r "${ED}/usr/share/dbus-1" 16 | rm -r "${ED}/usr/share/doc" 17 | fi 18 | } 19 | 20 | case "$1" in 21 | instprep) instprep ;; 22 | *) : ;; 23 | esac 24 | -------------------------------------------------------------------------------- /hooks/net-dns/avahi.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-dns/pihole: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # copy private adlists.list for pihole instead of using the default 6 | # one-time hook for fresh install 7 | # file is removed after updating pihole gravity 8 | 9 | instprep() { 10 | #if [ ! -z "${ED}" ]; then 11 | # cp "/etc/pihole-private/adlists.list" "${ED}/etc/pihole/adlists.list" 12 | #fi 13 | : 14 | } 15 | 16 | case "$1" in 17 | instprep) instprep ;; 18 | *) : ;; 19 | esac 20 | -------------------------------------------------------------------------------- /hooks/net-dns/pihole-admin.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-dns/pihole.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-im/coturn: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # only need the client for debugging 6 | # remove server 7 | 8 | instprep() { 9 | if [ ! -z "${D}" ]; then 10 | rm -r "${D}/lib/systemd" 11 | rm -r "${D}/etc" 12 | rm -r "${D}/usr/lib/tmpfiles.d" 13 | rm -r "${D}/usr/local/etc" 14 | rm -r "${D}/usr/local/share" 15 | rm -r "${D}/usr/local/var" 16 | rm -r "${D}/usr/share/doc" 17 | rm "${D}/usr/local/bin/turnadmin" 18 | rm "${D}/usr/local/bin/turnserver" 19 | fi 20 | } 21 | 22 | case "$1" in 23 | instprep) instprep ;; 24 | *) : ;; 25 | esac 26 | -------------------------------------------------------------------------------- /hooks/net-im/coturn.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-im/discord: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${ED}" ]; then 7 | echo "Create launcher script..." 8 | cd "${ED}/usr/bin" 9 | rm discord 10 | cp /etc/portage/hooks/patches/net-im/discord-bin/discord.sh discord 11 | fi 12 | } 13 | 14 | case "$1" in 15 | instprep) instprep ;; 16 | *) : ;; 17 | esac 18 | -------------------------------------------------------------------------------- /hooks/net-im/discord.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-im/riot-desktop.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | compile 3 | -------------------------------------------------------------------------------- /hooks/net-im/zoom.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-misc/networkmanager: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | if [ ! -z "${D}" ]; then 7 | # remove mac address randomization config 8 | # what the fuck networkmanager, don't touch my mac addresses 9 | # for extra safety a overwrite exists in /etc/NetworkManager/conf.d/100-disable-mac-randomization.conf 10 | # to make sure networkmanager never tries to randomize the mac address 11 | rm -r "${D}/usr/lib/NetworkManager/conf.d/31-mac-addr-change.conf" 12 | fi 13 | } 14 | 15 | case "$1" in 16 | instprep) instprep ;; 17 | *) : ;; 18 | esac 19 | -------------------------------------------------------------------------------- /hooks/net-misc/networkmanager.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/net-misc/x11-ssh-askpass: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | compile() { 6 | cd "$S" 7 | patch Imakefile < /etc/portage/patches/net-misc/x11-ssh-askpass/use-correct-compiler.patch 8 | } 9 | 10 | case "$1" in 11 | compile) compile ;; 12 | *) : ;; 13 | esac 14 | -------------------------------------------------------------------------------- /hooks/net-misc/x11-ssh-askpass.hook: -------------------------------------------------------------------------------- 1 | compile 2 | -------------------------------------------------------------------------------- /hooks/net-proxy/files/privoxy.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Privoxy Web Proxy With Advanced Filtering Capabilities 3 | After=network.target vpn-namespace.service 4 | 5 | [Service] 6 | ExecStart=/usr/local/bin/vpn-run /usr/sbin/privoxy --no-daemon --user privoxy.privoxy /etc/privoxy/config 7 | SuccessExitStatus=15 8 | 9 | [Install] 10 | WantedBy=multi-user.target 11 | -------------------------------------------------------------------------------- /hooks/net-proxy/privoxy: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo -e "Overwriting systemd unit with VPN namespace patched version..." 7 | cp "/etc/portage/hooks/net-proxy/files/privoxy.service" \ 8 | "${ED}/usr/lib/systemd/system/privoxy.service" 9 | } 10 | 11 | case "$1" in 12 | instprep) instprep ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/net-proxy/privoxy.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/patches/app-editors/vscodium/gnu-runtime-libs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/codium b/codium 2 | index 49111bf..dff168f 100755 3 | --- a/codium 4 | +++ b/codium 5 | @@ -3,6 +3,9 @@ 6 | # Copyright (c) Microsoft Corporation. All rights reserved. 7 | # Licensed under the MIT License. See License.txt in the project root for license information. 8 | 9 | +# vs codium and native plugins require GCC runtime libraries 10 | +export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 11 | + 12 | # test that VSCode wasn't installed inside WSL 13 | if grep -qi Microsoft /proc/version && [ -z "$DONT_PROMPT_WSL_INSTALL" ]; then 14 | echo "To use VSCodium with the Windows Subsystem for Linux, please install VSCodium in Windows and uninstall the Linux version in WSL. You can then use the \`codium\` command in a WSL terminal just as you would in a normal command prompt." 1>&2 15 | -------------------------------------------------------------------------------- /hooks/patches/app-editors/vscodium/vscode-gnu-runtime-libs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/code b/code 2 | index 49111bf..dff168f 100755 3 | --- a/code 4 | +++ b/code 5 | @@ -3,6 +3,9 @@ 6 | # Copyright (c) Microsoft Corporation. All rights reserved. 7 | # Licensed under the MIT License. See License.txt in the project root for license information. 8 | 9 | +# vs code and native plugins require GCC runtime libraries 10 | +export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 11 | + 12 | # test that VSCode wasn't installed inside WSL 13 | if grep -qi Microsoft /proc/version && [ -z "$DONT_PROMPT_WSL_INSTALL" ]; then 14 | echo "To use Visual Studio Code with the Windows Subsystem for Linux, please install Visual Studio Code in Windows and uninstall the Linux version in WSL. You can then use the \`code\` command in a WSL terminal just as you would in a normal command prompt." 1>&2 15 | -------------------------------------------------------------------------------- /hooks/patches/app-editors/vscodium/vscode-use-dgpu-for-rendering.patch: -------------------------------------------------------------------------------- 1 | diff --git a/code b/code 2 | index 543ac30..0725e89 100755 3 | --- a/code 4 | +++ b/code 5 | @@ -15,6 +15,9 @@ fi 6 | # vs code and native plugins require GCC runtime libraries 7 | export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 8 | 9 | +# use dGPU for rendering to take way load from the iGPU 10 | +export DRI_PRIME=1 11 | + 12 | # test that VSCode wasn't installed inside WSL 13 | if grep -qi Microsoft /proc/version && [ -z "$DONT_PROMPT_WSL_INSTALL" ]; then 14 | echo "To use Visual Studio Code with the Windows Subsystem for Linux, please install Visual Studio Code in Windows and uninstall the Linux version in WSL. You can then use the \`code\` command in a WSL terminal just as you would in a normal command prompt." 1>&2 15 | -------------------------------------------------------------------------------- /hooks/patches/app-editors/vscodium/vscode-use-kde-file-dialogs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/code b/code 2 | index 543ac30..0725e89 100755 3 | --- a/code 4 | +++ b/code 5 | @@ -15,6 +15,9 @@ fi 6 | # vs code and native plugins require GCC runtime libraries 7 | export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 8 | 9 | +# use KDE file picker 10 | +export GTK_USE_PORTAL=1 11 | + 12 | # test that VSCode wasn't installed inside WSL 13 | if grep -qi Microsoft /proc/version && [ -z "$DONT_PROMPT_WSL_INSTALL" ]; then 14 | echo "To use Visual Studio Code with the Windows Subsystem for Linux, please install Visual Studio Code in Windows and uninstall the Linux version in WSL. You can then use the \`code\` command in a WSL terminal just as you would in a normal command prompt." 1>&2 15 | -------------------------------------------------------------------------------- /hooks/patches/app-editors/vscodium/workbench-custom-css.patch: -------------------------------------------------------------------------------- 1 | --- workbench.html 2021-03-01 15:48:29.730707881 +0100 2 | +++ workbench.html 2021-03-01 15:52:16.968859389 +0100 3 | @@ -16,4 +16,7 @@ 4 | 5 | 6 | 7 | + 8 | + 9 | + 10 | 11 | -------------------------------------------------------------------------------- /hooks/patches/dev-lang/rust/fix-config-toml.patch: -------------------------------------------------------------------------------- 1 | diff --git a/config.toml b/config.toml 2 | index d1e2dbb..6240f2a 100644 3 | --- a/config.toml 4 | +++ b/config.toml 5 | @@ -45,13 +45,13 @@ optimize-tests = true 6 | codegen-tests = true 7 | dist-src = false 8 | remap-debuginfo = true 9 | -lld = false 10 | +lld = true 11 | backtrace-on-ice = true 12 | jemalloc = false 13 | [dist] 14 | src-tarball = false 15 | [target.x86_64-unknown-linux-gnu] 16 | -cc = "clang" 17 | -cxx = "clang++" 18 | +cc = "/etc/portage/compiler-wrapper/rust-clang" 19 | +cxx = "/etc/portage/compiler-wrapper/rust-clang++" 20 | linker = "/etc/portage/compiler-wrapper/rust-clang" 21 | ar = "llvm-ar" 22 | -------------------------------------------------------------------------------- /hooks/patches/dev-util/lldb/fix-cmake-configure-error.patch: -------------------------------------------------------------------------------- 1 | diff --git a/include/lldb/Host/MainLoop.h b/include/lldb/Host/MainLoop.h 2 | index 9ca5040b60a8..7040845c5afc 100644 3 | --- a/include/lldb/Host/MainLoop.h 4 | +++ b/include/lldb/Host/MainLoop.h 5 | @@ -92,9 +92,7 @@ private: 6 | 7 | struct SignalInfo { 8 | Callback callback; 9 | -#if HAVE_SIGACTION 10 | struct sigaction old_action; 11 | -#endif 12 | bool was_blocked : 1; 13 | }; 14 | class RunImpl; 15 | -------------------------------------------------------------------------------- /hooks/patches/net-dns/pihole-admin/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/hooks/patches/net-dns/pihole-admin/boxed-bg.jpg -------------------------------------------------------------------------------- /hooks/patches/net-dns/pihole-admin/caddy-routing-fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/header.php b/header.php 2 | index 61e7c8f..315e7a6 100644 3 | --- a/header.php 4 | +++ b/header.php 5 | @@ -203,7 +203,7 @@ 6 | 7 | 8 | 9 | - 10 | + 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /hooks/patches/net-dns/pihole-admin/gravity-db-custom-ownership.patch: -------------------------------------------------------------------------------- 1 | diff --git a/gravity.sh b/gravity.sh 2 | index d5f24c4..11964a3 100755 3 | --- a/gravity.sh 4 | +++ b/gravity.sh 5 | @@ -813,7 +813,7 @@ gravity_swap_databases 6 | update_gravity_timestamp 7 | 8 | # Ensure proper permissions are set for the database 9 | -chown pihole:pihole "${gravityDBfile}" 10 | +chown root:http "${gravityDBfile}" 11 | chmod g+w "${piholeDir}" "${gravityDBfile}" 12 | 13 | # Compute numbers to be displayed 14 | -------------------------------------------------------------------------------- /hooks/patches/net-im/discord-bin/discord.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # discord requires GCC runtime libraries 4 | export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 5 | 6 | exec /opt/discord/Discord "$@" 7 | -------------------------------------------------------------------------------- /hooks/patches/net-im/riot-desktop/no-markdown-font-important.patch: -------------------------------------------------------------------------------- 1 | diff --git a/node_modules/matrix-react-sdk/res/css/views/rooms/_EventTile.scss b/node_modules/matrix-react-sdk/res/css/views/rooms/_EventTile.scss 2 | index b26312c..957cdca 100644 3 | --- a/node_modules/matrix-react-sdk/res/css/views/rooms/_EventTile.scss 4 | +++ b/node_modules/matrix-react-sdk/res/css/views/rooms/_EventTile.scss 5 | @@ -494,7 +494,7 @@ div.mx_EventTile_notSent.mx_EventTile_redacted .mx_UnknownBody { 6 | font-size: $font-14px; 7 | 8 | pre, code { 9 | - font-family: $monospace-font-family !important; 10 | + font-family: $monospace-font-family; 11 | // deliberate constants as we're behind an invert filter 12 | color: #333; 13 | } 14 | -------------------------------------------------------------------------------- /hooks/patches/net-im/zoom/zoom.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # zoom requires GCC runtime libraries 4 | export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 5 | 6 | exec /opt/zoom/ZoomLauncher "$@" 7 | -------------------------------------------------------------------------------- /hooks/patches/sys-apps/bat/libgit2-missing-gnu-extensions.patch: -------------------------------------------------------------------------------- 1 | diff --git a/cargo_home/gentoo/libgit2-sys-0.16.1+1.7.1/build.rs b/cargo_home/gentoo/libgit2-sys-0.16.1+1.7.1/build.rs 2 | index e888b94..ff81136 100644 3 | --- a/cargo_home/gentoo/libgit2-sys-0.16.1+1.7.1/build.rs 4 | +++ b/cargo_home/gentoo/libgit2-sys-0.16.1+1.7.1/build.rs 5 | @@ -75,6 +75,7 @@ fn main() { 6 | // is some way with cc to have different instructions per-file? 7 | cfg.define("GIT_REGEX_BUILTIN", "1") 8 | .include("libgit2/deps/pcre") 9 | + .define("_GNU_SOURCE", Some("1")) 10 | .define("HAVE_STDINT_H", Some("1")) 11 | .define("HAVE_MEMMOVE", Some("1")) 12 | .define("NO_RECURSE", Some("1")) 13 | -------------------------------------------------------------------------------- /hooks/patches/sys-apps/bat/sys-info-missing-gnu-extensions.patch: -------------------------------------------------------------------------------- 1 | diff --git a/cargo_home/gentoo/sys-info-0.9.1/c/linux.c b/cargo_home/gentoo/sys-info-0.9.1/c/linux.c 2 | index 4cd1589..86299ab 100644 3 | --- a/cargo_home/gentoo/sys-info-0.9.1/c/linux.c 4 | +++ b/cargo_home/gentoo/sys-info-0.9.1/c/linux.c 5 | @@ -1,3 +1,4 @@ 6 | +#define _GNU_SOURCE 7 | #include 8 | #include 9 | #include 10 | -------------------------------------------------------------------------------- /hooks/patches/sys-devel/clang/clangd/clangd-semantic-token-type-inactive-code.patch: -------------------------------------------------------------------------------- 1 | diff --git a/clangd/SemanticHighlighting.cpp b/clangd/SemanticHighlighting.cpp 2 | index 63d01deb3370..0c1c538692ad 100644 3 | --- a/clangd/SemanticHighlighting.cpp 4 | +++ b/clangd/SemanticHighlighting.cpp 5 | @@ -1048,7 +1048,7 @@ llvm::StringRef toSemanticTokenType(HighlightingKind Kind) { 6 | case HighlightingKind::Macro: 7 | return "macro"; 8 | case HighlightingKind::InactiveCode: 9 | - return "comment"; 10 | + return "inactiveCode"; 11 | } 12 | llvm_unreachable("unhandled HighlightingKind"); 13 | } 14 | -------------------------------------------------------------------------------- /hooks/patches/sys-devel/clang/switch-default-linker-to-lld.patch: -------------------------------------------------------------------------------- 1 | diff --git a/include/clang/Driver/ToolChain.h b/include/clang/Driver/ToolChain.h 2 | index 2e74507f7126..ee1b73679e09 100644 3 | --- a/include/clang/Driver/ToolChain.h 4 | +++ b/include/clang/Driver/ToolChain.h 5 | @@ -471,7 +471,7 @@ public: 6 | } 7 | 8 | /// GetDefaultLinker - Get the default linker to use. 9 | - virtual const char *getDefaultLinker() const { return "ld"; } 10 | + virtual const char *getDefaultLinker() const { return "ld.lld"; } 11 | 12 | /// GetDefaultRuntimeLibType - Get the default runtime library variant to use. 13 | virtual RuntimeLibType GetDefaultRuntimeLibType() const { 14 | -------------------------------------------------------------------------------- /hooks/patches/www-client/brave-bin/brave.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # brave requires GCC runtime libraries 4 | export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 5 | 6 | # NOTE: I swapped GPUs in the UEFI settings, dGPU default, primerun -> iGPU 7 | # use dGPU for rendering and video decoding to take away usage from the iGPU 8 | #exec primerun /opt/brave/brave "$@" 9 | 10 | exec /opt/brave/brave "$@" 11 | -------------------------------------------------------------------------------- /hooks/patches/www-client/vivaldi/gnu-runtime-libs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/vivaldi b/vivaldi 2 | index 6c9858a..389ef3f 100755 3 | --- a/vivaldi 4 | +++ b/vivaldi 5 | @@ -4,6 +4,9 @@ 6 | # Use of this source code is governed by a BSD-style license that can be 7 | # found in the LICENSE file. 8 | 9 | +# vivaldi and the widevine plugin require GCC runtime libraries 10 | +export LD_LIBRARY_PATH="/sucks/gnu/runtime/64:$LD_LIBRARY_PATH" 11 | + 12 | # Let the wrapped binary know that it has been run through the wrapper. 13 | export CHROME_WRAPPER="$(readlink -f "$0")" 14 | 15 | -------------------------------------------------------------------------------- /hooks/patches/www-client/vivaldi/vivaldi-stable.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # NOTE: I swapped GPUs in the UEFI settings, dGPU default, primerun -> iGPU 4 | # use dGPU for rendering and video decoding to take away usage from the iGPU 5 | #exec primerun /opt/vivaldi/vivaldi "$@" 6 | exec /opt/vivaldi/vivaldi "$@" 7 | -------------------------------------------------------------------------------- /hooks/patches/x11-misc/primus/primusrun-gentoo-nvidia-fix.patch: -------------------------------------------------------------------------------- 1 | --- /usr/bin/primusrun 2019-08-23 08:55:54.179919000 +0200 2 | +++ /etc/portage/patches/x11-misc/primus/primusrun 2019-08-23 08:56:15.053251872 +0200 3 | @@ -38,6 +38,9 @@ 4 | # Mesa drivers need a few symbols to be visible 5 | # export PRIMUS_LOAD_GLOBAL=${PRIMUS_LOAD_GLOBAL:-'libglapi.so.0'} 6 | 7 | +# NVIDIA OpenGL drivers must be in LD_LIBRARY_PATH 8 | +export LD_LIBRARY_PATH="/usr/lib64/opengl/nvidia/lib:/usr/lib/opengl/nvidia/lib:$LD_LIBRARY_PATH" 9 | + 10 | # Need functions from primus libGL to take precedence 11 | export LD_LIBRARY_PATH=${PRIMUS_libGL}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} 12 | 13 | -------------------------------------------------------------------------------- /hooks/portage-hook-ctrl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/hooks/portage-hook-ctrl -------------------------------------------------------------------------------- /hooks/sys-apps/bat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | compile() { 6 | echo -e ">>> Patching dependencies to fix compilation errors..." 7 | 8 | pushd ../work 9 | patch -p1 < /etc/portage/hooks/patches/sys-apps/bat/sys-info-missing-gnu-extensions.patch 10 | patch -p1 < /etc/portage/hooks/patches/sys-apps/bat/libgit2-missing-gnu-extensions.patch 11 | popd 12 | } 13 | 14 | case "$1" in 15 | compile) compile ;; 16 | *) : ;; 17 | esac 18 | -------------------------------------------------------------------------------- /hooks/sys-apps/bat.hook: -------------------------------------------------------------------------------- 1 | compile 2 | -------------------------------------------------------------------------------- /hooks/sys-apps/firejail: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo -e ">>> Removing default config (only use my own profiles)..." 7 | if [ ! -z "${ED}" ]; then 8 | rm -r "${ED}/etc/firejail" 9 | fi 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/sys-apps/firejail.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/sys-apps/systemd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # this is now a hard requirement for KDE to autostart things and can no longer be blindly removed without consequences, 6 | # because KDE now wants to use systemd instead of its own autostarter on Linux 7 | # 8 | # maybe I can use the BSD code path for autostarting /etc/xdg/autostart in Linux? 9 | 10 | instprep() { 11 | #if [ ! -z "${D}" ]; then 12 | # echo "remove xdg autostart generator..." 13 | # rm "${D}/usr/lib/systemd/user-generators/systemd-xdg-autostart-generator" 14 | # rm -r "${D}/usr/lib/systemd/user-generators" 15 | #fi 16 | : 17 | } 18 | 19 | case "$1" in 20 | instprep) instprep ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/sys-apps/systemd.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/sys-devel/clang: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | 10 | # apply clang patches 11 | pushd "${S}" 12 | for PATCH in /etc/portage/hooks/patches/sys-devel/clang/*.patch; do 13 | echo -e "\e[1m === Applying clang patch ${PATCH}...\e[0m" 14 | patch --verbose -p1 < "$PATCH" 15 | done 16 | popd 17 | 18 | # apply clang-tools-extra patches 19 | pushd "${S}/../clang-tools-extra" 20 | for PATCH in /etc/portage/hooks/patches/sys-devel/clang/clangd/*.patch; do 21 | echo -e "\e[1m === Applying clang-tools-extra patch ${PATCH}...\e[0m" 22 | patch --verbose -p1 < "$PATCH" 23 | done 24 | popd 25 | } 26 | 27 | case "$1" in 28 | prepare) prepare ;; 29 | *) : ;; 30 | esac 31 | -------------------------------------------------------------------------------- /hooks/sys-devel/clang.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-devel/gnuconfig: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | cd "$S" 7 | cp -p /etc/portage/patches/sys-devel/gnuconfig/config.guess "${ED}/usr/share/gnuconfig/" 8 | cp -p /etc/portage/patches/sys-devel/gnuconfig/config.sub "${ED}/usr/share/gnuconfig/" 9 | } 10 | 11 | case "$1" in 12 | instprep) instprep ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-devel/gnuconfig.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/sys-devel/lld: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-devel/lld.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-devel/llvm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-devel/llvm.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-libs/compiler-rt: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-libs/compiler-rt-sanitizers: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-libs/compiler-rt-sanitizers.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-libs/compiler-rt.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-libs/libcxx: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-libs/libcxx.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-libs/libcxxabi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-libs/libcxxabi.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-libs/llvm-libunwind: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/delete-vcs.sh 6 | 7 | prepare() { 8 | remove_vcs git 9 | } 10 | 11 | case "$1" in 12 | prepare) prepare ;; 13 | *) : ;; 14 | esac 15 | -------------------------------------------------------------------------------- /hooks/sys-libs/llvm-libunwind.hook: -------------------------------------------------------------------------------- 1 | prepare 2 | -------------------------------------------------------------------------------- /hooks/sys-process/htop: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | postinst() { 13 | echo -e ">>> Removing ${PN} desktop files..." 14 | rm -f /usr/share/applications/htop.desktop 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | postinst) postinst ;; 20 | *) : ;; 21 | esac 22 | -------------------------------------------------------------------------------- /hooks/sys-process/htop.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/test/test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | echo ">>> ebuild phase: $1" 6 | echo "$PN" 7 | echo "$ED" 8 | echo "$D" 9 | -------------------------------------------------------------------------------- /hooks/test/test.hook: -------------------------------------------------------------------------------- 1 | compile 2 | prepare 3 | -------------------------------------------------------------------------------- /hooks/www-client/brave-bin: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo "Create custom launcher to inject GCC runtime libraries and dGPU launcher..." 7 | 8 | cd "${ED}/usr/bin" 9 | rm brave-bin 10 | cp /etc/portage/hooks/patches/www-client/brave-bin/brave.sh brave-bin 11 | chmod +x brave-bin 12 | } 13 | 14 | case "$1" in 15 | instprep) instprep ;; 16 | *) : ;; 17 | esac 18 | -------------------------------------------------------------------------------- /hooks/www-client/brave-bin.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/www-client/falkon: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo -e "Setting up VPN Namespace by default for Falkon..." 7 | mkdir -p "${ED}/usr/lib64/falkon" 8 | mv "${ED}/usr/bin/falkon" "${ED}/usr/lib64/falkon/falkon" 9 | echo -e '#!/bin/bash'"\nexec vpn-run /usr/lib64/falkon/falkon "'"$@"' > "${ED}/usr/bin/falkon" 10 | chmod +x "${D}/usr/bin/falkon" 11 | } 12 | 13 | case "$1" in 14 | instprep) instprep ;; 15 | *) : ;; 16 | esac 17 | -------------------------------------------------------------------------------- /hooks/www-client/falkon.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/www-client/ungoogled-chromium-bin: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/www-client/ungoogled-chromium-bin.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/www-client/vivaldi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | instprep() { 6 | echo "Injecting GCC runtime libraries into launcher script..." 7 | cd "${ED}/opt/vivaldi" 8 | patch -p1 < /etc/portage/hooks/patches/www-client/vivaldi/gnu-runtime-libs.patch 9 | 10 | echo "Replace entry point to run on the dGPU..." 11 | cd "${ED}/usr/bin" 12 | rm vivaldi-stable 13 | cp /etc/portage/hooks/patches/www-client/vivaldi/vivaldi-stable.sh vivaldi-stable 14 | chmod +x vivaldi-stable 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | *) : ;; 20 | esac 21 | -------------------------------------------------------------------------------- /hooks/www-client/vivaldi.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/x11-drivers/nvidia-drivers.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/x11-misc/alltray: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | case "$1" in 13 | instprep) instprep ;; 14 | *) : ;; 15 | esac 16 | -------------------------------------------------------------------------------- /hooks/x11-misc/alltray.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/x11-misc/compton: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | postinst() { 13 | echo -e ">>> Removing ${PN} desktop files..." 14 | rm -f /usr/share/applications/compton.desktop 15 | } 16 | 17 | case "$1" in 18 | instprep) instprep ;; 19 | postinst) postinst ;; 20 | *) : ;; 21 | esac 22 | -------------------------------------------------------------------------------- /hooks/x11-misc/compton.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/x11-misc/picom: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | 11 | echo -e ">>> Removing compton legacy compat symlinks..." 12 | rm -f "${ED}/usr/bin/compton" 13 | rm -f "${ED}/usr/bin/compton-trans" 14 | } 15 | 16 | case "$1" in 17 | instprep) instprep ;; 18 | *) : ;; 19 | esac 20 | -------------------------------------------------------------------------------- /hooks/x11-misc/picom.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/x11-misc/primus: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | # fix for Gentoo's eselect opengl 6 | # this patch makes the "primusrun" command actually work :) 7 | 8 | instprep() { 9 | cd "$ED/usr/bin" 10 | # no longer needed on glvnd-enabled systems 11 | #patch primusrun < /etc/portage/hooks/patches/x11-misc/primus/primusrun-gentoo-nvidia-fix.patch 12 | } 13 | 14 | case "$1" in 15 | instprep) instprep ;; 16 | *) : ;; 17 | esac 18 | -------------------------------------------------------------------------------- /hooks/x11-misc/primus.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /hooks/x11-terms/xterm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | source /etc/portage/hooks/functions/check-env.sh 4 | 5 | . /etc/portage/hooks/functions/desktop-utils.sh 6 | 7 | instprep() { 8 | echo -e ">>> Removing ${PN} desktop files..." 9 | remove_desktop_files 10 | } 11 | 12 | postinst() { 13 | echo -e ">>> Removing ${PN} desktop files..." 14 | rm -f /usr/share/applications/uxterm.desktop 15 | rm -f /usr/share/applications/xterm.desktop 16 | } 17 | 18 | case "$1" in 19 | instprep) instprep ;; 20 | postinst) postinst ;; 21 | *) : ;; 22 | esac 23 | -------------------------------------------------------------------------------- /hooks/x11-terms/xterm.hook: -------------------------------------------------------------------------------- 1 | instprep 2 | -------------------------------------------------------------------------------- /kernel-modules: -------------------------------------------------------------------------------- 1 | app-emulation/vmware-modules 2 | media-video/v4l2loopback 3 | app-laptop/tuxedo-drivers 4 | -------------------------------------------------------------------------------- /make.profile: -------------------------------------------------------------------------------- 1 | profile -------------------------------------------------------------------------------- /package.accept_keywords/kde: -------------------------------------------------------------------------------- 1 | #=kde-misc/plasma-applet-window-title-9999 ** 2 | =kde-misc/plasma-applet-window-buttons-9999 ** 3 | =kde-misc/plasma-applet-window-appmenu-9999 ** 4 | =kde-misc/plasma-applet-thermal-monitor-9999 ** 5 | =kde-misc/plasma-applet-plasma-analyzer-9999 ** 6 | =kde-misc/material-decoration-9999 ** 7 | -------------------------------------------------------------------------------- /package.accept_keywords/other: -------------------------------------------------------------------------------- 1 | # allow unstable masked main repo packages 2 | =net-misc/streamlink-9999 ** 3 | =games-emulation/pcsx2-9999 ** 4 | =games-emulation/dolphin-9999 ** 5 | 6 | =media-video/mpv-9999::vapoursynth ** 7 | =media-video/minitube-9999::localrepo ** 8 | 9 | =gui-apps/waybar-9999::gentoo ** 10 | 11 | # localrepo 12 | =x11-misc/nvidia-xrun-9999 ** 13 | =kde-misc/krohnkite-9999 ** 14 | =media-gfx/flameshot-9999 ** 15 | -------------------------------------------------------------------------------- /package.accept_keywords/stable: -------------------------------------------------------------------------------- 1 | # by default ~(unstable) is enabled globally 2 | # install stable versions of the below packages instead 3 | net-misc/networkmanager -* * 4 | net-misc/modemmanager -* * 5 | -------------------------------------------------------------------------------- /package.env/dev-lang: -------------------------------------------------------------------------------- 1 | # requires at least POSIX extensions to build on Linux 2 | #dev-lang/go go-posix.conf 3 | 4 | # force libunwind instead of libgcc_s to remove gcc dependency 5 | # needs config.toml patches to use the correct compiler wrapper 6 | dev-lang/rust rust-clang.conf 7 | 8 | # allow usage of extensions for more modules 9 | dev-lang/python gnu-source-light.conf define-linux.conf 10 | dev-lang/php gnu-source-light.conf define-linux.conf 11 | 12 | # php 8.0 introduced GNU inline assembly and forgot to add -std=gnu 13 | # module in question: TSRM 14 | dev-lang/php:8.2 std-gnu17.conf 15 | 16 | # define GNU_SOURCE during build 17 | dev-lang/erlang gnu-source-light.conf 18 | -------------------------------------------------------------------------------- /package.env/dracut: -------------------------------------------------------------------------------- 1 | sys-kernel/dracut std-gnu99.conf 2 | -------------------------------------------------------------------------------- /package.env/feature-flags: -------------------------------------------------------------------------------- 1 | # feature flags 2 | dev-vcs/git enable-man.conf 3 | dev-vcs/git-lfs enable-man.conf 4 | net-misc/openssh enable-man.conf 5 | app-admin/doas enable-man.conf 6 | sys-apps/man-pages enable-man.conf 7 | sys-apps/man-pages-posix enable-man.conf 8 | app-i18n/man-pages-ja enable-man.conf 9 | -------------------------------------------------------------------------------- /package.env/glibc-static: -------------------------------------------------------------------------------- 1 | #app-emulation/qemu glibc-static-helper.conf 2 | -------------------------------------------------------------------------------- /package.env/go: -------------------------------------------------------------------------------- 1 | # requires temporary patching of the ebuild to allow custom CFLAGS 2 | # the build system thinks extensions are available by default without additional compiler flags 3 | app-containers/docker go-posix.conf 4 | app-containers/runc go-posix.conf 5 | 6 | app-containers/podman go-posix.conf 7 | app-containers/crun std-gnu99.conf 8 | -------------------------------------------------------------------------------- /package.env/gstreamer: -------------------------------------------------------------------------------- 1 | media-libs/gstreamer std-gnu99.conf 2 | -------------------------------------------------------------------------------- /package.env/kernel: -------------------------------------------------------------------------------- 1 | # low-level stuff and kernel modules 2 | sys-kernel/linux-headers gnu-gcc.conf 3 | sys-kernel/vanilla-sources gnu-gcc.conf 4 | sys-kernel/gentoo-sources gnu-gcc.conf 5 | sys-kernel/gentoo-kernel-bin gnu-gcc.conf 6 | sys-apps/kmod gnu-gcc.conf static-gnu-runtime.conf 7 | app-emulation/vmware-modules gnu-gcc.conf 8 | media-video/v4l2loopback gnu-gcc.conf 9 | app-laptop/tuxedo-drivers gnu-gcc.conf 10 | -------------------------------------------------------------------------------- /package.env/lldb-tuning: -------------------------------------------------------------------------------- 1 | # use this file to enable lldb debugger tunings when debugging the weirdest errors ever 2 | # warning: this makes binaries super huge because it embeds source code partially into the binary 3 | # for lldb to print in backtraces 4 | 5 | #dev-util/rz-ghidra lldb-tuning.conf 6 | -------------------------------------------------------------------------------- /package.env/online-sandbox: -------------------------------------------------------------------------------- 1 | net-im/riot-desktop online-sandbox.conf 2 | net-im/riot-web online-sandbox.conf 3 | app-misc/mkcert online-sandbox.conf 4 | www-apps/hugo online-sandbox.conf 5 | app-editors/micro online-sandbox.conf 6 | dev-libs/liblinphone online-sandbox.conf 7 | -------------------------------------------------------------------------------- /package.env/portage: -------------------------------------------------------------------------------- 1 | # package manager config 2 | sys-apps/portage enable-man.conf 3 | app-portage/* enable-man.conf 4 | -------------------------------------------------------------------------------- /package.env/rust: -------------------------------------------------------------------------------- 1 | dev-util/git-delta gnu-source-light.conf 2 | -------------------------------------------------------------------------------- /package.env/rust-libs: -------------------------------------------------------------------------------- 1 | net-libs/quiche rust-libs.conf 2 | dev-util/maturin rust-libs.conf 3 | dev-python/cryptography rust-libs.conf 4 | sys-process/bottom rust-libs.conf 5 | sys-apps/bat rust-libs.conf 6 | sys-apps/eza rust-libs.conf 7 | sys-apps/amdgpu_top rust-libs.conf 8 | dev-util/git-delta rust-libs.conf 9 | dev-util/cbindgen rust-libs.conf 10 | -------------------------------------------------------------------------------- /package.env/toolchain: -------------------------------------------------------------------------------- 1 | # default system toolchain: LLVM 10.0.0 2 | 3 | # TODO: [future] get rid of glibc and replace with something non-GNU (preferred: musl) 4 | # TODO: [future] transparent glibc compatibility without explicit wrapper command or similar 5 | 6 | # compiler and runtimes 7 | sys-devel/gcc gnu-gcc.conf 8 | sys-libs/glibc gnu-gcc.conf 9 | 10 | llvm-core/clang clang.conf 11 | llvm-core/llvm clang.conf 12 | llvm-runtimes/compiler-rt clang.conf 13 | sys-libs/compiler-rt-sanitizers clang.conf 14 | llvm-runtimes/libunwind clang.conf 15 | llvm-runtimes/libcxx clang.conf 16 | llvm-runtimes/libcxxabi clang.conf 17 | llvm-core/lldb clang.conf 18 | 19 | # TODO: find a LLVM-based Fortran compiler 20 | sci-libs/fftw gfortran.conf 21 | -------------------------------------------------------------------------------- /package.env/undefined-version: -------------------------------------------------------------------------------- 1 | # -Wl,--undefined-version 2 | 3 | net-fs/samba allow-undefined-version.conf 4 | sys-libs/talloc allow-undefined-version.conf 5 | sys-libs/tevent allow-undefined-version.conf 6 | sys-libs/tdb allow-undefined-version.conf 7 | sys-libs/ldb allow-undefined-version.conf 8 | net-libs/libnftnl allow-undefined-version.conf 9 | net-libs/gtk-vnc allow-undefined-version.conf 10 | net-misc/spice-gtk allow-undefined-version.conf 11 | net-proxy/dante allow-undefined-version.conf 12 | net-nds/openldap allow-undefined-version.conf 13 | media-libs/libva allow-undefined-version.conf 14 | media-libs/alsa-lib allow-undefined-version.conf 15 | media-gfx/graphicsmagick allow-undefined-version.conf 16 | media-sound/sox allow-undefined-version.conf 17 | 18 | x11-misc/mangohud::localrepo allow-undefined-version.conf 19 | -------------------------------------------------------------------------------- /package.env/world: -------------------------------------------------------------------------------- 1 | # enable debugging symbols for everything 2 | # splitdebug is broken when using LLD as default linker 3 | */* nostrip.conf 4 | -------------------------------------------------------------------------------- /package.mask/bricked: -------------------------------------------------------------------------------- 1 | # multilib cross compilation is broken again in this version 2 | =dev-util/meson-0.56.2 3 | 4 | # install 059-r7 5 | >=sys-kernel/dracut-060 6 | 7 | # makes some gtk apps sad (waterfox, ...) 8 | #>=x11-libs/pango-1.48 9 | 10 | # need to debug this later 11 | #>=dev-ruby/rubygems-3.2 12 | 13 | # bluez 5.63 has issues with hibernation on my system 14 | =net-wireless/bluez-5.63 15 | =net-wireless/bluez-5.63-r1 16 | -------------------------------------------------------------------------------- /package.mask/dev-lang: -------------------------------------------------------------------------------- 1 | # python 2 | dev-lang/python:3.10 3 | >=dev-lang/python-3.13 4 | 5 | dev-lang/php:8.1 6 | dev-lang/php:8.3 7 | -------------------------------------------------------------------------------- /package.mask/repositories: -------------------------------------------------------------------------------- 1 | # mask 3rd party repos by default, use package.unmask to unmask individual packages 2 | */*::seden 3 | */*::jorgicio 4 | */*::chaoslab 5 | */*::stefantalpalaru 6 | */*::pentoo 7 | */*::nest 8 | */*::guru 9 | -------------------------------------------------------------------------------- /package.mask/sys-boot: -------------------------------------------------------------------------------- 1 | sys-boot/grub 2 | -------------------------------------------------------------------------------- /package.mask/tmp: -------------------------------------------------------------------------------- 1 | media-video/vlc 2 | -------------------------------------------------------------------------------- /package.use/32bit-support: -------------------------------------------------------------------------------- 1 | # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2 | # ONLY BARE 32-bit RUNTIME SUPPORT 3 | # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 4 | 5 | # use containers (lxc, flatpak, docker, podman, etc.) for random garbage in the future 6 | 7 | test/test abi_x86_32 8 | 9 | # part of glibc itself 10 | virtual/libintl abi_x86_32 11 | virtual/libiconv abi_x86_32 12 | 13 | # crypt library which is usually expected alongside glibc 14 | sys-libs/libxcrypt abi_x86_32 15 | virtual/libcrypt abi_x86_32 16 | 17 | # toolchain runtime 18 | llvm-runtimes/libunwind abi_x86_32 19 | llvm-runtimes/libcxx abi_x86_32 20 | llvm-runtimes/libcxxabi abi_x86_32 21 | llvm-runtimes/openmp abi_x86_32 22 | -------------------------------------------------------------------------------- /package.use/app-accessibility: -------------------------------------------------------------------------------- 1 | app-accessibility/orca -braille 2 | app-accessibility/speech-dispatcher -espeak espeak-ng alsa pulseaudio python 3 | app-accessibility/at-spi2-core introspection 4 | app-accessibility/espeak-ng mbrola 5 | -------------------------------------------------------------------------------- /package.use/app-admin: -------------------------------------------------------------------------------- 1 | app-admin/keepassxc -autotype -network -browser -yubikey 2 | app-admin/sudo offensive gcrypt sendmail -ssl 3 | -------------------------------------------------------------------------------- /package.use/app-antivirus: -------------------------------------------------------------------------------- 1 | app-antivirus/clamav xml -ipv6 -systemd 2 | -------------------------------------------------------------------------------- /package.use/app-arch: -------------------------------------------------------------------------------- 1 | app-arch/p7zip pch rar 2 | app-arch/libarchive acl xattr bzip2 expat iconv lz4 lzma lzo zlib zstd blake2 3 | -------------------------------------------------------------------------------- /package.use/app-backup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/package.use/app-backup -------------------------------------------------------------------------------- /package.use/app-crypt: -------------------------------------------------------------------------------- 1 | app-crypt/gcr gtk vala introspection 2 | app-crypt/libsecret vala introspection 3 | app-crypt/gnupg bzip2 user-socket tools smartcard -usb 4 | app-crypt/pinentry qt5 ncurses gnome-keyring 5 | app-crypt/gpgme cxx qt5 6 | app-crypt/heimdal caps 7 | -------------------------------------------------------------------------------- /package.use/app-dicts: -------------------------------------------------------------------------------- 1 | app-dicts/myspell-de L10N: * 2 | -------------------------------------------------------------------------------- /package.use/app-doc: -------------------------------------------------------------------------------- 1 | app-text/doxygen clang qt5 dot 2 | -------------------------------------------------------------------------------- /package.use/app-editors: -------------------------------------------------------------------------------- 1 | app-editors/okteta -handbook 2 | app-editors/kile -handbook 3 | app-editors/nano magic 4 | app-editors/vscode egl wayland 5 | 6 | # for xxd command 7 | app-editors/vim-core minimal 8 | -------------------------------------------------------------------------------- /package.use/app-eselect: -------------------------------------------------------------------------------- 1 | app-eselect/eselect-php fpm 2 | -------------------------------------------------------------------------------- /package.use/app-i18n: -------------------------------------------------------------------------------- 1 | app-i18n/fcitx enchant -gtk3 -gtk2 -introspection autostart wayland 2 | app-i18n/fcitx-configtool config-qt kcm 3 | app-i18n/fcitx-qt X qt5 qt6 wayland 4 | app-i18n/mozc gui handwriting-tomoe -fcitx4 fcitx5 -handwriting-tegaki 5 | app-i18n/fbterm filecaps 6 | -------------------------------------------------------------------------------- /package.use/app-laptop: -------------------------------------------------------------------------------- 1 | app-laptop/laptop-mode-tools acpi -apm bluetooth 2 | -------------------------------------------------------------------------------- /package.use/app-misc: -------------------------------------------------------------------------------- 1 | app-misc/neofetch X 2 | app-misc/ddcutil X drm usb-monitor user-permissions VIDEO_CARDS: -* 3 | -------------------------------------------------------------------------------- /package.use/app-office: -------------------------------------------------------------------------------- 1 | app-office/libreoffice cups branding dbus pdfimport kde mariadb -gtk -accessibility -bluetooth -gtk2 -java -branding 2 | app-office/libreoffice LIBREOFFICE_EXTENSIONS: -nlpsolver 3 | app-office/libreoffice-l10n L10N: en ja de 4 | app-office/libreoffice-bin kde 5 | -------------------------------------------------------------------------------- /package.use/app-pda: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/package.use/app-pda -------------------------------------------------------------------------------- /package.use/app-shells: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/package.use/app-shells -------------------------------------------------------------------------------- /package.use/app-text: -------------------------------------------------------------------------------- 1 | app-text/tesseract openmp jpeg math png tiff webp L10N: * 2 | app-text/tessdata_fast osd L10N: * 3 | app-text/hunspell L10N: en de 4 | app-text/texlive-core cjk luajittex xetex 5 | app-text/ghostscript-gpl unicode dbus tiff cups L10N: ja 6 | app-text/poppler cxx jpeg jpeg2k lcms utils cairo cjk curl tiff qt5 nss 7 | app-text/xmlto text 8 | -------------------------------------------------------------------------------- /package.use/dev-cpp: -------------------------------------------------------------------------------- 1 | dev-cpp/eigen c++11 2 | dev-cpp/gtkmm X 3 | dev-cpp/cairomm X 4 | dev-cpp/abseil-cpp cxx17 5 | -------------------------------------------------------------------------------- /package.use/dev-db: -------------------------------------------------------------------------------- 1 | dev-db/tokyocabinet threads 2 | dev-db/mariadb server pam innodb-lz4 innodb-lzo jemalloc bindist 3 | dev-db/sqlite readline icu secure-delete -tools 4 | dev-db/postgresql llvm icu threads lz4 -server 5 | dev-db/postgresql llvm_slot_17 -llvm_slot_18 -llvm_slot_19 6 | dev-db/soci sqlite 7 | dev-db/redis lua_single_target_luajit -lua_single_target_lua5-1 8 | -------------------------------------------------------------------------------- /package.use/dev-games: -------------------------------------------------------------------------------- 1 | dev-games/godot -upnp 2 | -------------------------------------------------------------------------------- /package.use/dev-perl: -------------------------------------------------------------------------------- 1 | dev-perl/IO-Socket-SSL idn 2 | -------------------------------------------------------------------------------- /package.use/dev-php: -------------------------------------------------------------------------------- 1 | dev-php/pecl-memcached igbinary json 2 | -------------------------------------------------------------------------------- /package.use/dev-python: -------------------------------------------------------------------------------- 1 | dev-python/pyqt5 bluetooth ssl dbus declarative gui multimedia network networkauth opengl sensors serialport sql svg webchannel websockets widgets x11extras xmlpatterns 2 | dev-python/cryptography idna 3 | dev-python/ipython matplotlib 4 | dev-python/pillow zlib jpeg jpeg2k lcms tiff truetype webp 5 | dev-python/requests socks5 6 | dev-python/numpy -lapack 7 | -------------------------------------------------------------------------------- /package.use/dev-ruby: -------------------------------------------------------------------------------- 1 | dev-ruby/rubygems server 2 | -------------------------------------------------------------------------------- /package.use/dev-tcltk: -------------------------------------------------------------------------------- 1 | dev-tcltk/blt X jpeg 2 | -------------------------------------------------------------------------------- /package.use/dev-util: -------------------------------------------------------------------------------- 1 | dev-util/ctags json xml yaml 2 | dev-util/cppcheck pcre 3 | dev-util/scanmem gui 4 | dev-util/unicorn unicorn_targets_aarch64 unicorn_targets_arm unicorn_targets_x86 5 | dev-util/vulkan-tools X -wayland vulkaninfo cube 6 | dev-util/ostree openssl curl http2 libmount soup 7 | dev-util/rz-ghidra cutter-plugin tools 8 | -------------------------------------------------------------------------------- /package.use/dev-vcs: -------------------------------------------------------------------------------- 1 | dev-vcs/git threads webdav tk curl blksha1 gpg iconv pcre pcre-jit perl 2 | -------------------------------------------------------------------------------- /package.use/fcitx: -------------------------------------------------------------------------------- 1 | # note: required for app-i18n/fcitx-rime 2 | dev-util/google-perftools llvm-libunwind 3 | dev-cpp/glog llvm-libunwind 4 | -------------------------------------------------------------------------------- /package.use/games-action: -------------------------------------------------------------------------------- 1 | games-action/minetest -server -leveldb 2 | -------------------------------------------------------------------------------- /package.use/games-emulation: -------------------------------------------------------------------------------- 1 | games-emulation/dolphin alsa pulseaudio evdev ffmpeg openal pch sdl wxwidgets qt5 vulkan -systemd 2 | games-emulation/mupen64plus-video-glide64mk2 hires 3 | games-emulation/ppsspp qt5 sdl -system-ffmpeg 4 | -------------------------------------------------------------------------------- /package.use/games-util: -------------------------------------------------------------------------------- 1 | games-util/steam-meta steamruntime 2 | games-util/steam-launcher steamruntime -joystick -udev 3 | -------------------------------------------------------------------------------- /package.use/gnome-base: -------------------------------------------------------------------------------- 1 | gnome-base/gconf -policykit 2 | gnome-base/gnome-desktop introspection 3 | gnome-base/gsettings-desktop-schemas introspection 4 | gnome-base/librsvg -vala introspection -tools 5 | gnome-base/gnome-keyring pam -ssh-agent 6 | app-crypt/gcr -introspection gtk -vala 7 | -------------------------------------------------------------------------------- /package.use/gui-apps: -------------------------------------------------------------------------------- 1 | gui-apps/waybar -pulseaudio -pipewire mpd mpris upower wifi network -tray experimental -popups 2 | -------------------------------------------------------------------------------- /package.use/gui-libs: -------------------------------------------------------------------------------- 1 | gui-libs/wlroots X vulkan x11-backend xcb-errors icccm 2 | gui-libs/xdg-desktop-portal-hyprland qt6 3 | -------------------------------------------------------------------------------- /package.use/gui-wm: -------------------------------------------------------------------------------- 1 | gui-wm/sway X tray fish-completion 2 | gui-wm/hyprland X 3 | -------------------------------------------------------------------------------- /package.use/media-fonts: -------------------------------------------------------------------------------- 1 | media-fonts/* X L10N: ja ko zh-CN zh-TW zh-HK 2 | media-fonts/corefonts tahoma 3 | -------------------------------------------------------------------------------- /package.use/media-gfx: -------------------------------------------------------------------------------- 1 | media-gfx/graphviz cairo nls gdk-pixbuf pdf postscript svg 2 | media-gfx/xloadimage jpeg png tiff 3 | media-gfx/gimp aalib heif jpeg2k mng -openexr postscript python vector-icons webp wmf xpm udev 4 | media-gfx/krita -color-management fftw gif gsl heif jpeg -openexr pdf qtmedia raw tiff vc webp 5 | media-gfx/inkscape dbus exif imagemagick jpeg lcms 6 | media-gfx/imagemagick -X bzip2 corefonts cxx djvu fontconfig fpx graphviz jbig jpeg jpeg2k lcms lzma -openmp png 7 | media-gfx/imagemagick postscript raw svg tiff truetype webp xml zlib pango wmf hdri 8 | media-gfx/graphicsmagick -X bzip2 cxx fpx jbig jpeg jpeg2k lcms lzma -openmp png postscript svg threads tiff truetype 9 | media-gfx/graphicsmagick webp wmf zlib -imagemagick 10 | media-gfx/fontforge readline unicode cairo jpeg png tiff svg -X -gtk python 11 | media-gfx/pngquant -openmp 12 | media-gfx/qrencode png 13 | -------------------------------------------------------------------------------- /package.use/media-plugins: -------------------------------------------------------------------------------- 1 | media-plugins/alsa-plugins pulseaudio speex usb_stream mix 2 | media-plugins/frei0r-plugins -* 3 | media-plugins/gst-plugins-meta X a52 aac alsa dts dvd ffmpeg flac lame http libass pulseaudio 4 | media-plugins/gst-plugins-meta theora taglib vaapi wavpack x264 mp3 mpeg ogg opus vpx vcd vorbis modplug -cdda 5 | media-plugins/gst-plugins-vaapi opengl 6 | media-plugins/calf lv2 7 | -------------------------------------------------------------------------------- /package.use/media-tv: -------------------------------------------------------------------------------- 1 | media-tv/v4l-utils -bpf opengl -qt5 2 | -------------------------------------------------------------------------------- /package.use/net-analyzer: -------------------------------------------------------------------------------- 1 | net-analyzer/zabbix agent curl -frontend libxml2 mysql -postgres server ssh ssl 2 | net-analyzer/fping suid 3 | net-analyzer/tcpdump -samba 4 | -------------------------------------------------------------------------------- /package.use/net-dialup: -------------------------------------------------------------------------------- 1 | net-dialup/ppp pam activefilter atm dhcp eap eap-tls radius ipv6 2 | -------------------------------------------------------------------------------- /package.use/net-dns: -------------------------------------------------------------------------------- 1 | net-dns/avahi dbus mdnsresponder-compat -qt5 -systemd 2 | net-dns/bind-tools idn 3 | net-dns/dnsmasq inotify dbus dhcp dnssec nls idn script 4 | net-dns/pihole-admin doas 5 | -------------------------------------------------------------------------------- /package.use/net-firewall: -------------------------------------------------------------------------------- 1 | net-firewall/ufw ipv6 2 | net-firewall/xtables-addons -* xtables_addons_geoip 3 | net-firewall/iptables conntrack netlink nftables pcap 4 | -------------------------------------------------------------------------------- /package.use/net-fs: -------------------------------------------------------------------------------- 1 | # samba + app-crypt/mit-krb5 is broken with my LLVM toolchain 2 | # and is unable to pass configure tests, even with patching 3 | # it can't be compiled nor linked; falling back to app-crypt/heimdal 4 | net-fs/samba -system-mitkrb5 -regedit client llvm-libunwind 5 | -------------------------------------------------------------------------------- /package.use/net-libs: -------------------------------------------------------------------------------- 1 | net-libs/glib-networking -gnome 2 | net-libs/libproxy -gnome -kde -mono -networkmanager -perl -python -spidermonkey -webkit 3 | net-libs/libpsl idn icu 4 | net-libs/libsoup introspection 5 | net-libs/mbedtls threads 6 | net-libs/webkit-gtk -* X opengl introspection 7 | net-libs/zeromq -unwind drafts 8 | net-libs/gtk-vnc introspection 9 | net-libs/nodejs npm ssl icu inspector -system-icu 10 | net-libs/libvncserver zlib lzo jpeg png threads 11 | net-libs/libpcap bluetooth dbus netlink usb 12 | net-libs/libmbim udev 13 | net-libs/nghttp2 cxx 14 | net-libs/bzrtp sqlite 15 | net-libs/ortp srtp 16 | net-libs/gnutls tools pkcs11 17 | -------------------------------------------------------------------------------- /package.use/net-misc: -------------------------------------------------------------------------------- 1 | net-misc/curl ssl ssh threads http2 quiche rtmp brotli telnet zstd 2 | net-misc/freerdp:2 X client alsa ffmpeg gstreamer jpeg pulseaudio xv xinerama -server -fuse icu wayland 3 | net-misc/freerdp:3 X client alsa ffmpeg gstreamer jpeg pulseaudio xv xinerama -server -fuse icu sdl 4 | net-misc/modemmanager qmi udev mbim -policykit -vala 5 | net-misc/networkmanager -dhclient modemmanager ncurses nss ppp wext wifi bluetooth -connection-sharing json ofono -teamd -policykit -vala iptables -gtk-doc -concheck 6 | net-misc/nextcloud-client dolphin 7 | net-misc/ofono atmodem cdmamodem datafiles isimodem phonesim provision qmimodem udev bluetooth 8 | net-misc/openssh hpn pie ssl 9 | net-misc/spice-gtk introspection pulseaudio usbredir dbus lz4 mjpeg gstvideo wayland 10 | -------------------------------------------------------------------------------- /package.use/net-p2p: -------------------------------------------------------------------------------- 1 | net-p2p/ktorrent -handbook -mediaplayer -scanfolder -search -shutdown 2 | -------------------------------------------------------------------------------- /package.use/net-print: -------------------------------------------------------------------------------- 1 | net-print/cups dbus acl pam ssl threads usb 2 | net-print/cups-filters foomatic postscript dbus jpeg pdf png tiff 3 | -------------------------------------------------------------------------------- /package.use/net-proxy: -------------------------------------------------------------------------------- 1 | net-proxy/privoxy -image-blocking -stats 2 | -------------------------------------------------------------------------------- /package.use/net-voip: -------------------------------------------------------------------------------- 1 | net-voip/ring-daemon -video -hwaccel -vaapi -x264 -libilbc -speex -speexdsp 2 | -------------------------------------------------------------------------------- /package.use/net-wireless: -------------------------------------------------------------------------------- 1 | net-wireless/bluez mesh btpclient obex readline udev alsa experimental user-session 2 | net-wireless/crda gcrypt 3 | net-wireless/hostapd crda wps netlink savedconfig sqlite 4 | net-wireless/wpa_supplicant dbus fils readline ap p2p eap-sim uncommon-eap-types -qt5 5 | -------------------------------------------------------------------------------- /package.use/portage: -------------------------------------------------------------------------------- 1 | sys-apps/portage PYTHON_TARGETS: -* python3_12 PYTHON_SINGLE_TARGET: -* python3_12 2 | app-portage/* PYTHON_TARGETS: -* python3_12 PYTHON_SINGLE_TARGET: -* python3_12 3 | 4 | dev-java/java-config PYTHON_TARGETS: -* python3_12 5 | sys-apps/pkgcore PYTHON_TARGETS: -* python3_12 6 | dev-util/pkgcheck PYTHON_TARGETS: -* python3_12 7 | dev-util/pkgdev PYTHON_TARGETS: -* python3_12 8 | -------------------------------------------------------------------------------- /package.use/postfix: -------------------------------------------------------------------------------- 1 | mail-mta/postfix mysql mbox memcached sqlite berkdb 2 | net-mail/dovecot bzip2 caps lz4 lzma sieve managesieve mysql sqlite tcpd zlib 3 | -------------------------------------------------------------------------------- /package.use/sci-libs: -------------------------------------------------------------------------------- 1 | sci-libs/fftw threads 2 | sci-libs/libqalculate icu 3 | -------------------------------------------------------------------------------- /package.use/static-libs: -------------------------------------------------------------------------------- 1 | #sys-libs/zlib static-libs 2 | #dev-libs/libpcre static-libs 3 | #sys-apps/attr static-libs 4 | #dev-libs/glib static-libs 5 | -------------------------------------------------------------------------------- /package.use/sys-apps: -------------------------------------------------------------------------------- 1 | sys-apps/busybox static -pam -systemd 2 | sys-apps/busybox-musl -systemd 3 | sys-apps/dbus X user-session 4 | sys-apps/file bzip2 lzma zlib 5 | sys-apps/pciutils dns 6 | sys-apps/pcsc-lite udev 7 | sys-apps/shadow bcrypt -systemd 8 | sys-apps/systemd acl idn kmod lz4 lzma nat pam pcre policykit seccomp sysv-utils cgroup-hybrid -elfutils -gcrypt -audit -dns-over-tls -resolvconf kernel-install boot 9 | sys-apps/util-linux caps unicode udev suid 10 | sys-apps/kmod lzma zlib 11 | sys-apps/util-linux static-libs 12 | sys-apps/smartmontools -daemon 13 | sys-apps/gsmartcontrol 14 | sys-apps/firejail -contrib -globalcfg x11 15 | sys-apps/man-db -gdbm berkdb 16 | sys-apps/flatpak X seccomp policykit -gnome -gtk kde 17 | sys-apps/debianutils -installkernel 18 | sys-apps/kmod zstd 19 | sys-apps/kmscon -fbdev 20 | sys-apps/xdg-desktop-portal-gtk X wayland 21 | -------------------------------------------------------------------------------- /package.use/sys-auth: -------------------------------------------------------------------------------- 1 | sys-auth/polkit introspection nls pam jit kde 2 | sys-auth/elogind acl pam policykit 3 | sys-auth/pambase caps 4 | -------------------------------------------------------------------------------- /package.use/sys-block: -------------------------------------------------------------------------------- 1 | sys-block/parted -device-mapper 2 | sys-block/gparted btrfs f2fs fat hfs jfs kde ntfs policykit reiser4 reiserfs udf xfs 3 | -------------------------------------------------------------------------------- /package.use/sys-boot: -------------------------------------------------------------------------------- 1 | # build and install support for MBR and UEFI to support hybrid boot 2 | sys-boot/grub device-mapper mount fonts truetype themes GRUB_PLATFORMS: -* pc efi-64 3 | -------------------------------------------------------------------------------- /package.use/sys-devel: -------------------------------------------------------------------------------- 1 | dev-debug/gdb python lzma client source-highlight xml -server 2 | -------------------------------------------------------------------------------- /package.use/sys-firmware: -------------------------------------------------------------------------------- 1 | sys-firmware/* bluetooth 2 | sys-firmware/alsa-firmware ALSA_CARDS: * 3 | sys-firmware/intel-microcode initramfs 4 | -------------------------------------------------------------------------------- /package.use/sys-fs: -------------------------------------------------------------------------------- 1 | sys-fs/cryptsetup -argon2 -luks1_default openssl udev -gcrypt -nettle 2 | sys-fs/squashfs-tools xattr xz lz4 lzma lzo zstd 3 | sys-fs/libostree openssl curl 4 | sys-fs/udisks acl nls 5 | sys-fs/xfsprogs icu 6 | sys-fs/btrfs-progs -man 7 | -------------------------------------------------------------------------------- /package.use/sys-kernel: -------------------------------------------------------------------------------- 1 | sys-kernel/gentoo-sources -symlink -firmware 2 | sys-kernel/linux-firmware redistributable savedconfig unknown-license 3 | 4 | # managed manually by my update-initramfs script 5 | sys-kernel/gentoo-kernel-bin -initramfs 6 | sys-kernel/gentoo-kernel -initramfs 7 | sys-kernel/installkernel -dracut -grub -uki -ukify -systemd 8 | sys-apps/systemd -kernel-install 9 | -------------------------------------------------------------------------------- /package.use/sys-libs: -------------------------------------------------------------------------------- 1 | sys-libs/libunwind static-libs libatomic lzma 2 | sys-libs/slang pcre readline zlib cjk png 3 | sys-libs/libblockdev cryptsetup tools bcache -device-mapper 4 | sys-libs/db -cxx 5 | sys-libs/libosinfo introspection 6 | sys-libs/zlib minizip 7 | sys-libs/timezone-data leaps-timezone 8 | sys-libs/ncurses -gpm cxx 9 | sys-libs/libxcrypt static-libs 10 | -------------------------------------------------------------------------------- /package.use/sys-process: -------------------------------------------------------------------------------- 1 | sys-process/cronie inotify pam 2 | sys-process/criu setproctitle 3 | sys-process/htop llvm-libunwind 4 | sys-process/bottom -zfs 5 | -------------------------------------------------------------------------------- /package.use/virtual: -------------------------------------------------------------------------------- 1 | virtual/libusb udev 2 | virtual/ffmpeg encode X jpeg2k mp3 opus theora truetype vaapi vdpau x264 sdl -libav 3 | virtual/linux-sources -firmware 4 | virtual/imagemagick-tools jpeg png svg tiff 5 | virtual/libcrypt static-libs 6 | virtual/rust rustfmt 7 | -------------------------------------------------------------------------------- /package.use/world: -------------------------------------------------------------------------------- 1 | */* systemd pam policykit udev ipv6 idn -gpm tomoyo cjk nls unicode bluetooth alsa pulseaudio fish-completion 2 | */* -elogind -ldap -introspection -apparmor -selinux -vala -doc -epydoc -test -unwind -python -berkdb -gdbm -mandb 3 | */* PYTHON_TARGETS: -* python3_11 python3_12 PYTHON_SINGLE_TARGET: -* python3_12 4 | */* RUBY_TARGETS: -* ruby31 RUBY_SINGLE_TARGET: -* ruby31 5 | */* PHP_TARGETS: -* php8-2 PHP_SINGLE_TARGET: -* php8-2 6 | */* PERL_FEATURES: ithreads 7 | -------------------------------------------------------------------------------- /package.use/www-client: -------------------------------------------------------------------------------- 1 | www-client/w3m X -gdk-pixbuf imlib fbcon 2 | www-client/ungoogled-chromium-bin widevine 3 | www-client/waterfox gmp-autoupdate pulseaudio dbus hardened hwaccel 4 | www-client/waterfox system-harfbuzz system-icu system-jpeg system-libevent system-libvpx system-sqlite nsplugin -wifi 5 | www-client/falkon X dbus kde 6 | www-client/vivaldi widevine proprietary-codecs qt5 ffmpeg-chromium 7 | www-client/librewolf lto hwaccel -geckodriver -system-icu 8 | -------------------------------------------------------------------------------- /package.use/www-servers: -------------------------------------------------------------------------------- 1 | www-servers/caddy cache cgi cors filecaps filter git ipfilter locale pie realip 2 | -------------------------------------------------------------------------------- /package.use/x11-apps: -------------------------------------------------------------------------------- 1 | x11-apps/* X xinerama 2 | x11-apps/xdpyinfo xinerama 3 | -------------------------------------------------------------------------------- /package.use/x11-base: -------------------------------------------------------------------------------- 1 | x11-base/xorg-server glamor suid udev xorg xephyr xvfb kdrive wayland -unwind 2 | x11-base/xorg-drivers keyboard libinput mouse joystick synaptics wacom 3 | x11-base/xorg-drivers INPUT_DEVICES: keyboard libinput mouse joystick synaptics wacom 4 | x11-base/xorg-drivers VIDEO_CARDS: -intel -i915 5 | -------------------------------------------------------------------------------- /package.use/x11-drivers: -------------------------------------------------------------------------------- 1 | x11-drivers/* X 2 | x11-drivers/xf86-video-intel dri sna udev xvmc uxa 3 | x11-drivers/nvidia-drivers X driver kms acpi uvm multilib -tools -gtk3 4 | -------------------------------------------------------------------------------- /package.use/x11-libs: -------------------------------------------------------------------------------- 1 | x11-libs/libnotify introspection 2 | x11-libs/* X 3 | media-libs/libva X opengl utils vdpau wayland 4 | media-libs/libva-intel-driver X 5 | x11-libs/cairo opengl xcb 6 | x11-libs/libXfont2 truetype 7 | x11-libs/libva-vdpau-driver opengl 8 | x11-libs/libxcb xkb 9 | x11-libs/libxkbcommon X wayland 10 | x11-libs/vte introspection 11 | x11-libs/gtk+ xinerama introspection -broadway -cloudprint -colord -cups wayland 12 | x11-libs/pango introspection 13 | x11-libs/gdk-pixbuf introspection 14 | x11-libs/gtksourceview introspection 15 | x11-libs/wxGTK X opengl gstreamer libnotify sdl tiff 16 | x11-libs/libwnck introspection 17 | -------------------------------------------------------------------------------- /package.use/x11-terms: -------------------------------------------------------------------------------- 1 | x11-terms/xterm unicode truetype xinerama sixel 2 | x11-terms/mlterm cairo fcitx harfbuzz xft 3 | -------------------------------------------------------------------------------- /patchelf.list: -------------------------------------------------------------------------------- 1 | # prebuilt and proprietary packages depending on GNU runtime libraries 2 | # those packages are either patched using patchelf or contain a custom 3 | # or modified launcher script exporting LD_LIBRARY_PATH 4 | # all patching is done using portage-hook-ctrl to only affect my system 5 | # 6 | # patchelf is cleaner but not always possible (discord for example) 7 | # patchelf is mandatory on SUID binaries (like vmware-vmx) 8 | # launcher scripts are required for crap like vscodium to make native plugins happy 9 | 10 | app-emulation/vmware-workstation 11 | app-editors/vscodium-bin 12 | app-office/freeoffice 13 | media-video/svp 14 | net-im/discord-bin 15 | net-im/zoom 16 | www-client/brave-bin 17 | www-client/vivaldi 18 | -------------------------------------------------------------------------------- /patches/app-arch/unzip/README.md: -------------------------------------------------------------------------------- 1 | Fixes compilation with a 100% pure self-contained LLVM toolchain 2 | with GCC compatibility disabled and patched out. 3 | 4 | Most errors are caused by missing C preprocessor macros. 5 | -------------------------------------------------------------------------------- /patches/app-containers/runc/compilation-fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/libcontainer/nsenter/escape.c b/libcontainer/nsenter/escape.c 2 | index 78e7e9f..77868d1 100644 3 | --- a/libcontainer/nsenter/escape.c 4 | +++ b/libcontainer/nsenter/escape.c 5 | @@ -1,3 +1,4 @@ 6 | +#define _GNU_SOURCE 7 | #include 8 | #include 9 | 10 | -------------------------------------------------------------------------------- /patches/app-crypt/heimdal/pthread-link-fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/cf/pthreads.m4 b/cf/pthreads.m4 2 | index 4d84395..d112243 100644 3 | --- a/cf/pthreads.m4 4 | +++ b/cf/pthreads.m4 5 | @@ -41,7 +41,7 @@ case "$host" in 6 | PTHREAD_CFLAGS=-pthread 7 | PTHREAD_LIBADD=-pthread 8 | ;; 9 | -*-*-gnu*) 10 | +*-*-gnu* | *-*-linux) 11 | native_pthread_support=yes 12 | PTHREADS_CFLAGS=-pthread 13 | PTHREAD_LIBADD="-pthread -lpthread" 14 | -------------------------------------------------------------------------------- /patches/app-emulation/playonlinux/dont-check-for-wine-installation.patch: -------------------------------------------------------------------------------- 1 | diff --git a/python/mainwindow.py b/python/mainwindow.py 2 | index 28fbc06..f80b32b 100755 3 | --- a/python/mainwindow.py 4 | +++ b/python/mainwindow.py 5 | @@ -1319,7 +1319,6 @@ class PlayOnLinuxApp(wx.App): 6 | self.singleCheck("gettext.sh", package="gettext") # gettext-base on Debian 7 | self.singleCheck("icotool", package="icoutils") 8 | self.singleCheck("wrestool", package="icoutils") 9 | - self.singleCheck("wine", package="Wine") 10 | self.singleCheck("unzip", package="InfoZIP") 11 | self.singleCheck("jq", package="jq") 12 | self.singleCheck("7z", package="P7ZIP full") # p7zip-full on Debian 13 | -------------------------------------------------------------------------------- /patches/app-emulation/playonlinux/replace-gcc-with-clang.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index a8d81b8..e11d7f2 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -21,7 +21,7 @@ 6 | # 7 | 8 | CFLAGS ?= -O2 9 | -CC = gcc $(CFLAGS) 10 | +CC = clang $(CFLAGS) 11 | PYTHON = python2 -m py_compile 12 | GZIP = gzip 13 | SHELL := /bin/bash 14 | -------------------------------------------------------------------------------- /patches/app-emulation/vmware-modules/vmmon-kernel-5.3.patch.disabled: -------------------------------------------------------------------------------- 1 | diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c 2 | index 210f281..4da863b 100644 3 | --- a/vmmon-only/linux/hostif.c 4 | +++ b/vmmon-only/linux/hostif.c 5 | @@ -3636,7 +3636,7 @@ HostIF_SetFastClockRate(unsigned int rate) // IN: Frequency in Hz. 6 | } 7 | } else { 8 | if (linuxState.fastClockThread) { 9 | - force_sig(SIGKILL, linuxState.fastClockThread); 10 | + send_sig(SIGKILL, linuxState.fastClockThread, 1); 11 | kthread_stop(linuxState.fastClockThread); 12 | close_rtc(linuxState.fastClockFile, current->files); 13 | 14 | -------------------------------------------------------------------------------- /patches/app-shells/fish/emerge-absolute-path.patch: -------------------------------------------------------------------------------- 1 | diff --git a/share/completions/emerge.fish b/share/completions/emerge.fish 2 | index e02dca4..970050e 100644 3 | --- a/share/completions/emerge.fish 4 | +++ b/share/completions/emerge.fish 5 | @@ -13,7 +13,7 @@ 6 | #end 7 | 8 | function __fish_emerge_print_sets 9 | - for s in '@'(emerge --list-sets) 10 | + for s in '@'(/usr/bin/emerge --list-sets) 11 | switch $s 12 | case @profile 13 | printf '%s\t%s\n' $s 'set of packages deemed necessary for your system to run properly' 14 | -------------------------------------------------------------------------------- /patches/app-shells/gentoo-bashcomp/emerge-absolute-path.patch: -------------------------------------------------------------------------------- 1 | diff --git a/completions/emerge b/completions/emerge 2 | index 03cc503..2f562e4 100644 3 | --- a/completions/emerge 4 | +++ b/completions/emerge 5 | @@ -27,7 +27,7 @@ _emerge() 6 | fi 7 | 8 | if [[ ${cur} =~ ^@ ]] ; then 9 | - local SET_LIST=($(emerge --list-sets)) 10 | + local SET_LIST=($(/usr/bin/emerge --list-sets)) 11 | COMPREPLY=($(compgen -W '${SET_LIST[@]/#/@}' ${cur})) 12 | return 0 13 | fi 14 | -------------------------------------------------------------------------------- /patches/dev-build/cmake/change-global-default-generator-to-ninja.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Source/cmake.cxx b/Source/cmake.cxx 2 | index a99d9a6..86e6ad1 100644 3 | --- a/Source/cmake.cxx 4 | +++ b/Source/cmake.cxx 5 | @@ -1718,7 +1718,7 @@ std::unique_ptr cmake::EvaluateDefaultGlobalGenerator() 6 | return std::unique_ptr(std::move(gen)); 7 | #else 8 | return std::unique_ptr( 9 | - cm::make_unique(this)); 10 | + cm::make_unique(this)); 11 | #endif 12 | } 13 | 14 | -------------------------------------------------------------------------------- /patches/dev-build/cmake/ninja-compile-commands-output-location.patch.v1: -------------------------------------------------------------------------------- 1 | diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx 2 | index c502fb85..796476a3 100644 3 | --- a/Source/cmGlobalNinjaGenerator.cxx 4 | +++ b/Source/cmGlobalNinjaGenerator.cxx 5 | @@ -1099,7 +1099,7 @@ void cmGlobalNinjaGenerator::AddCXXCompileCommand( 6 | this->GetCMakeInstance()->GetHomeOutputDirectory(); 7 | if (!this->CompileCommandsStream) { 8 | std::string buildFilePath = 9 | - cmStrCat(buildFileDir, "/compile_commands.json"); 10 | + cmStrCat("/caches/cmake/", std::to_string(geteuid()), '/', buildFileDir, "/compile_commands.json"); 11 | if (this->ComputingUnknownDependencies) { 12 | this->CombinedBuildOutputs.insert( 13 | this->NinjaOutputPath("compile_commands.json")); 14 | -------------------------------------------------------------------------------- /patches/dev-cpp/clucene/fix-compile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/core/CLucene/document/DateTools.h b/src/core/CLucene/document/DateTools.h 2 | index 68220c6..6c0cc22 100644 3 | --- a/src/core/CLucene/document/DateTools.h 4 | +++ b/src/core/CLucene/document/DateTools.h 5 | @@ -7,6 +7,8 @@ 6 | #ifndef _lucene_document_DateTools_ 7 | #define _lucene_document_DateTools_ 8 | 9 | +#include 10 | + 11 | #ifdef _CL_TIME_WITH_SYS_TIME 12 | # include 13 | # include 14 | -------------------------------------------------------------------------------- /patches/dev-db/soci/my_bool-fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/backends/mysql/session.cpp b/src/backends/mysql/session.cpp 2 | index 383248c..781b24a 100644 3 | --- a/src/backends/mysql/session.cpp 4 | +++ b/src/backends/mysql/session.cpp 5 | @@ -355,7 +355,7 @@ mysql_session_backend::mysql_session_backend( 6 | } 7 | if (reconnect_p) 8 | { 9 | - my_bool reconnect = 1; 10 | + bool reconnect = 1; 11 | if (0 != mysql_options(conn_, MYSQL_OPT_RECONNECT, &reconnect)) 12 | { 13 | clean_up(); 14 | -------------------------------------------------------------------------------- /patches/dev-lang/fpc/PATCHES.md: -------------------------------------------------------------------------------- 1 | ## Build Fixer 2 | 3 | - ld wrapper to remove GNU-only options 4 | 5 | ## Compiler Patches 6 | 7 | - remove linker options which are only available in GNU 8 | - use compiler-rt from LLVM instead of libgcc (including crt files) 9 | - remove GNU ABI tag to advertise that this is a LLVM powered FreePascal compiler 10 | producing ELF files without the usage of any GNU software 11 | 12 | ## Breakage caused by above patches 13 | 14 | - only x86-64 compilation is supported, all other architectures are broken now 15 | - x64-32 doesn't work either due to hardcoded architecture in crt filenames 16 | - cross-compilation doesn't work anymore 17 | 18 | ## Personal notes 19 | 20 | - fpc has some room for improvement to stop depending on GCC 21 | and add LLVM toolchain support, including compiler-rt and co. 22 | -------------------------------------------------------------------------------- /patches/dev-lang/fpc/ld: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # remove GNU exclusive linker arguments 4 | args=() 5 | for var in "$@"; do 6 | if [[ "$var" == "-b" ]]; then 7 | continue 8 | elif [[ "$var" == "-m" ]]; then 9 | continue 10 | elif [[ "$var" == "elf64-x86-64" ]]; then 11 | continue 12 | elif [[ "$var" == "elf_x86_64" ]]; then 13 | continue 14 | else 15 | args+=("$var") 16 | fi 17 | done 18 | 19 | # print to see what it is doing 20 | echo -e "\e[1m${args[@]}\e[0m" 21 | 22 | # invoke LLVM LLD 23 | exec /usr/bin/ld "${args[@]}" 24 | -------------------------------------------------------------------------------- /patches/dev-lang/fpc/remove-gnu-abi-tag.patch: -------------------------------------------------------------------------------- 1 | diff --git a/rtl/linux/x86_64/abitag.as b/rtl/linux/x86_64/abitag.as 2 | index 9098ca77..aeb694a7 100644 3 | --- a/rtl/linux/x86_64/abitag.as 4 | +++ b/rtl/linux/x86_64/abitag.as 5 | @@ -19,7 +19,7 @@ 6 | .long 1f - 0f 7 | .long 3f - 2f 8 | .long 1 9 | -0: .asciz "GNU" 10 | +0: .asciz " " 11 | 1: .align 4 12 | 2: .long 0 13 | .long 2,4,0 14 | -------------------------------------------------------------------------------- /patches/dev-lang/go/llvm-userland-fixes-2.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/runtime/cgo/cgo.go b/src/runtime/cgo/cgo.go 2 | index 1e3a502..0f82fdf 100644 3 | --- a/src/runtime/cgo/cgo.go 4 | +++ b/src/runtime/cgo/cgo.go 5 | @@ -25,7 +25,7 @@ package cgo 6 | 7 | // Use -fno-stack-protector to avoid problems locating the 8 | // proper support functions. See issues #52919, #54313, #58385. 9 | -#cgo CFLAGS: -Wall -Werror -fno-stack-protector 10 | +#cgo CFLAGS: -Wall -fno-stack-protector 11 | 12 | #cgo solaris CPPFLAGS: -D_POSIX_PTHREAD_SEMANTICS 13 | 14 | -------------------------------------------------------------------------------- /patches/dev-lang/luajit/libunwind-link.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/Makefile b/src/Makefile 2 | index 30d64be..996fcfb 100644 3 | --- a/src/Makefile 4 | +++ b/src/Makefile 5 | @@ -347,7 +347,7 @@ else 6 | endif 7 | endif 8 | ifeq (Linux,$(TARGET_SYS)) 9 | - TARGET_XLIBS+= -ldl 10 | + TARGET_XLIBS+= -ldl -lunwind 11 | endif 12 | ifeq (GNU/kFreeBSD,$(TARGET_SYS)) 13 | TARGET_XLIBS+= -ldl 14 | -------------------------------------------------------------------------------- /patches/dev-lang/nim/linenoise-gnu-source.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/wrappers/linenoise/linenoise.c b/lib/wrappers/linenoise/linenoise.c 2 | index be792b9..2dde3d8 100644 3 | --- a/lib/wrappers/linenoise/linenoise.c 4 | +++ b/lib/wrappers/linenoise/linenoise.c 5 | @@ -103,6 +103,7 @@ 6 | * 7 | */ 8 | 9 | +#define _GNU_SOURCE 10 | #include 11 | #include 12 | #include 13 | -------------------------------------------------------------------------------- /patches/dev-lang/nim/nimble-libdl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/dist/nimble/src/nimble.nim.cfg b/dist/nimble/src/nimble.nim.cfg 2 | index e459055..7813910 100644 3 | --- a/dist/nimble/src/nimble.nim.cfg 4 | +++ b/dist/nimble/src/nimble.nim.cfg 5 | @@ -4,3 +4,4 @@ 6 | --path:"./vendor/nim" 7 | -d:ssl 8 | -d:nimcore # Enable 'gorge' in Nim's VM. See https://github.com/nim-lang/Nim/issues/8096 9 | +--passL:"-ldl" 10 | -------------------------------------------------------------------------------- /patches/dev-lang/nim/testament-libdl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/testament/testament.nim.cfg b/testament/testament.nim.cfg 2 | index c972841..6752899 100644 3 | --- a/testament/testament.nim.cfg 4 | +++ b/testament/testament.nim.cfg 5 | @@ -4,3 +4,4 @@ path = "$nim" # For compiler/nodejs 6 | -d:ssl # For azure 7 | # my SSL doesn't have this feature and I don't care: 8 | -d:nimDisableCertificateValidation 9 | +--passL:"-ldl" 10 | -------------------------------------------------------------------------------- /patches/dev-lang/nim/tools-nimgrep-libdl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/tools/nimgrep.nim.cfg b/tools/nimgrep.nim.cfg 2 | index 64d3edc..fcd2e46 100644 3 | --- a/tools/nimgrep.nim.cfg 4 | +++ b/tools/nimgrep.nim.cfg 5 | @@ -1,4 +1,4 @@ 6 | # don't use --gc:refc because of bug 7 | # https://github.com/nim-lang/Nim/issues/14138 . 8 | # --gc:orc and --gc:markandsweep work well. 9 | ---threads:on --gc:orc 10 | +--threads:on --gc:orc --passL:"-ldl" 11 | -------------------------------------------------------------------------------- /patches/dev-lang/spidermonkey/fix-rust-nonsense.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/cargo-linker b/build/cargo-linker 2 | index 394dabc..b18aa13 100755 3 | --- a/build/cargo-linker 4 | +++ b/build/cargo-linker 5 | @@ -19,4 +19,4 @@ 6 | # 7 | # $@ is doubly quoted for the eval. See bug 1418598. 8 | 9 | -eval ${MOZ_CARGO_WRAP_LD} ${MOZ_CARGO_WRAP_LDFLAGS} '"$@"' 10 | +eval /etc/portage/compiler-wrapper/rust-clang ${MOZ_CARGO_WRAP_LDFLAGS} '"$@"' 11 | -------------------------------------------------------------------------------- /patches/dev-libs/jansson/automake-no-default-symver.patch: -------------------------------------------------------------------------------- 1 | diff --git a/configure b/configure 2 | index ad0cb3d..15bbdba 100755 3 | --- a/configure 4 | +++ b/configure 5 | @@ -17483,7 +17483,7 @@ esac 6 | ac_fn_check_decl "$LINENO" "__GLIBC__" "ac_cv_have_decl___GLIBC__" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" 7 | if test "x$ac_cv_have_decl___GLIBC__" = xyes 8 | then : 9 | - JSON_SYMVER_LDFLAGS=-Wl,--default-symver 10 | + JSON_SYMVER_LDFLAGS= 11 | fi 12 | 13 | 14 | -------------------------------------------------------------------------------- /patches/dev-libs/libffi/README.md: -------------------------------------------------------------------------------- 1 | clang 10 was able to build this, but clang 11 now errors out 2 | 3 | src/x86/sysv.S:832:1: error: changed section flags for .eh_frame, expected: 0x2 4 | .section .eh_frame,"aw",@progbits 5 | ^ 6 | 7 | context: 8 | https://sourceware.org/pipermail/libc-alpha/2020-March/111890.html 9 | https://reviews.llvm.org/rGb20b70687a8defb529053da579df95f881e3b078 10 | https://reviews.llvm.org/D73999 11 | -------------------------------------------------------------------------------- /patches/dev-libs/libffi/sysv-fix-clang11-section-flag-error.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/x86/sysv.S b/src/x86/sysv.S 2 | index 7c9598c..aab4085 100644 3 | --- a/src/x86/sysv.S 4 | +++ b/src/x86/sysv.S 5 | @@ -829,7 +829,6 @@ EHFrame0: 6 | #elif defined(HAVE_AS_X86_64_UNWIND_SECTION_TYPE) 7 | .section .eh_frame,EH_FRAME_FLAGS,@unwind 8 | #else 9 | -.section .eh_frame,EH_FRAME_FLAGS,@progbits 10 | #endif 11 | 12 | #ifdef HAVE_AS_X86_PCREL 13 | -------------------------------------------------------------------------------- /patches/dev-libs/libksba/inject-gnu-source-macro.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/gen-help.c b/src/gen-help.c 2 | index 419f7e2..07e192a 100644 3 | --- a/src/gen-help.c 4 | +++ b/src/gen-help.c 5 | @@ -17,6 +17,8 @@ 6 | * along with this program; if not, see . 7 | */ 8 | 9 | +#define _GNU_SOURCE 10 | + 11 | /* No config.h - this file needs to build as plain ISO-C. */ 12 | #include 13 | #include 14 | diff --git a/src/gen-help.h b/src/gen-help.h 15 | index 05641f9..212fa96 100644 16 | --- a/src/gen-help.h 17 | +++ b/src/gen-help.h 18 | @@ -25,6 +25,8 @@ 19 | #ifndef GEN_HELP_H 20 | #define GEN_HELP_H 21 | 22 | +#define _GNU_SOURCE 23 | + 24 | #ifndef BUILD_GENTOOLS 25 | #error file may only be used for build time tools 26 | #endif 27 | -------------------------------------------------------------------------------- /patches/dev-python/matplotlib/tri-add-missing-std-flag.patch: -------------------------------------------------------------------------------- 1 | diff --git a/setupext.py b/setupext.py 2 | index 0387223..67db8e1 100644 3 | --- a/setupext.py 4 | +++ b/setupext.py 5 | @@ -456,7 +456,8 @@ class Matplotlib(SetupPackage): 6 | "matplotlib._tri", [ 7 | "src/tri/_tri.cpp", 8 | "src/tri/_tri_wrapper.cpp", 9 | - ]) 10 | + ], 11 | + extra_compile_args=['-std=c++11']) 12 | add_numpy_flags(ext) 13 | yield ext 14 | # ttconv 15 | -------------------------------------------------------------------------------- /patches/dev-python/wxpython/add-missing-std-flag.patch: -------------------------------------------------------------------------------- 1 | diff --git a/wxPython/setup.py b/wxPython/setup.py 2 | index 8d3381e..df53697 100755 3 | --- a/wxPython/setup.py 4 | +++ b/wxPython/setup.py 5 | @@ -179,6 +179,8 @@ if os.name == 'nt': 6 | else: 7 | rc_file = [] 8 | 9 | +# my compiler defaults to C++17 and dies on the register storage type 10 | +cflags.append("-std=c++0x") 11 | 12 | ext = Extension('_core_', ['src/helpers.cpp', 13 | ] + rc_file + swig_sources, 14 | -------------------------------------------------------------------------------- /patches/dev-qt/qtbluetooth/fix-llvm-libc++-compile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/bluetooth/bluez/bluetoothmanagement.cpp b/src/bluetooth/bluez/bluetoothmanagement.cpp 2 | --- a/src/bluetooth/bluez/bluetoothmanagement.cpp 3 | +++ b/src/bluetooth/bluez/bluetoothmanagement.cpp 4 | @@ -45,6 +45,7 @@ 5 | #include "bluez_data_p.h" 6 | #include "../qbluetoothsocketbase_p.h" 7 | 8 | +#include 9 | #include 10 | #include 11 | #include 12 | -------------------------------------------------------------------------------- /patches/dev-qt/qtlocation:5/README: -------------------------------------------------------------------------------- 1 | Context: 2 | 3 | mapbox-gl uses C++17, but also std::unary_function which was removed in C++17, 4 | so this does not compile anymore with a standard compliant C++ stdlib. 5 | (LLVM libc++ actually hides std::unary_function when compiling in C++17 mode.) 6 | Downgrade to C++14 to make this dependency compile again. 7 | 8 | Reference: https://en.cppreference.com/w/cpp/utility/functional/unary_function 9 | -------------------------------------------------------------------------------- /patches/dev-qt/qtlocation:5/mapbox-gl-native-downgrade-c++-std.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro b/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro 2 | index 4d5835d..ffdef3e 100644 3 | --- a/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro 4 | +++ b/src/3rdparty/mapbox-gl-native/mapbox-gl-native.pro 5 | @@ -2,7 +2,8 @@ TARGET = qmapboxgl 6 | 7 | load(qt_helper_lib) 8 | 9 | -CONFIG += qt c++17 exceptions warn_off staticlib object_parallel_to_source 10 | +CONFIG += qt c++14 exceptions warn_off staticlib object_parallel_to_source 11 | +CONFIG -= c++1z c++17 12 | 13 | QT += network-private \ 14 | gui-private \ 15 | -------------------------------------------------------------------------------- /patches/dev-qt/qtwebengine/0002-Add-ffp-contract-off-to-compiler-flags.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/3rdparty/chromium/build/config/compiler/BUILD.gn b/src/3rdparty/chromium/build/config/compiler/BUILD.gn 2 | --- a/src/3rdparty/chromium/build/config/compiler/BUILD.gn 3 | +++ b/src/3rdparty/chromium/build/config/compiler/BUILD.gn 4 | @@ -477,6 +477,13 @@ 5 | # but for now it looks like our build might rely on it 6 | # (https://crbug.com/829795). 7 | cflags += [ "-fmerge-all-constants" ] 8 | + 9 | + # TODO(crbug.com/1235145): Investigate why/if this should be needed. 10 | + if (is_win) { 11 | + cflags += [ "/clang:-ffp-contract=off" ] 12 | + } else { 13 | + cflags += [ "-ffp-contract=off" ] 14 | + } 15 | } 16 | 17 | if (use_lld) { 18 | -------------------------------------------------------------------------------- /patches/dev-qt/qtwebengine/0103-Optimize-WeakPtr-reference-access.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/3rdparty/chromium/base/memory/weak_ptr.h b/src/3rdparty/chromium/base/memory/weak_ptr.h 2 | index 5526a915b9a94..dbfdabe72f56b 100644 3 | --- a/src/3rdparty/chromium/base/memory/weak_ptr.h 4 | +++ b/src/3rdparty/chromium/base/memory/weak_ptr.h 5 | @@ -254,11 +254,11 @@ class WeakPtr : public internal::WeakPtrBase { 6 | 7 | T& operator*() const { 8 | CHECK(ref_.IsValid()); 9 | - return *get(); 10 | + return *reinterpret_cast(ptr_); 11 | } 12 | T* operator->() const { 13 | CHECK(ref_.IsValid()); 14 | - return get(); 15 | + return reinterpret_cast(ptr_); 16 | } 17 | 18 | // Allow conditionals to test validity, e.g. if (weak_ptr) {...}; 19 | -------------------------------------------------------------------------------- /patches/dev-qt/qtwebengine/README.md: -------------------------------------------------------------------------------- 1 | # Patches by me 2 | 3 | Various build and segmentation fault fixes on a pure LLVM userland with absent GNU libraries. Chromium <3 GNU (joke) 4 | 5 | - `disable-stack-tracing.patch` 6 | - `disable-crash-reporting.patch` 7 | - `remove-gnu-runtime-linkage.patch` 8 | 9 | # Other patches 10 | 11 | - `OpenMandrivaAssociation-qt5-qtwebengine-cfd17f1ecf4068ef84df2019e965518ae33ad5b2.patch` 12 | https://github.com/OpenMandrivaAssociation/qt5-qtwebengine/commit/cfd17f1ecf4068ef84df2019e965518ae33ad5b2 13 | addressing runtime problems when compiled with clang 14+ 14 | 15 | - all other files: https://bugs.gentoo.org/836604 attachment 769283 16 | addressing runtime problems when compiled with clang 14+ 17 | -------------------------------------------------------------------------------- /patches/dev-ruby/bundler/disable-bundled-with-gen.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/bundler/lockfile_generator.rb b/lib/bundler/lockfile_generator.rb 2 | index 0578a93..6c8942a 100644 3 | --- a/lib/bundler/lockfile_generator.rb 4 | +++ b/lib/bundler/lockfile_generator.rb 5 | @@ -20,7 +20,6 @@ module Bundler 6 | add_platforms 7 | add_dependencies 8 | add_locked_ruby_version 9 | - add_bundled_with 10 | 11 | out 12 | end 13 | @@ -71,7 +70,6 @@ module Bundler 14 | end 15 | 16 | def add_bundled_with 17 | - add_section("BUNDLED WITH", Bundler::VERSION) 18 | end 19 | 20 | def add_section(name, value) 21 | -------------------------------------------------------------------------------- /patches/dev-ruby/mecab-ruby/use-c++11.patch: -------------------------------------------------------------------------------- 1 | diff --git a/extconf.rb b/extconf.rb 2 | index d360275..30b27df 100644 3 | --- a/extconf.rb 4 | +++ b/extconf.rb 5 | @@ -8,5 +8,6 @@ use_mecab_config = enable_config('mecab-config') 6 | } 7 | 8 | $CFLAGS += ' ' + `#{mecab_config} --cflags`.chomp 9 | +$CXXFLAGS += ' ' + '-std=c++11' 10 | 11 | have_header('mecab.h') && create_makefile('MeCab') 12 | -------------------------------------------------------------------------------- /patches/dev-ruby/rubygems/dont-abort-gem-loading-on-missing-extension.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb 2 | index 0d72cee..516ca63 100644 3 | --- a/lib/rubygems/specification.rb 4 | +++ b/lib/rubygems/specification.rb 5 | @@ -2121,7 +2121,7 @@ def missing_extensions? 6 | return false if default_gem? 7 | return false if File.exist? gem_build_complete_path 8 | 9 | - true 10 | + false 11 | end 12 | 13 | ## 14 | -------------------------------------------------------------------------------- /patches/dev-util/rz-ghidra/workaround-segfault-in-config.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/core_ghidra.cpp b/src/core_ghidra.cpp 2 | index 5a2de68..9672fbd 100644 3 | --- a/src/core_ghidra.cpp 4 | +++ b/src/core_ghidra.cpp 5 | @@ -44,7 +44,11 @@ struct ConfigVar 6 | 7 | ut64 GetInt(RzConfig *cfg) const { return rz_config_get_i(cfg, name.c_str()); } 8 | bool GetBool(RzConfig *cfg) const { return GetInt(cfg) != 0; } 9 | - std::string GetString(RzConfig *cfg) const { return rz_config_get(cfg, name.c_str()); } 10 | + std::string GetString(RzConfig *cfg) const { 11 | + // returned pointer can be nullptr 12 | + auto val = rz_config_get(cfg, name.c_str()); 13 | + return val ? std::string{val} : std::string{}; 14 | + } 15 | 16 | void Set(RzConfig *cfg, const char *s) const { rz_config_set(cfg, name.c_str(), s); } 17 | 18 | -------------------------------------------------------------------------------- /patches/games-emulation/mupen64plus-core/force-llvm-toolchain.patch: -------------------------------------------------------------------------------- 1 | diff --git a/projects/unix/Makefile b/projects/unix/Makefile 2 | index c18596b..38354db 100755 3 | --- a/projects/unix/Makefile 4 | +++ b/projects/unix/Makefile 5 | @@ -389,9 +389,9 @@ ifeq ($(OSD), 1) 6 | endif 7 | 8 | # set base program pointers and flags 9 | -CC = $(CROSS_COMPILE)gcc 10 | -CXX = $(CROSS_COMPILE)g++ 11 | -STRINGS = $(CROSS_COMPILE)strings 12 | +CC = clang 13 | +CXX = clang++ 14 | +STRINGS = llvm-strings 15 | AS = nasm 16 | TR ?= tr 17 | RM ?= rm -f 18 | -------------------------------------------------------------------------------- /patches/games-emulation/ppsspp/fix-private-operator-access.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ext/glslang/glslang/Include/PoolAlloc.h b/ext/glslang/glslang/Include/PoolAlloc.h 2 | index 69bacb1..c215326 100644 3 | --- a/ext/glslang/glslang/Include/PoolAlloc.h 4 | +++ b/ext/glslang/glslang/Include/PoolAlloc.h 5 | @@ -240,7 +240,7 @@ class TPoolAllocator { 6 | 7 | int numCalls; // just an interesting statistic 8 | size_t totalBytes; // just an interesting statistic 9 | -private: 10 | +public: 11 | TPoolAllocator& operator=(const TPoolAllocator&); // don't allow assignment operator 12 | TPoolAllocator(const TPoolAllocator&); // don't allow default copy constructor 13 | }; 14 | -------------------------------------------------------------------------------- /patches/games-util/antimicro/fix-pointer-comparison.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp 2 | index dc7856e..8e75fe1 100644 3 | --- a/src/mainwindow.cpp 4 | +++ b/src/mainwindow.cpp 5 | @@ -364,7 +364,7 @@ void MainWindow::makeJoystickTabs() 6 | ui->tabWidget->addTab(tabwidget, joytabName); 7 | } 8 | 9 | - if (joysticks > 0) 10 | + if (joysticks != nullptr) 11 | { 12 | ui->tabWidget->setCurrentIndex(0); 13 | ui->stackedWidget->setCurrentIndex(1); 14 | -------------------------------------------------------------------------------- /patches/games-util/steam-launcher/custom-steam-package.patch: -------------------------------------------------------------------------------- 1 | diff --git a/bin_steam.sh b/bin_steam.sh 2 | index 19db38f..6524ecf 100755 3 | --- a/bin_steam.sh 4 | +++ b/bin_steam.sh 5 | @@ -53,12 +53,7 @@ function detect_platform() 6 | 7 | function setup_variables() 8 | { 9 | - STEAMPACKAGE="${0##*/}" 10 | - 11 | - if [ "$STEAMPACKAGE" = bin_steam.sh ]; then 12 | - STEAMPACKAGE=steam 13 | - fi 14 | - 15 | + STEAMPACKAGE="steam" 16 | STEAMCONFIG=~/.steam 17 | STEAMDATALINK="$STEAMCONFIG/$STEAMPACKAGE" 18 | STEAMBOOTSTRAP=steam.sh 19 | -------------------------------------------------------------------------------- /patches/games-util/steam-launcher/steam.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | export DISABLE_VK_LAYER_VALVE_steam_overlay_1=1 3 | export DISABLE_VK_LAYER_VALVE_steam_fossilize_1=1 4 | 5 | # enable PRIME Render Offload 6 | export __NV_PRIME_RENDER_OFFLOAD=1 7 | export __GLX_VENDOR_LIBRARY_NAME=nvidia 8 | export __VK_LAYER_NV_optimus=NVIDIA_only 9 | 10 | # unset Intel settings 11 | unset __EGL_VENDOR_LIBRARY_FILENAMES 12 | unset VK_ICD_FILENAMES 13 | 14 | export __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json 15 | export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json 16 | 17 | exec /usr/lib/steam/steam "$@" 18 | -------------------------------------------------------------------------------- /patches/gnome-base/dconf/disable-tests.patch: -------------------------------------------------------------------------------- 1 | diff --git a/meson.build b/meson.build 2 | index 04b6d47..c327fbf 100644 3 | --- a/meson.build 4 | +++ b/meson.build 5 | @@ -82,6 +82,5 @@ subdir('gsettings') 6 | subdir('client') 7 | subdir('bin') 8 | subdir('docs') 9 | -subdir('tests') 10 | 11 | meson.add_install_script('meson_post_install.py', gio_module_dir) 12 | -------------------------------------------------------------------------------- /patches/gui-wm/gamescope/include-missing-header.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/waitable.h b/src/waitable.h 2 | index cd806f6..a906d3c 100644 3 | --- a/src/waitable.h 4 | +++ b/src/waitable.h 5 | @@ -5,6 +5,7 @@ 6 | #include 7 | #include 8 | #include 9 | +#include 10 | 11 | #include 12 | 13 | -------------------------------------------------------------------------------- /patches/kde-apps/dolphin/README.md: -------------------------------------------------------------------------------- 1 | # `revert-7f3967cf38f8ab707681981dd0bc6b220c3dbf83-hide-trash-mime.patch` 2 | 3 | This reverts the commit [7f3967cf38f8ab707681981dd0bc6b220c3dbf83](https://github.com/KDE/dolphin/commit/7f3967cf38f8ab707681981dd0bc6b220c3dbf83.patch) which hides backup and trash files together with dot files. 4 | 5 | Backup files should always be visible and not be treated as dot files. 6 | -------------------------------------------------------------------------------- /patches/kde-apps/dolphin/revert-7f3967cf38f8ab707681981dd0bc6b220c3dbf83-hide-trash-mime.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/kitemviews/kfileitemmodel.cpp b/src/kitemviews/kfileitemmodel.cpp 2 | index bbe725d..a3311ac 100644 3 | --- a/src/kitemviews/kfileitemmodel.cpp 4 | +++ b/src/kitemviews/kfileitemmodel.cpp 5 | @@ -106,7 +106,7 @@ KFileItemModel::KFileItemModel(QObject *parent) 6 | 7 | connect(GeneralSettings::self(), &GeneralSettings::sortingChoiceChanged, this, &KFileItemModel::slotSortingChoiceChanged); 8 | 9 | - setShowTrashMime(m_dirLister->showHiddenFiles()); 10 | + setShowTrashMime(true); 11 | } 12 | 13 | KFileItemModel::~KFileItemModel() 14 | -------------------------------------------------------------------------------- /patches/kde-apps/grantleetheme/nuke-ugly-error-message.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/grantleethememanager.cpp b/src/grantleethememanager.cpp 2 | index 3db9a62..2c2c208 100644 3 | --- a/src/grantleethememanager.cpp 4 | +++ b/src/grantleethememanager.cpp 5 | @@ -130,6 +130,9 @@ public: 6 | while (dirIt.hasNext()) { 7 | dirIt.next(); 8 | const QString dirName = dirIt.fileName(); 9 | + if (dirName.isEmpty() || dirIt.filePath().isEmpty()) { 10 | + continue; 11 | + } 12 | GrantleeTheme::Theme theme = q->loadTheme(dirIt.filePath(), dirName, defaultDesktopFileName); 13 | if (theme.isValid()) { 14 | QString themeName = theme.name(); 15 | -------------------------------------------------------------------------------- /patches/kde-apps/kio-extras/disable-smbnotifier.patch: -------------------------------------------------------------------------------- 1 | diff --git a/smb/kded/watcher.cpp b/smb/kded/watcher.cpp 2 | index f125a3d..e829e91 100644 3 | --- a/smb/kded/watcher.cpp 4 | +++ b/smb/kded/watcher.cpp 5 | @@ -153,7 +153,7 @@ private: 6 | case SMBURLTYPE_WORKGROUP_OR_SERVER: 7 | return false; 8 | case SMBURLTYPE_SHARE_OR_PATH: 9 | - return true; 10 | + return false; 11 | } 12 | qCWarning(KIO_SMB_LOG) << "Unexpected url type" << url.getType() << url; 13 | Q_UNREACHABLE(); 14 | -------------------------------------------------------------------------------- /patches/kde-apps/kio-extras/smb-include-missing-headers.patch: -------------------------------------------------------------------------------- 1 | diff --git a/smb/transfer.h b/smb/transfer.h 2 | index b5ace64..cd35086 100644 3 | --- a/smb/transfer.h 4 | +++ b/smb/transfer.h 5 | @@ -11,6 +11,8 @@ 6 | 7 | #include 8 | #include 9 | +#include 10 | +#include 11 | 12 | constexpr off_t c_minSegmentSize = 64 * 1024; // minimal size on stack 13 | constexpr off_t c_maxSegmentSize = 4L * 1024 * 1024; // 4MiB is the largest request we make 14 | -------------------------------------------------------------------------------- /patches/kde-apps/libgravatar/README.md: -------------------------------------------------------------------------------- 1 | Gravatar is DNS blocked in my network, but remove this bullshit anyway so Akonadi 2 | never attempts make network requests to Gravatar. Also gets rid of the cache 3 | and returns an invalid QPixmap for everything, which results in an empty QLabel 4 | in the user interface. 5 | -------------------------------------------------------------------------------- /patches/kde-apps/libkgapi/README.md: -------------------------------------------------------------------------------- 1 | Removes actual functionality and Google server pinging from the library. 2 | I don't use Google and don't want to feed it with useless requests. 3 | -------------------------------------------------------------------------------- /patches/kde-apps/messagelib/remove-babysitting.patch: -------------------------------------------------------------------------------- 1 | diff --git a/messageviewer/src/widgets/attachmentdialog.cpp b/messageviewer/src/widgets/attachmentdialog.cpp 2 | index e9b4371..4c68b90 100644 3 | --- a/messageviewer/src/widgets/attachmentdialog.cpp 4 | +++ b/messageviewer/src/widgets/attachmentdialog.cpp 5 | @@ -24,9 +24,7 @@ AttachmentDialog::AttachmentDialog(QWidget *parent, const QString &filenameText, 6 | , dialog(new QDialog(parent)) 7 | { 8 | text = xi18nc("@info", 9 | - "Open attachment %1?" 10 | - "Note that opening an attachment may compromise " 11 | - "your system's security.", 12 | + "Open attachment %1?", 13 | filenameText); 14 | 15 | dialog->setWindowTitle(i18nc("@title:window", "Open Attachment?")); 16 | -------------------------------------------------------------------------------- /patches/kde-frameworks/kio/README.md: -------------------------------------------------------------------------------- 1 | # `force-disable-dgpu-support.patch` 2 | 3 | This will work on my new laptop, so forcefully remove the entire check to avoid unwanted surprises with desktop files containing a `X-KDE-RunOnDiscreteGpu` key. Preserve the current behavior with a modified `primerun` script. 4 | -------------------------------------------------------------------------------- /patches/kde-frameworks/knotifications/fix-pulseaudio-system-mode-notification-sounds.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/notifybyaudio_phonon.cpp b/src/notifybyaudio_phonon.cpp 2 | index 1663b7d..a866335 100644 3 | --- a/src/notifybyaudio_phonon.cpp 4 | +++ b/src/notifybyaudio_phonon.cpp 5 | @@ -34,7 +34,7 @@ NotifyByAudio::~NotifyByAudio() 6 | void NotifyByAudio::notify(KNotification *notification, KNotifyConfig *config) 7 | { 8 | if (!m_audioOutput) { 9 | - m_audioOutput = new Phonon::AudioOutput(Phonon::NotificationCategory, this); 10 | + m_audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); 11 | } 12 | const QString soundFilename = config->readEntry(QStringLiteral("Sound")); 13 | if (soundFilename.isEmpty()) { 14 | -------------------------------------------------------------------------------- /patches/kde-frameworks/ktexteditor/remember-auth-for-a-period-of-time.patch.disabled: -------------------------------------------------------------------------------- 1 | diff --git a/src/buffer/org.kde.ktexteditor.katetextbuffer.actions b/src/buffer/org.kde.ktexteditor.katetextbuffer.actions 2 | index e099a4d..7f76d3f 100644 3 | --- a/src/buffer/org.kde.ktexteditor.katetextbuffer.actions 4 | +++ b/src/buffer/org.kde.ktexteditor.katetextbuffer.actions 5 | @@ -113,6 +113,6 @@ Description[uk]=Для збереження документа потрібні 6 | Description[x-test]=xxRoot privileges are needed to save this documentxx 7 | Description[zh_CN]=保存文档需要超级用户权限 8 | Description[zh_TW]=需要 root 權限以儲存此文件 9 | -Policy=auth_admin 10 | +Policy=auth_admin_keep 11 | # No persistence 12 | #Persistence= 13 | -------------------------------------------------------------------------------- /patches/kde-frameworks/networkmanager-qt/add-missing-header.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/utils.cpp b/src/utils.cpp 2 | index 2acc7f2..642f3fe 100644 3 | --- a/src/utils.cpp 4 | +++ b/src/utils.cpp 5 | @@ -10,6 +10,8 @@ 6 | #include "time.h" 7 | #include "utils.h" 8 | 9 | +#include 10 | + 11 | QHostAddress NetworkManager::ipv6AddressAsHostAddress(const QByteArray &address) 12 | { 13 | // Q_ASSERT(address.size() == 16); 14 | -------------------------------------------------------------------------------- /patches/kde-frameworks/sonnet/remove-missing-languages-warning.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/core/guesslanguage.cpp b/src/core/guesslanguage.cpp 2 | index 152a399..f5d752a 100644 3 | --- a/src/core/guesslanguage.cpp 4 | +++ b/src/core/guesslanguage.cpp 5 | @@ -649,9 +649,6 @@ void GuessLanguagePrivate::loadModels() 6 | } 7 | QSet knownLanguages(s_scriptLanguages.constBegin(), s_scriptLanguages.constEnd()); 8 | knownLanguages.subtract(availableLanguages); 9 | - if (!knownLanguages.isEmpty()) { 10 | - qCDebug(SONNET_LOG_CORE) << "Missing trigrams for languages:" << knownLanguages; 11 | - } 12 | } 13 | 14 | QList GuessLanguagePrivate::findRuns(const QString &text) 15 | -------------------------------------------------------------------------------- /patches/kde-misc/material-decoration/remove-resize-handle.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/Decoration.cc b/src/Decoration.cc 2 | index 1cca7dd..8e2a386 100644 3 | --- a/src/Decoration.cc 4 | +++ b/src/Decoration.cc 5 | @@ -364,13 +364,10 @@ void Decoration::updateBorders() 6 | void Decoration::updateResizeBorders() 7 | { 8 | QMargins borders; 9 | - 10 | - const int extender = settings()->largeSpacing(); 11 | - borders.setLeft(extender); 12 | - borders.setTop(extender); 13 | - borders.setRight(extender); 14 | - borders.setBottom(extender); 15 | - 16 | + borders.setLeft(0); 17 | + borders.setTop(0); 18 | + borders.setRight(0); 19 | + borders.setBottom(0); 20 | setResizeOnlyBorders(borders); 21 | } 22 | 23 | -------------------------------------------------------------------------------- /patches/kde-misc/plasma-applet-nvidia-prime-offload-status/custom-prime-status-command.patch.disabled: -------------------------------------------------------------------------------- 1 | diff --git a/contents/ui/main.qml b/contents/ui/main.qml 2 | index 94b45bd..5996faf 100644 3 | --- a/contents/ui/main.qml 4 | +++ b/contents/ui/main.qml 5 | @@ -37,7 +37,7 @@ Item { 6 | } 7 | 8 | function check() { 9 | - executable.exec("nvidia-settings -q=GPUUtilization -t") 10 | + executable.exec("doas nvidia-prime-status") 11 | } 12 | 13 | Connections { 14 | -------------------------------------------------------------------------------- /patches/kde-plasma/ksysguard/disable-error-printing.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ksysguardd/Command.c b/ksysguardd/Command.c 2 | index 8d350bd..3412e94 100644 3 | --- a/ksysguardd/Command.c 4 | +++ b/ksysguardd/Command.c 5 | @@ -77,6 +77,9 @@ void output( const char *fmt, ...) 6 | } 7 | void print_error( const char *fmt, ... ) 8 | { 9 | + // disable error printing 10 | + return; 11 | + 12 | char errmsg[ 1024 ]; 13 | va_list az; 14 | 15 | -------------------------------------------------------------------------------- /patches/kde-plasma/ksystemstats/README.md: -------------------------------------------------------------------------------- 1 | backport NVIDIA fixes instead of waiting for next update 2 | fixes Plasma Sensors Widget showing 0 GPU usage and 0 temperature 3 | 4 | NOTE: no longer needed, patches kept for reference/historical reasons 5 | -------------------------------------------------------------------------------- /patches/kde-plasma/kwin/README.md: -------------------------------------------------------------------------------- 1 | # `disable-window-open-close-animation.patch` 2 | 3 | Apparently the window open/close animation is enforced. There are only 3 animations with no ability to completely disable window open/close animations. 4 | 5 | As solution: take the least annoying animation and remove its implementation to get rid of it. Windows now instantly open and close without animations and delay. 6 | 7 | This patch is part of my migration effort from `picom` back to KWin's compositor. 8 | -------------------------------------------------------------------------------- /patches/kde-plasma/plasma-desktop/taskmanager-always-show-all-places.patch: -------------------------------------------------------------------------------- 1 | diff --git a/applets/taskmanager/package/contents/ui/ContextMenu.qml b/applets/taskmanager/package/contents/ui/ContextMenu.qml 2 | index 6303bc4..e656b83 100644 3 | --- a/applets/taskmanager/package/contents/ui/ContextMenu.qml 4 | +++ b/applets/taskmanager/package/contents/ui/ContextMenu.qml 5 | @@ -92,7 +92,7 @@ PlasmaComponents.ContextMenu { 6 | { 7 | title: i18n("Places"), 8 | group: "places", 9 | - actions: backend.placesActions(launcherUrl, showAllPlaces, menu) 10 | + actions: backend.placesActions(launcherUrl, true, menu) 11 | }, 12 | { 13 | title: i18n("Recent Files"), 14 | -------------------------------------------------------------------------------- /patches/kde-plasma/plasma-workspace/allow-hidpi-scaling-by-qt.patch: -------------------------------------------------------------------------------- 1 | diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp 2 | index b0158c9..361f91e 100644 3 | --- a/startkde/startplasma.cpp 4 | +++ b/startkde/startplasma.cpp 5 | @@ -332,7 +332,7 @@ void setupPlasmaEnvironment() 6 | { 7 | // Manually disable auto scaling because we are scaling above 8 | // otherwise apps that manually opt in for high DPI get auto scaled by the developer AND manually scaled by us 9 | - qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "0"); 10 | + //qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "0"); 11 | 12 | qputenv("KDE_FULL_SESSION", "true"); 13 | qputenv("KDE_SESSION_VERSION", "5"); 14 | -------------------------------------------------------------------------------- /patches/kde-plasma/plasma-workspace/ksmserver-increase-greeter-timeout.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ksmserver/logout.cpp b/ksmserver/logout.cpp 2 | index fdf429d..1a9e04d 100644 3 | --- a/ksmserver/logout.cpp 4 | +++ b/ksmserver/logout.cpp 5 | @@ -371,7 +371,8 @@ void KSMServer::startProtection() 6 | config->reparseConfiguration(); // config may have changed in the KControl module 7 | KConfigGroup cg(config, "General"); 8 | 9 | - int timeout = cg.readEntry("clientShutdownTimeoutSecs", 15) * 1000; 10 | + // PATCH FIXME: remove timeout feature and just wait forever until manual confirmation 11 | + int timeout = 1440 * 1000; // 1 day 12 | 13 | protectionTimer.setSingleShot(true); 14 | protectionTimer.start(timeout); 15 | -------------------------------------------------------------------------------- /patches/media-libs/mlt/add-missing-std-flags.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/modules/motion_est/Makefile b/src/modules/motion_est/Makefile 2 | index 0d14275..acd12ce 100644 3 | --- a/src/modules/motion_est/Makefile 4 | +++ b/src/modules/motion_est/Makefile 5 | @@ -1,4 +1,4 @@ 6 | -CFLAGS += -I../.. 7 | +CFLAGS += -I../.. -std=gnu11 8 | 9 | LDFLAGS += -L../../framework -lmlt -lm 10 | 11 | diff --git a/src/modules/opengl/Makefile b/src/modules/opengl/Makefile 12 | index 65a7b34..46a0be9 100644 13 | --- a/src/modules/opengl/Makefile 14 | +++ b/src/modules/opengl/Makefile 15 | @@ -1,6 +1,7 @@ 16 | include ../../../config.mak 17 | 18 | CFLAGS := -I../.. $(CFLAGS) 19 | +CXXFLAGS := -std=c++11 20 | 21 | LDFLAGS := -L../../framework -lmlt -lm $(LDFLAGS) 22 | 23 | -------------------------------------------------------------------------------- /patches/media-libs/opencolorio/fix-clang-compile.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/core/Config.cpp b/src/core/Config.cpp 2 | --- a/src/core/Config.cpp 3 | +++ b/src/core/Config.cpp 4 | @@ -324,7 +324,6 @@ 5 | sanitytext_ = rhs.sanitytext_; 6 | 7 | cacheids_ = rhs.cacheids_; 8 | - cacheidnocontext_ = cacheidnocontext_; 9 | } 10 | return *this; 11 | } 12 | -------------------------------------------------------------------------------- /patches/media-sound/cantata/reduce-notify-timeout.patch: -------------------------------------------------------------------------------- 1 | diff --git a/dbus/notify.cpp b/dbus/notify.cpp 2 | --- a/dbus/notify.cpp 3 | +++ b/dbus/notify.cpp 4 | @@ -79,7 +79,7 @@ 5 | return arg; 6 | } 7 | 8 | -static const int constTimeout=5000; 9 | +static const int constTimeout=2000; 10 | 11 | Notify::Notify(QObject *p) 12 | : QObject(p) 13 | -------------------------------------------------------------------------------- /patches/media-sound/fluidsynth/dont-unset-compiler-customizations.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/gentables/CMakeLists.txt b/src/gentables/CMakeLists.txt 2 | index 638f299..603fb54 100644 3 | --- a/src/gentables/CMakeLists.txt 4 | +++ b/src/gentables/CMakeLists.txt 5 | @@ -2,13 +2,13 @@ cmake_minimum_required(VERSION 3.1) 6 | 7 | # remove $CC from the current environment and by that force cmake to look for a (working) C compiler, 8 | # which hopefully will be the host compiler 9 | -unset(ENV{CC}) 10 | +#unset(ENV{CC}) 11 | 12 | # also unset $CFLAGS to avoid passing any cross compilation flags to the host compiler 13 | -unset(ENV{CFLAGS}) 14 | +#unset(ENV{CFLAGS}) 15 | 16 | # linker flags as well 17 | -unset(ENV{LDFLAGS}) 18 | +#unset(ENV{LDFLAGS}) 19 | 20 | project (gentables C) 21 | 22 | -------------------------------------------------------------------------------- /patches/media-sound/pulseaudio-15/ofono-remove-unrelated-error-message.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/modules/bluetooth/backend-ofono.c b/src/modules/bluetooth/backend-ofono.c 2 | index 85dec44..7698830 100644 3 | --- a/src/modules/bluetooth/backend-ofono.c 4 | +++ b/src/modules/bluetooth/backend-ofono.c 5 | @@ -518,8 +518,6 @@ static void hf_audio_agent_register_reply(DBusPendingCall *pending, void *userda 6 | pa_assert_se(r = dbus_pending_call_steal_reply(pending)); 7 | 8 | if (dbus_message_get_type(r) == DBUS_MESSAGE_TYPE_ERROR) { 9 | - pa_log_info("Failed to register as a handsfree audio agent with ofono: %s: %s", 10 | - dbus_message_get_error_name(r), pa_dbus_get_error_message(r)); 11 | goto finish; 12 | } 13 | 14 | -------------------------------------------------------------------------------- /patches/media-sound/pulseaudio-15/system-mode-fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c 2 | index c383a61..b85853b 100644 3 | --- a/src/pulsecore/core-util.c 4 | +++ b/src/pulsecore/core-util.c 5 | @@ -1772,12 +1772,6 @@ char *pa_get_runtime_dir(void) { 6 | /* Use the explicitly configured value if it is set */ 7 | d = getenv("PULSE_RUNTIME_PATH"); 8 | if (d) { 9 | - 10 | - if (pa_make_secure_dir(d, m, (uid_t) -1, (gid_t) -1, true) < 0) { 11 | - pa_log_error("Failed to create secure directory (%s): %s", d, pa_cstrerror(errno)); 12 | - goto fail; 13 | - } 14 | - 15 | return pa_xstrdup(d); 16 | } 17 | 18 | -------------------------------------------------------------------------------- /patches/media-sound/pulseeffects/add-missing-headers.patch: -------------------------------------------------------------------------------- 1 | diff --git a/include/plugin_base.hpp b/include/plugin_base.hpp 2 | index a2356fb..535bea9 100644 3 | --- a/include/plugin_base.hpp 4 | +++ b/include/plugin_base.hpp 5 | @@ -1,6 +1,7 @@ 6 | #ifndef PLUGIN_BASE_HPP 7 | #define PLUGIN_BASE_HPP 8 | 9 | +#include 10 | #include 11 | #include 12 | #include 13 | diff --git a/include/util.hpp b/include/util.hpp 14 | index e1ba755..157bf2a 100644 15 | --- a/include/util.hpp 16 | +++ b/include/util.hpp 17 | @@ -6,6 +6,8 @@ 18 | #include 19 | #include 20 | #include 21 | +#include 22 | +#include 23 | 24 | namespace util { 25 | 26 | -------------------------------------------------------------------------------- /patches/media-tv/kodi/assets/breeze.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/patches/media-tv/kodi/assets/breeze.png -------------------------------------------------------------------------------- /patches/media-tv/kodi/assets/pointer_1x1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/patches/media-tv/kodi/assets/pointer_1x1.png -------------------------------------------------------------------------------- /patches/media-video/jellyfin-media-player/force-hwdec-to-vaapi.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/player/PlayerComponent.cpp b/src/player/PlayerComponent.cpp 2 | index 991bfe0..03ef2d0 100644 3 | --- a/src/player/PlayerComponent.cpp 4 | +++ b/src/player/PlayerComponent.cpp 5 | @@ -1296,7 +1296,7 @@ void PlayerComponent::setVideoConfiguration() 6 | { 7 | hwdecMode = "auto-copy"; 8 | } 9 | - mpv::qt::set_property(m_mpv, "hwdec", hwdecMode); 10 | + mpv::qt::set_property(m_mpv, "hwdec", "vaapi"); 11 | mpv::qt::set_property(m_mpv, "hwdec-image-format", hwdecVTFormat); 12 | 13 | QVariant deinterlace = SettingsComponent::Get().value(SETTINGS_SECTION_VIDEO, "deinterlace"); 14 | -------------------------------------------------------------------------------- /patches/media-video/jellyfin-media-player/mpv-breaking-change-loadfile-command.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/player/PlayerComponent.cpp b/src/player/PlayerComponent.cpp 2 | index 88e0317..d9a18b5 100644 3 | --- a/src/player/PlayerComponent.cpp 4 | +++ b/src/player/PlayerComponent.cpp 5 | @@ -317,6 +317,7 @@ void PlayerComponent::queueMedia(const QString& url, const QVariantMap& options, 6 | QVariantList command; 7 | command << "loadfile" << qurl.toString(QUrl::FullyEncoded); 8 | command << "append-play"; // if nothing is playing, play it now, otherwise just enqueue it 9 | + command << "0"; // https://github.com/mpv-player/mpv/commit/c678033c1d60b48ae02fbbe4815869b9504a17f6 10 | 11 | QVariantMap extraArgs; 12 | 13 | -------------------------------------------------------------------------------- /patches/media-video/obs-studio/deps-libcaption-add-missing-headers.patch: -------------------------------------------------------------------------------- 1 | diff --git a/deps/libcaption/src/caption.c b/deps/libcaption/src/caption.c 2 | index 734f28f..bfce3f4 100644 3 | --- a/deps/libcaption/src/caption.c 4 | +++ b/deps/libcaption/src/caption.c 5 | @@ -27,6 +27,8 @@ 6 | #include "xds.h" 7 | #include 8 | #include 9 | +#include 10 | +#include 11 | //////////////////////////////////////////////////////////////////////////////// 12 | void caption_frame_buffer_clear(caption_frame_buffer_t* buff) 13 | { 14 | -------------------------------------------------------------------------------- /patches/media-video/subtitlecomposer/add-missing-header.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/videoplayerplugins/mpv/mpvbackend.cpp b/src/videoplayerplugins/mpv/mpvbackend.cpp 2 | index d85a56c..7683017 100644 3 | --- a/src/videoplayerplugins/mpv/mpvbackend.cpp 4 | +++ b/src/videoplayerplugins/mpv/mpvbackend.cpp 5 | @@ -29,6 +29,7 @@ 6 | #include 7 | 8 | #include 9 | +#include 10 | 11 | #include 12 | 13 | -------------------------------------------------------------------------------- /patches/net-dns/pihole/custom-config-path.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/config.c b/src/config.c 2 | index 12a75d9..3b1ab9f 100644 3 | --- a/src/config.c 4 | +++ b/src/config.c 5 | @@ -21,7 +21,7 @@ 6 | ConfigStruct config; 7 | FTLFileNamesStruct FTLfiles = { 8 | // Default path for config file (regular installations) 9 | - "/etc/pihole/pihole-FTL.conf", 10 | + "/etc/pihole-FTL.conf", 11 | // Alternative path for config file (snap installations) 12 | "/var/snap/pihole/common/etc/pihole/pihole-FTL.conf", 13 | NULL, 14 | -------------------------------------------------------------------------------- /patches/net-libs/nodejs/README.md: -------------------------------------------------------------------------------- 1 | Explanation of why `01-llvm-clang-remove-non-needed-libatomic.patch` exists. 2 | 3 | You must enable the `system-ssl` USE flag for this patch to work, since the 4 | bundled OpenSSL has the offending `__atomic_is_lock_free` function which isn't 5 | implemented in LLVM compiler-rt right now. 6 | 7 | Node.js itself doesn't depend on this function at all. It just works with the 8 | system OpenSSL and without libatomic. 9 | -------------------------------------------------------------------------------- /patches/net-misc/freerdp:2/3700ccbfc8a781dda34f9ba3710a467e3e2c1102-remove-trailing-NUL-from-clipboard-data.patch: -------------------------------------------------------------------------------- 1 | diff --git a/client/Wayland/wlf_cliprdr.c b/client/Wayland/wlf_cliprdr.c 2 | index 0f0195d7c..75cb91cfc 100644 3 | --- a/client/Wayland/wlf_cliprdr.c 4 | +++ b/client/Wayland/wlf_cliprdr.c 5 | @@ -693,8 +693,10 @@ wlf_cliprdr_server_format_data_response(CliprdrClientContext* context, 6 | if (cnv < 0) 7 | return ERROR_INTERNAL_ERROR; 8 | 9 | - size = (size_t)cnv; 10 | data = cdata; 11 | + size = 0; 12 | + if (cnv > 0) 13 | + size = (UINT32)strnlen(data, (size_t)cnv); 14 | break; 15 | 16 | default: 17 | -------------------------------------------------------------------------------- /patches/net-misc/x11-ssh-askpass/use-correct-compiler.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Imakefile b/Imakefile 2 | index 2083d7c..d947cd0 100644 3 | --- a/Imakefile 4 | +++ b/Imakefile 5 | @@ -29,7 +29,7 @@ MANDIR = $(MANPATH)/man1 6 | APPDEFDIR = $(XAPPLOADDIR) 7 | APP_DEFAULTS = SshAskpass-default.ad 8 | 9 | -XCOMM CC = 10 | +XCOMM CC = clang 11 | XCOMM CDEBUGFLAGS = 12 | XCOMM LOCAL_LDFLAGS = 13 | XCOMM -------- end configurable settings -------- 14 | -------------------------------------------------------------------------------- /patches/net-voip/linphone-desktop/remove-invite-button.patch: -------------------------------------------------------------------------------- 1 | diff --git a/linphone-app/ui/views/App/Main/Home.qml b/linphone-app/ui/views/App/Main/Home.qml 2 | index 31d2487..d47b0a8 100644 3 | --- a/linphone-app/ui/views/App/Main/Home.qml 4 | +++ b/linphone-app/ui/views/App/Main/Home.qml 5 | @@ -46,15 +46,6 @@ Rectangle { 6 | // $title: qsTr('howToTitle') 7 | // } 8 | 9 | - ListElement { 10 | - $component: 'button' 11 | - $componentText: qsTr('inviteButton') 12 | - $description: qsTr('inviteDescription') 13 | - $view: 'InviteFriends' 14 | - $icon: 'home_invite_friends' 15 | - $title: qsTr('inviteTitle') 16 | - } 17 | - 18 | ListElement { 19 | $component: 'button' 20 | $componentText: qsTr('assistantButton') 21 | -------------------------------------------------------------------------------- /patches/sys-apps/flatpak/SSL_SAD.md: -------------------------------------------------------------------------------- 1 | I broke something after updating something, which made `p11-kit` sad :( 2 | 3 | The client module can't receive any certificates, and with an empty list 4 | of certificates SSL doesn't work inside flatpak which makes applications 5 | depending on secure connections sad :( 6 | 7 | This patch is a workaround which uses the bundled runtime certificates 8 | instead of the ones from the host. It's not like I have custom certificates 9 | which are needed inside flatpak containers. 10 | -------------------------------------------------------------------------------- /patches/sys-apps/flatpak/fix-ssl-not-working.patch: -------------------------------------------------------------------------------- 1 | diff --git a/common/flatpak-run.c b/common/flatpak-run.c 2 | index 7a19af1..e49d6c4 100644 3 | --- a/common/flatpak-run.c 4 | +++ b/common/flatpak-run.c 5 | @@ -2384,7 +2384,7 @@ add_monitor_path_args (gboolean use_session_helper, 6 | g_autofree char *sandbox_pkcs11_socket_path = g_strdup_printf ("/run/user/%d/p11-kit/pkcs11", getuid ()); 7 | const char *trusted_module_contents = 8 | "# This overrides the runtime p11-kit-trusted module with a client one talking to the trust module on the host\n" 9 | - "module: p11-kit-client.so\n"; 10 | + "module: p11-kit-trust.so\n"; 11 | 12 | if (flatpak_bwrap_add_args_data (bwrap, "p11-kit-trust.module", 13 | trusted_module_contents, -1, 14 | -------------------------------------------------------------------------------- /patches/sys-apps/groff/fix.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/math.in.h b/lib/math.in.h 2 | index c30fc20..92dc5a7 100644 3 | --- a/lib/math.in.h 4 | +++ b/lib/math.in.h 5 | @@ -17,6 +17,8 @@ 6 | 7 | #ifndef _@GUARD_PREFIX@_MATH_H 8 | 9 | +#include "config.h" 10 | + 11 | #if __GNUC__ >= 3 12 | @PRAGMA_SYSTEM_HEADER@ 13 | #endif 14 | -------------------------------------------------------------------------------- /patches/sys-apps/gsmartcontrol/README.md: -------------------------------------------------------------------------------- 1 | Thanks to the guys over at FreeBSD for figuring this out. 2 | Just took their patch from FreshPorts :) 3 | -------------------------------------------------------------------------------- /patches/sys-apps/pkgcore/fix-profile-path.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/pkgcore/ebuild/portage_conf.py b/src/pkgcore/ebuild/portage_conf.py 2 | index 84f39ce..af09805 100644 3 | --- a/src/pkgcore/ebuild/portage_conf.py 4 | +++ b/src/pkgcore/ebuild/portage_conf.py 5 | @@ -563,7 +563,7 @@ class PortageConfig(DictMixin): 6 | return path, False 7 | 8 | def _add_profile(self, profile_override=None): 9 | - profile, was_symlink = self._find_profile_path(profile_override) 10 | + profile, was_symlink = self._find_profile_path("/usr/portage/profiles/default/linux/amd64/23.0/llvm/systemd") 11 | if was_symlink: 12 | paths = profile.rsplit(os.path.sep, 1) 13 | else: 14 | -------------------------------------------------------------------------------- /patches/sys-apps/portage/clang-is-the-default-system-compiler.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/_emerge/actions.py b/lib/_emerge/actions.py 2 | index 05a1152..9cb0538 100644 3 | --- a/lib/_emerge/actions.py 4 | +++ b/lib/_emerge/actions.py 5 | @@ -2906,8 +2906,8 @@ def getgccversion(chost=None): 6 | return: the current in-use gcc version 7 | """ 8 | 9 | - gcc_ver_command = ["gcc", "-dumpversion"] 10 | - gcc_ver_prefix = "gcc-" 11 | + gcc_ver_command = ["clang", "-dumpversion"] 12 | + gcc_ver_prefix = "clang-" 13 | 14 | gcc_not_found_error = red( 15 | "!!! No gcc found. You probably need to 'source /etc/profile'\n" 16 | -------------------------------------------------------------------------------- /patches/sys-apps/portage/estrip-support-for-llvm-strip.patch: -------------------------------------------------------------------------------- 1 | diff --git a/bin/estrip b/bin/estrip 2 | index 81f78e8..fc6c9b4 100755 3 | --- a/bin/estrip 4 | +++ b/bin/estrip 5 | @@ -133,7 +133,7 @@ case $(${STRIP} --version 2>/dev/null) in 6 | *GNU*) # sys-devel/binutils 7 | # We'll leave out -R .note for now until we can check out the relevance 8 | # of the section when it has the ALLOC flag set on it ... 9 | - SAFE_STRIP_FLAGS="--strip-unneeded -N __gentoo_check_ldflags__" 10 | + SAFE_STRIP_FLAGS="--strip-unneeded --strip-symbol=__gentoo_check_ldflags__" 11 | DEF_STRIP_FLAGS="-R .comment -R .GCC.command.line -R .note.gnu.gold-version" 12 | SPLIT_STRIP_FLAGS= 13 | ;; 14 | -------------------------------------------------------------------------------- /patches/sys-apps/portage/remove-some-output-noise.patch: -------------------------------------------------------------------------------- 1 | diff --git a/lib/portage/util/_info_files.py b/lib/portage/util/_info_files.py 2 | index 528b273..9fb1d00 100644 3 | --- a/lib/portage/util/_info_files.py 4 | +++ b/lib/portage/util/_info_files.py 5 | @@ -29,12 +29,8 @@ def chk_updated_info_files(root, infodirs, prev_mtimes): 6 | 7 | if not regen_infodirs: 8 | portage.util.writemsg_stdout("\n") 9 | - if portage.util.noiselimit >= 0: 10 | - out.einfo("GNU info directory index is up-to-date.") 11 | else: 12 | portage.util.writemsg_stdout("\n") 13 | - if portage.util.noiselimit >= 0: 14 | - out.einfo("Regenerating GNU info directory index...") 15 | 16 | dir_extensions = ("", ".gz", ".bz2") 17 | icount = 0 18 | -------------------------------------------------------------------------------- /patches/sys-apps/tcp-wrappers/remove-misplaced-strings-decl.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index 2906c52..a3a372c 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -663,7 +663,7 @@ CFLAGS = -O -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \ 6 | $(BUGS) $(SYSTYPE) $(AUTH) $(UMASK) \ 7 | -DREAL_DAEMON_DIR=\"$(REAL_DAEMON_DIR)\" $(STYLE) $(KILL_OPT) \ 8 | -DSEVERITY=$(SEVERITY) -DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \ 9 | - $(UCHAR) $(TABLES) $(STRINGS) $(TLI) $(EXTRA_CFLAGS) $(DOT) \ 10 | + $(UCHAR) $(TABLES) $(TLI) $(EXTRA_CFLAGS) $(DOT) \ 11 | $(VSYSLOG) $(HOSTNAME) 12 | 13 | LIB_OBJ= hosts_access.o options.o shell_cmd.o rfc931.o eval.o \ 14 | -------------------------------------------------------------------------------- /patches/sys-auth/libfprint/README.md: -------------------------------------------------------------------------------- 1 | This fingerprint sensor works with the current libfprint goodix driver. 2 | Add it to the list of known devices. 3 | 4 | `ID 27c6:60c2 Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC` 5 | -------------------------------------------------------------------------------- /patches/sys-block/parted/fix-linker-error-libuuid.patch: -------------------------------------------------------------------------------- 1 | diff --git a/libparted-fs-resize.pc.in b/libparted-fs-resize.pc.in 2 | index ed9b3d6..f58f071 100644 3 | --- a/libparted-fs-resize.pc.in 4 | +++ b/libparted-fs-resize.pc.in 5 | @@ -6,5 +6,5 @@ includedir=@includedir@ 6 | Name: libparted-fs-resize 7 | Description: The GNU Parted filesystem resize shared library 8 | Version: @VERSION@ 9 | -Libs: -L${libdir} -lparted-fs-resize 10 | +Libs: -L${libdir} -lparted-fs-resize -luuid 11 | Cflags: -I${includedir} 12 | -------------------------------------------------------------------------------- /patches/sys-devel/crossdev/README: -------------------------------------------------------------------------------- 1 | does not work!! just playing around with this as non-root user 2 | outcome not looking so good right now though :( 3 | -------------------------------------------------------------------------------- /patches/sys-devel/gnuconfig/README.md: -------------------------------------------------------------------------------- 1 | Removes the `-gnu` part from the default target triplet. 2 | 3 | I may still use glibc, but I don't use a full GNU userland anymore. 4 | -------------------------------------------------------------------------------- /patches/sys-fs/diskdev_cmds/use-clang.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile.lnx b/Makefile.lnx 2 | index 96e8ba3..22fff50 100644 3 | --- a/Makefile.lnx 4 | +++ b/Makefile.lnx 5 | @@ -1,4 +1,4 @@ 6 | -CC := gcc 7 | +CC := clang 8 | CFLAGS += -Wall -I$(PWD)/include -DDEBUG_BUILD=0 -D_FILE_OFFSET_BITS=64 -D LINUX=1 -D BSD=1 9 | SUBDIRS := newfs_hfs.tproj fsck_hfs.tproj 10 | 11 | -------------------------------------------------------------------------------- /patches/www-client/librewolf/cargo-linker-use-llvm-libs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/build/cargo-linker b/build/cargo-linker 2 | index e754636..76fcd17 100755 3 | --- a/build/cargo-linker 4 | +++ b/build/cargo-linker 5 | @@ -54,6 +54,8 @@ for arg in sys.argv[1:]: 6 | args.append(f"-fsanitize={SANITIZERS[suffix]}") 7 | continue 8 | args.append(arg) 9 | +args = list(map(lambda x: x.replace("-lstdc++", "-lc++"), args)) 10 | +args = list(map(lambda x: x.replace("-lgcc_s", "-lunwind"), args)) 11 | 12 | wrap_ld = wrap_ld.split() 13 | os.execvp(wrap_ld[0], wrap_ld + args) 14 | -------------------------------------------------------------------------------- /patches/x11-drivers/nvidia-drivers/99glvnd-custom: -------------------------------------------------------------------------------- 1 | # never attempt to determine the GPU automatically 2 | __GLVND_DISALLOW_PATCHING=1 3 | 4 | # force specific vendor 5 | # __GLX_VENDOR_LIBRARY_NAME=nvidia/mesa 6 | # __EGL_VENDOR_LIBRARY_FILENAMES=/path/json 7 | -------------------------------------------------------------------------------- /postsync.d/50-eix-postsync: -------------------------------------------------------------------------------- 1 | ../../../usr/bin/eix-postsync -------------------------------------------------------------------------------- /profile/eapi: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /profile/package.unmask: -------------------------------------------------------------------------------- 1 | # maintained versions with python 3 support in my localrepo 2 | dev-build/gyp 3 | app-i18n/mozc 4 | -------------------------------------------------------------------------------- /profile/package.use: -------------------------------------------------------------------------------- 1 | llvm-core/clang default-compiler-rt default-libcxx default-lld 2 | llvm-core/clang-runtime libcxx compiler-rt openmp sanitize 3 | llvm-runtimes/compiler-rt clang 4 | sys-libs/compiler-rt-sanitizers clang 5 | llvm-runtimes/libcxx libcxxabi libunwind 6 | llvm-runtimes/libcxxabi libunwind 7 | -------------------------------------------------------------------------------- /profile/package.use.mask: -------------------------------------------------------------------------------- 1 | # mask GNU toolchains 2 | sys-devel/gcc 3 | sys-devel/gcc-config 4 | sys-devel/binutils 5 | sys-devel/binutils-config 6 | sys-libs/binutils-libs 7 | 8 | # mask the wrong unwind library 9 | # the LLVM one must be used 10 | sys-libs/libunwind 11 | 12 | # operate pipewire in system mode (multiple users must be able to use audio) 13 | media-video/pipewire -system-service 14 | media-video/wireplumber -system-service 15 | -------------------------------------------------------------------------------- /profile/packages: -------------------------------------------------------------------------------- 1 | # add LLVM toolchains to the @system group 2 | *llvm-core/llvm 3 | *llvm-core/lld 4 | *llvm-core/clang 5 | *llvm-core/clang-common 6 | *llvm-core/clang-runtime 7 | *llvm-runtimes/libunwind 8 | *llvm-runtimes/compiler-rt 9 | #*sys-libs/compiler-rt-sanitizers 10 | *llvm-runtimes/libcxx 11 | *llvm-runtimes/libcxxabi 12 | *llvm-runtimes/openmp 13 | 14 | # remove GNU toolchains from the @system group 15 | -*sys-devel/gcc 16 | -*sys-devel/gcc-config 17 | -*sys-devel/binutils 18 | -*sys-devel/binutils-config 19 | -*sys-libs/binutils-libs 20 | 21 | # workaround: remove man-pages from @system group 22 | # as it depends on sys-libs/db, which is incompatible 23 | # with LLVM/libc++ 24 | -*virtual/man 25 | -*sys-apps/man-pages 26 | -*sys-libs/db 27 | -------------------------------------------------------------------------------- /profile/parent: -------------------------------------------------------------------------------- 1 | /usr/portage/profiles/default/linux/amd64/23.0/llvm/systemd 2 | -------------------------------------------------------------------------------- /repos.conf/default.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | main-repo = gentoo 3 | -------------------------------------------------------------------------------- /repos.conf/flatpak.conf: -------------------------------------------------------------------------------- 1 | [flatpak-overlay] 2 | priority = 50 3 | location = /var/db/repos/flatpak-overlay 4 | sync-type = git 5 | sync-uri = https://github.com/fosero/flatpak-overlay.git 6 | auto-sync = Yes 7 | -------------------------------------------------------------------------------- /repos.conf/gentoo.conf: -------------------------------------------------------------------------------- 1 | [gentoo] 2 | location = /usr/portage 3 | # sync-type = rsync 4 | # sync-uri = rsync://rsync.gentoo.org/gentoo-portage 5 | # auto-sync = yes 6 | # sync-rsync-verify-jobs = 1 7 | # sync-rsync-verify-metamanifest = yes 8 | # sync-rsync-verify-max-age = 24 9 | sync-type = git 10 | # sync-uri = https://github.com/gentoo/gentoo 11 | sync-uri = https://github.com/gentoo/gentoo.git 12 | auto-sync = true 13 | -------------------------------------------------------------------------------- /repos.conf/layman.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/magiruuvelvet/gentoo-portage-config/37b690badd4f097e05911ef0aea435d4585bc5be/repos.conf/layman.conf -------------------------------------------------------------------------------- /repos.conf/librewolf.conf: -------------------------------------------------------------------------------- 1 | [librewolf] 2 | priority = 50 3 | location = /var/db/repos/librewolf 4 | sync-type = git 5 | #sync-uri = https://gitlab.com/librewolf-community/browser/gentoo.git 6 | sync-uri = https://codeberg.org/librewolf/gentoo.git 7 | auto-sync = Yes 8 | -------------------------------------------------------------------------------- /repos.conf/localrepo.conf: -------------------------------------------------------------------------------- 1 | [localrepo] 2 | location = /var/db/localrepo 3 | 4 | [privaterepo] 5 | location = /var/db/privaterepo 6 | -------------------------------------------------------------------------------- /repos.conf/nvidia-docker.conf: -------------------------------------------------------------------------------- 1 | [nvidia-docker-overlay] 2 | location = /var/db/repos/nvidia-docker-overlay 3 | sync-type = git 4 | sync-uri = https://github.com/gronastech/nvidia-docker-overlay.git 5 | -------------------------------------------------------------------------------- /repos.conf/steam-overlay.conf: -------------------------------------------------------------------------------- 1 | [steam-overlay] 2 | 3 | # Gentoo overlay for Valve's Steam client and Steam-based games. 4 | # Maintainer: anyc (https://github.com/anyc) 5 | 6 | location = /var/db/repos/steam 7 | sync-type = git 8 | sync-uri = https://github.com/anyc/steam-overlay.git 9 | priority = 50 10 | auto-sync = Yes 11 | -------------------------------------------------------------------------------- /repos.conf/stubs.conf: -------------------------------------------------------------------------------- 1 | # silence warnings from 3rd party repos depending on non-existent repositories 2 | 3 | [science] 4 | location = /var/db/stubs/science 5 | -------------------------------------------------------------------------------- /savedconfig/app-shells/fzy-1.0-r1: -------------------------------------------------------------------------------- 1 | #define TTY_COLOR_HIGHLIGHT TTY_COLOR_YELLOW 2 | 3 | #define SCORE_GAP_LEADING -0.005 4 | #define SCORE_GAP_TRAILING -0.005 5 | #define SCORE_GAP_INNER -0.01 6 | #define SCORE_MATCH_CONSECUTIVE 1.0 7 | #define SCORE_MATCH_SLASH 0.9 8 | #define SCORE_MATCH_WORD 0.8 9 | #define SCORE_MATCH_CAPITAL 0.7 10 | #define SCORE_MATCH_DOT 0.6 11 | 12 | /* Time (in ms) to wait for additional bytes of an escape sequence */ 13 | #define KEYTIMEOUT 25 14 | -------------------------------------------------------------------------------- /savedconfig/sys-firmware/ipxe-1.21.1: -------------------------------------------------------------------------------- 1 | #undef BANNER_TIMEOUT 2 | #define BANNER_TIMEOUT 0 3 | #define NET_PROTO_IPV6 4 | #define VMWARE_SETTINGS 5 | #define CONSOLE_VMWARE 6 | -------------------------------------------------------------------------------- /unittests/atomic/atomic.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | struct AtomicCounter 5 | { 6 | std::atomic value; 7 | 8 | void increment() 9 | { 10 | ++value; 11 | } 12 | 13 | void decrement() 14 | { 15 | --value; 16 | } 17 | 18 | int get() 19 | { 20 | return value.load(); 21 | } 22 | }; 23 | 24 | int main() 25 | { 26 | AtomicCounter c{0}; 27 | c.increment(); 28 | std::printf("%i\n", c.get()); 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /unittests/dlang/betterC.d: -------------------------------------------------------------------------------- 1 | import core.stdc.stdio; 2 | 3 | extern (C) int main(int argc, char **argv) 4 | { 5 | printf("%s\n", argv[0]); 6 | return 0; 7 | } 8 | -------------------------------------------------------------------------------- /unittests/dlang/env.d: -------------------------------------------------------------------------------- 1 | import std.stdio; 2 | 3 | void main() 4 | { 5 | // check if using the correct libraries and environment 6 | // except glibc, there should be no GNU in here 7 | version(CppRuntime_Clang) { writeln("CppRuntime_Clang"); } // print 8 | version(CppRuntime_Gcc) { writeln("CppRuntime_Gcc"); } // NOT print 9 | version(DRuntime_Use_Libunwind) { writeln("DRuntime_Use_Libunwind"); } // print 10 | } 11 | -------------------------------------------------------------------------------- /unittests/dlang/hello.d: -------------------------------------------------------------------------------- 1 | // building this uses libunwind instead of libgcc_s 2 | 3 | import std.stdio; 4 | 5 | int main() 6 | { 7 | writeln("hello world!"); 8 | return 1; 9 | } 10 | -------------------------------------------------------------------------------- /unittests/dlang/shared.d: -------------------------------------------------------------------------------- 1 | // ldc2 -shared shared.d --of=shared.so 2 | // function some_function should be callable from any programming language with ffi support 3 | 4 | extern (C) int some_function() 5 | { 6 | return 1; 7 | } 8 | -------------------------------------------------------------------------------- /unittests/macro-tests/macros.cpp: -------------------------------------------------------------------------------- 1 | macros.c -------------------------------------------------------------------------------- /unittests/musl-clang-test/test.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | // clang -v -target x86_64-pc-linux-musl --sysroot /usr/musl test.c 5 | // clang -v -target x86_64-pc-linux-musl --sysroot /usr/musl -static test.c 6 | 7 | /* OLD METHOD 8 | // musl-clang -v test.c 9 | // musl-ldd a.out 10 | // working 64-bit executable, no segfaults before main() 11 | 12 | // musl-clang -v -m32 test.c 13 | // musl-ldd a.out 14 | // working 32-bit executable, no segfaults before main() 15 | 16 | // glibc ldd should throw this error: invalid ELF header 17 | */ 18 | 19 | int main(int argc, char **argv) 20 | { 21 | printf("argc = %i, argv[0] = %s\n", argc, argv[0]); 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /unittests/musl-clang-test/test.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | // clang++ -v -target x86_64-pc-linux-musl --sysroot /usr/musl test.cpp 5 | // clang++ -v -target x86_64-pc-linux-musl --sysroot /usr/musl -static test.cpp 6 | 7 | /* OLD METHOD 8 | // musl-clang++ -v test.cpp 9 | // musl-ldd a.out 10 | // working 64-bit executable, no segfaults before main() 11 | 12 | // musl-clang++ -v -m32 test.cpp 13 | // musl-ldd a.out 14 | // working 32-bit executable, no segfaults before main() 15 | 16 | // glibc ldd should throw this error: invalid ELF header 17 | */ 18 | 19 | int main(int argc, char **argv) 20 | { 21 | std::printf("argc = %i, argv[0] = %s\n", argc, argv[0]); 22 | std::cout << argc << std::endl; 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /unittests/rust-test/test.rs: -------------------------------------------------------------------------------- 1 | use std::env; 2 | 3 | // test if rustc forced against libunwind instead of libgcc_s 4 | // passes a simple example application 5 | // $ rustc test.rs 6 | // $ ldd test 7 | // should contain libunwind by default 8 | // application should work too without crashing 9 | 10 | // rust-bin uses libgcc_s but a symlink to libunwind inside 11 | // /opt/rust-bin-$VERSION/lib/rustlib/x86_64-unknown-linux-gnu/lib 12 | // libgcc_s.so -> /usr/lib64/libunwind.so 13 | // makes rustc link binaries to libunwind.so (verify with ldd) 14 | // and they seem to work 15 | 16 | fn test() -> i32 17 | { 18 | println!("test"); 19 | return 1; 20 | } 21 | 22 | fn main() 23 | { 24 | println!("{}", test()); 25 | for argument in env::args() 26 | { 27 | println!("{}", argument); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /unittests/tests: -------------------------------------------------------------------------------- 1 | Compile those programs and see if they are working correctly. 2 | When the toolchain is broken or buggy, it miscompiles the source code 3 | and produces faulty machine code which makes the program crash or act weird. 4 | 5 | 6 | net-libs/nodejs 7 | compile a C++ native extension and test it 8 | if you get "Error: Module did not self-register." the 9 | compiler produces faulty machine code 10 | test works best with the sass package 11 | -------------------------------------------------------------------------------- /unittests/toolchain-test/a/init.cpp: -------------------------------------------------------------------------------- 1 | // clang -shared -fPIC -nostdlib++ -O3 -fno-exceptions -fno-rtti init.cpp -o init.so 2 | 3 | #include 4 | 5 | int global{}; 6 | 7 | namespace 8 | { 9 | constexpr int g = 1; 10 | } 11 | 12 | class test 13 | { 14 | public: 15 | test(int a) : a(a) {} 16 | int a; 17 | }; 18 | 19 | int get() 20 | { 21 | return global; 22 | } 23 | 24 | __attribute__((constructor)) 25 | static void _main() 26 | { 27 | printf("constructor\n"); 28 | global = test{g}.a; 29 | } 30 | -------------------------------------------------------------------------------- /unittests/toolchain-test/a/main.cpp: -------------------------------------------------------------------------------- 1 | // clang -nostdlib++ -O3 -fno-exceptions -fno-rtti main.cpp -Wl,--rpath=. init.so -o main 2 | 3 | #include 4 | 5 | extern int get(); 6 | 7 | int main() 8 | { 9 | return get(); 10 | } 11 | -------------------------------------------------------------------------------- /unittests/toolchain-test/coroutine.cpp: -------------------------------------------------------------------------------- 1 | // merely checking for coroutine_handle presence in std:: 2 | 3 | // should compile in C++20 mode 4 | 5 | // #if __has_include() 6 | // #if defined(__clang__) && !defined(__cpp_impl_coroutine) 7 | // #define __cpp_impl_coroutine 123 8 | // #endif 9 | // #endif 10 | 11 | #include 12 | 13 | // #if defined(__clang__) && (__cpp_impl_coroutine == 123) 14 | // namespace std::experimental 15 | // { 16 | // using ::std::coroutine_traits; 17 | // using ::std::coroutine_handle; 18 | // } 19 | // #endif 20 | 21 | #ifdef _LIBCPP_HAS_NO_CXX20_COROUTINES 22 | 23 | std::coroutine_handle<> handle; 24 | std::suspend_always suspend; 25 | 26 | int _LIBCPP_HAS_NO_CXX20_COROUTINES = 1; 27 | #else 28 | int _LIBCPP_HAS_NO_CXX20_COROUTINES = 0; 29 | #endif 30 | 31 | int main() 32 | { 33 | return _LIBCPP_HAS_NO_CXX20_COROUTINES; 34 | } 35 | -------------------------------------------------------------------------------- /unittests/toolchain-test/loc.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() 4 | { 5 | std::locale loc; 6 | } 7 | -------------------------------------------------------------------------------- /unittests/toolchain-test/nostdlib.cpp: -------------------------------------------------------------------------------- 1 | // clang++ -nostdlib++ nostdlib.cpp 2 | 3 | class A 4 | { 5 | public: 6 | A(){} 7 | ~A(){} 8 | }; 9 | 10 | int main() 11 | { 12 | A a; 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /unittests/toolchain-test/possible-compiler-crash-1.cpp: -------------------------------------------------------------------------------- 1 | struct meta_string { 2 | consteval meta_string(){} 3 | consteval meta_string(const meta_string& data1,const meta_string& data2){} 4 | }; 5 | 6 | void crashed_tests() { 7 | constexpr meta_string str_by_subobjects{ 8 | meta_string{}, 9 | meta_string{}}; 10 | } 11 | -------------------------------------------------------------------------------- /unittests/toolchain-test/stdtest.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | // test for various features 5 | 6 | int main() 7 | { 8 | std::printf("%ld\n", __cplusplus); 9 | 10 | std::unique_ptr a; 11 | std::shared_ptr b; 12 | std::auto_ptr c; // compile error C++17 onward 13 | } 14 | -------------------------------------------------------------------------------- /unittests/toolchain-test/test1.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | template 4 | class A 5 | { 6 | public: 7 | T value; 8 | static constexpr auto address = &A::value; 9 | }; 10 | 11 | template class A; 12 | 13 | int main() 14 | { 15 | A af{42.F}; // uses explicit instantiation: no implicit instantiation occurs. 16 | A ai{43}; // implicit instantiation. 17 | std::cout 18 | << af.*A::address // 42 19 | << "\n" 20 | << ai.*A::address; // 43 21 | } 22 | -------------------------------------------------------------------------------- /unittests/verify-toolchain: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | compiler-ident() { 4 | echo "$@" 5 | llvm-readelf --string-dump=.comment "$@" 6 | echo 7 | } 8 | 9 | compiler-ident /usr/lib64/libc++abi.so.1 10 | compiler-ident /usr/lib64/libc++.so.1 11 | compiler-ident /usr/lib64/libomp.so 12 | compiler-ident /usr/lib64/libunwind.so.1 13 | 14 | compiler-ident /usr/lib/clang/*/lib/linux/*.o 15 | 16 | compiler-ident /usr/lib/llvm/current/bin/clang 17 | compiler-ident /usr/lib/llvm/current/bin/llvm-readelf 18 | compiler-ident /usr/lib/llvm/current/bin/lld 19 | --------------------------------------------------------------------------------