├── .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 |