├── profiles ├── eapi ├── package.unmask ├── repo_name ├── updates │ ├── 2Q-2024 │ ├── 4Q-2024 │ └── 3Q-2024 ├── package.use └── package.mask ├── sys-apps ├── asahi-configs │ ├── files │ │ ├── envvars-2 │ │ ├── baloo │ │ ├── kcminput │ │ ├── xorg-modeset │ │ └── xorg-naturalscroll │ ├── metadata.xml │ └── asahi-configs-2.ebuild ├── asahi-scripts │ ├── files │ │ ├── 99-update-m1n1.install │ │ ├── update-m1n1.gentoo.conf │ │ └── asahi-scripts-macsmc-battery.openrc │ ├── metadata.xml │ ├── Manifest │ ├── asahi-scripts-20250426.1.ebuild │ └── asahi-scripts-20250713.ebuild ├── speakersafetyd │ ├── files │ │ ├── speakersafetyd │ │ └── speakersafetyd-noroot │ ├── metadata.xml │ └── speakersafetyd-1.1.2.ebuild ├── asahi-nvram-meta │ ├── asahi-nvram-meta-0.1.ebuild │ └── metadata.xml └── asahi-meta │ ├── metadata.xml │ └── asahi-meta-2-r11.ebuild ├── sys-kernel ├── asahi-kernel │ ├── files │ │ ├── linux-6.10_disable_debug_info_btf.config │ │ ├── linux-6.10_drop_amdgpu.config │ │ ├── linux-6.8_arch_apple_overrides.config │ │ ├── linux-6.17_arm64_deselect_non_apple_arch.config │ │ └── asahi-kernel-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch │ ├── metadata.xml │ ├── Manifest │ ├── asahi-kernel-6.17.11_p1.ebuild │ └── asahi-kernel-6.17.7_p2-r1.ebuild └── asahi-sources │ ├── files │ ├── 1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch │ ├── asahi-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch │ ├── 2980_revert_kbuild-gcc15-gnu23-to-gnu11-fix.patch │ └── 2981-kbuild-gcc15-gnu23-to-gnu11-fix.patch │ ├── metadata.xml │ ├── asahi-sources-6.17.11_p1.ebuild │ ├── asahi-sources-6.17.7_p2.ebuild │ └── Manifest ├── metadata ├── pkgcheck.conf ├── md5-cache │ ├── sys-apps │ │ ├── asahi-configs-1.0 │ │ ├── asahi-scripts-20231219.1 │ │ ├── asahi-scripts-20231219.1-r1 │ │ ├── asahi-nvram-meta-0.1 │ │ ├── asahi-meta-2-r6 │ │ └── speakersafetyd-0.1.9-r1 │ ├── virtual │ │ ├── dist-kernel-6.6.0_p16 │ │ └── linux-sources-3-r6 │ ├── media-libs │ │ ├── widevine-installer-0.1-r2 │ │ ├── alsa-ucm-conf-asahi-5.0 │ │ ├── asahi-audio-1.8 │ │ └── bankstown-lv2-1.1.0 │ ├── sys-boot │ │ └── m1n1-1.4.11 │ ├── app-arch │ │ └── lzfse-1.0 │ ├── sys-firmware │ │ └── asahi-firmware-0.6.25-r1 │ └── sys-kernel │ │ └── asahi-kernel-6.6.0_p16-r1 ├── layout.conf └── news │ ├── 2023-07-10-asahi-meta-package-now-available │ └── 2023-07-10-asahi-meta-package-now-available.en.txt │ ├── 2024-07-16-mesa-asahi-flatpak-available │ └── 2024-07-16-mesa-asahi-flatpak-available.en.txt │ ├── 2024-03-03-startup-disk-upstreamed │ └── 2024-03-03-startup-disk-upstreamed.en.txt │ ├── 2024-08-23-charge-threshold-restoration-now-available │ └── 2024-08-23-charge-threshold-restoration-now-available.en.txt │ ├── 2024-04-01-action-required-enable-unstable-globally │ └── 2024-04-01-action-required-enable-unstable-globally.en.txt │ ├── 2023-07-10-Major-changes-to-the-Asahi-repo │ └── 2023-07-10-Major-changes-to-the-Asahi-repo.en.txt │ ├── 2024-04-02-stable-users-you-can-now-remove-global-arm64 │ └── 2024-04-02-stable-users-you-can-now-remove-global-arm64.en.txt │ ├── 2023-12-03-HDMI-out-now-available │ └── 2023-12-03-HDMI-out-now-available.en.txt │ ├── 2025-07-25-mesa-asahi-flatpak-changes │ └── 2025-07-25-mesa-asahi-flatpak-changes.en.txt │ ├── 2024-04-01-action-required-asahi-audio-now-slotted │ └── 2024-04-01-action-required-asahi-audio-now-slotted.en.txt │ ├── 2025-05-10-mesa-now-upstream │ └── 2025-05-10-mesa-now-upstream.en.txt │ ├── 2024-02-11-asahi-kernel-is-now-available │ └── 2024-02-11-asahi-kernel-is-now-available.en.txt │ ├── 2024-01-04-krunvm-support-has-been-removed │ └── 2024-01-04-krunvm-support-has-been-removed.en.txt │ ├── 2024-01-31-Upstreaming-efforts-have-begun │ └── 2024-01-31-Upstreaming-efforts-have-begun.en.txt │ ├── 2023-11-25-Limited-speaker-support-now-available │ └── 2023-11-25-Limited-speaker-support-now-available.en.txt │ ├── 2024-04-30-wireplumber-upgraded-to-0.5 │ └── 2024-04-30-wireplumber-upgraded-to-0.5.en.txt │ └── 2023-10-09-Webcam-now-available │ └── 2023-10-09-Webcam-now-available.en.txt ├── acct-group └── speakersafetyd │ ├── speakersafetyd-0.ebuild │ └── metadata.xml ├── virtual ├── linux-sources │ ├── metadata.xml │ └── linux-sources-3-r6.ebuild └── dist-kernel │ ├── metadata.xml │ ├── dist-kernel-6.17.11_p1.ebuild │ └── dist-kernel-6.17.7_p2.ebuild ├── app-arch └── lzfse │ ├── Manifest │ ├── metadata.xml │ └── lzfse-1.0.ebuild ├── media-libs ├── asahi-audio │ ├── Manifest │ ├── metadata.xml │ └── asahi-audio-3.4.ebuild ├── alsa-ucm-conf-asahi │ ├── Manifest │ ├── metadata.xml │ └── alsa-ucm-conf-asahi-8.ebuild ├── widevine-installer │ ├── Manifest │ ├── files │ │ └── disable-configs.patch │ ├── metadata.xml │ └── widevine-installer-0.2.ebuild ├── bankstown-lv2 │ ├── metadata.xml │ ├── bankstown-lv2-1.1.0-r2.ebuild │ └── Manifest └── triforce-lv2 │ ├── metadata.xml │ └── triforce-lv2-0.3.2.ebuild ├── sys-firmware └── asahi-firmware │ ├── Manifest │ ├── metadata.xml │ └── asahi-firmware-0.7.9-r1.ebuild ├── acct-user └── speakersafetyd │ ├── speakersafetyd-0.ebuild │ └── metadata.xml ├── app-emulation ├── muvm │ ├── metadata.xml │ └── muvm-0.5.0.ebuild ├── fex-rootfs-gentoo │ ├── metadata.xml │ ├── Manifest │ ├── fex-rootfs-gentoo-20250904.ebuild │ └── fex-rootfs-gentoo-20250904-r1.ebuild └── FEX │ ├── metadata.xml │ ├── files │ ├── toolchain_x86_64.cmake │ ├── toolchain_x86_32.cmake │ ├── FEX-2503-thunkgen-gcc-install-dir.patch │ ├── FEX-2503-unvendor-drm-headers.patch │ ├── FEX-2511-unvendor-drm-headers.patch │ └── FEX-2507-thunks-toolchain-paths.patch │ ├── Manifest │ ├── FEX-2510.ebuild │ ├── FEX-2511.ebuild │ └── FEX-2512.ebuild ├── .github └── workflows │ └── main.yml ├── dev-libs ├── libkrun │ ├── metadata.xml │ └── libkrun-1.16.0.ebuild └── libkrunfw │ ├── metadata.xml │ ├── files │ └── libkrunfw-4.5.1-do-not-strip.patch │ ├── Manifest │ └── libkrunfw-5.0.0.ebuild ├── sys-boot ├── u-boot │ ├── metadata.xml │ ├── Manifest │ ├── u-boot-2025.07_p1.ebuild │ └── u-boot-2025.04_p1.ebuild └── m1n1 │ ├── metadata.xml │ ├── Manifest │ ├── m1n1-1.5.0.ebuild │ └── m1n1-1.5.2.ebuild ├── games-util └── steam │ ├── metadata.xml │ ├── Manifest │ └── steam-0.0.2.ebuild ├── sys-devel └── x86_64-multilib-toolchain │ ├── metadata.xml │ ├── files │ └── gcc-13-fix-cross-fixincludes.patch │ ├── Manifest │ └── x86_64-multilib-toolchain-14.2.0_p1.ebuild ├── repositories.xml └── README.md /profiles/eapi: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /profiles/package.unmask: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /profiles/repo_name: -------------------------------------------------------------------------------- 1 | asahi 2 | -------------------------------------------------------------------------------- /profiles/updates/2Q-2024: -------------------------------------------------------------------------------- 1 | slotmove media-libs/asahi-audio 1.0 0 2 | -------------------------------------------------------------------------------- /profiles/updates/4Q-2024: -------------------------------------------------------------------------------- 1 | slotmove virtual/dist-kernel 0 asahi 2 | -------------------------------------------------------------------------------- /profiles/updates/3Q-2024: -------------------------------------------------------------------------------- 1 | move app-emulation/krun app-emulation/muvm 2 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/envvars-2: -------------------------------------------------------------------------------- 1 | export MOZ_ENABLE_WAYLAND=1 2 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/baloo: -------------------------------------------------------------------------------- 1 | [General] 2 | only basic indexing=true 3 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/files/99-update-m1n1.install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | update-m1n1 3 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/kcminput: -------------------------------------------------------------------------------- 1 | [Libinput][Defaults][Touchpad] 2 | NaturalScroll=true 3 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/files/update-m1n1.gentoo.conf: -------------------------------------------------------------------------------- 1 | DTBS=/usr/src/linux/arch/arm64/boot/dts/apple/*.dtb 2 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/linux-6.10_disable_debug_info_btf.config: -------------------------------------------------------------------------------- 1 | # CONFIG_DEBUG_INFO_BTF is not set 2 | -------------------------------------------------------------------------------- /metadata/pkgcheck.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | profiles = stable,dev,-default/linux/arm64/23.0/musl,-default/linux/arm64/23.0/split-usr/musl 3 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/xorg-modeset: -------------------------------------------------------------------------------- 1 | Section "OutputClass" 2 | Identifier "appledrm" 3 | MatchDriver "apple" 4 | Driver "modesetting" 5 | Option "PrimaryGPU" "true" 6 | EndSection 7 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/linux-6.10_drop_amdgpu.config: -------------------------------------------------------------------------------- 1 | # CONFIG_DRM_AMDGPU is not set 2 | # CONFIG_DRM_AMDGPU_SI is not set 3 | # CONFIG_DRM_AMDGPU_CIK is not set 4 | # CONFIG_DRM_AMDGPU_USERPTR is not set 5 | # CONFIG_DRM_AMDGPU_WERROR is not set 6 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-apps/asahi-configs-1.0: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=install unpack 2 | DESCRIPTION=Asahi Linux configurations 3 | EAPI=8 4 | HOMEPAGE=https://asahilinux.org/ 5 | KEYWORDS=arm64 6 | LICENSE=MIT 7 | SLOT=0 8 | _md5_=a0a16fea00cbc7138a183a92656e9416 9 | -------------------------------------------------------------------------------- /metadata/md5-cache/virtual/dist-kernel-6.6.0_p16: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=- 2 | DESCRIPTION=Virtual to depend on any Distribution Kernel 3 | EAPI=8 4 | KEYWORDS=arm64 5 | RDEPEND=~sys-kernel/asahi-kernel-6.6.0_p16 6 | SLOT=0/6.6.0_p16 7 | _md5_=30b8159cf810ac0182d5f9b6143dccd3 8 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/xorg-naturalscroll: -------------------------------------------------------------------------------- 1 | Section "InputClass" 2 | Identifier "Enable natural scrolling by default" 3 | MatchIsTouchpad "on" 4 | MatchDevicePath "/dev/input/event*" 5 | MatchDriver "libinput" 6 | Option "Natural Scrolling" "on" 7 | EndSection 8 | -------------------------------------------------------------------------------- /sys-apps/speakersafetyd/files/speakersafetyd: -------------------------------------------------------------------------------- 1 | #!/sbin/openrc-run 2 | 3 | pidfile="/run/speakersafetyd.pid" 4 | command="/usr/bin/speakersafetyd" 5 | command_args="-c /usr/share/speakersafetyd/ -b /var/lib/speakersafetyd/blackbox -m 7" 6 | supervisor="supervise-daemon" 7 | 8 | -------------------------------------------------------------------------------- /metadata/layout.conf: -------------------------------------------------------------------------------- 1 | repo-name = asahi 2 | masters = gentoo 3 | auto-sync = true 4 | eapis-banned = 0 1 2 3 4 5 6 5 | eapis-deprecated = 6 | sign-commits = false 7 | sign-manifests = false 8 | thin-manifests = true 9 | use-manifests = strict 10 | cache-formats = md5-dict 11 | -------------------------------------------------------------------------------- /acct-group/speakersafetyd/speakersafetyd-0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | inherit acct-group 7 | 8 | DESCRIPTION="speakersafetyd program group" 9 | ACCT_GROUP_ID=547 10 | SLOT="0" 11 | -------------------------------------------------------------------------------- /sys-apps/speakersafetyd/files/speakersafetyd-noroot: -------------------------------------------------------------------------------- 1 | #!/sbin/openrc-run 2 | 3 | pidfile="/run/speakersafetyd.pid" 4 | command="/usr/bin/speakersafetyd" 5 | command_args="-c /usr/share/speakersafetyd/ -b /var/lib/speakersafetyd/blackbox -m 7" 6 | command_user="speakersafetyd" 7 | supervisor="supervise-daemon" 8 | 9 | -------------------------------------------------------------------------------- /virtual/linux-sources/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | -------------------------------------------------------------------------------- /app-arch/lzfse/Manifest: -------------------------------------------------------------------------------- 1 | DIST lzfse-1.0.tar.gz 50694 BLAKE2B b250ee7f438f4c813e5b60e8a3a224a95a187ea2e29de1a3db7a2eafd6a484ccd778c7be4b809b34dc9d1a51edcb7ba743b0e82ae43a8045114866944b159770 SHA512 9d7ca44e6d3d2bdf4b82b0eb66c14922369b8b6fe2cf891187a77c6708b8d26c2c1b2ccddec6059e85dbbbb37c497419549f02812b5f34d06238ac246a8cf912 2 | -------------------------------------------------------------------------------- /profiles/package.use: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2023 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | # Janne Grunau (2024-05-04) 5 | # Use +filecaps so that kwin_wayland gets CAP_SYS_NICE used for real time 6 | # input and kms commit threads. 7 | kde-plasma/kwin filecaps 8 | -------------------------------------------------------------------------------- /media-libs/asahi-audio/Manifest: -------------------------------------------------------------------------------- 1 | DIST asahi-audio-3.4.tar.gz 2646735 BLAKE2B 2b30e62575a2597436b1e4dac5c39bf77ce27f2186ae6cc0f54d78a5ee355e667fa2b146f26f71f1bf9f3d480441d37bfe99d3912f73810bb16675029f3798f6 SHA512 d7c9d32ad520bf48f267c6b26d103e730d8b952ba1eb6518ba976090b8f773edc43024ebf3282dcab6d9753f4afc848783a362cb699885d961625fa017f55be5 2 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/files/1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch: -------------------------------------------------------------------------------- 1 | --- b/arch/x86/tools/insn_decoder_test.c 2 | +++ a/arch/x86/tools/insn_decoder_test.c 3 | @@ -106,7 +106,7 @@ 4 | } 5 | } 6 | 7 | +#define BUFSIZE 256 8 | -#define BUFSIZE 4096 9 | 10 | int main(int argc, char **argv) 11 | { 12 | -------------------------------------------------------------------------------- /sys-firmware/asahi-firmware/Manifest: -------------------------------------------------------------------------------- 1 | DIST asahi-firmware-0.7.9.tar.gz 57023 BLAKE2B 1b6754652116da28d0ad3ba7c26f0d41f269da7c4d11bd776953088ba5765546add0e853106b1c39da5238be0f0e01e8be838630f0c03ec52c035aabbfaff68c SHA512 c533fd34cd2360f28c3ff76fa839bd2c9994cc457045a826c36e4f989af9b424375991a93246f264991289ad5aeb0a642c7d6bdfd7683dd6c6c77621f5d0129e 2 | -------------------------------------------------------------------------------- /media-libs/alsa-ucm-conf-asahi/Manifest: -------------------------------------------------------------------------------- 1 | DIST alsa-ucm-conf-asahi-8.tar.gz 3680 BLAKE2B 5dcd87426ea277d98ca1d7b3ab1dee06d85bb8947022f1278389c35d1090c8b13ce2864a02e6b70a24e0970994accafa48e3a217283a4b527c8f1528a6ac8e2b SHA512 b925a2a5ab7e4e48ee300f2dbd045d8e3c642deeabbcc103ad10f119358350b4724ed4c408b7c0c897e90fd001ce6f1903598b5d819efb45e17ccd56155425ea 2 | -------------------------------------------------------------------------------- /media-libs/widevine-installer/Manifest: -------------------------------------------------------------------------------- 1 | DIST widevine-installer-0.2.tar.gz 7968 BLAKE2B 416afe9489867b4fc242a1aeb8dd7cc5916f1b640ac72f1e288faf94df4aa7f3b520ad05150a465855b7fab9eda774c3ff14603376e6e9fd05c593e744f64dac SHA512 4cf42662ef8c66c6a404d1e042c74d299943f49b739bf964c344ecd3659e6e09857db89c31142593f566ddceee1d42fb517023e92052b7f7ef4372059d8c97fc 2 | -------------------------------------------------------------------------------- /acct-user/speakersafetyd/speakersafetyd-0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | inherit acct-user 7 | 8 | DESCRIPTION="speakersafetyd program user" 9 | ACCT_USER_ID=547 10 | ACCT_USER_GROUPS=( audio speakersafetyd ) 11 | acct-user_add_deps 12 | SLOT="0" 13 | -------------------------------------------------------------------------------- /app-emulation/muvm/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | slp/krun 9 | 10 | 11 | -------------------------------------------------------------------------------- /virtual/dist-kernel/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | dist-kernel@gentoo.org 6 | Distribution Kernel Project 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: pkgcheck 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout code 14 | uses: actions/checkout@v3 15 | 16 | - name: Run pkgcheck 17 | uses: pkgcore/pkgcheck-action@v1 18 | -------------------------------------------------------------------------------- /dev-libs/libkrun/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | containers/libkrun 9 | 10 | 11 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/linux-6.8_arch_apple_overrides.config: -------------------------------------------------------------------------------- 1 | ## prefer simpledrm over frame buffer drivers 2 | CONFIG_DRM_SIMPLEDRM=y 3 | # CONFIG_FB_EFI is not set 4 | # CONFIG_FB_VESA is not set 5 | 6 | ## enable EFI_ZBOOT for systemd-boot support 7 | CONFIG_EFI_ZBOOT=y 8 | 9 | ## no ACPI on Apple silicon systems 10 | # CONFIG_ACPI_EXTLOG is not set 11 | -------------------------------------------------------------------------------- /virtual/dist-kernel/dist-kernel-6.17.11_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2021-2024 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DESCRIPTION="Virtual to depend on any Distribution Kernel" 7 | SLOT="asahi/${PVR}" 8 | KEYWORDS="~arm64" 9 | 10 | RDEPEND=" 11 | ~sys-kernel/asahi-kernel-${PV}:asahi-${PV}= 12 | " 13 | -------------------------------------------------------------------------------- /virtual/dist-kernel/dist-kernel-6.17.7_p2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2021-2024 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DESCRIPTION="Virtual to depend on any Distribution Kernel" 7 | SLOT="asahi/${PVR}" 8 | KEYWORDS="arm64" 9 | 10 | RDEPEND=" 11 | ~sys-kernel/asahi-kernel-${PV}:asahi-${PV}= 12 | " 13 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | containers/libkrunfw 9 | 10 | 11 | -------------------------------------------------------------------------------- /app-arch/lzfse/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | lzfse/lzfse 10 | 11 | 12 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | WhatAmISupposedToPutHere/fex-rootfs 9 | 10 | 11 | -------------------------------------------------------------------------------- /sys-boot/u-boot/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/u-boot 10 | 11 | 12 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/PKGBUILDs 10 | 11 | 12 | -------------------------------------------------------------------------------- /media-libs/asahi-audio/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/asahi-audio 10 | 11 | 12 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/asahi-scripts 10 | 11 | 12 | -------------------------------------------------------------------------------- /media-libs/bankstown-lv2/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | chadmed/bankstown 10 | 11 | 12 | -------------------------------------------------------------------------------- /media-libs/triforce-lv2/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | chadmed/triforce 10 | 11 | 12 | -------------------------------------------------------------------------------- /sys-firmware/asahi-firmware/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/asahi-installer 10 | 11 | 12 | -------------------------------------------------------------------------------- /media-libs/alsa-ucm-conf-asahi/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/alsa-ucm-conf-asahi 10 | 11 | 12 | -------------------------------------------------------------------------------- /media-libs/widevine-installer/files/disable-configs.patch: -------------------------------------------------------------------------------- 1 | diff --git a/widevine-installer b/widevine-installer 2 | index 2feb4b2..b1d93e9 100755 3 | --- a/widevine-installer 4 | +++ b/widevine-installer 5 | @@ -4,7 +4,7 @@ 6 | set -e 7 | 8 | # Set to 0 if packaged and the configs are pre-installed 9 | -: ${COPY_CONFIGS=1} 10 | +: ${COPY_CONFIGS=0} 11 | : ${DESTDIR:=/} 12 | : ${CONFDIR:=/etc} 13 | : ${LIBDIR:=/usr/lib64} 14 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-apps/asahi-scripts-20231219.1: -------------------------------------------------------------------------------- 1 | BDEPEND=dev-build/make 2 | DEFINED_PHASES=compile install postinst prepare 3 | DESCRIPTION=Apple Silicon support scripts 4 | EAPI=8 5 | HOMEPAGE=https://asahilinux.org/ 6 | KEYWORDS=arm64 7 | LICENSE=MIT 8 | SLOT=0 9 | SRC_URI=https://github.com/AsahiLinux/asahi-scripts/archive/refs/tags/20231219.1.tar.gz -> asahi-scripts-20231219.1.tar.gz 10 | _md5_=fc13f96c2cbabbf2e15d85c9dfa72b68 11 | -------------------------------------------------------------------------------- /media-libs/widevine-installer/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/widevine-installer 10 | 11 | 12 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-apps/asahi-scripts-20231219.1-r1: -------------------------------------------------------------------------------- 1 | BDEPEND=dev-build/make 2 | DEFINED_PHASES=compile install postinst prepare 3 | DESCRIPTION=Apple Silicon support scripts 4 | EAPI=8 5 | HOMEPAGE=https://asahilinux.org/ 6 | KEYWORDS=arm64 7 | LICENSE=MIT 8 | SLOT=0 9 | SRC_URI=https://github.com/AsahiLinux/asahi-scripts/archive/refs/tags/20231219.1.tar.gz -> asahi-scripts-20231219.1.tar.gz 10 | _md5_=f04bb95a7d8500d6245d129e621d8e29 11 | -------------------------------------------------------------------------------- /sys-apps/speakersafetyd/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/speakersafetyd 10 | 11 | 12 | -------------------------------------------------------------------------------- /acct-group/speakersafetyd/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | Gentoo Asahi Project 7 | 8 | 9 | jcalligeros99@gmail.com 10 | James Calligeros 11 | 12 | 13 | -------------------------------------------------------------------------------- /acct-user/speakersafetyd/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | Gentoo Asahi Project 7 | 8 | 9 | jcalligeros99@gmail.com 10 | James Calligeros 11 | 12 | 13 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-apps/asahi-nvram-meta-0.1: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=- 2 | DESCRIPTION=Metapackage for asahi-nvram modules 3 | EAPI=8 4 | HOMEPAGE=https://github.com/WhatAmISupposedToPutHere/asahi-nvram 5 | IUSE=+bless bluetooth raw wifi 6 | KEYWORDS=~arm64 7 | LICENSE=MIT 8 | RDEPEND=bless? ( sys-apps/asahi-bless ) bluetooth? ( net-misc/asahi-btsync ) raw? ( sys-apps/asahi-nvram ) wifi? ( net-misc/asahi-wifisync ) 9 | SLOT=0 10 | _md5_=6d79b3b371ef5d89340085c01fa28413 11 | -------------------------------------------------------------------------------- /sys-boot/m1n1/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | Build with the Clang/LLVM toolchain 10 | 11 | 12 | AsahiLinux/m1n1 13 | 14 | 15 | -------------------------------------------------------------------------------- /metadata/md5-cache/media-libs/widevine-installer-0.1-r2: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=install postinst unpack 2 | DESCRIPTION=Widevine installer for AArch64 systems 3 | EAPI=8 4 | HOMEPAGE=https://asahilinux.org/ 5 | KEYWORDS=arm64 6 | LICENSE=MIT 7 | RDEPEND=>=sys-libs/glibc-2.36 sys-fs/squashfs-tools[zstd] 8 | SLOT=0 9 | SRC_URI=https://github.com/AsahiLinux/widevine-installer/archive/8fa12dd2d81c4b5d2a713e169cac70898512322e.tar.gz -> widevine-installer-0.1.tar.gz 10 | _md5_=92f8fadf9dddeda6bf70703a423eb4d8 11 | -------------------------------------------------------------------------------- /games-util/steam/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | asahi@gentoo.org 10 | 11 | 12 | chadmed/steam-aarch64 13 | 14 | 15 | -------------------------------------------------------------------------------- /metadata/md5-cache/virtual/linux-sources-3-r6: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=- 2 | DESCRIPTION=Virtual for Linux kernel sources 3 | EAPI=7 4 | KEYWORDS=arm64 5 | RDEPEND=|| ( sys-kernel/gentoo-sources sys-kernel/vanilla-sources sys-kernel/git-sources sys-kernel/mips-sources sys-kernel/pf-sources sys-kernel/rt-sources sys-kernel/zen-sources sys-kernel/raspberrypi-sources sys-kernel/gentoo-kernel sys-kernel/gentoo-kernel-bin sys-kernel/vanilla-kernel sys-kernel/asahi-sources ) 6 | SLOT=0 7 | _md5_=63a29357490484c758b7acd39d77bc9c 8 | -------------------------------------------------------------------------------- /app-arch/lzfse/lzfse-1.0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | CMAKE_MAKEFILE_GENERATOR="emake" 7 | CMAKE_INSTALL_PREFIX="" 8 | 9 | inherit cmake 10 | 11 | DESCRIPTION="LZFSE compression utilities" 12 | HOMEPAGE="https://github.com/lzfse/lzfse" 13 | SRC_URI="https://github.com/lzfse/lzfse/archive/refs/tags/lzfse-${PV}.tar.gz" 14 | S="${WORKDIR}/${PN}-lzfse-${PV}" 15 | LICENSE="BSD" 16 | SLOT="0" 17 | KEYWORDS="arm64" 18 | -------------------------------------------------------------------------------- /metadata/news/2023-07-10-asahi-meta-package-now-available/2023-07-10-asahi-meta-package-now-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: asahi-meta package now available 2 | Author: James Calligeros 3 | Posted: 2023-07-10 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | A new metapackage is now available to simplify installation 8 | and dependency resolution. Steps to transition to it are 9 | as follows: 10 | 11 | 1) Deselect any Asahi-related packages 12 | 2) emerge -av asahi-meta 13 | 3) emerge --depclean 14 | -------------------------------------------------------------------------------- /metadata/news/2024-07-16-mesa-asahi-flatpak-available/2024-07-16-mesa-asahi-flatpak-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: Asahi Mesa Flatpak runtime now available 2 | Author: James Calligeros 3 | Posted: 2024-07-16 4 | Revision: 2 5 | News-Item-Format: 2.0 6 | 7 | You can now use flatpaks which require graphical acceleration on Asahi! 8 | 9 | Steps: 10 | 1. Emerge media-libs/mesa-asahi-flatpak 11 | 2. Log out and log back in 12 | 13 | That's it! Flatpaks which require GPU acceleration will now work! 14 | -------------------------------------------------------------------------------- /metadata/md5-cache/media-libs/alsa-ucm-conf-asahi-5.0: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=install unpack 2 | DEPEND=>=media-libs/alsa-lib-1.2.1 media-libs/alsa-ucm-conf 3 | DESCRIPTION=ALSA ucm configuration files for Apple silicon devices 4 | EAPI=8 5 | HOMEPAGE=https://alsa-project.org/wiki/Main_Page 6 | KEYWORDS=arm64 7 | LICENSE=BSD 8 | RDEPEND=>=media-libs/alsa-lib-1.2.1 9 | SLOT=0 10 | SRC_URI=https://github.com/AsahiLinux/alsa-ucm-conf-asahi/archive/refs/tags/v4.tar.gz -> alsa-ucm-conf-asahi-5.0.tar.gz 11 | _md5_=191bb14b9b4a78813158de386273aaba 12 | -------------------------------------------------------------------------------- /app-emulation/FEX/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | Build the FEXConfig tool 9 | Build thunk libraries 10 | Build FEXConfig using Qt 6 11 | 12 | 13 | FEX-Emu/FEX 14 | 15 | 16 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-boot/m1n1-1.4.11: -------------------------------------------------------------------------------- 1 | BDEPEND=dev-build/make sys-apps/dtc clang? ( sys-devel/clang ) 2 | DEFINED_PHASES=compile install postinst postrm 3 | DESCRIPTION=Apple Silicon bootloader and experimentation playground 4 | EAPI=7 5 | HOMEPAGE=https://asahilinux.org/ 6 | IUSE=clang 7 | KEYWORDS=arm64 8 | LICENSE=MIT 9 | RDEPEND=sys-boot/u-boot || ( sys-kernel/asahi-sources sys-kernel/asahi-kernel ) 10 | SLOT=0 11 | SRC_URI=https://github.com/AsahiLinux/m1n1/archive/refs/tags/v1.4.11.tar.gz -> m1n1-1.4.11.tar.gz 12 | _md5_=2533a2de2c8ce14dd503b22202c124e3 13 | -------------------------------------------------------------------------------- /metadata/news/2024-03-03-startup-disk-upstreamed/2024-03-03-startup-disk-upstreamed.en.txt: -------------------------------------------------------------------------------- 1 | Title: startup-disk has been upstreamed 2 | Author: James Calligeros 3 | Posted: 2024-03-03 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | The GTK4 frontend for asahi-bless, previously just called startup-disk, has 8 | been upstreamed into ::gentoo as asahi-startup-disk. As the name of the package 9 | has changed, you will need to manually uninstall sys-apps/startup-disk::asahi 10 | and install sys-apps/asahi-startup-disk::gentoo in its stead. 11 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/files/libkrunfw-4.5.1-do-not-strip.patch: -------------------------------------------------------------------------------- 1 | diff --git a/Makefile b/Makefile 2 | index c80b805..a45fb61 100644 3 | --- a/Makefile 4 | +++ b/Makefile 5 | @@ -102,9 +102,6 @@ endif 6 | 7 | $(KRUNFW_BINARY_$(OS)): $(KERNEL_C_BUNDLE) $(QBOOT_C_BUNDLE) $(INITRD_C_BUNDLE) 8 | $(CC) -fPIC -DABI_VERSION=$(ABI_VERSION) -shared $(SONAME_$(OS)) -o $@ $(KERNEL_C_BUNDLE) $(QBOOT_C_BUNDLE) $(INITRD_C_BUNDLE) 9 | -ifeq ($(OS),Linux) 10 | - $(STRIP) $(KRUNFW_BINARY_$(OS)) 11 | -endif 12 | 13 | install: 14 | install -d $(DESTDIR)$(PREFIX)/$(LIBDIR_$(OS))/ 15 | -------------------------------------------------------------------------------- /sys-apps/asahi-nvram-meta/asahi-nvram-meta-0.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2024 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DESCRIPTION="Metapackage for asahi-nvram modules" 7 | HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/asahi-nvram" 8 | LICENSE="MIT" 9 | SLOT="0" 10 | KEYWORDS="~arm64" 11 | IUSE="+bless bluetooth raw wifi" 12 | 13 | RDEPEND=" 14 | bless? ( sys-apps/asahi-bless ) 15 | bluetooth? ( net-misc/asahi-btsync ) 16 | raw? ( sys-apps/asahi-nvram ) 17 | wifi? ( net-misc/asahi-wifisync ) 18 | " 19 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | asahi@gentoo.org 10 | 11 | 12 | Create an initramfs 13 | 14 | 15 | AsahiLinux/linux 16 | 17 | 18 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/toolchain_x86_64.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld") 2 | set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld") 3 | set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld") 4 | set(CMAKE_C_COMPILER clang) 5 | set(CMAKE_CXX_COMPILER clang++) 6 | set(CLANG_FLAGS "-O2 -fPIC -nodefaultlibs -nostartfiles -target x86_64-linux-gnu --sysroot=${X86_DEV_ROOTFS} -idirafter /usr/include") 7 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 8 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 9 | set(CMAKE_C_COMPILER_FORCED TRUE) 10 | set(CMAKE_CXX_COMPILER_FORCED TRUE) 11 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/toolchain_x86_32.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_EXE_LINKER_FLAGS_INIT "-fuse-ld=lld") 2 | set(CMAKE_MODULE_LINKER_FLAGS_INIT "-fuse-ld=lld") 3 | set(CMAKE_SHARED_LINKER_FLAGS_INIT "-fuse-ld=lld") 4 | set(CMAKE_C_COMPILER clang) 5 | set(CMAKE_CXX_COMPILER clang++) 6 | set(CLANG_FLAGS "-O2 -fPIC -nodefaultlibs -target i686-linux-gnu --sysroot=${X86_DEV_ROOTFS} -msse2 -mfpmath=sse -idirafter /usr/include") 7 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 8 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 9 | set(CMAKE_C_COMPILER_FORCED TRUE) 10 | set(CMAKE_CXX_COMPILER_FORCED TRUE) 11 | -------------------------------------------------------------------------------- /sys-boot/m1n1/Manifest: -------------------------------------------------------------------------------- 1 | DIST m1n1-1.5.0.tar.gz 870688 BLAKE2B bb36d14bcfd553daacea0c171c82c9d9e5f72316b374c1e92d7358d5cc3a04d82bfd2bc3efd27c9ce3d90c8b30b53b68d4f95e8421163f8ad58a84221398898a SHA512 27fd6852c8046f59fd742bbeb99fbf4da28df9f2b70ca6ddcc75741e0c40df8e0a112444f1d18e8d47ca9896e55a9c463a1a4daa730e9914f6101445f77f0c6a 2 | DIST m1n1-1.5.2.tar.gz 875016 BLAKE2B 3fb8d8d7eb9a166bae225b0f8f01443fbc241506c976c701dddde9ad50cc0515aef73f3e41dbc63b764f4c84e41a903e59988c91f4984391fdbea8906254f921 SHA512 16b5c35b05325e4754c98269b86a6e27725a208ac058554b5b75b9984cc35daf96bf8a51feae040875c8ac84c38b79a9363020352092abd3cb892a53df214f19 3 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/Manifest: -------------------------------------------------------------------------------- 1 | DIST libkrunfw-5.0.0.tar.gz 1828522 BLAKE2B c65a2252a4999654a14afb4fd9599cc03a816e5946ee6e2ce5063f9e9d7169ef4ea2a3ef64b25e17abbd1427a5e5eb68121bcaa6c45b9b004eade2801da37a01 SHA512 0e3ecdedb35565f794b6ed3fd582cf378b3f7f82e0efb92f5552e36200702b47b95a844dd648eba97371b24c8640d6b4d26e1903f91147b3986d7c29e0b0fb4c 2 | DIST linux-6.12.44.tar.xz 148217572 BLAKE2B b00a6d13dafb2947bacc79fc4b0ea0ffd569032df571123edc0bfec59d5601b77d97b46f0e50e521fdb4a0ee7b9dce70767d6928b4e6c81e4328e0a467dca446 SHA512 8578a2522c0f81eab1c10267a6baed8e406be924038dd786ca3026e44b93a6ee70c4b48a164c11aec6109d5b69bc8590bdc58df738c0bb0e1c701d1f38bc5b7e 3 | -------------------------------------------------------------------------------- /sys-boot/u-boot/Manifest: -------------------------------------------------------------------------------- 1 | DIST u-boot-2025.04_p1.tar.gz 43561044 BLAKE2B 2f9b09d24b9d565482f715e2bf4df24d36b5d03b32d3e7c99ab4144e1db7e8090de099693150fdb8d86634d569b916b23e9dbcbedfd1ec3ddd1d0da4f20d62bd SHA512 bb111d092c8a63b6d70920e448fb56bcb807dd49be7a2f14ef8a363d3cbcd76d6b82032e0d40604e1222450f72181b0819100192d164b385a61dc79710f512e8 2 | DIST u-boot-2025.07_p1.tar.gz 44237018 BLAKE2B 597e89ef2ba604fbdb0be593bacb7137f3703d39ac06c8e3296958a023fe807bfab863e3c675ef5b3893bfd9a25b73b12d2fcdd89804ab5b14269f2e21f32558 SHA512 3dbe246339c9a89a78dbc300eefbc5795923d7023216592c368a820e5f0b25ff467e64c243d0a9eda6492832c14e29f1c0ec349f048e1d53068fb6f20c82a189 3 | -------------------------------------------------------------------------------- /metadata/news/2024-08-23-charge-threshold-restoration-now-available/2024-08-23-charge-threshold-restoration-now-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: Battery charge threshold persistence now available 2 | Author: James Calligeros 3 | Posted: 2024-08-23 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | It is now possible to save and restore your set charge end threshold across 8 | boots! If you use systemd, no manual invervention is required. For OpenRC 9 | users, you will need to add the new macsmc-battery service to your default 10 | runlevel. Make sure to start the service manually after installation to 11 | ensure it works! 12 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | asahi@gentoo.org 10 | 11 | 12 | Automatically symlink the kernel sources to /usr/src/linux 13 | 14 | 15 | AsahiLinux/linux 16 | 17 | 18 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/Manifest: -------------------------------------------------------------------------------- 1 | DIST asahi-scripts-20250426.1.tar.gz 12609 BLAKE2B 7834ea3ae2650adcabe0cc22cd81e78e354cab6a71e005b00db855d72ce40f9c8d17791e8f70d539e9d180aaff27fc783993547d1d5c26b9b1322d20aa149543 SHA512 b92ff0b2c90a0fc10206cc1124d191d6b7658050e46c6ecd8475a098b9e2670c421288e32acf2d9e51a44355857b5078ec1f200b132b3e9539ec948254d3f91e 2 | DIST asahi-scripts-20250713.tar.gz 12852 BLAKE2B 22eb264d60bd83f2349e8dfc3eb7fb5e6931aef0b4866743791d6378daad2b69d64a486144c957ef268693b8978860e5f2ca645dc191d7471baea51a7959d2f9 SHA512 cb94711a556e4b8b4e171540d7026f93ad03afe3a359e8888bc63c09a17d521af1da3299fd3af89ad1fd3c3cb55b0b508ae307b4a9dacb48d45bbdfa50e4f767 3 | -------------------------------------------------------------------------------- /games-util/steam/Manifest: -------------------------------------------------------------------------------- 1 | DIST steam-aarch64-111e86cd84f8d04a51a2d5237a35c377543176af.tar.gz 4773 BLAKE2B e3a4b7640bd9014abf37430e2d20f51fa65233ff4daf615b8291d9a92f837a688ed7f38e6b4540428a3cab0c2be78c74c074de228b465ad2a30df07ace75c08d SHA512 8ba834c9cc2a354794af3df56cc0ccc13a6a38297125cb907dab3c8267b646256970b84cd8bf8e86ef490556687b9888d60c6bc60757da6a353b9f793f7ab5aa 2 | DIST steam_1.0.0.81.tar.gz 4034361 BLAKE2B 3bd5deaa2aab8988bb071af3b2400699440af23795bad55f2040581431e2fe1aa02221bb4e4455677207689e9c7383cdf09290fd9b50334ce1ffabcd6c439f4b SHA512 adbb89f3af069d9ff417ca7789a3d275e6485212ec8e08a4b2d110a2f370fc6d1a564895ba58b0548ea1521ee90029a4bb397ef86f29e093907abd562f65d07f 3 | -------------------------------------------------------------------------------- /metadata/news/2024-04-01-action-required-enable-unstable-globally/2024-04-01-action-required-enable-unstable-globally.en.txt: -------------------------------------------------------------------------------- 1 | Title: ACTION REQUIRED: enable unstable globally 2 | Author: James Calligeros 3 | Posted: 2024-04-01 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | Due to some QA checks required for getting the overlay added to 8 | api.g.o, we have had to demote some packages back to ~arm64. This was 9 | necessary to prevent pkgcheck from complaining about unresolvable dependencies. 10 | 11 | User Action Required: 12 | 1. Add ACCEPT_KEYWORDS="~arm64" to your make.conf if you haven't already 13 | 2. emerge -auvDN @world 14 | -------------------------------------------------------------------------------- /sys-apps/asahi-meta/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | Pull in media-libs/mesa with VIDEO_CARDS="asahi" 10 | Pull in media-libs/asahi-audio and its dependencies 11 | 12 | 13 | https://github.com/chadmed/asahi-overlay 14 | 15 | 16 | -------------------------------------------------------------------------------- /virtual/linux-sources/linux-sources-3-r6.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2022 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=7 5 | 6 | DESCRIPTION="Virtual for Linux kernel sources" 7 | SLOT="0" 8 | KEYWORDS="arm64" 9 | 10 | RDEPEND=" 11 | || ( 12 | sys-kernel/gentoo-sources 13 | sys-kernel/vanilla-sources 14 | sys-kernel/git-sources 15 | sys-kernel/mips-sources 16 | sys-kernel/pf-sources 17 | sys-kernel/rt-sources 18 | sys-kernel/zen-sources 19 | sys-kernel/raspberrypi-sources 20 | sys-kernel/gentoo-kernel 21 | sys-kernel/gentoo-kernel-bin 22 | sys-kernel/vanilla-kernel 23 | sys-kernel/asahi-sources 24 | )" 25 | -------------------------------------------------------------------------------- /media-libs/alsa-ucm-conf-asahi/alsa-ucm-conf-asahi-8.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DESCRIPTION="ALSA ucm configuration files for Apple silicon devices" 7 | HOMEPAGE="https://alsa-project.org/wiki/Main_Page" 8 | SRC_URI="https://github.com/AsahiLinux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${PF}.tar.gz" 9 | 10 | S="${WORKDIR}/${PN}-${PV}" 11 | 12 | LICENSE="BSD" 13 | SLOT="0" 14 | KEYWORDS="arm64" 15 | 16 | RDEPEND=">=media-libs/alsa-lib-1.2.1" 17 | DEPEND="${RDEPEND} media-libs/alsa-ucm-conf" 18 | 19 | src_install() { 20 | insinto /usr/share/alsa 21 | doins -r ucm2 22 | } 23 | -------------------------------------------------------------------------------- /sys-apps/asahi-meta/asahi-meta-2-r11.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2023 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DESCRIPTION="Metapackage for the Asahi support packages" 7 | HOMEPAGE="https://asahilinux.org/" 8 | 9 | LICENSE="metapackage" 10 | SLOT=0 11 | KEYWORDS="arm64" 12 | IUSE="kde +mesa sound" 13 | 14 | RDEPEND=" 15 | sys-boot/m1n1 16 | sys-boot/u-boot 17 | sys-apps/asahi-scripts 18 | sys-apps/asahi-configs 19 | sys-firmware/asahi-firmware 20 | media-libs/alsa-ucm-conf-asahi 21 | sound? ( media-libs/asahi-audio ) 22 | mesa? ( 23 | >=media-libs/mesa-24.1.0_pre20240228[video_cards_asahi(-)] 24 | ) 25 | kde? ( kde-plasma/kwin[filecaps] ) 26 | " 27 | -------------------------------------------------------------------------------- /metadata/md5-cache/app-arch/lzfse-1.0: -------------------------------------------------------------------------------- 1 | BDEPEND=dev-build/make >=dev-build/cmake-3.20.5 2 | DEFINED_PHASES=compile configure install prepare test 3 | DESCRIPTION=LZFSE compression utilities 4 | EAPI=8 5 | HOMEPAGE=https://github.com/lzfse/lzfse 6 | INHERIT=cmake 7 | KEYWORDS=arm64 8 | LICENSE=BSD 9 | SLOT=0 10 | SRC_URI=https://github.com/lzfse/lzfse/archive/refs/tags/lzfse-1.0.tar.gz 11 | _eclasses_=toolchain-funcs e56c7649b804f051623c8bc1a1c44084 multilib c19072c3cd7ac5cb21de013f7e9832e0 flag-o-matic 288c54efeb5e2aa70775e39032695ad4 multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 xdg-utils baea6080dd821f5562d715887954c9d3 cmake c7c9a62d6232cac66d4ea32d575c3e7c 12 | _md5_=a18fbf0efbab1676590793f40e17338a 13 | -------------------------------------------------------------------------------- /metadata/news/2023-07-10-Major-changes-to-the-Asahi-repo/2023-07-10-Major-changes-to-the-Asahi-repo.en.txt: -------------------------------------------------------------------------------- 1 | Title: Major changes to the Asahi Gentoo repo 2 | Author: James Calligeros 3 | Posted: 2023-07-10 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | You may notice some rather large changes to some packages and ebuilds 8 | inside this repo. This is in an attempt to improve the integration 9 | of the repo with upstream Portage tools such as equery, and perhaps 10 | even attain "official" status on overlays.g.o. 11 | 12 | All reasonable efforts have been made to ensure that packages still 13 | build and install correctly. If, however, something is broken, pleaase 14 | drop by #asahi-alt on OFTC and ping me (@chadmed). 15 | -------------------------------------------------------------------------------- /sys-apps/asahi-nvram-meta/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | Pull in sys-apps/asahi-bless 10 | Pull in net-misc/asahi-btsync 11 | Enable raw NVRAM reading with sys-apps/asahi-nvram 12 | Pull in net-misc/asahi-wifisync 13 | 14 | 15 | WhatAmISupposedToPutHere/asahi-nvram 16 | 17 | 18 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-apps/asahi-meta-2-r6: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=- 2 | DESCRIPTION=Metapackage for the Asahi support packages 3 | EAPI=8 4 | HOMEPAGE=https://asahilinux.org/ 5 | IUSE=+audio +mesa +sources kernel 6 | KEYWORDS=arm64 7 | LICENSE=metapackage 8 | RDEPEND=sys-boot/m1n1 sys-boot/u-boot sys-apps/asahi-scripts sys-apps/asahi-configs sys-firmware/asahi-firmware kernel? ( sys-kernel/asahi-kernel ) sources? ( sys-kernel/asahi-sources ) media-libs/alsa-ucm-conf-asahi audio? ( media-libs/asahi-audio ) mesa? ( >=media-libs/mesa-24.1.0_pre20240228-r1[video_cards_asahi(-)] kernel? ( >=sys-kernel/asahi-kernel-6.6.0_p15 ) sources? ( >=sys-kernel/asahi-sources-6.6.0_p15 ) ) 9 | REQUIRED_USE=sources? ( !kernel ) kernel? ( !sources ) 10 | SLOT=0 11 | _md5_=7b16baeec9fab980f365b5cfa116dc4a 12 | -------------------------------------------------------------------------------- /sys-devel/x86_64-multilib-toolchain/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | 9 | Symlink executables to usr/bin to be in default 10 | PATH (conflicts with crossdev, and crossdev 11 | is preferable for a fully featured toolchain) 12 | 13 | 14 | 15 | cpe:/a:gnu:gcc 16 | cpe:/a:gnu:binutils 17 | cpe:/a:gnu:glibc 18 | cpe:/o:linux:linux_kernel 19 | 20 | 21 | -------------------------------------------------------------------------------- /metadata/news/2024-04-02-stable-users-you-can-now-remove-global-arm64/2024-04-02-stable-users-you-can-now-remove-global-arm64.en.txt: -------------------------------------------------------------------------------- 1 | Title: Stable users: you can now remove global ~arm64! 2 | Author: James Calligeros 3 | Posted: 2024-04-02 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | Thanks to the efforts of leio and sam, we now have enough stuff stable 8 | in arm64 for the global ~arm64 requirement to be dropped. 9 | 10 | User Action Required: 11 | 1. Accept ~arm64 for media-libs/mesa::asahi, dev-libs/libclc, 12 | and sys-apps/asahi-meta using /etc/portage/package.accept_keywords/ 13 | 2. Drop ACCEPT_KEYWORDS="~arm64" from /etc/portage/make.conf 14 | 2. Sit tight and wait a bit. We will let you know when you can drop 15 | these keyword overrides too! 16 | -------------------------------------------------------------------------------- /metadata/news/2023-12-03-HDMI-out-now-available/2023-12-03-HDMI-out-now-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: HDMI out now available 2 | Author: James Calligeros 3 | Posted: 2023-12-03 4 | Revision: 3 5 | News-Item-Format: 2.0 6 | 7 | HDMI out is now available on MacBooks with a physical HDMI port 8 | (14" and 16" MacBook Pros), as well as on the M2 series Mac mini and Mac Studio! 9 | 10 | Enabling this support is simple: 11 | 1. emerge -auvDN @world 12 | 2. Build and install the new kernel as usual 13 | 3. Run update-m1n1 14 | 4. Reboot 15 | 16 | Your APFS stub must have the 13.5 firmware package or newer for HDMI 17 | out to work. If your installation is older than August this year, please wait until 18 | the Asahi installer is capable of in-place firmware upgrades. This is being 19 | worked on now. 20 | -------------------------------------------------------------------------------- /metadata/news/2025-07-25-mesa-asahi-flatpak-changes/2025-07-25-mesa-asahi-flatpak-changes.en.txt: -------------------------------------------------------------------------------- 1 | Title: media-libs/mesa-asahi-flatpak changes 2 | Author: James Calligeros 3 | Posted: 2025-07-25 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | As of June, the Freedesktop Runtime for Flatpak has shipped with Mesa 25.1. 8 | This negates the need to package a runtime extension, as the Asahi and 9 | Honeykrisp GPU drivers for Apple Silicon are enabled upstream as of this 10 | version. 11 | 12 | As such, the Flatpak runtime extension for version 24.08 will be removed 13 | from your system next time you update it. The extension for 23.08 will 14 | continue to work until 23.08 reaches end of life next month. At that time, 15 | the media-libs/mesa-asahi-flatpak package will be removed entirely. 16 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/asahi-configs-2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 James Calligeros 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | 6 | DESCRIPTION="Asahi Linux configurations" 7 | HOMEPAGE="https://asahilinux.org/" 8 | LICENSE="MIT" 9 | SLOT="0" 10 | KEYWORDS="arm64" 11 | 12 | src_unpack() { 13 | mkdir "${S}" 14 | cp "${FILESDIR}"/* "${S}/" 15 | } 16 | 17 | src_install() { 18 | insinto /etc/xdg/ 19 | newins "${FILESDIR}/kcminput" kcminputrc 20 | newins "${FILESDIR}/baloo" baloofilerc 21 | 22 | insinto /etc/X11/xorg.conf.d/ 23 | newins "${FILESDIR}/xorg-modeset" 30-modesetting.conf 24 | newins "${FILESDIR}/xorg-naturalscroll" 20-natural-scrolling.conf 25 | 26 | exeinto /etc/profile.d/ 27 | newexe "${FILESDIR}/envvars-${PV}" asahi.sh 28 | } 29 | -------------------------------------------------------------------------------- /repositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | asahi 5 | Asahi Linux overlay providing support packages for Apple Silicon devices 6 | https://github.com/chadmed/asahi-overlay 7 | 8 | chadmed 9 | jcalligeros99@gmail.com 10 | 11 | https://github.com/chadmed/asahi-overlay.git 12 | git://github.com/chadmed/asahi-overlay.git 13 | git@github.com:chadmed/asahi-overlay.git 14 | https://github.com/chadmed/asahi-overlay/commits/main.atom 15 | 16 | 17 | -------------------------------------------------------------------------------- /media-libs/asahi-audio/asahi-audio-3.4.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2023 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DESCRIPTION="PipeWire/WirePlumber configuration files for Apple Silicon" 7 | HOMEPAGE="https://github.com/AsahiLinux/asahi-audio" 8 | SRC_URI="https://github.com/AsahiLinux/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz" 9 | LICENSE="MIT" 10 | SLOT="0/2.0" 11 | 12 | KEYWORDS="arm64" 13 | 14 | RDEPEND=" 15 | >=media-video/pipewire-1.0.2[extra,lv2,sound-server] 16 | >=media-video/wireplumber-0.5.2 17 | || ( 18 | >=sys-kernel/asahi-sources-6.6.0_p11:* 19 | >=virtual/dist-kernel-6.6.0_p11:asahi 20 | ) 21 | >=media-libs/alsa-ucm-conf-asahi-7 22 | >=media-libs/lsp-plugins-1.2.6[lv2] 23 | >=media-libs/bankstown-lv2-1.1.0 24 | sys-apps/speakersafetyd 25 | media-libs/triforce-lv2 26 | " 27 | 28 | DEPEND=" 29 | ${RDEPEND} 30 | " 31 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/Manifest: -------------------------------------------------------------------------------- 1 | DIST fex-rootfs-gentoo-20250904-chroot.sqfs 582602752 BLAKE2B 28df6e62a2ca46a000f2f93030026610b7b072814a34a90522ad04e23178281f28b9ddd64855ab980784f322329b3b5a9c6f81af92a8a8d8ea0e74a202fadf9a SHA512 bdf3b5d802177351034621e3c39c4603c3fbf7eaa8dd0501005b6333fee49e85d05c26fbde47acfab9e8c0f42d88714d9f26a4fbc30ab354ca5175945a50919a 2 | DIST fex-rootfs-gentoo-20250904-root.sqfs 601165824 BLAKE2B b5f5b8d24c8a8ef0b7053717e1430d9a49e057f066e64d4cbe30a8dece44f262386d1caccbe1aa63717c5b5e6e37082583a0f1f063760d7af6c6397002e1b71f SHA512 1adb0c90d45cd0aae2612ff2418ab7d7d0331436769a9b8bf39744fa5dc5663f04e7cf04beac7f1bbe049683c010aa07617a7b0dcd2aee01e4649d96a5afe69e 3 | DIST fex-rootfs-gentoo-20250904.tar.gz 6329 BLAKE2B 412594d2cd14896b97c4e5a506d407661f1f1fe848e5bcc9f1f7981c9d4b7a76ab2b0fa3eb5ab5074f50c0196fb24b183f3412adbac277fb8950b0042c2058e7 SHA512 1576df322c773d5e1c02cb0f4201540d5f93426903dc437db76c228f2dac045bf88bd8b4b928c30e9cd11d98366fd707f147483c2c0740434fd6fc6c40b0aaa3 4 | -------------------------------------------------------------------------------- /metadata/md5-cache/media-libs/asahi-audio-1.8: -------------------------------------------------------------------------------- 1 | DEFINED_PHASES=- 2 | DEPEND=!!media-libs/asahi-audio:0 >=media-video/pipewire-0.3.85[extra,lv2,sound-server] media-video/wireplumber:0/0.4 || ( >=sys-kernel/asahi-sources-6.6.0_p11 >=sys-kernel/asahi-kernel-6.6.0_p11 ) >=media-libs/alsa-ucm-conf-asahi-5.0 >=media-libs/lsp-plugins-1.2.6[lv2] >=media-libs/bankstown-lv2-1.0.3 sys-apps/speakersafetyd 3 | DESCRIPTION=PipeWire/WirePlumber configuration files for Apple Silicon 4 | EAPI=8 5 | HOMEPAGE=https://github.com/AsahiLinux/asahi-audio 6 | KEYWORDS=arm64 7 | LICENSE=MIT 8 | RDEPEND=>=media-video/pipewire-0.3.85[extra,lv2,sound-server] media-video/wireplumber:0/0.4 || ( >=sys-kernel/asahi-sources-6.6.0_p11 >=sys-kernel/asahi-kernel-6.6.0_p11 ) >=media-libs/alsa-ucm-conf-asahi-5.0 >=media-libs/lsp-plugins-1.2.6[lv2] >=media-libs/bankstown-lv2-1.0.3 sys-apps/speakersafetyd 9 | SLOT=1.0 10 | SRC_URI=https://github.com/AsahiLinux/asahi-audio/archive/refs/tags/v1.8.tar.gz -> asahi-audio-1.8.tar.gz 11 | _md5_=79563f638c3bbac2c03291c6c8ffa844 12 | -------------------------------------------------------------------------------- /metadata/news/2024-04-01-action-required-asahi-audio-now-slotted/2024-04-01-action-required-asahi-audio-now-slotted.en.txt: -------------------------------------------------------------------------------- 1 | Title: ACTION REQUIRED: asahi-audio is now SLOTted 2 | Author: James Calligeros 3 | Posted: 2024-04-01 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | The media-libs/asahi-audio package has been slotted in preparation for 8 | WirePlumber 0.5 to be released for ~arm64. As we had to make a breaking change 9 | in asahi-audio to accommodate the API change for WirePlumber 0.5, development 10 | has diverged into two branches. To reflect this in Gentoo, we have SLOTted 11 | the two branches. If you try to update, you will notice a hard blocker between 12 | media-libs/asahi-audio:0 and media-libs/asahi-audio:1.0. 13 | 14 | User Action Required: 15 | 1. emerge -C media-libs/asahi-audio:0 16 | 2. emerge -1av media-libs/asahi-audio:1.0 17 | 18 | As the installed file trees are identical between the old :0 SLOT and :1.0, 19 | :0 must be manually removed *before* :1.0 can be merged. 20 | -------------------------------------------------------------------------------- /sys-devel/x86_64-multilib-toolchain/files/gcc-13-fix-cross-fixincludes.patch: -------------------------------------------------------------------------------- 1 | Revert of https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=59e4c98173a79fcaa2c33253261409f38856c384 2 | for now to fix cross fixincludes builds. 3 | 4 | https://gcc.gnu.org/PR115416 5 | https://bugs.gentoo.org/905118 6 | https://bugs.gentoo.org/925204 7 | https://bugs.gentoo.org/926059 8 | --- a/gcc/gcc/Makefile.in 9 | +++ b/gcc/gcc/Makefile.in 10 | @@ -532,11 +532,7 @@ LINKER_PLUGIN_API_H = $(srcdir)/../include/plugin-api.h 11 | # Default native SYSTEM_HEADER_DIR, to be overridden by targets. 12 | NATIVE_SYSTEM_HEADER_DIR = @NATIVE_SYSTEM_HEADER_DIR@ 13 | # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. 14 | -ifeq (@includedir@,$(prefix)/include) 15 | - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ 16 | -else 17 | - CROSS_SYSTEM_HEADER_DIR = @includedir@ 18 | -endif 19 | +CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ 20 | 21 | # autoconf sets SYSTEM_HEADER_DIR to one of the above. 22 | # Purge it of unnecessary internal relative paths 23 | -------------------------------------------------------------------------------- /metadata/news/2025-05-10-mesa-now-upstream/2025-05-10-mesa-now-upstream.en.txt: -------------------------------------------------------------------------------- 1 | Title: Upstream Mesa now supports Apple Silicon 2 | Author: James Calligeros 3 | Posted: 2025-05-10 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | Now that the Asahi UAPI has been merged into the upstream kernel, 8 | the Asahi and Honeykrisp OpenGL and Vulkan drivers are now enabled 9 | in upstream Mesa as of 25.1.0. 10 | 11 | As Honeykrisp is still a rather immature driver, we will continue 12 | packaging our forked version to roll out important fixes faster 13 | than the upstream Mesa release cadence can allow. However, it is 14 | strongly advised that you unmask media-libs/mesa::gentoo to ensure 15 | you always have the latest and greatest version, no matter where 16 | it's coming from. 17 | 18 | If you used the asahi-gentoosupport scripts to install, you can 19 | unmask media-libs/mesa::gentoo by deleting the relevant line 20 | in /etc/portage/package.mask/asahi. Once media-libs/mesa-25.1* 21 | is unmasked in ::gentoo Portage will automatically offer it 22 | to you, superseding the version currently packaged in the overlay. 23 | -------------------------------------------------------------------------------- /metadata/news/2024-02-11-asahi-kernel-is-now-available/2024-02-11-asahi-kernel-is-now-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: asahi-kernel is now available 2 | Author: James Calligeros 3 | Posted: 2024-02-11 4 | Revision: 2 5 | News-Item-Format: 2.0 6 | 7 | The asahi-kernel dist-kernel is now available for use in unstable. 8 | It uses the config from the upstream ALARM PKGBUILD, which should cover 9 | virtually all use cases in terms of hardware features. Eventually, we 10 | will need to move to the Fedora config, but there's still work to be 11 | done before that can be viable. 12 | 13 | This is the final piece of the puzzle for creating completely vanilla 14 | boot media. Of course, the overlay will still be required for a properly 15 | useable system for quite some time. This merely enables us to offer 16 | LiveCDs bootable on Apple Silicon Macs as well as packaged stage4s for 17 | integration into the Asahi Installer. 18 | 19 | If you wish to use the dist-kernel now, please follow these steps: 20 | 1. Mask off virtual/dist-kernel::gentoo 21 | 2. emerge --deselect sys-kernel/asahi-sources 22 | 3. emerge -av asahi-kernel 23 | 4. Regenerate your GRUB config 24 | 5. emerge -c 25 | 26 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/files/asahi-scripts-macsmc-battery.openrc: -------------------------------------------------------------------------------- 1 | #!/sbin/openrc-run 2 | # Save and restore the SMC's charge end threshold 3 | 4 | extra_commands="save restore" 5 | 6 | depend() { 7 | need udev 8 | } 9 | 10 | has_battery() { 11 | if [ ! -e /sys/class/power_supply/macsmc-battery ]; then 12 | eerror "macsmc-battery was not found!" 13 | return 2 14 | fi 15 | 16 | return 0 17 | } 18 | 19 | restore() { 20 | ebegin "Restoring macsmc-battery saved charge end threshold" 21 | 22 | has_battery || return $? 23 | 24 | if [ ! -e /etc/udev/macsmc-battery.conf ]; then 25 | ewarn "No saved charge end threshold found! Saving current value..." 26 | save 27 | return $? 28 | fi 29 | 30 | sed -e 's/CHARGE_CONTROL_END_THRESHOLD=//' /etc/udev/macsmc-battery.conf > /sys/class/power_supply/macsmc-battery/charge_control_end_threshold 31 | return 0 32 | } 33 | 34 | save() { 35 | ebegin "Saving current macsmc-battery charge end threshold" 36 | 37 | has_battery || return $? 38 | 39 | sed -e 's/^/CHARGE_CONTROL_END_THRESHOLD=/' /sys/class/power_supply/macsmc-battery/charge_control_end_threshold > /etc/udev/macsmc-battery.conf 40 | return 0 41 | } 42 | 43 | start() { 44 | restore 45 | eend $? 46 | } 47 | 48 | stop() { 49 | save 50 | eend $? 51 | } 52 | -------------------------------------------------------------------------------- /metadata/news/2024-01-04-krunvm-support-has-been-removed/2024-01-04-krunvm-support-has-been-removed.en.txt: -------------------------------------------------------------------------------- 1 | Title: krunvm support has been removed 2 | Author: James Calligeros 3 | Posted: 2024-01-04 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | We have unfortunately had to remove support for krunvm/libkrun. This is due to 8 | the fact that many of the pieces required to make this work for the Asahi use 9 | case are actually hidden in private branches and repos, which are manually 10 | packaged into tarballs for the Fedora build infrastructure to pick up, rather 11 | than the usual paradigm of specifying a public repository of sources in the RPM 12 | spec file. 13 | 14 | If you have installed krunvm, please uninstall it by following these steps: 15 | 16 | 1. $ buildah unshare 17 | 2. $ krunvm delete [asahi vm name] 18 | 3. $ exit 19 | 4. # emerge -c app-containers/krunvm 20 | 21 | If you added libkrunfw, libkrun or virglrenderer to @world, remember to deselect 22 | and depclean them too. 23 | 24 | Until the branches used for the Fedora COPR are made public, we cannot support 25 | krunvm in Gentoo for the Asahi use case. It is possible that the upstream 26 | versions will land in ::gentoo soon if you are interested in using krunvm 27 | for other things. 28 | -------------------------------------------------------------------------------- /metadata/news/2024-01-31-Upstreaming-efforts-have-begun/2024-01-31-Upstreaming-efforts-have-begun.en.txt: -------------------------------------------------------------------------------- 1 | Title: Upstreaming efforts have begun! 2 | Author: James Calligeros 3 | Posted: 2024-01-31 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | Good news everyone! Upstreaming efforts have now begun in earnest! Starting 8 | with easy packages like tiny-dfr and the asahi-nvram suite, we hope to get even more 9 | packages out of this overlay and into ::gentoo in the coming months. The 10 | current focus is to get Apple Silicon-friendly install media up and running. 11 | This will take the form of a Gentoo-flavoured Asahi Installer, as well as a 12 | bootable LiveCD image for more adventurous users. 13 | 14 | User Action Required: 15 | The asahi-nvram-meta package has been deprecated as it was deemed to be 16 | superfluous and unable to be upstreamed. Please add the set of 17 | asahi-nvram packages you use to @world. The asahi-nvram-meta package 18 | will be dropped from the overlay on or after February 9, 2024. 19 | 20 | We have also set up an Official(tm) Gentoo project to better facilitate 21 | integration efforts and provide representation on official Gentoo infrastructure. 22 | More information is available at https://wiki.gentoo.org/wiki/Project:Asahi​. 23 | -------------------------------------------------------------------------------- /metadata/news/2023-11-25-Limited-speaker-support-now-available/2023-11-25-Limited-speaker-support-now-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: Limited speaker support now available 2 | Author: James Calligeros 3 | Posted: 2023-11-25 4 | Revision: 3 5 | News-Item-Format: 2.0 6 | 7 | It's finally here! Speaker support has started rolling out, beginning 8 | with the 13" M1 MacBook Air. More machines are coming soon. 9 | 10 | Enabling/preparing for speaker support is quite simple: 11 | 1. Update your @world set, kernel and m1n1. 12 | 2. Emerge asahi-audio, which will pull in speakersafetyd 13 | 3. Enable speakersafetyd (standard OpenRC/systemd methods apply here) 14 | 4. Reboot 15 | 16 | This only has to be done once. Any enabling of future machines will be 17 | handled with a simple update of the asahi-audio and speakersafetyd packages. 18 | 19 | Both asahi-audio and speakersafetyd are gated behind ~arm64 as they depend 20 | on upstream packages which are also ~arm64. 21 | 22 | Note that asahi-audio depends on Pipewire and Wireplumber. If you are 23 | not using Pipewire for audio, emerge speakersafetyd directly instead. Understand that 24 | this setup will result in extremely low sound quality and is entirely unsupported. 25 | You will not be given assistance unless you are using the DSP graphs through 26 | Pipewire/Wireplumber. 27 | 28 | -------------------------------------------------------------------------------- /metadata/news/2024-04-30-wireplumber-upgraded-to-0.5/2024-04-30-wireplumber-upgraded-to-0.5.en.txt: -------------------------------------------------------------------------------- 1 | Title: IMPORTANT: media-video/wireplumber has been upgraded to 0.5.2 2 | Author: James Calligeros 3 | Posted: 2024-04-30 4 | Revision: 1 5 | News-Item-Format: 2.0 6 | 7 | As some will be aware, WirePlumber 0.5.0 introduced a significant breaking change 8 | to its entire configuration system, eliminating the use of Lua scripts for 9 | basic config-like actions. This also came with a complete rework of how Lua scripts 10 | are registered with WirePlumber for execution. 11 | 12 | ANY CUSTOM FUNCTIONALITY WHICH RELIES ON WIREPLUMBER'S LUA API WILL BREAK ON UPGRADE 13 | 14 | If you rely on this functionality, please review the WirePlumber documentation on 15 | porting your Lua scripts to the new API and registering them with the system: 16 | 17 | https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html 18 | 19 | Most typical desktop users, including EasyEffects users, should experience no regressions 20 | as a result of this. If for any reason you do, or if you encounter a dependency conflict 21 | when upgrading your system, please open an issue on the overlay: 22 | 23 | https://github.com/chadmed/asahi-overlay/issues 24 | 25 | We are deploying this to ::asahi as a canary for wider deployment to ::gentoo simply 26 | because media-libs/asahi-audio-2.1 relies on the WirePlumber 0.5.x API. 27 | -------------------------------------------------------------------------------- /sys-firmware/asahi-firmware/asahi-firmware-0.7.9-r1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | DISTUTILS_USE_PEP517=setuptools 7 | PYTHON_COMPAT=( python3_{10..14} ) 8 | 9 | inherit distutils-r1 10 | 11 | _name=asahi-installer 12 | 13 | DESCRIPTION="Asahi FW extraction script" 14 | HOMEPAGE="https://asahilinux.org" 15 | SRC_URI="https://github.com/AsahiLinux/${_name}/archive/refs/tags/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz" 16 | S="${WORKDIR}/${_name}-${PV}" 17 | LICENSE="MIT" 18 | SLOT="0" 19 | KEYWORDS="arm64" 20 | 21 | DEPEND=">=sys-apps/asahi-scripts-20230606" 22 | RDEPEND="${DEPEND} 23 | app-arch/lzfse 24 | sys-kernel/linux-firmware 25 | " 26 | 27 | src_install() { 28 | distutils-r1_src_install 29 | keepdir /lib/firmware/vendor/ 30 | } 31 | 32 | pkg_postinst() { 33 | elog "Asahi vendor firmware update script" 34 | elog "Please run 'asahi-fwupdate' after each update of this package." 35 | 36 | if [ -e ${ROOT}/bin/update-vendor-fw -o -e ${ROOT}/etc/local.d/apple-firmware.start ]; then 37 | ewarn "Please remember to remove '/{s}bin/update-vendor-fw' and" 38 | ewarn "'/etc/local.d/apple-firmware.start'" 39 | fi 40 | 41 | if [ -e ${ROOT}/etc/local.d/asahi-firmware.start ]; then 42 | ewarn "Please remove /etc/local.d/asahi-firmware.start as it is" 43 | ewarn "obsolete and no longer required." 44 | fi 45 | 46 | if [ -e ${ROOT}/sbin/update-vendor-firmware ]; then 47 | ewarn "Please remove /sbin/update-vendor-firmware" 48 | fi 49 | } 50 | -------------------------------------------------------------------------------- /profiles/package.mask: -------------------------------------------------------------------------------- 1 | # Mask all asahi-overlay media-libs/virglrenderer versions. virglrenderer 1.2.0 2 | # fully supports asahi so the gentoo media-libs/virglrenderer-1.2.0 or later 3 | # ebuild can be used. 4 | # Install media-libs/virglrenderer from the gentoo repository. 5 | =media-libs/virglrenderer-1.1.1_p20250806 6 | =media-libs/virglrenderer-1.1.1_p202504240 7 | =media-libs/virglrenderer-1.1.1_p202508060 8 | 9 | # media-libs/mesa-asahi-flatpak is no longer necessary as the supported flatpak 10 | # FDO runtimes (24.08 and 25.08) include mesa-25.2 with full asahi support. 11 | # Please uninstall media-libs/mesa-asahi-flatpak. 12 | =media-libs/mesa-asahi-flatpak-25.1.0_pre20250425-r1 13 | 14 | # media-libs/mesa-25.1.9 and media-libs/mesa-25.2.0 in gentoo have full asahi 15 | # GPU support. The stable media-libs/mesa-25.1.7 (as of writing this) only 16 | # misses virtgpu support. 17 | # Install media-libs/mesa from the gentoo repository. 18 | =media-libs/mesa-25.1.0-r100 19 | 20 | # app-emulation/fex-rootfs-mesa-asahi-20250425 is incompatible with the 21 | # upstream asahi virtgpu DRM native context protocol. 22 | # Update app-emulation/fex-rootfs-gentoo to 20250904 or later and uninstall 23 | # app-emulation/fex-rootfs-mesa-asahi. 24 | =app-emulation/fex-rootfs-gentoo-20250425 25 | =app-emulation/fex-rootfs-mesa-asahi-20250425 26 | 27 | # James Calligeros (2025-12-10) 28 | # No longer required since FEX is now unconditionally built with clang/LLVM. 29 | # Will be removed 2026-01-01. 30 | sys-devel/x86_64-multilib-toolchain 31 | -------------------------------------------------------------------------------- /sys-boot/m1n1/m1n1-1.5.0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 James Calligeros 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="7" 5 | 6 | DESCRIPTION="Apple Silicon bootloader and experimentation playground" 7 | HOMEPAGE="https://asahilinux.org/" 8 | SRC_URI="https://github.com/AsahiLinux/m1n1/archive/refs/tags/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz" 9 | LICENSE="MIT" 10 | SLOT="0" 11 | KEYWORDS="arm64" 12 | IUSE="clang" 13 | 14 | BDEPEND="dev-build/make" 15 | 16 | RDEPEND=" 17 | sys-boot/u-boot 18 | || ( 19 | sys-kernel/asahi-sources 20 | virtual/dist-kernel:asahi 21 | ) 22 | " 23 | 24 | BDEPEND="${BDEPEND} 25 | clang? ( llvm-core/clang ) 26 | " 27 | 28 | src_compile() { 29 | cd "${S}" || die 30 | if use clang; then 31 | emake USE_CLANG=1 \ 32 | RELEASE=1 \ 33 | ARCH="${CHOST}" 34 | else 35 | emake USE_CLANG=0 \ 36 | RELEASE=1 \ 37 | ARCH="${CHOST}-" 38 | fi 39 | } 40 | 41 | src_install() { 42 | dodir /usr/lib/asahi-boot 43 | cp "${S}"/build/m1n1.bin "${ED}"/usr/lib/asahi-boot/m1n1.bin || die 44 | } 45 | 46 | pkg_postinst() { 47 | elog "m1n1 has been installed at /usr/lib/asahi-boot/m1n1.bin" 48 | elog "You must run update-m1n1 for the new version to be installed" 49 | elog "in the ESP." 50 | elog "Please see the Asahi Linux Wiki for more information." 51 | } 52 | 53 | pkg_postrm() { 54 | elog "m1n1 has been removed from /usr/lib/asahi-boot/ but has not" 55 | elog "been removed from the ESP. You need to do this manually, though" 56 | elog "you really shouldn't." 57 | } 58 | -------------------------------------------------------------------------------- /sys-boot/m1n1/m1n1-1.5.2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022 James Calligeros 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="7" 5 | 6 | DESCRIPTION="Apple Silicon bootloader and experimentation playground" 7 | HOMEPAGE="https://asahilinux.org/" 8 | SRC_URI="https://github.com/AsahiLinux/m1n1/archive/refs/tags/v${PV}.tar.gz -> ${PN}-${PV}.tar.gz" 9 | LICENSE="MIT" 10 | SLOT="0" 11 | KEYWORDS="~arm64" 12 | IUSE="clang" 13 | 14 | BDEPEND="dev-build/make" 15 | 16 | RDEPEND=" 17 | sys-boot/u-boot 18 | || ( 19 | sys-kernel/asahi-sources 20 | virtual/dist-kernel:asahi 21 | ) 22 | " 23 | 24 | BDEPEND="${BDEPEND} 25 | clang? ( llvm-core/clang ) 26 | " 27 | 28 | src_compile() { 29 | cd "${S}" || die 30 | if use clang; then 31 | emake USE_CLANG=1 \ 32 | RELEASE=1 \ 33 | ARCH="${CHOST}" 34 | else 35 | emake USE_CLANG=0 \ 36 | RELEASE=1 \ 37 | ARCH="${CHOST}-" 38 | fi 39 | } 40 | 41 | src_install() { 42 | dodir /usr/lib/asahi-boot 43 | cp "${S}"/build/m1n1.bin "${ED}"/usr/lib/asahi-boot/m1n1.bin || die 44 | } 45 | 46 | pkg_postinst() { 47 | elog "m1n1 has been installed at /usr/lib/asahi-boot/m1n1.bin" 48 | elog "You must run update-m1n1 for the new version to be installed" 49 | elog "in the ESP." 50 | elog "Please see the Asahi Linux Wiki for more information." 51 | } 52 | 53 | pkg_postrm() { 54 | elog "m1n1 has been removed from /usr/lib/asahi-boot/ but has not" 55 | elog "been removed from the ESP. You need to do this manually, though" 56 | elog "you really shouldn't." 57 | } 58 | -------------------------------------------------------------------------------- /media-libs/widevine-installer/widevine-installer-0.2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2023 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | MY_HASH="eab8c668ad3f9db27a444ee1f94b82d8f3ab5336" 7 | 8 | DESCRIPTION="Widevine installer for AArch64 systems" 9 | HOMEPAGE="https://asahilinux.org/" 10 | 11 | SRC_URI="https://github.com/AsahiLinux/widevine-installer/archive/${MY_HASH}.tar.gz -> ${PN}-${PV}.tar.gz" 12 | 13 | LICENSE="MIT" 14 | SLOT=0 15 | 16 | KEYWORDS="arm64" 17 | 18 | # Widevine only works with glibc 2.36 or above 19 | RDEPEND=" 20 | >=sys-libs/glibc-2.36 21 | sys-fs/squashfs-tools[zstd] 22 | " 23 | 24 | PATCHES="${FILESDIR}/disable-configs.patch" 25 | 26 | src_unpack() { 27 | default 28 | mv "${PN}-${MY_HASH}" "${PN}-${PV}" 29 | } 30 | 31 | src_install() { 32 | dodir /opt/widevine-installer/ 33 | 34 | keepdir /opt/widevine/WidevineCdm/ 35 | insinto /usr/"$(get_libdir)"/chromium-browser/ 36 | dosym -r /opt/widevine/WidevineCdm/ /usr/lib64/chromium-browser/WidevineCdm 37 | 38 | insinto /etc/profile.d/ 39 | doins "${S}"/conf/gmpwidevine.sh 40 | 41 | insinto /usr/"$(get_libdir)"/firefox/defaults/pref/ 42 | doins "${S}"/conf/gmpwidevine.js 43 | 44 | insinto /usr/libexec/widevine-installer/ 45 | doins "${S}"/widevine_fixup.py 46 | 47 | exeinto /opt/widevine-installer/ 48 | doexe "${S}"/widevine-installer 49 | 50 | dosym -r /opt/widevine-installer/widevine-installer /opt/bin/widevine-installer 51 | } 52 | 53 | pkg_postinst() { 54 | ewarn "Widevine has NOT been installed. You need to run /opt/bin/widevine-installer." 55 | } 56 | -------------------------------------------------------------------------------- /metadata/news/2023-10-09-Webcam-now-available/2023-10-09-Webcam-now-available.en.txt: -------------------------------------------------------------------------------- 1 | Title: Webcam now available on Asahi 2 | Author: James Calligeros 3 | Posted: 2023-10-9 4 | Revision: 3 5 | News-Item-Format: 2.0 6 | 7 | Webcam support has finally been merged into the Asahi kernel! All users of 8 | machines equipped with a webcam can begin enjoying this functionality by upgrading 9 | to asahi-sources-6.5.0_p11. 10 | 11 | Requirements: 12 | - asahi-sources-6.5.0_p11 or later 13 | - asahi-firmware-0.6.8 or later 14 | 15 | If you installed Asahi on 21 August 2023 or later, simply update @world run 16 | asahi-fwupdate as root, then reboot. No further action is necessary. 17 | 18 | If your install predates 21 August 2023, some additional work will be required 19 | for you to get the maximum possible quality out of your webcam. To retrieve the calibration 20 | blobs for your machine, please follow these steps after updating your @world set: 21 | 22 | 1. Boot into macOS 23 | 2. Mount your ESP to /Volumes/EFI 24 | 3. cp /usr/sbin/appleh13camerad /Volumes/EFI/ 25 | 4. Reboot into Linux and mount the ESP to /boot/efi/ 26 | 5. mkdir /tmp/firmware 27 | 6. cd /tmp/firmware 28 | 7. mv /boot/efi/appleh13camerad . 29 | 8. sudo tar xzf /boot/efi/asahi/all_firmware.tar.gz 30 | 9. sudo tar czf /boot/efi/asahi/all_firmware.tar.gz . 31 | 10. sudo asahi-fwupdate 32 | 11. Reboot for the firmware loading script to pick up the changes 33 | 34 | You should now be able to enjoy your webcam at full quality. Note that your webcam will still work 35 | even without completing these steps, however it will produce a much lower quality image. 36 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/libkrunfw-5.0.0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | PYTHON_COMPAT=( python3_{11..14} ) 7 | 8 | inherit python-any-r1 toolchain-funcs 9 | 10 | DESCRIPTION="A dynamic library bundling the guest payload consumed by libkrun" 11 | HOMEPAGE="https://github.com/containers/libkrunfw" 12 | 13 | KERNEL_VERSION=linux-6.12.44 14 | 15 | SRC_URI=" 16 | https://cdn.kernel.org/pub/linux/kernel/v6.x/${KERNEL_VERSION}.tar.xz 17 | https://github.com/containers/libkrunfw/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz 18 | " 19 | 20 | LICENSE="GPL-2 LGPL-2.1" 21 | SLOT="0" 22 | KEYWORDS="-* ~amd64 ~arm64" 23 | 24 | BDEPEND=" 25 | app-alternatives/bc 26 | app-alternatives/cpio 27 | dev-build/make 28 | dev-lang/perl 29 | $(python_gen_any_dep ' 30 | dev-python/pyelftools[${PYTHON_USEDEP}] 31 | ') 32 | sys-devel/bison 33 | sys-devel/flex 34 | >=sys-libs/ncurses-5.2 35 | virtual/libelf 36 | virtual/pkgconfig 37 | " 38 | 39 | PATCHES=" 40 | ${FILESDIR}/${PN}-4.5.1-do-not-strip.patch 41 | " 42 | 43 | python_check_deps() { 44 | python_has_version "dev-python/pyelftools[${PYTHON_USEDEP}]" 45 | } 46 | 47 | src_unpack() { 48 | unpack "${P}.tar.gz" 49 | } 50 | 51 | src_compile() { 52 | unset ARCH 53 | emake PREFIX=/usr KERNEL_TARBALL="${DISTDIR}/${KERNEL_VERSION}.tar.xz" $(tc-is-clang && echo LLVM=1) 54 | } 55 | 56 | src_install() { 57 | emake DESTDIR="${D}" PREFIX=/usr install 58 | # libkrun still expects libkrunfw.so.4 for some reason, but there 59 | # is no API or ABI here to worry about 60 | dosym -r /usr/lib64/libkrunfw.so.5 /usr/lib64/libkrunfw.so.4 61 | } 62 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Asahi Linux Gentoo Overlay 2 | 3 | An overlay for Gentoo providing packages to better support Apple Silicon 4 | devices. 5 | 6 | ## Installation 7 | If you used [asahi-gentoosupport](https://github.com/chadmed/asahi-gentoosupport), you should not need to 8 | do anything. That script sets up this repo automatically. For all other users: 9 | 10 | 1. Go clone asahi-gentoosupport 11 | 2. Copy `resources/package.mask` and `resources/package.use` to their homes in 12 | `/etc/portage/` (note: the `package.*` nodes in `/etc/portage/` should be folders) 13 | 3. Install `app-eselect/eselect-repository` 14 | 4. Run `eselect repository enable asahi` 15 | 5. Run `emaint sync -r asahi` 16 | 17 | Enjoy! 18 | 19 | If you intend to use a DE/WM with your system, please make sure to edit 20 | `package.use` according to the instructions contained therein. 21 | 22 | ## Usage 23 | No manual intervention is required to use this repo correctly as it 24 | takes precedence over the Gentoo overlay. You can override this 25 | behaviour and install a vanilla version of a package by appending 26 | `::gentoo` to the package atom. 27 | 28 | ### Installing software 29 | * To install our version of Mesa, you would run: 30 | ```shell 31 | emerge -av mesa 32 | ``` 33 | 34 | * To use the default Gentoo ebuild for Mesa instead, you would run: 35 | ```shell 36 | emerge -av media-libs/mesa::gentoo 37 | ``` 38 | 39 | ### Updating software 40 | In most cases, updating software involves nothing more than synchronising 41 | the repo and updating the world set as you would on any other machine. 42 | 43 | After updating m1n1, U-Boot or the kernel, it is important to run `update-m1n1` 44 | as root to ensure that m1n1, U-Boot and the DTBs are installed to the ESP. 45 | -------------------------------------------------------------------------------- /games-util/steam/steam-0.0.2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | inherit desktop xdg 7 | 8 | STEAMVER="1.0.0.81" 9 | ARM64_WRAPPER_COMMIT="111e86cd84f8d04a51a2d5237a35c377543176af" 10 | 11 | DESCRIPTION="Steam launcher bundled with AArch64/ARM64 wrapper for Asahi Linux systems" 12 | HOMEPAGE=" 13 | https://steampowered.com/ 14 | https://github.com/chadmed/steam-aarch64 15 | " 16 | 17 | SRC_URI=" 18 | https://repo.steampowered.com/steam/archive/stable/steam_${STEAMVER}.tar.gz 19 | https://github.com/chadmed/steam-aarch64/archive/${ARM64_WRAPPER_COMMIT}.tar.gz -> ${PN}-aarch64-${ARM64_WRAPPER_COMMIT}.tar.gz 20 | " 21 | 22 | S="${WORKDIR}" 23 | 24 | LICENSE="GPL-2+ ValveSteamLicense MIT" 25 | SLOT="0" 26 | 27 | KEYWORDS="-* ~arm64" 28 | 29 | RDEPEND=" 30 | app-emulation/FEX 31 | app-emulation/muvm 32 | || ( 33 | gnome-extra/zenity 34 | kde-apps/kdialog 35 | ) 36 | " 37 | 38 | src_configure() { 39 | true 40 | } 41 | src_compile() { 42 | true 43 | } 44 | 45 | src_install() { 46 | cd "${WORKDIR}/steam-launcher" || die 47 | emake DESTDIR="${D}" \ 48 | install-bin \ 49 | install-docs \ 50 | install-icons \ 51 | install-bootstrap \ 52 | install-desktop \ 53 | install-appdata 54 | 55 | # Install the wrapper manually 56 | cd "${WORKDIR}/steam-aarch64-${ARM64_WRAPPER_COMMIT}" || die 57 | dobin {steam-aarch64,steam-muvm} 58 | newmenu steam-aarch64.desktop steam.desktop 59 | } 60 | 61 | pkg_postinst() { 62 | xdg_pkg_postinst 63 | einfo "Steam has been installed. To launch steam, use the desktop entry or" 64 | einfo "run /usr/bin/steam-aarch64 from the terminal." 65 | } 66 | 67 | pkg_postrm() { 68 | xdg_pkg_postrm 69 | } 70 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-firmware/asahi-firmware-0.6.25-r1: -------------------------------------------------------------------------------- 1 | BDEPEND=python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) >=dev-python/gpep517-15[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] >=dev-python/setuptools-67.8.0-r1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?] 2 | DEFINED_PHASES=compile configure install postinst prepare test 3 | DEPEND=>=sys-apps/asahi-scripts-20230606 4 | DESCRIPTION=Asahi FW extraction script 5 | EAPI=8 6 | HOMEPAGE=https://asahilinux.org 7 | INHERIT=distutils-r1 8 | IUSE=python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 9 | KEYWORDS=arm64 10 | LICENSE=MIT 11 | RDEPEND=>=sys-apps/asahi-scripts-20230606 app-arch/lzfse sys-kernel/linux-firmware python_targets_python3_10? ( dev-lang/python:3.10 ) python_targets_python3_11? ( dev-lang/python:3.11 ) python_targets_python3_12? ( dev-lang/python:3.12 ) 12 | REQUIRED_USE=|| ( python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 ) 13 | SLOT=0 14 | SRC_URI=https://github.com/AsahiLinux/asahi-installer/archive/refs/tags/v0.6.25.tar.gz -> asahi-firmware-0.6.25.tar.gz 15 | _eclasses_=toolchain-funcs e56c7649b804f051623c8bc1a1c44084 multilib c19072c3cd7ac5cb21de013f7e9832e0 flag-o-matic 288c54efeb5e2aa70775e39032695ad4 out-of-source-utils 1a9007554652a6e627edbccb3c25a439 multibuild d67e78a235f541871c7dfe4cf7931489 multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe ninja-utils 2df4e452cea39a9ec8fb543ce059f8d6 python-utils-r1 8904b60325f22500b0c3ad4b68a42448 python-r1 8a28fa6d3e3bc96ff8a7eff2badbe71f distutils-r1 8262de2e5a28df8624b96e031d8d0f2b 16 | _md5_=573f2de55cd54b0e4c8a4bd5944da631 17 | -------------------------------------------------------------------------------- /sys-boot/u-boot/u-boot-2025.07_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | PYTHON_COMPAT=( python3_{10..14} ) 6 | 7 | # $PV is expected to be of following form: 2023.07_p2 8 | MY_TAG="$(ver_cut 4)" 9 | MY_P="asahi-v$(ver_cut 1-2)-${MY_TAG}" 10 | 11 | DESCRIPTION="Asahi Linux fork of Das U-Boot" 12 | HOMEPAGE="https://asahilinux.org/" 13 | SRC_URI="https://github.com/AsahiLinux/u-boot/archive/refs/tags/${MY_P}.tar.gz -> ${PN}-${PV}.tar.gz" 14 | LICENSE="GPL-2" 15 | SLOT="0" 16 | 17 | KEYWORDS="~arm64" 18 | 19 | PATCHES=( 20 | ) 21 | 22 | BDEPEND=" 23 | app-arch/cpio 24 | dev-lang/perl 25 | sys-devel/bc 26 | sys-devel/bison 27 | sys-devel/flex 28 | dev-build/make 29 | >=sys-libs/ncurses-5.2 30 | virtual/libelf 31 | virtual/pkgconfig 32 | sys-apps/dtc 33 | dev-vcs/git" 34 | 35 | RDEPEND="${BDEPEND} 36 | sys-apps/asahi-scripts" 37 | 38 | src_unpack() { 39 | unpack ${PN}-${PV}.tar.gz 40 | mv u-boot-${MY_P} ${PN}-${PV} 41 | } 42 | 43 | src_configure() { 44 | emake apple_m1_defconfig 45 | } 46 | 47 | src_compile() { 48 | cd "${S}" || die 49 | emake 50 | } 51 | 52 | src_install() { 53 | dodir /usr/lib/asahi-boot 54 | cp "${S}"/u-boot-nodtb.bin "${ED}"/usr/lib/asahi-boot/u-boot-nodtb.bin || die 55 | } 56 | 57 | pkg_postinst() { 58 | elog "U-Boot has been installed to /usr/lib/asahi-boot/u-boot-nodtb.bin." 59 | elog "You must run update-m1n1 for the new version to be installed" 60 | elog "in the ESP." 61 | elog "Please see the Asahi Linux Wiki for more information." 62 | } 63 | 64 | pkg_postrm() { 65 | elog "U-Boot has been removed from /usr/lib/asahi-boot/ but has not" 66 | elog "been removed from the ESP. You need to do this manually, though" 67 | elog "you really shouldn't." 68 | } 69 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/asahi-sources-6.17.11_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2023-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | ETYPE="sources" 6 | 7 | CKV="$(ver_cut 1-3)" 8 | K_SECURITY_UNSUPPORTED="1" 9 | K_WANT_GENPATCHES="base extras" 10 | K_GENPATCHES_VER="14" 11 | K_NODRYRUN="1" 12 | 13 | RUST_MIN_VER="1.85.0" 14 | RUST_REQ_USE='rust-src,rustfmt' 15 | 16 | inherit kernel-2 rust 17 | detect_version 18 | detect_arch 19 | 20 | if [[ ${PV} != ${PV/_rc} ]] ; then 21 | # $PV is expected to be of following form: 6.0_rc5_p1 22 | MY_TAG="$(ver_cut 6)" 23 | MY_BASE="$(ver_rs 2 - $(ver_cut 1-4))" 24 | else 25 | # $PV is expected to be of following form: 5.19.0_p1 26 | MY_TAG="$(ver_cut 5)" 27 | if [[ "$(ver_cut 3)" == "0" ]] ; then 28 | MY_BASE="$(ver_cut 1-2)" 29 | else 30 | MY_BASE="$(ver_cut 1-3)" 31 | fi 32 | fi 33 | 34 | EXTRAVERSION="-asahi-${MY_TAG}" 35 | 36 | ASAHI_TAG="asahi-${MY_BASE}-${MY_TAG}" 37 | 38 | DESCRIPTION="Asahi Linux kernel sources" 39 | HOMEPAGE="https://asahilinux.org" 40 | SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} 41 | https://github.com/AsahiLinux/linux/compare/v${MY_BASE}...${ASAHI_TAG}.diff 42 | -> linux-${ASAHI_TAG}.diff 43 | " 44 | KV_FULL="${PVR/_p/-asahi-}" 45 | S="${WORKDIR}/linux-${KV_FULL}" 46 | 47 | KEYWORDS="~amd64 ~arm64" 48 | 49 | DEPEND=" 50 | ${DEPEND} 51 | dev-util/bindgen 52 | " 53 | 54 | UNIPATCH_STRICTORDER="yes" 55 | UNIPATCH_LIST=" 56 | ${FILESDIR}/asahi-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch 57 | ${DISTDIR}/linux-${ASAHI_TAG}.diff 58 | " 59 | 60 | pkg_postinst() { 61 | einfo "For more information about Asahi Linux please visit ${HOMEPAGE}," 62 | einfo "or consult the Wiki at https://github.com/AsahiLinux/docs/wiki." 63 | kernel-2_pkg_postinst 64 | } 65 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/asahi-sources-6.17.7_p2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2023-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | ETYPE="sources" 6 | 7 | CKV="$(ver_cut 1-3)" 8 | K_SECURITY_UNSUPPORTED="1" 9 | K_WANT_GENPATCHES="base extras" 10 | K_GENPATCHES_VER="10" 11 | K_NODRYRUN="1" 12 | 13 | RUST_MIN_VER="1.85.0" 14 | RUST_REQ_USE='rust-src,rustfmt' 15 | 16 | inherit kernel-2 rust 17 | detect_version 18 | detect_arch 19 | 20 | if [[ ${PV} != ${PV/_rc} ]] ; then 21 | # $PV is expected to be of following form: 6.0_rc5_p1 22 | MY_TAG="$(ver_cut 6)" 23 | MY_BASE="$(ver_rs 2 - $(ver_cut 1-4))" 24 | else 25 | # $PV is expected to be of following form: 5.19.0_p1 26 | MY_TAG="$(ver_cut 5)" 27 | if [[ "$(ver_cut 3)" == "0" ]] ; then 28 | MY_BASE="$(ver_cut 1-2)" 29 | else 30 | MY_BASE="$(ver_cut 1-3)" 31 | fi 32 | fi 33 | 34 | EXTRAVERSION="-asahi-${MY_TAG}" 35 | 36 | ASAHI_TAG="asahi-${MY_BASE}-${MY_TAG}" 37 | 38 | DESCRIPTION="Asahi Linux kernel sources" 39 | HOMEPAGE="https://asahilinux.org" 40 | SRC_URI="${KERNEL_URI} ${GENPATCHES_URI} ${ARCH_URI} 41 | https://github.com/AsahiLinux/linux/compare/v${MY_BASE}...${ASAHI_TAG}.diff 42 | -> linux-${ASAHI_TAG}.diff 43 | " 44 | KV_FULL="${PVR/_p/-asahi-}" 45 | S="${WORKDIR}/linux-${KV_FULL}" 46 | 47 | KEYWORDS="amd64 arm64" 48 | 49 | DEPEND=" 50 | ${DEPEND} 51 | dev-util/bindgen 52 | " 53 | 54 | UNIPATCH_STRICTORDER="yes" 55 | UNIPATCH_LIST=" 56 | ${FILESDIR}/asahi-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch 57 | ${DISTDIR}/linux-${ASAHI_TAG}.diff 58 | " 59 | 60 | pkg_postinst() { 61 | einfo "For more information about Asahi Linux please visit ${HOMEPAGE}," 62 | einfo "or consult the Wiki at https://github.com/AsahiLinux/docs/wiki." 63 | kernel-2_pkg_postinst 64 | } 65 | -------------------------------------------------------------------------------- /sys-boot/u-boot/u-boot-2025.04_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2023 James Calligeros 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | PYTHON_COMPAT=( python3_{10..14} ) 6 | 7 | # $PV is expected to be of following form: 2023.07_p2 8 | MY_TAG="$(ver_cut 4)" 9 | MY_P="asahi-v$(ver_cut 1-2)-${MY_TAG}" 10 | 11 | DESCRIPTION="Asahi Linux fork of Das U-Boot" 12 | HOMEPAGE="https://asahilinux.org/" 13 | SRC_URI="https://github.com/AsahiLinux/u-boot/archive/refs/tags/${MY_P}.tar.gz -> ${PN}-${PV}.tar.gz" 14 | LICENSE="GPL-2" 15 | SLOT="0" 16 | 17 | KEYWORDS="arm64" 18 | 19 | PATCHES=( 20 | ) 21 | 22 | BDEPEND=" 23 | app-arch/cpio 24 | dev-lang/perl 25 | sys-devel/bc 26 | sys-devel/bison 27 | sys-devel/flex 28 | dev-build/make 29 | >=sys-libs/ncurses-5.2 30 | virtual/libelf 31 | virtual/pkgconfig 32 | sys-apps/dtc 33 | dev-vcs/git" 34 | 35 | RDEPEND="${BDEPEND} 36 | sys-apps/asahi-scripts" 37 | 38 | src_unpack() { 39 | unpack ${PN}-${PV}.tar.gz 40 | mv u-boot-${MY_P} ${PN}-${PV} 41 | } 42 | 43 | src_configure() { 44 | emake apple_m1_defconfig 45 | } 46 | 47 | src_compile() { 48 | cd "${S}" || die 49 | emake 50 | } 51 | 52 | src_install() { 53 | dodir /usr/lib/asahi-boot 54 | cp "${S}"/u-boot-nodtb.bin "${ED}"/usr/lib/asahi-boot/u-boot-nodtb.bin || die 55 | } 56 | 57 | pkg_postinst() { 58 | elog "U-Boot has been installed to /usr/lib/asahi-boot/u-boot-nodtb.bin." 59 | elog "You must run update-m1n1 for the new version to be installed" 60 | elog "in the ESP." 61 | elog "Please see the Asahi Linux Wiki for more information." 62 | } 63 | 64 | pkg_postrm() { 65 | elog "U-Boot has been removed from /usr/lib/asahi-boot/ but has not" 66 | elog "been removed from the ESP. You need to do this manually, though" 67 | elog "you really shouldn't." 68 | } 69 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/asahi-scripts-20250426.1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | 6 | DESCRIPTION="Apple Silicon support scripts" 7 | HOMEPAGE="https://asahilinux.org/" 8 | SRC_URI="https://github.com/AsahiLinux/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" 9 | 10 | LICENSE="MIT" 11 | SLOT="0" 12 | KEYWORDS="arm64" 13 | 14 | BDEPEND=" 15 | virtual/udev 16 | " 17 | 18 | src_install() { 19 | emake DESTDIR="${D}" PREFIX="/usr" SYS_PREFIX="" install-dracut 20 | emake DESTDIR="${D}" PREFIX="/usr" install-macsmc-battery 21 | 22 | newinitd "${FILESDIR}/${PN}-macsmc-battery.openrc" "macsmc-battery" 23 | 24 | # install gentoo sys config 25 | insinto /etc/default 26 | newins "${FILESDIR}"/update-m1n1.gentoo.conf update-m1n1 27 | exeinto /usr/lib/kernel/install.d/ 28 | doexe "${FILESDIR}/99-update-m1n1.install" 29 | } 30 | 31 | pkg_postinst() { 32 | if [[ ! -e ${ROOT}/usr/lib/asahi-boot ]]; then 33 | ewarn "These scripts are intended for use on Apple Silicon" 34 | ewarn "machines with the Asahi tooling installed! Please" 35 | ewarn "install sys-boot/m1n1, sys-boot/u-boot and" 36 | ewarn "sys-firmware/asahi-firmware!" 37 | fi 38 | 39 | elog "Asahi scripts have been installed to /usr/. For more" 40 | elog "information on how to use them, please visit the Wiki." 41 | 42 | if [[ -e ${ROOT}/usr/local/share/asahi-scripts/functions.sh ]]; then 43 | ewarn "You have upgraded to a new version of ${PN}. Please" 44 | ewarn "remove /usr/local/share/asahi-scripts/," 45 | ewarn " /usr/local/bin/update-m1n1, and" 46 | ewarn "/usr/local/bin/update-vendor-firmware." 47 | fi 48 | 49 | if [[ -e ${ROOT}/etc/dracut.conf.d/10-apple.conf ]]; then 50 | ewarn "Please remove /etc/dracut.conf.d/10-apple.conf" 51 | fi 52 | } 53 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/asahi-scripts-20250713.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | 6 | DESCRIPTION="Apple Silicon support scripts" 7 | HOMEPAGE="https://asahilinux.org/" 8 | SRC_URI="https://github.com/AsahiLinux/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" 9 | 10 | LICENSE="MIT" 11 | SLOT="0" 12 | KEYWORDS="~arm64" 13 | 14 | BDEPEND=" 15 | virtual/udev 16 | " 17 | 18 | src_install() { 19 | emake DESTDIR="${D}" PREFIX="/usr" SYS_PREFIX="" install-dracut 20 | emake DESTDIR="${D}" PREFIX="/usr" install-macsmc-battery 21 | 22 | newinitd "${FILESDIR}/${PN}-macsmc-battery.openrc" "macsmc-battery" 23 | 24 | # install gentoo sys config 25 | insinto /etc/default 26 | newins "${FILESDIR}"/update-m1n1.gentoo.conf update-m1n1 27 | exeinto /usr/lib/kernel/install.d/ 28 | doexe "${FILESDIR}/99-update-m1n1.install" 29 | } 30 | 31 | pkg_postinst() { 32 | if [[ ! -e ${ROOT}/usr/lib/asahi-boot ]]; then 33 | ewarn "These scripts are intended for use on Apple Silicon" 34 | ewarn "machines with the Asahi tooling installed! Please" 35 | ewarn "install sys-boot/m1n1, sys-boot/u-boot and" 36 | ewarn "sys-firmware/asahi-firmware!" 37 | fi 38 | 39 | elog "Asahi scripts have been installed to /usr/. For more" 40 | elog "information on how to use them, please visit the Wiki." 41 | 42 | if [[ -e ${ROOT}/usr/local/share/asahi-scripts/functions.sh ]]; then 43 | ewarn "You have upgraded to a new version of ${PN}. Please" 44 | ewarn "remove /usr/local/share/asahi-scripts/," 45 | ewarn " /usr/local/bin/update-m1n1, and" 46 | ewarn "/usr/local/bin/update-vendor-firmware." 47 | fi 48 | 49 | if [[ -e ${ROOT}/etc/dracut.conf.d/10-apple.conf ]]; then 50 | ewarn "Please remove /etc/dracut.conf.d/10-apple.conf" 51 | fi 52 | } 53 | -------------------------------------------------------------------------------- /media-libs/bankstown-lv2/bankstown-lv2-1.1.0-r2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2023 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | # Auto-Generated by cargo-ebuild 0.5.4 5 | 6 | EAPI=8 7 | 8 | CRATES=" 9 | biquad@0.4.2 10 | libm@0.1.4 11 | lv2@0.6.0 12 | lv2-atom@2.0.0 13 | lv2-core@3.0.0 14 | lv2-core-derive@2.1.1 15 | lv2-midi@1.2.0 16 | lv2-sys@2.0.0 17 | lv2-units@0.1.3 18 | lv2-urid@2.1.0 19 | proc-macro2@1.0.69 20 | quote@1.0.33 21 | syn@1.0.109 22 | unicode-ident@1.0.12 23 | urid@0.1.0 24 | urid-derive@0.1.1 25 | wmidi@3.1.0 26 | " 27 | 28 | RUST_MIN_VER="1.72.0" 29 | 30 | inherit cargo 31 | 32 | DESCRIPTION="A barebones, fast LV2 bass enhancement plugin" 33 | # Double check the homepage as the cargo_metadata crate 34 | # does not provide this value so instead repository is used 35 | HOMEPAGE="https://github.com/chadmed/bankstown" 36 | SRC_URI="https://github.com/chadmed/bankstown/archive/refs/tags/${PV}.tar.gz -> ${PN}-${PV}.tar.gz ${CARGO_CRATE_URIS}" 37 | S="${WORKDIR}/bankstown-${PV}" 38 | 39 | # License set may be more restrictive as OR is not respected 40 | # use cargo-license for a more accurate license picture 41 | LICENSE="MIT" 42 | SLOT="0" 43 | KEYWORDS="arm64" 44 | 45 | DEPEND=" 46 | media-libs/lv2 47 | " 48 | RDEPEND="${DEPEND}" 49 | 50 | # rust does not use *FLAGS from make.conf, silence portage warning 51 | # update with proper path to binaries this crate installs, omit leading / 52 | QA_FLAGS_IGNORED="usr/bin/${PN}" 53 | 54 | # cargo.eclass now builds arch-specific targets 55 | src_prepare() { 56 | sed -i \ 57 | -e "s|target/release|$(cargo_target_dir)|" Makefile || die 58 | default 59 | } 60 | 61 | src_configure() { 62 | cargo_src_configure 63 | } 64 | 65 | src_install() { 66 | emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" install || die 67 | } 68 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/linux-6.17_arm64_deselect_non_apple_arch.config: -------------------------------------------------------------------------------- 1 | # CONFIG_ARCH_ACTIONS is not set 2 | # CONFIG_ARCH_AIROHA is not set 3 | # CONFIG_ARCH_SUNXI is not set 4 | # CONFIG_ARCH_ALPINE is not set 5 | # CONFIG_ARCH_AXIADO is not set 6 | # CONFIG_ARCH_BCM is not set 7 | # CONFIG_ARCH_BCM2835 is not set 8 | # CONFIG_ARCH_BCM_IPROC is not set 9 | # CONFIG_ARCH_BCMBCA is not set 10 | # CONFIG_ARCH_BRCMSTB is not set 11 | # CONFIG_ARCH_BERLIN is not set 12 | # CONFIG_ARCH_BITMAIN is not set 13 | # CONFIG_ARCH_BLAIZE is not set 14 | # CONFIG_ARCH_CIX is not set 15 | # CONFIG_ARCH_EXYNOS is not set 16 | # CONFIG_ARCH_SPARX5 is not set 17 | # CONFIG_ARCH_K3 is not set 18 | # CONFIG_ARCH_LG1K is not set 19 | # CONFIG_ARCH_HISI is not set 20 | # CONFIG_ARCH_KEEMBAY is not set 21 | # CONFIG_ARCH_MEDIATEK is not set 22 | # CONFIG_ARCH_MESON is not set 23 | # CONFIG_ARCH_MMP is not set 24 | # CONFIG_ARCH_MVEBU is not set 25 | # CONFIG_ARCH_NXP is not set 26 | # CONFIG_ARCH_LAYERSCAPE is not set 27 | # CONFIG_ARCH_MXC is not set 28 | # CONFIG_ARCH_S32 is not set 29 | # CONFIG_ARCH_MA35 is not set 30 | # CONFIG_ARCH_NPCM is not set 31 | # CONFIG_ARCH_PENSANDO is not set 32 | # CONFIG_ARCH_QCOM is not set 33 | # CONFIG_ARCH_REALTEK is not set 34 | # CONFIG_ARCH_RENESAS is not set 35 | # CONFIG_ARCH_ROCKCHIP is not set 36 | # CONFIG_ARCH_SEATTLE is not set 37 | # CONFIG_ARCH_INTEL_SOCFPGA is not set 38 | # CONFIG_ARCH_SOPHGO is not set 39 | # CONFIG_ARCH_STM32 is not set 40 | # CONFIG_ARCH_SYNQUACER is not set 41 | # CONFIG_ARCH_TEGRA is not set 42 | # CONFIG_ARCH_SPRD is not set 43 | # CONFIG_ARCH_THUNDER is not set 44 | # CONFIG_ARCH_THUNDER2 is not set 45 | # CONFIG_ARCH_UNIPHIER is not set 46 | # CONFIG_ARCH_VEXPRESS is not set 47 | # CONFIG_ARCH_VISCONTI is not set 48 | # CONFIG_ARCH_XGENE is not set 49 | # CONFIG_ARCH_ZYNQMP is not set 50 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2503-thunkgen-gcc-install-dir.patch: -------------------------------------------------------------------------------- 1 | diff --git a/ThunkLibs/GuestLibs/CMakeLists.txt b/ThunkLibs/GuestLibs/CMakeLists.txt 2 | index be88e1d..e8a1ee3 100644 3 | --- a/ThunkLibs/GuestLibs/CMakeLists.txt 4 | +++ b/ThunkLibs/GuestLibs/CMakeLists.txt 5 | @@ -81,7 +81,7 @@ function(generate NAME SOURCE_FILE) 6 | OUTPUT "${OUTFILE}" 7 | DEPENDS "${GENERATOR_EXE}" 8 | DEPENDS "${SOURCE_FILE}" 9 | - COMMAND "${GENERATOR_EXE}" "${SOURCE_FILE}" "${NAME}" "-guest" "${OUTFILE}" "${X86_DEV_ROOTFS}" ${BITNESS_FLAGS} -- -std=c++20 ${BITNESS_FLAGS2} 10 | + COMMAND "${GENERATOR_EXE}" "${SOURCE_FILE}" "${NAME}" "-guest" "${OUTFILE}" "${X86_DEV_ROOTFS}" ${BITNESS_FLAGS} -- -std=c++20 ${BITNESS_FLAGS2} --config=/etc/clang/gentoo-gcc-install.cfg 11 | # Expand compile definitions to space-separated list of -D parameters 12 | "$<$:;-D$>" 13 | # Expand include directories to space-separated list of -isystem parameters 14 | diff --git a/ThunkLibs/HostLibs/CMakeLists.txt b/ThunkLibs/HostLibs/CMakeLists.txt 15 | index cec5b81..0ccbb20 100644 16 | --- a/ThunkLibs/HostLibs/CMakeLists.txt 17 | +++ b/ThunkLibs/HostLibs/CMakeLists.txt 18 | @@ -53,7 +53,7 @@ function(generate NAME SOURCE_FILE GUEST_BITNESS) 19 | OUTPUT "${OUTFILE}" 20 | DEPENDS "${SOURCE_FILE}" 21 | DEPENDS thunkgen 22 | - COMMAND thunkgen "${SOURCE_FILE}" "${NAME}" "-host" "${OUTFILE}" "${X86_DEV_ROOTFS}" ${BITNESS_FLAGS} -- -std=c++20 23 | + COMMAND thunkgen "${SOURCE_FILE}" "${NAME}" "-host" "${OUTFILE}" "${X86_DEV_ROOTFS}" ${BITNESS_FLAGS} -- -std=c++20 --config=/etc/clang/gentoo-gcc-install.cfg 24 | # Expand compile definitions to space-separated list of -D parameters 25 | "$<$:;-D$>" 26 | # Expand include directories to space-separated list of -isystem parameters 27 | -------------------------------------------------------------------------------- /media-libs/triforce-lv2/triforce-lv2-0.3.2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | # Autogenerated by pycargoebuild 0.13.5 5 | 6 | EAPI=8 7 | 8 | CRATES=" 9 | approx@0.5.1 10 | autocfg@1.4.0 11 | bytemuck@1.23.0 12 | lv2-atom@2.0.0 13 | lv2-core-derive@2.1.1 14 | lv2-core@3.0.0 15 | lv2-midi@1.2.0 16 | lv2-sys@2.0.0 17 | lv2-units@0.1.3 18 | lv2-urid@2.1.0 19 | lv2@0.6.0 20 | matrixmultiply@0.3.10 21 | nalgebra-macros@0.2.2 22 | nalgebra@0.33.2 23 | num-bigint@0.4.6 24 | num-complex@0.4.6 25 | num-integer@0.1.46 26 | num-rational@0.4.2 27 | num-traits@0.2.19 28 | paste@1.0.15 29 | primal-check@0.3.4 30 | proc-macro2@1.0.95 31 | quote@1.0.40 32 | rawpointer@0.2.1 33 | rustfft@6.3.0 34 | safe_arch@0.7.4 35 | simba@0.9.0 36 | strength_reduce@0.2.4 37 | syn@1.0.109 38 | syn@2.0.101 39 | transpose@0.2.3 40 | typenum@1.18.0 41 | unicode-ident@1.0.18 42 | urid-derive@0.1.1 43 | urid@0.1.0 44 | version_check@0.9.5 45 | wide@0.7.32 46 | wmidi@3.1.0 47 | " 48 | 49 | inherit cargo 50 | 51 | DESCRIPTION="Minimum variance distortionless response beamformer for Apple mic arrays" 52 | HOMEPAGE="https://github.com/chadmed/triforce" 53 | SRC_URI=" 54 | https://github.com/chadmed/triforce/archive/refs/tags/${PV}.tar.gz -> ${PN}-${PV}.tar.gz 55 | ${CARGO_CRATE_URIS} 56 | " 57 | 58 | S="${WORKDIR}/triforce-${PV}" 59 | 60 | LICENSE="GPL-2+" 61 | # Dependent crate licenses 62 | LICENSE+=" Apache-2.0 MIT Unicode-3.0" 63 | SLOT="0" 64 | KEYWORDS="arm64" 65 | 66 | DEPEND=" 67 | media-libs/lv2 68 | " 69 | RDEPEND="${DEPEND}" 70 | 71 | # cargo.eclass now builds arch-specific targets 72 | src_prepare() { 73 | sed -i \ 74 | -e "s|target/release|$(cargo_target_dir)|" Makefile || die 75 | default 76 | } 77 | 78 | src_configure() { 79 | cargo_src_configure 80 | } 81 | 82 | src_install() { 83 | emake DESTDIR="${D}" LIBDIR="/usr/$(get_libdir)" install || die 84 | } 85 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/files/asahi-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch: -------------------------------------------------------------------------------- 1 | From 7bc5223ed71bdee422c01c67b0456c4238b4a36e Mon Sep 17 00:00:00 2001 2 | From: Janne Grunau 3 | Date: Sat, 18 May 2024 11:47:46 +0200 4 | Subject: [PATCH 1/1] config: gentoo: Drop RANDSTRUCT from 5 | GENTOO_KERNEL_SELF_PROTECTION_COMMON 6 | 7 | It is incompatible with RUST and the current method of selected it 8 | results in Kconfig breakage due to circular dependencies. Drop it for 9 | asahi-kernel. 10 | 11 | Signed-off-by: Janne Grunau 12 | --- 13 | distro/Kconfig | 4 +--- 14 | 1 file changed, 1 insertion(+), 3 deletions(-) 15 | 16 | diff --git a/distro/Kconfig b/distro/Kconfig 17 | index 9166e4a9abe6..ad4b417e0da7 100644 18 | --- a/distro/Kconfig 19 | +++ b/distro/Kconfig 20 | @@ -174,7 +174,7 @@ if GENTOO_KERNEL_SELF_PROTECTION 21 | config GENTOO_KERNEL_SELF_PROTECTION_COMMON 22 | bool "Enable Kernel Self Protection Project Recommendations" 23 | 24 | - depends on GENTOO_LINUX && !ACPI_CUSTOM_METHOD && !COMPAT_BRK && !PROC_KCORE && !COMPAT_VDSO && !KEXEC && !HIBERNATION && !LEGACY_PTYS && !X86_X32_ABI && !MODIFY_LDT_SYSCALL && GCC_PLUGINS && !IOMMU_DEFAULT_DMA_LAZY && !IOMMU_DEFAULT_PASSTHROUGH && IOMMU_DEFAULT_DMA_STRICT && SECURITY && !ARCH_EPHEMERAL_INODES && RANDSTRUCT_PERFORMANCE 25 | + depends on GENTOO_LINUX && !ACPI_CUSTOM_METHOD && !COMPAT_BRK && !PROC_KCORE && !COMPAT_VDSO && !KEXEC && !HIBERNATION && !LEGACY_PTYS && !X86_X32_ABI && !MODIFY_LDT_SYSCALL && GCC_PLUGINS && !IOMMU_DEFAULT_DMA_LAZY && !IOMMU_DEFAULT_PASSTHROUGH && IOMMU_DEFAULT_DMA_STRICT && SECURITY && !ARCH_EPHEMERAL_INODES 26 | 27 | select BUG 28 | select STRICT_KERNEL_RWX 29 | @@ -221,8 +221,6 @@ config GENTOO_KERNEL_SELF_PROTECTION_COMMON 30 | select GCC_PLUGIN_LATENT_ENTROPY 31 | select GCC_PLUGIN_STRUCTLEAK 32 | select GCC_PLUGIN_STRUCTLEAK_BYREF_ALL 33 | - select GCC_PLUGIN_RANDSTRUCT 34 | - select GCC_PLUGIN_RANDSTRUCT_PERFORMANCE 35 | select ZERO_CALL_USED_REGS if CC_HAS_ZERO_CALL_USED_REGS 36 | 37 | help 38 | -- 39 | 2.45.0 40 | 41 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/asahi-kernel-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch: -------------------------------------------------------------------------------- 1 | From 7bc5223ed71bdee422c01c67b0456c4238b4a36e Mon Sep 17 00:00:00 2001 2 | From: Janne Grunau 3 | Date: Sat, 18 May 2024 11:47:46 +0200 4 | Subject: [PATCH 1/1] config: gentoo: Drop RANDSTRUCT from 5 | GENTOO_KERNEL_SELF_PROTECTION_COMMON 6 | 7 | It is incompatible with RUST and the current method of selected it 8 | results in Kconfig breakage due to circular dependencies. Drop it for 9 | asahi-kernel. 10 | 11 | Signed-off-by: Janne Grunau 12 | --- 13 | distro/Kconfig | 4 +--- 14 | 1 file changed, 1 insertion(+), 3 deletions(-) 15 | 16 | diff --git a/distro/Kconfig b/distro/Kconfig 17 | index 9166e4a9abe6..ad4b417e0da7 100644 18 | --- a/distro/Kconfig 19 | +++ b/distro/Kconfig 20 | @@ -174,7 +174,7 @@ if GENTOO_KERNEL_SELF_PROTECTION 21 | config GENTOO_KERNEL_SELF_PROTECTION_COMMON 22 | bool "Enable Kernel Self Protection Project Recommendations" 23 | 24 | - depends on GENTOO_LINUX && !ACPI_CUSTOM_METHOD && !COMPAT_BRK && !PROC_KCORE && !COMPAT_VDSO && !KEXEC && !HIBERNATION && !LEGACY_PTYS && !X86_X32_ABI && !MODIFY_LDT_SYSCALL && GCC_PLUGINS && !IOMMU_DEFAULT_DMA_LAZY && !IOMMU_DEFAULT_PASSTHROUGH && IOMMU_DEFAULT_DMA_STRICT && SECURITY && !ARCH_EPHEMERAL_INODES && RANDSTRUCT_PERFORMANCE 25 | + depends on GENTOO_LINUX && !ACPI_CUSTOM_METHOD && !COMPAT_BRK && !PROC_KCORE && !COMPAT_VDSO && !KEXEC && !HIBERNATION && !LEGACY_PTYS && !X86_X32_ABI && !MODIFY_LDT_SYSCALL && GCC_PLUGINS && !IOMMU_DEFAULT_DMA_LAZY && !IOMMU_DEFAULT_PASSTHROUGH && IOMMU_DEFAULT_DMA_STRICT && SECURITY && !ARCH_EPHEMERAL_INODES 26 | 27 | select BUG 28 | select STRICT_KERNEL_RWX 29 | @@ -221,8 +221,6 @@ config GENTOO_KERNEL_SELF_PROTECTION_COMMON 30 | select GCC_PLUGIN_LATENT_ENTROPY 31 | select GCC_PLUGIN_STRUCTLEAK 32 | select GCC_PLUGIN_STRUCTLEAK_BYREF_ALL 33 | - select GCC_PLUGIN_RANDSTRUCT 34 | - select GCC_PLUGIN_RANDSTRUCT_PERFORMANCE 35 | select ZERO_CALL_USED_REGS if CC_HAS_ZERO_CALL_USED_REGS 36 | 37 | help 38 | -- 39 | 2.45.0 40 | 41 | -------------------------------------------------------------------------------- /metadata/md5-cache/media-libs/bankstown-lv2-1.1.0: -------------------------------------------------------------------------------- 1 | BDEPEND=>=virtual/rust-1.53 2 | DEFINED_PHASES=compile configure install test unpack 3 | DEPEND=virtual/rust media-libs/lv2 4 | DESCRIPTION=A barebones, fast LV2 bass enhancement plugin 5 | EAPI=8 6 | HOMEPAGE=https://github.com/chadmed/bankstown 7 | INHERIT=cargo 8 | IUSE=debug 9 | KEYWORDS=arm64 10 | LICENSE=MIT 11 | RDEPEND=virtual/rust media-libs/lv2 12 | SLOT=0 13 | SRC_URI=https://github.com/chadmed/bankstown/archive/refs/tags/1.1.0.tar.gz -> bankstown-lv2-1.1.0.tar.gz https://crates.io/api/v1/crates/biquad/0.4.2/download -> biquad-0.4.2.crate https://crates.io/api/v1/crates/libm/0.1.4/download -> libm-0.1.4.crate https://crates.io/api/v1/crates/lv2/0.6.0/download -> lv2-0.6.0.crate https://crates.io/api/v1/crates/lv2-atom/2.0.0/download -> lv2-atom-2.0.0.crate https://crates.io/api/v1/crates/lv2-core/3.0.0/download -> lv2-core-3.0.0.crate https://crates.io/api/v1/crates/lv2-core-derive/2.1.1/download -> lv2-core-derive-2.1.1.crate https://crates.io/api/v1/crates/lv2-midi/1.2.0/download -> lv2-midi-1.2.0.crate https://crates.io/api/v1/crates/lv2-sys/2.0.0/download -> lv2-sys-2.0.0.crate https://crates.io/api/v1/crates/lv2-units/0.1.3/download -> lv2-units-0.1.3.crate https://crates.io/api/v1/crates/lv2-urid/2.1.0/download -> lv2-urid-2.1.0.crate https://crates.io/api/v1/crates/proc-macro2/1.0.69/download -> proc-macro2-1.0.69.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/syn/1.0.109/download -> syn-1.0.109.crate https://crates.io/api/v1/crates/unicode-ident/1.0.12/download -> unicode-ident-1.0.12.crate https://crates.io/api/v1/crates/urid/0.1.0/download -> urid-0.1.0.crate https://crates.io/api/v1/crates/urid-derive/0.1.1/download -> urid-derive-0.1.1.crate https://crates.io/api/v1/crates/wmidi/3.1.0/download -> wmidi-3.1.0.crate 14 | _eclasses_=toolchain-funcs e56c7649b804f051623c8bc1a1c44084 multilib c19072c3cd7ac5cb21de013f7e9832e0 flag-o-matic 288c54efeb5e2aa70775e39032695ad4 multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe cargo 4dede41d64d595673f6da62ab5540fa0 15 | _md5_=c972338c8d9c13abd2ebae200b38f288 16 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/Manifest: -------------------------------------------------------------------------------- 1 | DIST genpatches-6.17-10.base.tar.xz 460752 BLAKE2B bf1ab16a457e016fe1acc187cf62b70071d74c29d38b16927be5cbe24c8c9796260a6f9cc67e31785ef160d083e9dbec62ad2c520cd93ba6f6e02935316135c6 SHA512 a1edf3438e8490b594ae2ce19f5e36e03a7688e51f905d6b6dd8b0621c84067d4cfc68c0c3dcfa24dc32da02cc78f48f645d0a71b1bce89bd8412162e3f83a07 2 | DIST genpatches-6.17-10.extras.tar.xz 4068 BLAKE2B 53593b2d94cedba2331e359ac69a9471a4dc14c83fb9bacb7217b448f07a4d23d0611b0dbec9ae6369c3efb61837ddfeea5ab06b038a3b1f3f751a4ea650cb31 SHA512 47a2e6b99bd675156fcaad395f3424ec01fc4e6104ccebd1c4265e10e9376facb8e7e2af413f9d2e81ef7ebc1a170155339e110e1b0a44e501bf87481a5ea291 3 | DIST genpatches-6.17-14.base.tar.xz 878808 BLAKE2B 884338a7aa434094ab62f9d5eaffe6c42ee313a63b442b51db2ddf4d6108ce411fc21bbc21655e222baeb457b547b58a6edf145f0f80381482e0b24aae08b36d SHA512 373d7f68280e1c536eeb46c8fb2e5f10223ad3c1187c8745c044d456ae14533da515c54aacae6ea3af72c2058715072e7fb19849e0d5b1f8aada8c0f60903ffd 4 | DIST genpatches-6.17-14.extras.tar.xz 4324 BLAKE2B 1420020762d21a1c0c1eb00b9d9e55b62f63f80688d23236b0f79f416f57e958968f223e2ffaa5a040db6175e02dd769ecab201526487648130e9b9550237010 SHA512 0f3b1748bf5c08bc5c97a3a083e366f06d066ed82bdabf7509f82e8c07de0752382445cc6594164970e72b8e79b0957fa084b2e46531f20729276ab401382e99 5 | DIST linux-6.17.tar.xz 153382068 BLAKE2B 0edb2324be5638aa75984128aafdba3e50824187d2fcdff8794eab99d85c10c3a17d1e840053c2c83df5ee11fdf69f1c9452c57ecc9dae01c4af38180fe7821a SHA512 063999d7b819970657f6b7713fdb4173da2065ffdeed7cae197026dbb1edfd7f1d50374f073a1e19ef9686539594824ff6ecb8a930d97c4f272cb12f1c6d8355 6 | DIST linux-asahi-6.17.11-1.diff 3119229 BLAKE2B 41fbcc6795dc98d0b7c2e209a94b27f37f814f87486c8820b6d557069b26502bd9a655c4d930aa267496e324ef7dc48f1d78469b97229425cc3e563f4107375b SHA512 4536d3d4d0e3cac623b0a3eb36d6f722fdc4b6060303c491372dd0d7325dc11179051ccde3a6f8cf6e9fb33af2f7eff7ebfaca8511837a9381fa3a2bfcc30109 7 | DIST linux-asahi-6.17.7-2.diff 3110876 BLAKE2B c5c0bad5ab4c6c19dcb1160a057fd68e5604887c21dabac1dd585b1586136fa54e35f439d5b90287eac86aa4c470494e33e174c3eeba4d4a20ff9b5efaac9a85 SHA512 aaf1b5a3d543df473e5a2684d2664920d52f0fe22027062017bfa6b263989304bdaabb8b3c6dfb964011c96b4368476c54c70814907e060672beaf9ff843d9d5 8 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/fex-rootfs-gentoo-20250904.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | inherit systemd linux-info 7 | 8 | DESCRIPTION="A x86 system image used for FEX" 9 | HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/fex-rootfs" 10 | 11 | SRC_URI=" 12 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/releases/download/${PV}/fex-rootfs.sqfs -> ${P}-root.sqfs 13 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz 14 | " 15 | 16 | S="${WORKDIR}/fex-rootfs-${PV}" 17 | 18 | LICENSE="metapackage MIT" 19 | SLOT="0" 20 | KEYWORDS="-* ~arm64" 21 | RDEPEND=" 22 | gnome-extra/zenity 23 | sys-apps/xdg-desktop-portal 24 | systemd? ( sys-apps/systemd ) 25 | !app-emulation/fex-rootfs-mesa-asahi 26 | " 27 | DEPEND="${RDEPEND}" 28 | IUSE="systemd" 29 | 30 | pkg_pretend() { 31 | CONFIG_CHECK="~SQUASHFS ~SQUASHFS_ZSTD" 32 | check_extra_config 33 | [[ "${MERGE_TYPE}" != "buildonly" && "$(systemd_is_booted)" == 0 ]] || return 34 | ewarn "This package depends on systemd being the init system for correct operation" 35 | ewarn "On non-systemd systems assembling all the mount points correctly is left" 36 | ewarn "as an excercise for the user." 37 | } 38 | 39 | src_install() { 40 | local base="/usr/share/fex-emu-rootfs-layers/gentoo" 41 | insinto "${base}/images/" 42 | newins "${DISTDIR}/${P}-root.sqfs" 00-base.sqfs 43 | keepdir "${base}/work/" 44 | keepdir "${base}/writable/" 45 | gen_dir="$(systemd_get_systemgeneratordir)" 46 | exeinto "${gen_dir#"${EPREFIX}"}" 47 | doexe systemd/fex-gentoo-rootfs-generator 48 | systemd_dounit 'systemd/usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-00\x2dbase.mount' 49 | } 50 | 51 | pkg_prerm() { 52 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 53 | systemctl daemon-reload 54 | systemctl stop 'usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-00\x2dbase.mount' 55 | } 56 | 57 | pkg_postinst() { 58 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 59 | systemctl daemon-reload 60 | systemctl start 'usr-share-fex\x2demu-RootFS-Gentoo.mount' 61 | } 62 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/fex-rootfs-gentoo-20250904-r1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | inherit systemd linux-info 7 | 8 | DESCRIPTION="A x86 system image used for FEX" 9 | HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/fex-rootfs" 10 | 11 | SRC_URI=" 12 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/releases/download/${PV}/fex-rootfs.sqfs -> ${P}-root.sqfs 13 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/releases/download/${PV}/fex-chroot.sqfs -> ${P}-chroot.sqfs 14 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz 15 | " 16 | 17 | S="${WORKDIR}/fex-rootfs-${PV}" 18 | 19 | LICENSE="metapackage MIT" 20 | SLOT="0" 21 | KEYWORDS="-* ~arm64" 22 | RDEPEND=" 23 | gnome-extra/zenity 24 | sys-apps/xdg-desktop-portal 25 | systemd? ( sys-apps/systemd ) 26 | !app-emulation/fex-rootfs-mesa-asahi 27 | " 28 | DEPEND="${RDEPEND}" 29 | IUSE="systemd" 30 | 31 | pkg_pretend() { 32 | CONFIG_CHECK="~SQUASHFS ~SQUASHFS_ZSTD" 33 | check_extra_config 34 | [[ "${MERGE_TYPE}" != "buildonly" && "$(systemd_is_booted)" == 0 ]] || return 35 | ewarn "This package depends on systemd being the init system for correct operation" 36 | ewarn "On non-systemd systems assembling all the mount points correctly is left" 37 | ewarn "as an excercise for the user." 38 | } 39 | 40 | src_install() { 41 | local base="/usr/share/fex-emu-rootfs-layers/gentoo" 42 | insinto "${base}/images/" 43 | newins "${DISTDIR}/${P}-root.sqfs" 00-base.sqfs 44 | insinto "${base}/extra/" 45 | newins "${DISTDIR}/${P}-chroot.sqfs" chroot.sqfs 46 | keepdir "${base}/work/" 47 | keepdir "${base}/writable/" 48 | gen_dir="$(systemd_get_systemgeneratordir)" 49 | exeinto "${gen_dir#"${EPREFIX}"}" 50 | doexe systemd/fex-gentoo-rootfs-generator 51 | systemd_dounit 'systemd/usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-00\x2dbase.mount' 52 | } 53 | 54 | pkg_prerm() { 55 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 56 | systemctl daemon-reload 57 | systemctl stop 'usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-00\x2dbase.mount' 58 | } 59 | 60 | pkg_postinst() { 61 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 62 | systemctl daemon-reload 63 | systemctl start 'usr-share-fex\x2demu-RootFS-Gentoo.mount' 64 | } 65 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-kernel/asahi-kernel-6.6.0_p16-r1: -------------------------------------------------------------------------------- 1 | BDEPEND=test? ( dev-tcltk/expect sys-apps/coreutils sys-kernel/dracut sys-fs/e2fsprogs amd64? ( app-emulation/qemu[qemu_softmmu_targets_x86_64] ) arm64? ( app-emulation/qemu[qemu_softmmu_targets_aarch64] ) ppc? ( app-emulation/qemu[qemu_softmmu_targets_ppc] ) ppc64? ( app-emulation/qemu[qemu_softmmu_targets_ppc64] ) sparc? ( app-emulation/qemu[qemu_softmmu_targets_sparc,qemu_softmmu_targets_sparc64] ) x86? ( app-emulation/qemu[qemu_softmmu_targets_i386] ) ) || ( dev-lang/python:3.12 dev-lang/python:3.11 dev-lang/python:3.10 ) app-alternatives/cpio app-alternatives/bc sys-devel/bison sys-devel/flex virtual/libelf arm? ( sys-apps/dtc ) arm64? ( sys-apps/dtc ) riscv? ( sys-apps/dtc ) 2 | DEFINED_PHASES=compile config configure install postinst postrm preinst prepare prerm pretend setup test 3 | DEPEND=virtual/rust || ( ~dev-lang/rust-bin-1.75.0[rust-src,rustfmt] dev-lang/rust:stable/1.75[rust-src,rustfmt] ) dev-util/bindgen debug? ( dev-util/pahole ) 4 | DESCRIPTION=Asahi Linux kernel sources 5 | EAPI=8 6 | HOMEPAGE=https://asahilinux.org 7 | IDEPEND=!initramfs? ( >=sys-kernel/installkernel-14 ) initramfs? ( >=sys-kernel/installkernel-14[dracut(-)] ) 8 | INHERIT=kernel-build 9 | IUSE=debug savedconfig +initramfs test +strip 10 | KEYWORDS=arm64 11 | LICENSE=GPL-2 12 | PDEPEND=~virtual/dist-kernel-6.6.0_p16 13 | RDEPEND=virtual/libelf 14 | RESTRICT=!test? ( test ) test? ( userpriv ) arm? ( test ) 15 | SLOT=6.6.0_p16 16 | SRC_URI=https://github.com/AsahiLinux/linux/archive/refs/tags/asahi-6.6-16.tar.gz -> asahi-kernel-6.6.0_p16.tar.gz https://github.com/projg2/gentoo-kernel-config/archive/g11.tar.gz -> gentoo-kernel-config-g11.tar.gz https://copr-dist-git.fedorainfracloud.org/cgit/@asahi/kernel/kernel.git/plain/kernel-aarch64-16k-fedora.config?id=be420b20d9a73b16a6ee7b6cdb34194efd89bb91 -> kernel-aarch64-16k-fedora.config-6.6.3-414-gentoo 17 | _eclasses_=multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe toolchain-funcs e56c7649b804f051623c8bc1a1c44084 multilib c19072c3cd7ac5cb21de013f7e9832e0 python-utils-r1 8904b60325f22500b0c3ad4b68a42448 python-any-r1 f5169813d1619761b459800587005fd2 portability 225656ad6c6594fe3b0187bdd50707fb savedconfig 8b5f9d995a970e49cd427c55d5840285 dist-kernel-utils 145861da258122cbba5240a850f1a5e8 mount-boot 3945d351ee3192381911f938f4ee527a kernel-install 8b3f309ac423799839f1fb3253b473b8 kernel-build 99eb00d7450b05352eb000bfb702db53 18 | _md5_=ea0674ef8d1ddbe68917f133ff1a9b2a 19 | -------------------------------------------------------------------------------- /sys-devel/x86_64-multilib-toolchain/Manifest: -------------------------------------------------------------------------------- 1 | DIST binutils-2.43.1.tar.xz 28174300 BLAKE2B c4cd765cea326cd00b5cfe306e2937d820603b42f07a714ceb1349d36ddba0d45c3e125599dadf290d97954035c381781067155600ed87066e494cb9c4b34b45 SHA512 20977ad17729141a2c26d358628f44a0944b84dcfefdec2ba029c2d02f40dfc41cc91c0631044560d2bd6f9a51e1f15846b4b311befbe14f1239f14ff7d57824 2 | DIST binutils-2.44.tar.xz 27285788 BLAKE2B 0eb031ace9fb5a7047b81b5a05b1760f7d332c8ed67f98899f153a45f181b83e661a484551af05c0a9b2adc422da84619103c7b1f3c9fad5327872832b5446aa SHA512 b85d3bbc0e334cf67a96219d3c7c65fbf3e832b2c98a7417bf131f3645a0307057ec81cd2b29ff2563cec53e3d42f73e2c60cc5708e80d4a730efdcc6ae14ad7 3 | DIST gcc-14.2.0.tar.xz 92306460 BLAKE2B 87baf2a06dfa75d8fb6cd62c747ef1f57d3b9bbbe33a360d9ed3de4b4dbeaa8d920504c67e409bd9863414202c14fd854b46108e984418171205119216d03d3b SHA512 932bdef0cda94bacedf452ab17f103c0cb511ff2cec55e9112fc0328cbf1d803b42595728ea7b200e0a057c03e85626f937012e49a7515bc5dd256b2bf4bc396 4 | DIST gcc-15.1.0.tar.xz 98268344 BLAKE2B a902ce99db4e93615879e435bcd0b96d5a16ea0af42598ca0e6d12913b2ce3651a98574c3264b2717b848e6b5a823b403ccca0adde463938d5b41aa3f1da0d34 SHA512 ddd35ca6c653dffa88f7c7ef9ee4cd806e156e0f3b30f4d63e75a8363361285cd566ee73127734cde6a934611de815bee3e32e24bfd2e0ab9f7ff35c929821c1 5 | DIST glibc-2.40.tar.xz 18752204 BLAKE2B 8593cab5b2549b77159b6866fbb40b917e491fd5bc0814f7f85b6529166d78d4583436450c479b86cdfe468304fc4d2a9ba8294230a55dbc4c15e89c3ab6c000 SHA512 33caf91dbfddde6480b7cdf7a68b36aff8c522bfee56160af26af297f1b768668edb08bc4e1a7ff61c64721e3c1d49c347a5dd01c5edd3b914ee6479c8b27885 6 | DIST glibc-2.41.tar.xz 19344868 BLAKE2B 4da62f489ba7a95bb069c2cfea8cf78e4d37e3a5f7e1736239670ba1dca12b69aa77bd00ced078c27d91b1e622c58cbd70258161a9d18c5b3bcc95863b8d744d SHA512 894a3e5a796bc13df30c26a5bfbe4d60b5dbdaac54e7763432235124b547070c7dda88c50584536870cab79183d8cad73a3ac6ed09bfe54fa8482aad07253169 7 | DIST linux-6.10.tar.xz 145142812 BLAKE2B bb243ea7493b9d63aa2df2050a3f1ae2b89ee84a20015239cf157e3f4f51c7ac5efedc8a51132b2d7482f9276ac418de6624831c8a3b806130d9c2d2124c539b SHA512 baa2487954044f991d2ae254d77d14a1f0185dd62c9f0fcaff69f586c9f906823017b8db1c4588f27b076dfa3ebb606929fec859f60ea419e7974330b9289cc2 8 | DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb 9 | -------------------------------------------------------------------------------- /app-emulation/FEX/Manifest: -------------------------------------------------------------------------------- 1 | DIST FEX-2510.tar.gz 2291211 BLAKE2B 5161dd0d02cc8d850a1b94a0d3ca3928d13d56e0c1fad4dc7cfec36e32ceff7e3e7e37522a4c2c31cbcf37c134ead31192bebb8e58508405379d7b26f879c33a SHA512 0e906af106593e648144dd6d6dfb1266ad7210bf480798c940de7dd7aba02ef9ac9d1bda9285bf4c612b4503c630ca94af37130ea8cc2ab8a01e5f01f3a61472 2 | DIST FEX-2511.tar.gz 2289580 BLAKE2B 067343ae5d252098c8dff8f05ec6addbb1785d47191e7edd71d1f184edf5d8d1e912f91f1d56442e61e58f6e2ff58ff0d730b1b6474ea09e82e20788b603989e SHA512 204cbcb93428991d877641dd68e52927d588a7f027495f217c633428ea9ecc7ec078fdd832c18dc389741e5f6bbdc5a4448e2782fbc765e810eb769cc3ebfd84 3 | DIST FEX-2512.tar.gz 2314078 BLAKE2B 4130c7e97ec45689cbc5ffcd372f4c84c6c15757bd6e2380dd15f33c7117572c4a4a7665eb3a59a45085431b459885c0bb273ff170c725d94049a548ca1cc4e2 SHA512 1cbf2d75120915f53d3e22e85684b040cb694dd96e8bb77141e0ad85f9165b8fc606b89736c0df13476b981ae6ab9513770672d27057962e7336b0b3693c1ab2 4 | DIST Vulkan-Headers-cacef3039d277c448c89336290ec3937270b0996.tar.gz 2587521 BLAKE2B da640cb49c47c1cdadeb6f04a988ba4cefe4209be00dbb7a6b9f691f56fb6723e0c780aad1456c5e8e8d552bd271329e2f467e56ba951f43c7c79080e86e1ca1 SHA512 042c2c051f419f180d4af78faaa2b50a7505e0baf7ed677773356ab3a0ddecc9b8667b8f75db53db6498fbf113621ac10d4e173a8dd58cb5865a85237368ccb0 5 | DIST cpp-optparse-9f94388a339fcbb0bc95c17768eb786c85988f6e.tar.gz 13218 BLAKE2B 8a9857b639509d66e59732e3cf84879da6eb714f48d55fe2e00c7ee3e5ae2e0be093eeb1b004b6d070766f5fedfd4173f11f6205a961f9e65bfa7848eb225024 SHA512 600559354c8a3e233f7d2d855a8325b747b6656eb05fe13b3fae31f7f41154968b995bc3a519b0c61e5db904d4bca4cb17eb72a2f35a1a273e275ec34593b92f 6 | DIST jemalloc-ce24593018ca5d5af7e5661ceda9744e02b59f8f.tar.gz 847968 BLAKE2B 704b955dba18b154d46ae4c741d36bccd54d9f34d61ca4519d8247f558e6e9a83309facc1f71745f2524f2d52d03a4ca4db69a1bd19933e4bd5393d366f0ab3d SHA512 6152af0cc312c1583daaea06f99347d57a43628a6243854885bd9e769f98c5e75b537882aa9e79d49e5a4a16dcbf85513c939d5dd6425fb6492ea08bc04f1342 7 | DIST jemalloc-glibc-8436195ad5e1bc347d9b39743af3d29abee59f06.tar.gz 825254 BLAKE2B afe13491537888adee3f331b140566147542bc74c7d38c47b60c689f4223a43555a49405caae1c4108db86d874f0cd1662b77a3716a4936dab3c7ad9d57a04f7 SHA512 093ad013d6de08c8c4822ff0b8256ed022f7139561dabd2295beb79f86e45536e8b673a869cb9d81905e734708fa4be17d04bbfaaaeb3d25e8d6c1c204fc5d9b 8 | DIST robin-map-d5683d9f1891e5b04e3e3b2192b5349dc8d814ea.tar.gz 70652 BLAKE2B 03ca6c6c333661ece0ac818d43eee37ead3e0a0acb71c45df201bff30715db89b8f2be3f5bac0991379327f2fac4273ba1bd3d6c4102e5a472a7c7567fae4651 SHA512 23fe18c7d2dda9bc4216201a7e5935c8dc9f51066173e95d514360e3310c994c4dc7786a33f43cb7d15dcceb913375a48b8c02529eacde58c0a80f0e91e9b94d 9 | -------------------------------------------------------------------------------- /sys-apps/speakersafetyd/speakersafetyd-1.1.2.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2024 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | # Autogenerated by pycargoebuild 0.13.3 5 | 6 | EAPI=8 7 | 8 | CRATES=" 9 | alsa-sys@0.3.1 10 | alsa@0.9.1 11 | android-tzdata@0.1.1 12 | android_system_properties@0.1.5 13 | anstream@0.6.18 14 | anstyle-parse@0.2.6 15 | anstyle-query@1.1.2 16 | anstyle-wincon@3.0.7 17 | anstyle@1.0.10 18 | autocfg@1.4.0 19 | bitflags@2.9.0 20 | bumpalo@3.17.0 21 | cc@1.2.17 22 | cfg-if@1.0.0 23 | chrono@0.4.40 24 | clap-verbosity-flag@2.2.3 25 | clap@4.5.34 26 | clap_builder@4.5.34 27 | clap_derive@4.5.32 28 | clap_lex@0.7.4 29 | colorchoice@1.0.3 30 | colored@2.2.0 31 | configparser@3.1.0 32 | core-foundation-sys@0.8.7 33 | deranged@0.4.1 34 | equivalent@1.0.2 35 | hashbrown@0.15.2 36 | heck@0.5.0 37 | iana-time-zone-haiku@0.1.2 38 | iana-time-zone@0.1.62 39 | indexmap@2.8.0 40 | is_terminal_polyfill@1.70.1 41 | itoa@1.0.15 42 | js-sys@0.3.77 43 | json@0.12.4 44 | lazy_static@1.5.0 45 | libc@0.2.171 46 | log@0.4.27 47 | num-conv@0.1.0 48 | num-traits@0.2.19 49 | num_threads@0.1.7 50 | once_cell@1.21.3 51 | pkg-config@0.3.32 52 | powerfmt@0.2.0 53 | proc-macro2@1.0.94 54 | quote@1.0.40 55 | rustversion@1.0.20 56 | serde@1.0.219 57 | serde_derive@1.0.219 58 | shlex@1.3.0 59 | signal-hook-registry@1.4.2 60 | signal-hook@0.3.17 61 | simple_logger@4.3.3 62 | strsim@0.11.1 63 | syn@2.0.100 64 | time-core@0.1.4 65 | time-macros@0.2.22 66 | time@0.3.41 67 | unicode-ident@1.0.18 68 | utf8parse@0.2.2 69 | wasm-bindgen-backend@0.2.100 70 | wasm-bindgen-macro-support@0.2.100 71 | wasm-bindgen-macro@0.2.100 72 | wasm-bindgen-shared@0.2.100 73 | wasm-bindgen@0.2.100 74 | windows-core@0.52.0 75 | windows-link@0.1.1 76 | windows-sys@0.48.0 77 | windows-sys@0.59.0 78 | windows-targets@0.48.5 79 | windows-targets@0.52.6 80 | windows_aarch64_gnullvm@0.48.5 81 | windows_aarch64_gnullvm@0.52.6 82 | windows_aarch64_msvc@0.48.5 83 | windows_aarch64_msvc@0.52.6 84 | windows_i686_gnu@0.48.5 85 | windows_i686_gnu@0.52.6 86 | windows_i686_gnullvm@0.52.6 87 | windows_i686_msvc@0.48.5 88 | windows_i686_msvc@0.52.6 89 | windows_x86_64_gnu@0.48.5 90 | windows_x86_64_gnu@0.52.6 91 | windows_x86_64_gnullvm@0.48.5 92 | windows_x86_64_gnullvm@0.52.6 93 | windows_x86_64_msvc@0.48.5 94 | windows_x86_64_msvc@0.52.6 95 | " 96 | 97 | inherit cargo udev 98 | 99 | DESCRIPTION="Speaker protection daemon for embedded Linux systems" 100 | HOMEPAGE="https://github.com/AsahiLinux/speakersafetyd/" 101 | SRC_URI="https://github.com/AsahiLinux/speakersafetyd/archive/refs/tags/${PV}.tar.gz -> ${PN}-${PV}.tar.gz 102 | ${CARGO_CRATE_URIS}" 103 | 104 | LICENSE="MIT" 105 | SLOT="0" 106 | KEYWORDS="arm64" 107 | 108 | DEPEND=" 109 | acct-user/speakersafetyd 110 | media-libs/alsa-ucm-conf-asahi 111 | " 112 | RDEPEND="${DEPEND}" 113 | 114 | QA_FLAGS_IGNORED="usr/bin/${PN}" 115 | 116 | src_install() { 117 | cargo_src_install 118 | emake DESTDIR="${D}" install-data 119 | doinitd "${FILESDIR}/speakersafetyd-noroot" 120 | } 121 | 122 | pkg_postinst() { 123 | udev_reload 124 | } 125 | 126 | pkg_postrm() { 127 | udev_reload 128 | } 129 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2503-unvendor-drm-headers.patch: -------------------------------------------------------------------------------- 1 | commit 763000de8d4f8aee1eb0bc0cf36f3f45fba07a1f 2 | Author: Sasha Finkelstein 3 | Date: Wed Aug 21 13:31:16 2024 +0200 4 | 5 | unvendor drm-headers 6 | 7 | diff --git a/Source/Tools/LinuxEmulation/CMakeLists.txt b/Source/Tools/LinuxEmulation/CMakeLists.txt 8 | index 3076a31..6deb0e6 100644 9 | --- a/Source/Tools/LinuxEmulation/CMakeLists.txt 10 | +++ b/Source/Tools/LinuxEmulation/CMakeLists.txt 11 | @@ -72,7 +72,6 @@ target_include_directories(LinuxEmulation 12 | PRIVATE 13 | ${CMAKE_BINARY_DIR}/generated 14 | ${CMAKE_CURRENT_SOURCE_DIR}/ 15 | - ${PROJECT_SOURCE_DIR}/External/drm-headers/include/ 16 | ) 17 | 18 | target_include_directories(LinuxEmulation 19 | diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h b/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h 20 | index efecf2c..cded3a0 100644 21 | --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h 22 | +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h 23 | @@ -10,21 +10,21 @@ extern "C" { 24 | // drm headers use a `__user` define that has an address_space attribute. This allows their tooling to see unsafe user-space accesses. 25 | // Define this to nothing so we don't need to modify those headers. 26 | #define __user 27 | -#include "fex-drm/drm.h" 28 | -#include "fex-drm/drm_mode.h" 29 | -#include "fex-drm/i915_drm.h" 30 | -#include "fex-drm/amdgpu_drm.h" 31 | -#include "fex-drm/lima_drm.h" 32 | -#include "fex-drm/panfrost_drm.h" 33 | -#include "fex-drm/msm_drm.h" 34 | -#include "fex-drm/nouveau_drm.h" 35 | -#include "fex-drm/radeon_drm.h" 36 | -#include "fex-drm/vc4_drm.h" 37 | -#include "fex-drm/v3d_drm.h" 38 | -#include "fex-drm/panthor_drm.h" 39 | -#include "fex-drm/pvr_drm.h" 40 | -#include "fex-drm/virtgpu_drm.h" 41 | -#include "fex-drm/xe_drm.h" 42 | +#include 43 | +#include 44 | +#include 45 | +#include 46 | +#include 47 | +#include 48 | +#include 49 | +#include 50 | +#include 51 | +#include 52 | +#include 53 | +#include 54 | +#include 55 | +#include 56 | +#include 57 | } 58 | #include 59 | 60 | diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h b/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h 61 | index ae8b0fa..ddb565f 100644 62 | --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h 63 | +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h 64 | @@ -7,17 +7,17 @@ 65 | 66 | #include 67 | extern "C" { 68 | -#include "fex-drm/drm.h" 69 | -#include "fex-drm/drm_mode.h" 70 | -#include "fex-drm/i915_drm.h" 71 | -#include "fex-drm/amdgpu_drm.h" 72 | -#include "fex-drm/lima_drm.h" 73 | -#include "fex-drm/panfrost_drm.h" 74 | -#include "fex-drm/msm_drm.h" 75 | -#include "fex-drm/nouveau_drm.h" 76 | -#include "fex-drm/vc4_drm.h" 77 | -#include "fex-drm/v3d_drm.h" 78 | -#include "fex-drm/virtgpu_drm.h" 79 | +#include 80 | +#include 81 | +#include 82 | +#include 83 | +#include 84 | +#include 85 | +#include 86 | +#include 87 | +#include 88 | +#include 89 | +#include 90 | } 91 | #include 92 | 93 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/files/2980_revert_kbuild-gcc15-gnu23-to-gnu11-fix.patch: -------------------------------------------------------------------------------- 1 | --- b/Makefile 2 | +++ a/Makefile 3 | @@ -416,8 +416,6 @@ 4 | # SHELL used by kbuild 5 | CONFIG_SHELL := sh 6 | 7 | -CSTD_FLAG := -std=gnu11 8 | - 9 | HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null) 10 | HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null) 11 | HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null) 12 | @@ -439,7 +437,7 @@ 13 | HOSTPKG_CONFIG = pkg-config 14 | 15 | KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \ 16 | + -O2 -fomit-frame-pointer -std=gnu11 17 | - -O2 -fomit-frame-pointer $(CSTD_FLAG) 18 | KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS) 19 | KBUILD_USERLDFLAGS := $(USERLDFLAGS) 20 | 21 | @@ -547,7 +545,7 @@ 22 | KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE 23 | 24 | KBUILD_CFLAGS := 25 | +KBUILD_CFLAGS += -std=gnu11 26 | -KBUILD_CFLAGS += $(CSTD_FLAG) 27 | KBUILD_CFLAGS += -fshort-wchar 28 | KBUILD_CFLAGS += -funsigned-char 29 | KBUILD_CFLAGS += -fno-common 30 | @@ -591,7 +589,7 @@ 31 | export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX 32 | export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD 33 | export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS LDFLAGS_MODULE 34 | +export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS 35 | -export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS CSTD_FLAG 36 | 37 | export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS 38 | export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE 39 | --- b/arch/arm64/kernel/vdso32/Makefile 40 | +++ a/arch/arm64/kernel/vdso32/Makefile 41 | @@ -65,7 +65,7 @@ 42 | -fno-strict-aliasing -fno-common \ 43 | -Werror-implicit-function-declaration \ 44 | -Wno-format-security \ 45 | + -std=gnu11 46 | - $(CSTD_FLAG) 47 | VDSO_CFLAGS += -O2 48 | # Some useful compiler-dependent flags from top-level Makefile 49 | VDSO_CFLAGS += $(call cc32-option,-Wno-pointer-sign) 50 | --- b/arch/x86/Makefile 51 | +++ a/arch/x86/Makefile 52 | @@ -47,7 +47,7 @@ 53 | 54 | # How to compile the 16-bit code. Note we always compile for -march=i386; 55 | # that way we can complain to the user if the CPU is insufficient. 56 | +REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \ 57 | -REALMODE_CFLAGS := $(CSTD_FLAG) -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \ 58 | -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \ 59 | -fno-strict-aliasing -fomit-frame-pointer -fno-pic \ 60 | -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none) 61 | --- b/drivers/firmware/efi/libstub/Makefile 62 | +++ a/drivers/firmware/efi/libstub/Makefile 63 | @@ -7,7 +7,7 @@ 64 | # 65 | 66 | # non-x86 reuses KBUILD_CFLAGS, x86 does not 67 | +cflags-y := $(KBUILD_CFLAGS) 68 | -cflags-y := $(KBUILD_CFLAGS) $(CSTD_FLAG) 69 | 70 | cflags-$(CONFIG_X86_32) := -march=i386 71 | cflags-$(CONFIG_X86_64) := -mcmodel=small 72 | @@ -18,7 +18,7 @@ 73 | $(call cc-disable-warning, address-of-packed-member) \ 74 | $(call cc-disable-warning, gnu) \ 75 | -fno-asynchronous-unwind-tables \ 76 | + $(CLANG_FLAGS) 77 | - $(CLANG_FLAGS) $(CSTD_FLAG) 78 | 79 | # arm64 uses the full KBUILD_CFLAGS so it's necessary to explicitly 80 | # disable the stackleak plugin 81 | @@ -42,7 +42,7 @@ 82 | -ffreestanding \ 83 | -fno-stack-protector \ 84 | $(call cc-option,-fno-addrsig) \ 85 | + -D__DISABLE_EXPORTS 86 | - -D__DISABLE_EXPORTS $(CSTD_FLAG) 87 | 88 | # 89 | # struct randomization only makes sense for Linux internal types, which the EFI 90 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2511-unvendor-drm-headers.patch: -------------------------------------------------------------------------------- 1 | commit 763000de8d4f8aee1eb0bc0cf36f3f45fba07a1f 2 | Author: Sasha Finkelstein 3 | Date: Wed Aug 21 13:31:16 2024 +0200 4 | 5 | unvendor drm-headers 6 | 7 | diff --git a/Source/Tools/LinuxEmulation/CMakeLists.txt b/Source/Tools/LinuxEmulation/CMakeLists.txt 8 | index 3076a31..6deb0e6 100644 9 | --- a/Source/Tools/LinuxEmulation/CMakeLists.txt 10 | +++ b/Source/Tools/LinuxEmulation/CMakeLists.txt 11 | @@ -72,7 +72,6 @@ target_include_directories(LinuxEmulation 12 | PRIVATE 13 | ${CMAKE_BINARY_DIR}/generated 14 | ${CMAKE_CURRENT_SOURCE_DIR}/ 15 | - ${PROJECT_SOURCE_DIR}/External/drm-headers/include/ 16 | ) 17 | 18 | target_include_directories(LinuxEmulation 19 | diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h b/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h 20 | index efecf2c..cded3a0 100644 21 | --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h 22 | +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/x32/Ioctl/drm.h 23 | @@ -10,23 +10,23 @@ extern "C" { 24 | // drm headers use a `__user` define that has an address_space attribute. This allows their tooling to see unsafe user-space accesses. 25 | // Define this to nothing so we don't need to modify those headers. 26 | #define __user 27 | -#include "fex-drm/drm.h" 28 | -#include "fex-drm/drm_mode.h" 29 | -#include "fex-drm/i915_drm.h" 30 | -#include "fex-drm/amdgpu_drm.h" 31 | -#include "fex-drm/asahi_drm.h" 32 | -#include "fex-drm/lima_drm.h" 33 | -#include "fex-drm/panfrost_drm.h" 34 | -#include "fex-drm/msm_drm.h" 35 | -#include "fex-drm/nouveau_drm.h" 36 | -#include "fex-drm/nova_drm.h" 37 | -#include "fex-drm/radeon_drm.h" 38 | -#include "fex-drm/vc4_drm.h" 39 | -#include "fex-drm/v3d_drm.h" 40 | -#include "fex-drm/panthor_drm.h" 41 | -#include "fex-drm/pvr_drm.h" 42 | -#include "fex-drm/virtgpu_drm.h" 43 | -#include "fex-drm/xe_drm.h" 44 | +#include 45 | +#include 46 | +#include 47 | +#include 48 | +#include 49 | +#include 50 | +#include 51 | +#include 52 | +#include 53 | +#include 54 | +#include 55 | +#include 56 | +#include 57 | +#include 58 | +#include 59 | +#include 60 | +#include 61 | } 62 | #include 63 | 64 | diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h b/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h 65 | index ae8b0fa..ddb565f 100644 66 | --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h 67 | +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/x64/Ioctl/drm.h 68 | @@ -7,17 +7,17 @@ 69 | 70 | #include 71 | extern "C" { 72 | -#include "fex-drm/drm.h" 73 | -#include "fex-drm/drm_mode.h" 74 | -#include "fex-drm/i915_drm.h" 75 | -#include "fex-drm/amdgpu_drm.h" 76 | -#include "fex-drm/lima_drm.h" 77 | -#include "fex-drm/panfrost_drm.h" 78 | -#include "fex-drm/msm_drm.h" 79 | -#include "fex-drm/nouveau_drm.h" 80 | -#include "fex-drm/vc4_drm.h" 81 | -#include "fex-drm/v3d_drm.h" 82 | -#include "fex-drm/virtgpu_drm.h" 83 | +#include 84 | +#include 85 | +#include 86 | +#include 87 | +#include 88 | +#include 89 | +#include 90 | +#include 91 | +#include 92 | +#include 93 | +#include 94 | } 95 | #include 96 | 97 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2507-thunks-toolchain-paths.patch: -------------------------------------------------------------------------------- 1 | diff --git a/CMakeLists.txt b/CMakeLists.txt 2 | index 14e15e370..551d3120f 100644 3 | --- a/CMakeLists.txt 4 | +++ b/CMakeLists.txt 5 | @@ -481,6 +481,9 @@ if (BUILD_THUNKS) 6 | "-DFEX_PROJECT_SOURCE_DIR=${FEX_PROJECT_SOURCE_DIR}" 7 | "-DGENERATOR_EXE=$" 8 | "-DX86_DEV_ROOTFS=${X86_DEV_ROOTFS}" 9 | + "-DX86_CFLAGS=${X86_CFLAGS}" 10 | + "-DX86_CXXFLAGS=${X86_CXXFLAGS}" 11 | + "-DX86_LDFLAGS=${X86_LDFLAGS}" 12 | INSTALL_COMMAND "" 13 | BUILD_ALWAYS ON 14 | DEPENDS thunkgen 15 | diff --git a/ThunkLibs/GuestLibs/CMakeLists.txt b/ThunkLibs/GuestLibs/CMakeLists.txt 16 | index cff9943e9..3b7482489 100644 17 | --- a/ThunkLibs/GuestLibs/CMakeLists.txt 18 | +++ b/ThunkLibs/GuestLibs/CMakeLists.txt 19 | @@ -67,10 +67,10 @@ function(generate NAME SOURCE_FILE) 20 | 21 | if (BITNESS EQUAL 32) 22 | set(BITNESS_FLAGS "-for-32bit-guest") 23 | - set(BITNESS_FLAGS2 "-m32" "--target=i686-linux-gnu" "-isystem" "/usr/i686-linux-gnu/include/") 24 | + set(BITNESS_FLAGS2 "-m32" "--target=i686-linux-gnu") 25 | else() 26 | set(BITNESS_FLAGS "") 27 | - set(BITNESS_FLAGS2 "--target=x86_64-linux-gnu" "-isystem" "/usr/x86_64-linux-gnu/include/") 28 | + set(BITNESS_FLAGS2 "--target=x86_64-linux-gnu") 29 | endif() 30 | 31 | add_custom_command( 32 | @@ -110,6 +110,7 @@ function(add_guest_lib NAME SONAME) 33 | 34 | add_library(${NAME}-guest ${TARGET_TYPE} ${SOURCE_FILE} ${GEN_lib${NAME}}) 35 | target_include_directories(${NAME}-guest PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/gen/") 36 | + target_include_directories(${NAME}-guest PRIVATE "__REPLACE_ME_WITH_HEADER_DIR__") 37 | target_compile_definitions(${NAME}-guest PRIVATE GUEST_THUNK_LIBRARY) 38 | target_link_libraries(${NAME}-guest PRIVATE lib${NAME}-guest-deps) 39 | 40 | diff --git a/ThunkLibs/libwayland-client/libwayland-client_interface.cpp b/ThunkLibs/libwayland-client/libwayland-client_interface.cpp 41 | index 575d2e195..c82672e3f 100644 42 | --- a/ThunkLibs/libwayland-client/libwayland-client_interface.cpp 43 | +++ b/ThunkLibs/libwayland-client/libwayland-client_interface.cpp 44 | @@ -1,3 +1,9 @@ 45 | +#ifndef __aarch64__ 46 | +#define _GLIBCXX_MATH_H 1 47 | +#define _MATH_H 1 48 | +double round(double); 49 | +#endif 50 | + 51 | #include 52 | 53 | #include 54 | diff --git a/Data/CMake/toolchain_x86_32.cmake b/Data/CMake/toolchain_x86_32.cmake 55 | index 89e3134d3..18fe655d1 100644 56 | --- a/Data/CMake/toolchain_x86_32.cmake 57 | +++ b/Data/CMake/toolchain_x86_32.cmake 58 | @@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS) 59 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 60 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 61 | else() 62 | - set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc -m32) 63 | - set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++ -m32) 64 | + set(CMAKE_C_FLAGS "${X86_CFLAGS}") 65 | + set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}") 66 | + set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__) 67 | + set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__) 68 | + set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}") 69 | + set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}") 70 | + set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}") 71 | endif() 72 | diff --git a/Data/CMake/toolchain_x86_64.cmake b/Data/CMake/toolchain_x86_64.cmake 73 | index 9aa856a01..8da9da8ee 100644 74 | --- a/Data/CMake/toolchain_x86_64.cmake 75 | +++ b/Data/CMake/toolchain_x86_64.cmake 76 | @@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS) 77 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 78 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 79 | else() 80 | - set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc) 81 | - set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++) 82 | + set(CMAKE_C_FLAGS "${X86_CFLAGS}") 83 | + set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}") 84 | + set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__) 85 | + set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__) 86 | + set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}") 87 | + set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}") 88 | + set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}") 89 | endif() 90 | -------------------------------------------------------------------------------- /app-emulation/muvm/muvm-0.5.0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | CRATES=" 7 | addr2line@0.22.0 8 | adler@1.0.2 9 | aho-corasick@1.1.3 10 | anstream@0.6.14 11 | anstyle-parse@0.2.4 12 | anstyle-query@1.0.3 13 | anstyle-wincon@3.0.3 14 | anstyle@1.0.7 15 | anyhow@1.0.91 16 | autocfg@1.4.0 17 | backtrace@0.3.72 18 | bindgen@0.69.4 19 | bitflags@2.5.0 20 | bpaf@0.9.12 21 | byteorder@1.5.0 22 | bytes@1.6.0 23 | cc@1.0.99 24 | cexpr@0.6.0 25 | cfg-if@1.0.0 26 | cfg_aliases@0.2.1 27 | clang-sys@1.7.0 28 | colorchoice@1.0.1 29 | const-str@0.6.2 30 | darling@0.14.4 31 | darling_core@0.14.4 32 | darling_macro@0.14.4 33 | derive_builder@0.11.2 34 | derive_builder_core@0.11.2 35 | derive_builder_macro@0.11.2 36 | either@1.11.0 37 | env_filter@0.1.0 38 | env_logger@0.11.8 39 | errno@0.3.8 40 | fastrand@2.1.0 41 | fnv@1.0.7 42 | futures-core@0.3.30 43 | futures-sink@0.3.30 44 | getrandom@0.2.15 45 | getset@0.1.5 46 | gimli@0.29.0 47 | glob@0.3.1 48 | hermit-abi@0.3.9 49 | hex@0.4.3 50 | ident_case@1.0.1 51 | input-linux-sys@0.9.0 52 | input-linux@0.7.1 53 | io-lifetimes@1.0.11 54 | is_terminal_polyfill@1.70.0 55 | itertools@0.12.1 56 | itoa@1.0.11 57 | jiff-static@0.2.10 58 | jiff@0.2.10 59 | lazy_static@1.4.0 60 | lazycell@1.3.0 61 | libc@0.2.172 62 | libudev-sys@0.1.4 63 | linux-raw-sys@0.4.13 64 | lock_api@0.4.12 65 | log@0.4.21 66 | memchr@2.7.2 67 | memoffset@0.9.1 68 | minimal-lexical@0.2.1 69 | miniz_oxide@0.7.3 70 | mio@0.8.11 71 | neli-proc-macros@0.2.0-rc3 72 | neli@0.7.0-rc3 73 | nix@0.29.0 74 | nix@0.30.1 75 | nom@7.1.3 76 | num_cpus@1.16.0 77 | object@0.35.0 78 | parking_lot@0.12.3 79 | parking_lot_core@0.9.10 80 | pin-project-lite@0.2.14 81 | pkg-config@0.3.31 82 | portable-atomic-util@0.2.4 83 | portable-atomic@1.11.0 84 | proc-macro-error-attr2@2.0.0 85 | proc-macro-error2@2.0.1 86 | proc-macro2@1.0.95 87 | procfs-core@0.17.0 88 | procfs@0.17.0 89 | quote@1.0.40 90 | redox_syscall@0.5.10 91 | regex-automata@0.4.6 92 | regex-syntax@0.8.3 93 | regex@1.10.4 94 | rustc-demangle@0.1.24 95 | rustc-hash@1.1.0 96 | rustix@0.38.34 97 | ryu@1.0.18 98 | scopeguard@1.2.0 99 | serde@1.0.203 100 | serde_derive@1.0.203 101 | serde_json@1.0.117 102 | shlex@1.3.0 103 | signal-hook-registry@1.4.2 104 | smallvec@1.14.0 105 | socket2@0.5.7 106 | strsim@0.10.0 107 | syn@1.0.109 108 | syn@2.0.100 109 | tempfile@3.10.1 110 | tokio-macros@2.3.0 111 | tokio-stream@0.1.15 112 | tokio-util@0.7.11 113 | tokio@1.38.0 114 | udev@0.9.1 115 | unicode-ident@1.0.12 116 | utf8parse@0.2.1 117 | uuid@1.10.0 118 | wasi@0.11.0+wasi-snapshot-preview1 119 | windows-sys@0.48.0 120 | windows-sys@0.52.0 121 | windows-targets@0.48.5 122 | windows-targets@0.52.5 123 | windows_aarch64_gnullvm@0.48.5 124 | windows_aarch64_gnullvm@0.52.5 125 | windows_aarch64_msvc@0.48.5 126 | windows_aarch64_msvc@0.52.5 127 | windows_i686_gnu@0.48.5 128 | windows_i686_gnu@0.52.5 129 | windows_i686_gnullvm@0.52.5 130 | windows_i686_msvc@0.48.5 131 | windows_i686_msvc@0.52.5 132 | windows_x86_64_gnu@0.48.5 133 | windows_x86_64_gnu@0.52.5 134 | windows_x86_64_gnullvm@0.48.5 135 | windows_x86_64_gnullvm@0.52.5 136 | windows_x86_64_msvc@0.48.5 137 | windows_x86_64_msvc@0.52.5 138 | " 139 | 140 | RUST_MIN_VER="1.72.0" 141 | 142 | inherit cargo 143 | 144 | DESCRIPTION="Run programs from your system in a microVM" 145 | HOMEPAGE="https://github.com/AsahiLinux/muvm" 146 | 147 | SRC_URI=" 148 | ${CARGO_CRATE_URIS} 149 | https://github.com/AsahiLinux/muvm/archive/refs/tags/${P}.tar.gz 150 | " 151 | 152 | S="${WORKDIR}/muvm-${P}" 153 | 154 | LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" 155 | SLOT="0" 156 | KEYWORDS="~arm64" 157 | 158 | BDEPEND=" 159 | virtual/pkgconfig 160 | " 161 | 162 | DEPEND=" 163 | >=dev-libs/libkrun-1.10.1 164 | " 165 | RDEPEND=" 166 | ${DEPEND} 167 | >=dev-libs/libkrunfw-4.7.1 168 | net-misc/passt 169 | net-misc/socat 170 | " 171 | 172 | src_compile() { 173 | cargo_src_compile --workspace 174 | } 175 | 176 | src_install() { 177 | local bin 178 | for bin in muvm{,-guest}; do 179 | dobin "$(cargo_target_dir)/$bin" 180 | done 181 | insinto /usr/share/wireplumber/scripts/client 182 | doins share/wireplumber/scripts/client/access-muvm.lua 183 | insinto /usr/share/wireplumber/wireplumber.conf.d 184 | doins share/wireplumber/wireplumber.conf.d/50-muvm-access.conf 185 | } 186 | -------------------------------------------------------------------------------- /app-emulation/FEX/FEX-2510.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | LLVM_COMPAT=( 19 20 21 ) 7 | LLVM_OPTIONAL=1 8 | 9 | inherit flag-o-matic cmake toolchain-funcs llvm-r1 check-reqs 10 | 11 | DESCRIPTION="A fast usermode x86 and x86-64 emulator for Arm64 Linux" 12 | HOMEPAGE="https://fex-emu.com" 13 | 14 | JEMALLOC_HASH="ce24593018ca5d5af7e5661ceda9744e02b59f8f" 15 | JEMALLOC_GLIBC_HASH="8436195ad5e1bc347d9b39743af3d29abee59f06" 16 | CPP_OPTPARSE_HASH="9f94388a339fcbb0bc95c17768eb786c85988f6e" 17 | ROBIN_MAP_HASH="d5683d9f1891e5b04e3e3b2192b5349dc8d814ea" 18 | 19 | # This need to be vendored since thunk generator does not support the latest version 20 | VULKAN_HEADERS_HASH="cacef3039d277c448c89336290ec3937270b0996" 21 | 22 | SRC_URI=" 23 | https://github.com/FEX-Emu/jemalloc/archive/${JEMALLOC_HASH}.tar.gz -> jemalloc-${JEMALLOC_HASH}.tar.gz 24 | https://github.com/FEX-Emu/jemalloc/archive/${JEMALLOC_GLIBC_HASH}.tar.gz -> jemalloc-glibc-${JEMALLOC_GLIBC_HASH}.tar.gz 25 | https://github.com/Sonicadvance1/cpp-optparse/archive/${CPP_OPTPARSE_HASH}.tar.gz -> cpp-optparse-${CPP_OPTPARSE_HASH}.tar.gz 26 | https://github.com/FEX-Emu/robin-map/archive/${ROBIN_MAP_HASH}.tar.gz -> robin-map-${ROBIN_MAP_HASH}.tar.gz 27 | thunks? ( 28 | https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_HASH}.tar.gz -> Vulkan-Headers-${VULKAN_HEADERS_HASH}.tar.gz 29 | ) 30 | https://github.com/FEX-Emu/${PN}/archive/refs/tags/${P}.tar.gz 31 | " 32 | 33 | S="${WORKDIR}/${PN}-${P}" 34 | 35 | LICENSE="MIT" 36 | SLOT="0" 37 | KEYWORDS="-* ~arm64" 38 | BDEPEND=" 39 | llvm-core/clang 40 | llvm-core/llvm 41 | llvm-core/lld 42 | thunks? ( 43 | sys-fs/squashfs-tools[zstd] 44 | $(llvm_gen_dep ' 45 | llvm-core/clang:${LLVM_SLOT}= 46 | llvm-core/llvm:${LLVM_SLOT}= 47 | ') 48 | ) 49 | " 50 | RDEPEND=" 51 | dev-libs/xxhash 52 | >=dev-libs/libfmt-11.0.2:= 53 | qt6? ( 54 | dev-qt/qtbase:6[gui,wayland(-),widgets,X(-)] 55 | dev-qt/qtdeclarative:6 56 | ) 57 | thunks? ( 58 | x11-libs/libX11 59 | x11-libs/libdrm 60 | dev-libs/wayland 61 | media-libs/alsa-lib 62 | media-libs/libglvnd 63 | x11-libs/libxcb 64 | ) 65 | >=app-emulation/fex-rootfs-gentoo-20250904-r1 66 | " 67 | DEPEND=" 68 | dev-cpp/range-v3 69 | >=sys-kernel/linux-headers-6.14 70 | ${RDEPEND} 71 | " 72 | 73 | PATCHES=" 74 | ${FILESDIR}/${PN}-2503-unvendor-drm-headers.patch 75 | ${FILESDIR}/${PN}-2503-thunkgen-gcc-install-dir.patch 76 | " 77 | 78 | IUSE="+fexconfig +qt6 +thunks" 79 | 80 | REQUIRED_USE=" 81 | fexconfig? ( qt6 ) 82 | thunks? ( ${LLVM_REQUIRED_USE} ) 83 | " 84 | 85 | pkg_pretend() { 86 | use thunks || return 87 | CHECKREQS_DISK_BUILD=4G 88 | check-reqs_pkg_pretend 89 | } 90 | 91 | pkg_setup() { 92 | use thunks || return 93 | CHECKREQS_DISK_BUILD=4G 94 | check-reqs_pkg_pretend 95 | llvm-r1_pkg_setup 96 | } 97 | 98 | src_unpack() { 99 | default 100 | local -A deps=( 101 | jemalloc "jemalloc-${JEMALLOC_HASH}" 102 | jemalloc_glibc "jemalloc-${JEMALLOC_GLIBC_HASH}" 103 | robin-map "robin-map-${ROBIN_MAP_HASH}" 104 | ) 105 | use thunks && deps[Vulkan-Headers]="Vulkan-Headers-${VULKAN_HEADERS_HASH}" 106 | for dep in "${!deps[@]}"; do 107 | rmdir "${S}/External/${dep}" || die 108 | mv "${WORKDIR}/${deps[${dep}]}" "${S}/External/${dep}" 109 | done 110 | rmdir "${S}/Source/Common/cpp-optparse" || die 111 | mv "${WORKDIR}/cpp-optparse-${CPP_OPTPARSE_HASH}" "${S}/Source/Common/cpp-optparse" || die 112 | cp "${FILESDIR}/toolchain_x86_32.cmake" "${S}/Data/CMake/" || die 113 | cp "${FILESDIR}/toolchain_x86_64.cmake" "${S}/Data/CMake/" || die 114 | if use thunks ; then 115 | unsquashfs -d "${WORKDIR}/fex-rootfs" "${ESYSROOT}/usr/share/fex-emu-rootfs-layers/gentoo/images/00-base.sqfs" || die 116 | unsquashfs -d "${WORKDIR}/fex-rootfs" -f "${ESYSROOT}/usr/share/fex-emu-rootfs-layers/gentoo/extra/chroot.sqfs" || die 117 | fi 118 | } 119 | 120 | src_configure() { 121 | if ! tc-is-clang ; then 122 | AR=llvm-ar 123 | CC=clang 124 | CXX=clang++ 125 | NM=llvm-nm 126 | RANLIB=llvm-ranlib 127 | STRIP=llvm-strip 128 | 129 | strip-unsupported-flags 130 | fi 131 | 132 | local mycmakeargs=( 133 | -DBUILD_TESTING=False 134 | -DENABLE_CCACHE=False 135 | -DENABLE_LTO=$(if tc-is-lto; then echo True; else echo False; fi) 136 | -DBUILD_FEXCONFIG=$(usex fexconfig) 137 | -DBUILD_THUNKS=$(usex thunks) 138 | -DENABLE_CLANG_THUNKS=True 139 | ) 140 | 141 | if use thunks; then 142 | mycmakeargs+=( 143 | -DX86_DEV_ROOTFS="${WORKDIR}/fex-rootfs" 144 | ) 145 | fi 146 | 147 | cmake_src_configure 148 | } 149 | 150 | src_install() { 151 | cmake_src_install 152 | tc-is-lto && dostrip -x /usr/lib/libFEXCore.a 153 | rm "${ED}/usr/share/man/man1/FEX.1.gz" || die 154 | if use thunks; then 155 | dostrip -x /usr/share/fex-emu/GuestThunks{,_32}/ 156 | fi 157 | } 158 | 159 | pkg_postinst() { 160 | if [[ "$(getconf PAGESIZE)" -ne 4096 ]] && ! type -P "${EPREFIX}/usr/bin/muvm" >/dev/null ; then 161 | ewarn "Your system page size is not 4096 and as such" 162 | ewarn "you need to install app-emulation/muvm or a similar solution" 163 | ewarn "for FEX to work on your machine." 164 | fi 165 | } 166 | -------------------------------------------------------------------------------- /app-emulation/FEX/FEX-2511.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | LLVM_COMPAT=( 19 20 21 ) 7 | LLVM_OPTIONAL=1 8 | 9 | inherit flag-o-matic cmake toolchain-funcs llvm-r1 check-reqs 10 | 11 | DESCRIPTION="A fast usermode x86 and x86-64 emulator for Arm64 Linux" 12 | HOMEPAGE="https://fex-emu.com" 13 | 14 | JEMALLOC_HASH="ce24593018ca5d5af7e5661ceda9744e02b59f8f" 15 | JEMALLOC_GLIBC_HASH="8436195ad5e1bc347d9b39743af3d29abee59f06" 16 | CPP_OPTPARSE_HASH="9f94388a339fcbb0bc95c17768eb786c85988f6e" 17 | ROBIN_MAP_HASH="d5683d9f1891e5b04e3e3b2192b5349dc8d814ea" 18 | 19 | # This need to be vendored since thunk generator does not support the latest version 20 | VULKAN_HEADERS_HASH="cacef3039d277c448c89336290ec3937270b0996" 21 | 22 | SRC_URI=" 23 | https://github.com/FEX-Emu/jemalloc/archive/${JEMALLOC_HASH}.tar.gz -> jemalloc-${JEMALLOC_HASH}.tar.gz 24 | https://github.com/FEX-Emu/jemalloc/archive/${JEMALLOC_GLIBC_HASH}.tar.gz -> jemalloc-glibc-${JEMALLOC_GLIBC_HASH}.tar.gz 25 | https://github.com/Sonicadvance1/cpp-optparse/archive/${CPP_OPTPARSE_HASH}.tar.gz -> cpp-optparse-${CPP_OPTPARSE_HASH}.tar.gz 26 | https://github.com/FEX-Emu/robin-map/archive/${ROBIN_MAP_HASH}.tar.gz -> robin-map-${ROBIN_MAP_HASH}.tar.gz 27 | thunks? ( 28 | https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_HASH}.tar.gz -> Vulkan-Headers-${VULKAN_HEADERS_HASH}.tar.gz 29 | ) 30 | https://github.com/FEX-Emu/${PN}/archive/refs/tags/${P}.tar.gz 31 | " 32 | 33 | S="${WORKDIR}/${PN}-${P}" 34 | 35 | LICENSE="MIT" 36 | SLOT="0" 37 | KEYWORDS="-* ~arm64" 38 | BDEPEND=" 39 | llvm-core/clang 40 | llvm-core/llvm 41 | llvm-core/lld 42 | thunks? ( 43 | sys-fs/squashfs-tools[zstd] 44 | $(llvm_gen_dep ' 45 | llvm-core/clang:${LLVM_SLOT}= 46 | llvm-core/llvm:${LLVM_SLOT}= 47 | ') 48 | ) 49 | " 50 | RDEPEND=" 51 | dev-libs/xxhash 52 | >=dev-libs/libfmt-11.0.2:= 53 | qt6? ( 54 | dev-qt/qtbase:6[gui,wayland(-),widgets,X(-)] 55 | dev-qt/qtdeclarative:6 56 | ) 57 | thunks? ( 58 | x11-libs/libX11 59 | x11-libs/libdrm 60 | dev-libs/wayland 61 | media-libs/alsa-lib 62 | media-libs/libglvnd 63 | x11-libs/libxcb 64 | ) 65 | >=app-emulation/fex-rootfs-gentoo-20250904-r1 66 | " 67 | DEPEND=" 68 | dev-cpp/range-v3 69 | >=sys-kernel/linux-headers-6.17 70 | ${RDEPEND} 71 | " 72 | 73 | PATCHES=" 74 | ${FILESDIR}/${PN}-2511-unvendor-drm-headers.patch 75 | ${FILESDIR}/${PN}-2503-thunkgen-gcc-install-dir.patch 76 | " 77 | 78 | IUSE="+fexconfig +qt6 +thunks" 79 | 80 | REQUIRED_USE=" 81 | fexconfig? ( qt6 ) 82 | thunks? ( ${LLVM_REQUIRED_USE} ) 83 | " 84 | 85 | pkg_pretend() { 86 | use thunks || return 87 | CHECKREQS_DISK_BUILD=4G 88 | check-reqs_pkg_pretend 89 | } 90 | 91 | pkg_setup() { 92 | use thunks || return 93 | CHECKREQS_DISK_BUILD=4G 94 | check-reqs_pkg_pretend 95 | llvm-r1_pkg_setup 96 | } 97 | 98 | src_unpack() { 99 | default 100 | local -A deps=( 101 | jemalloc "jemalloc-${JEMALLOC_HASH}" 102 | jemalloc_glibc "jemalloc-${JEMALLOC_GLIBC_HASH}" 103 | robin-map "robin-map-${ROBIN_MAP_HASH}" 104 | ) 105 | use thunks && deps[Vulkan-Headers]="Vulkan-Headers-${VULKAN_HEADERS_HASH}" 106 | for dep in "${!deps[@]}"; do 107 | rmdir "${S}/External/${dep}" || die 108 | mv "${WORKDIR}/${deps[${dep}]}" "${S}/External/${dep}" 109 | done 110 | rmdir "${S}/Source/Common/cpp-optparse" || die 111 | mv "${WORKDIR}/cpp-optparse-${CPP_OPTPARSE_HASH}" "${S}/Source/Common/cpp-optparse" || die 112 | cp "${FILESDIR}/toolchain_x86_32.cmake" "${S}/Data/CMake/" || die 113 | cp "${FILESDIR}/toolchain_x86_64.cmake" "${S}/Data/CMake/" || die 114 | if use thunks ; then 115 | unsquashfs -d "${WORKDIR}/fex-rootfs" "${ESYSROOT}/usr/share/fex-emu-rootfs-layers/gentoo/images/00-base.sqfs" || die 116 | unsquashfs -d "${WORKDIR}/fex-rootfs" -f "${ESYSROOT}/usr/share/fex-emu-rootfs-layers/gentoo/extra/chroot.sqfs" || die 117 | fi 118 | } 119 | 120 | src_configure() { 121 | if ! tc-is-clang ; then 122 | AR=llvm-ar 123 | CC=clang 124 | CXX=clang++ 125 | NM=llvm-nm 126 | RANLIB=llvm-ranlib 127 | STRIP=llvm-strip 128 | 129 | strip-unsupported-flags 130 | fi 131 | 132 | local mycmakeargs=( 133 | -DBUILD_TESTING=False 134 | -DENABLE_CCACHE=False 135 | -DENABLE_LTO=$(if tc-is-lto; then echo True; else echo False; fi) 136 | -DBUILD_FEXCONFIG=$(usex fexconfig) 137 | -DBUILD_THUNKS=$(usex thunks) 138 | -DENABLE_CLANG_THUNKS=True 139 | ) 140 | 141 | if use thunks; then 142 | mycmakeargs+=( 143 | -DX86_DEV_ROOTFS="${WORKDIR}/fex-rootfs" 144 | ) 145 | fi 146 | 147 | cmake_src_configure 148 | } 149 | 150 | src_install() { 151 | cmake_src_install 152 | tc-is-lto && dostrip -x /usr/lib/libFEXCore.a 153 | rm "${ED}/usr/share/man/man1/FEX.1.gz" || die 154 | if use thunks; then 155 | dostrip -x /usr/share/fex-emu/GuestThunks{,_32}/ 156 | fi 157 | } 158 | 159 | pkg_postinst() { 160 | if [[ "$(getconf PAGESIZE)" -ne 4096 ]] && ! type -P "${EPREFIX}/usr/bin/muvm" >/dev/null ; then 161 | ewarn "Your system page size is not 4096 and as such" 162 | ewarn "you need to install app-emulation/muvm or a similar solution" 163 | ewarn "for FEX to work on your machine." 164 | fi 165 | } 166 | -------------------------------------------------------------------------------- /app-emulation/FEX/FEX-2512.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | LLVM_COMPAT=( 19 20 21 ) 7 | LLVM_OPTIONAL=1 8 | 9 | inherit flag-o-matic cmake toolchain-funcs llvm-r1 check-reqs 10 | 11 | DESCRIPTION="A fast usermode x86 and x86-64 emulator for Arm64 Linux" 12 | HOMEPAGE="https://fex-emu.com" 13 | 14 | JEMALLOC_HASH="ce24593018ca5d5af7e5661ceda9744e02b59f8f" 15 | JEMALLOC_GLIBC_HASH="8436195ad5e1bc347d9b39743af3d29abee59f06" 16 | CPP_OPTPARSE_HASH="9f94388a339fcbb0bc95c17768eb786c85988f6e" 17 | ROBIN_MAP_HASH="d5683d9f1891e5b04e3e3b2192b5349dc8d814ea" 18 | 19 | # This need to be vendored since thunk generator does not support the latest version 20 | VULKAN_HEADERS_HASH="cacef3039d277c448c89336290ec3937270b0996" 21 | 22 | SRC_URI=" 23 | https://github.com/FEX-Emu/jemalloc/archive/${JEMALLOC_HASH}.tar.gz -> jemalloc-${JEMALLOC_HASH}.tar.gz 24 | https://github.com/FEX-Emu/jemalloc/archive/${JEMALLOC_GLIBC_HASH}.tar.gz -> jemalloc-glibc-${JEMALLOC_GLIBC_HASH}.tar.gz 25 | https://github.com/Sonicadvance1/cpp-optparse/archive/${CPP_OPTPARSE_HASH}.tar.gz -> cpp-optparse-${CPP_OPTPARSE_HASH}.tar.gz 26 | https://github.com/FEX-Emu/robin-map/archive/${ROBIN_MAP_HASH}.tar.gz -> robin-map-${ROBIN_MAP_HASH}.tar.gz 27 | thunks? ( 28 | https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_HASH}.tar.gz -> Vulkan-Headers-${VULKAN_HEADERS_HASH}.tar.gz 29 | ) 30 | https://github.com/FEX-Emu/${PN}/archive/refs/tags/${P}.tar.gz 31 | " 32 | 33 | S="${WORKDIR}/${PN}-${P}" 34 | 35 | LICENSE="MIT" 36 | SLOT="0" 37 | KEYWORDS="-* ~arm64" 38 | BDEPEND=" 39 | llvm-core/clang 40 | llvm-core/llvm 41 | llvm-core/lld 42 | thunks? ( 43 | sys-fs/squashfs-tools[zstd] 44 | $(llvm_gen_dep ' 45 | llvm-core/clang:${LLVM_SLOT}= 46 | llvm-core/llvm:${LLVM_SLOT}= 47 | ') 48 | ) 49 | " 50 | RDEPEND=" 51 | dev-libs/xxhash 52 | >=dev-libs/libfmt-11.0.2:= 53 | qt6? ( 54 | dev-qt/qtbase:6[gui,wayland(-),widgets,X(-)] 55 | dev-qt/qtdeclarative:6 56 | ) 57 | thunks? ( 58 | x11-libs/libX11 59 | x11-libs/libdrm 60 | dev-libs/wayland 61 | media-libs/alsa-lib 62 | media-libs/libglvnd 63 | x11-libs/libxcb 64 | ) 65 | >=app-emulation/fex-rootfs-gentoo-20250904-r1 66 | " 67 | DEPEND=" 68 | dev-cpp/range-v3 69 | >=sys-kernel/linux-headers-6.17 70 | ${RDEPEND} 71 | " 72 | 73 | PATCHES=" 74 | ${FILESDIR}/${PN}-2511-unvendor-drm-headers.patch 75 | ${FILESDIR}/${PN}-2503-thunkgen-gcc-install-dir.patch 76 | " 77 | 78 | IUSE="+fexconfig +qt6 +thunks" 79 | 80 | REQUIRED_USE=" 81 | fexconfig? ( qt6 ) 82 | thunks? ( ${LLVM_REQUIRED_USE} ) 83 | " 84 | 85 | pkg_pretend() { 86 | use thunks || return 87 | CHECKREQS_DISK_BUILD=4G 88 | check-reqs_pkg_pretend 89 | } 90 | 91 | pkg_setup() { 92 | use thunks || return 93 | CHECKREQS_DISK_BUILD=4G 94 | check-reqs_pkg_pretend 95 | llvm-r1_pkg_setup 96 | } 97 | 98 | src_unpack() { 99 | default 100 | local -A deps=( 101 | jemalloc "jemalloc-${JEMALLOC_HASH}" 102 | jemalloc_glibc "jemalloc-${JEMALLOC_GLIBC_HASH}" 103 | robin-map "robin-map-${ROBIN_MAP_HASH}" 104 | ) 105 | use thunks && deps[Vulkan-Headers]="Vulkan-Headers-${VULKAN_HEADERS_HASH}" 106 | for dep in "${!deps[@]}"; do 107 | rmdir "${S}/External/${dep}" || die 108 | mv "${WORKDIR}/${deps[${dep}]}" "${S}/External/${dep}" 109 | done 110 | rmdir "${S}/Source/Common/cpp-optparse" || die 111 | mv "${WORKDIR}/cpp-optparse-${CPP_OPTPARSE_HASH}" "${S}/Source/Common/cpp-optparse" || die 112 | cp "${FILESDIR}/toolchain_x86_32.cmake" "${S}/Data/CMake/" || die 113 | cp "${FILESDIR}/toolchain_x86_64.cmake" "${S}/Data/CMake/" || die 114 | if use thunks ; then 115 | unsquashfs -d "${WORKDIR}/fex-rootfs" "${ESYSROOT}/usr/share/fex-emu-rootfs-layers/gentoo/images/00-base.sqfs" || die 116 | unsquashfs -d "${WORKDIR}/fex-rootfs" -f "${ESYSROOT}/usr/share/fex-emu-rootfs-layers/gentoo/extra/chroot.sqfs" || die 117 | fi 118 | } 119 | 120 | src_configure() { 121 | if ! tc-is-clang ; then 122 | AR=llvm-ar 123 | CC=clang 124 | CXX=clang++ 125 | NM=llvm-nm 126 | RANLIB=llvm-ranlib 127 | STRIP=llvm-strip 128 | 129 | strip-unsupported-flags 130 | fi 131 | 132 | local mycmakeargs=( 133 | -DBUILD_TESTING=False 134 | -DENABLE_CCACHE=False 135 | -DENABLE_LTO=$(if tc-is-lto; then echo True; else echo False; fi) 136 | -DBUILD_FEXCONFIG=$(usex fexconfig) 137 | -DBUILD_THUNKS=$(usex thunks) 138 | -DENABLE_CLANG_THUNKS=True 139 | ) 140 | 141 | if use thunks; then 142 | mycmakeargs+=( 143 | -DX86_DEV_ROOTFS="${WORKDIR}/fex-rootfs" 144 | ) 145 | fi 146 | 147 | cmake_src_configure 148 | } 149 | 150 | src_install() { 151 | cmake_src_install 152 | tc-is-lto && dostrip -x /usr/lib/libFEXCore.a 153 | rm "${ED}/usr/share/man/man1/FEX.1.gz" || die 154 | if use thunks; then 155 | dostrip -x /usr/share/fex-emu/GuestThunks{,_32}/ 156 | fi 157 | } 158 | 159 | pkg_postinst() { 160 | if [[ "$(getconf PAGESIZE)" -ne 4096 ]] && ! type -P "${EPREFIX}/usr/bin/muvm" >/dev/null ; then 161 | ewarn "Your system page size is not 4096 and as such" 162 | ewarn "you need to install app-emulation/muvm or a similar solution" 163 | ewarn "for FEX to work on your machine." 164 | fi 165 | } 166 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/files/2981-kbuild-gcc15-gnu23-to-gnu11-fix.patch: -------------------------------------------------------------------------------- 1 | From 1f56570ab7f6fc4feaa10ca351a8dea90f97bab7 Mon Sep 17 00:00:00 2001 2 | From: Janne Grunau 3 | Date: Thu, 20 Mar 2025 21:50:07 +0100 4 | Subject: [PATCH 2981/2981] kbuild: gcc15 gnu23 to gnu11 fix 5 | 6 | iGCC 15 defaults to -std=gnu23. While most of the kernel builds with -std=gnu11, 7 | some of it forgets to pass that flag. Hack in CSTD_FLAG to pass -std=gnu11 8 | everywhere. 9 | 10 | https://lore.kernel.org/linux-kbuild/20241119044724.GA2246422@thelio-3990X/ 11 | --- 12 | Makefile | 8 +++++--- 13 | arch/arm64/kernel/vdso32/Makefile | 2 +- 14 | arch/x86/Makefile | 2 +- 15 | drivers/firmware/efi/libstub/Makefile | 6 +++--- 16 | 4 files changed, 10 insertions(+), 8 deletions(-) 17 | 18 | diff --git a/Makefile b/Makefile 19 | index cde448edb403..2c68761d976e 100644 20 | --- a/Makefile 21 | +++ b/Makefile 22 | @@ -441,6 +441,8 @@ export KCONFIG_CONFIG 23 | # SHELL used by kbuild 24 | CONFIG_SHELL := sh 25 | 26 | +CSTD_FLAG := -std=gnu11 27 | + 28 | HOST_LFS_CFLAGS := $(shell getconf LFS_CFLAGS 2>/dev/null) 29 | HOST_LFS_LDFLAGS := $(shell getconf LFS_LDFLAGS 2>/dev/null) 30 | HOST_LFS_LIBS := $(shell getconf LFS_LIBS 2>/dev/null) 31 | @@ -462,7 +464,7 @@ HOSTRUSTC = rustc 32 | HOSTPKG_CONFIG = pkg-config 33 | 34 | KBUILD_USERHOSTCFLAGS := -Wall -Wmissing-prototypes -Wstrict-prototypes \ 35 | - -O2 -fomit-frame-pointer -std=gnu11 36 | + -O2 -fomit-frame-pointer $(CSTD_FLAG) 37 | KBUILD_USERCFLAGS := $(KBUILD_USERHOSTCFLAGS) $(USERCFLAGS) 38 | KBUILD_USERLDFLAGS := $(USERLDFLAGS) 39 | 40 | @@ -576,7 +578,7 @@ LINUXINCLUDE := \ 41 | KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE 42 | 43 | KBUILD_CFLAGS := 44 | -KBUILD_CFLAGS += -std=gnu11 45 | +KBUILD_CFLAGS += $(CSTD_FLAG) 46 | KBUILD_CFLAGS += -fshort-wchar 47 | KBUILD_CFLAGS += -funsigned-char 48 | KBUILD_CFLAGS += -fno-common 49 | @@ -623,7 +625,7 @@ export CPP AR NM STRIP OBJCOPY OBJDUMP READELF PAHOLE RESOLVE_BTFIDS LEX YACC AW 50 | export PERL PYTHON3 CHECK CHECKFLAGS MAKE UTS_MACHINE HOSTCXX 51 | export KGZIP KBZIP2 KLZOP LZMA LZ4 XZ ZSTD 52 | export KBUILD_HOSTCXXFLAGS KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS KBUILD_PROCMACROLDFLAGS LDFLAGS_MODULE 53 | -export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS 54 | +export KBUILD_USERCFLAGS KBUILD_USERLDFLAGS CSTD_FLAG 55 | 56 | export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS 57 | export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE 58 | diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile 59 | index 25a2cb6317f3..5f9d5c38ed9e 100644 60 | --- a/arch/arm64/kernel/vdso32/Makefile 61 | +++ b/arch/arm64/kernel/vdso32/Makefile 62 | @@ -65,7 +65,7 @@ VDSO_CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ 63 | -fno-strict-aliasing -fno-common \ 64 | -Werror-implicit-function-declaration \ 65 | -Wno-format-security \ 66 | - -std=gnu11 67 | + $(CSTD_FLAG) 68 | VDSO_CFLAGS += -O2 69 | # Some useful compiler-dependent flags from top-level Makefile 70 | VDSO_CFLAGS += $(call cc32-option,-Wno-pointer-sign) 71 | diff --git a/arch/x86/Makefile b/arch/x86/Makefile 72 | index 5b773b34768d..d5c851dd0653 100644 73 | --- a/arch/x86/Makefile 74 | +++ b/arch/x86/Makefile 75 | @@ -47,7 +47,7 @@ endif 76 | 77 | # How to compile the 16-bit code. Note we always compile for -march=i386; 78 | # that way we can complain to the user if the CPU is insufficient. 79 | -REALMODE_CFLAGS := -std=gnu11 -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \ 80 | +REALMODE_CFLAGS := $(CSTD_FLAG) -m16 -g -Os -DDISABLE_BRANCH_PROFILING -D__DISABLE_EXPORTS \ 81 | -Wall -Wstrict-prototypes -march=i386 -mregparm=3 \ 82 | -fno-strict-aliasing -fomit-frame-pointer -fno-pic \ 83 | -mno-mmx -mno-sse $(call cc-option,-fcf-protection=none) 84 | diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile 85 | index 1141cd06011f..b5c831a8602e 100644 86 | --- a/drivers/firmware/efi/libstub/Makefile 87 | +++ b/drivers/firmware/efi/libstub/Makefile 88 | @@ -7,7 +7,7 @@ 89 | # 90 | 91 | # non-x86 reuses KBUILD_CFLAGS, x86 does not 92 | -cflags-y := $(KBUILD_CFLAGS) 93 | +cflags-y := $(KBUILD_CFLAGS) $(CSTD_FLAG) 94 | 95 | cflags-$(CONFIG_X86_32) := -march=i386 96 | cflags-$(CONFIG_X86_64) := -mcmodel=small 97 | @@ -18,7 +18,7 @@ cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -std=gnu11 \ 98 | $(call cc-disable-warning, address-of-packed-member) \ 99 | $(call cc-disable-warning, gnu) \ 100 | -fno-asynchronous-unwind-tables \ 101 | - $(CLANG_FLAGS) 102 | + $(CLANG_FLAGS) $(CSTD_FLAG) 103 | 104 | # arm64 uses the full KBUILD_CFLAGS so it's necessary to explicitly 105 | # disable the stackleak plugin 106 | @@ -42,7 +42,7 @@ KBUILD_CFLAGS := $(subst $(CC_FLAGS_FTRACE),,$(cflags-y)) \ 107 | -ffreestanding \ 108 | -fno-stack-protector \ 109 | $(call cc-option,-fno-addrsig) \ 110 | - -D__DISABLE_EXPORTS 111 | + -D__DISABLE_EXPORTS $(CSTD_FLAG) 112 | 113 | # 114 | # struct randomization only makes sense for Linux internal types, which the EFI 115 | -- 116 | 2.48.1 117 | 118 | -------------------------------------------------------------------------------- /media-libs/bankstown-lv2/Manifest: -------------------------------------------------------------------------------- 1 | DIST bankstown-lv2-1.1.0.tar.gz 6655 BLAKE2B 209d02ea59c5bf4eee46d7ef503b528e48f8c39b270bfb28f9b72eeca6dfb108ff647afd955c45c45099dd67f13422e09965da6885df9b228420c7fa1b0ceacc SHA512 74dbb96440f0260e08b3f96b28c310326d63bdb4360d4f43f2e1f9c89ff9c0fd4f3c81c78837e64df77e16034e28a23be217b647f3008cf5293c959a26f895d2 2 | DIST biquad-0.4.2.crate 11032 BLAKE2B b7eb20732f876e6ad59ad76552e6da69752cc9fd1df0a6be46881e39a6fb93e442143fca8cbeba23798d7e2d43270a8e9538dbebf58d68f969f085d929390f27 SHA512 354b1c3c2693e522daca5a3a5ab0c0174f173cf69ad1e65297a0774be69bda049a59ce1492f2e107e64b8f0be892bd493b327a9db5ca5f1cfdb0c905ddc27881 3 | DIST libm-0.1.4.crate 110593 BLAKE2B 5018f4efbc8fd45ff88a28e92c273bb3b48724009e17eadd0d4abb8e34b0fc8784607f71eebaa2f308dedb3185969f092d4305cd1d2cef7a53f7d8774390e38f SHA512 6bc647425ec8be5995ad4798427a86e28282b06532b8e6a53745e2a2ac16652d087b84c0946a4858a49d98995b9e543e1764765d270bf5569cd2ad92d52b81f2 4 | DIST lv2-0.6.0.crate 21100 BLAKE2B 67d18f38629071b8fd68239cc5fdfe8e3801b4178dff1a3470a93d21e04a8ecc3f8184acc05465f0b249691540739261121140a647791b2818465fc028f1bf8e SHA512 062c3fd2f642fb9dc1e97a3bd38c7cfc84f501866f540466b48bd075f81f30f02bee165079140be3ec2772a58aa3263b6f130e0d23ff95b123e679480dcf64ad 5 | DIST lv2-atom-2.0.0.crate 27543 BLAKE2B 92f4254b086ccdae6a6c9145aaecc1588e4e7df603ad6c55033eb0eeecd97e0591625ae4cecd86ab466937c3908324e08bc5794441d26bac40b3e0c2c60e04d1 SHA512 81a16bd6d3d761a63a647d2fbecb63b04ca2e77a480185f2f78a7dd1aee15e7c90c8e50ae7b21e52cb7d5dab9052ccfce9676c0547318676cd308ee08349f9fc 6 | DIST lv2-core-3.0.0.crate 19734 BLAKE2B 917eb55123ac77313e4c08329db0d943a9a6da84cb3d74dc49c0e578726f93500681e5ff03fbf9b951c976fa9af0c724e3d567afd2829ebe4e04e54425ea63d8 SHA512 53e67ca411e6f14fcde9dbffa8192127480ec3802a076f3d54227ac6aa7d852fe8fbc71a7a3a1b3aed505ed5ed262044b5f857b32b93f34599f39dc0f753bb7a 7 | DIST lv2-core-derive-2.1.1.crate 9012 BLAKE2B 6679efa0aeead8ca92fac0043e1dfc40e1c74343b5e0380f37fa608954d85bcf09591ba82616412c35ee48890e2c7b03cb0c883f4644852d3c4b45f0f1e2b21e SHA512 bcea40f70591c765001626cc93fa09cac25f2921372539e5311a8d7e38fc3ca466082b44c043dd503c3fe847a26e152808fec0679736eaa1b66f95a2ba38d581 8 | DIST lv2-midi-1.2.0.crate 9257 BLAKE2B 9ee1af327f32e9187fc28480ed774256be34cec9947f6d7111c8902c1f417a2c1530578966bba2d882e30cd92174862aee5b24e3cb12691f8d10c945acf8fa07 SHA512 499e1a77c2853d33acbbb5ee13d79d3bc0f1712ce0cbe4b04824c35dccaa3c2936eaf6c66360c311a4a5ef106bf7d43d4c5c2c63ff7cf4a00fae39d5146f78ba 9 | DIST lv2-sys-2.0.0.crate 142443 BLAKE2B 5d25a008a30cb0c83e26e7d4e9c9f16f01a26b2e68a942cb08d5e59daa5668657b9a36eb4acec4ae4337ecd5f1a99febb331d73694d983690c12d5fd96603f78 SHA512 f9267bf0efb547e59c39f48b7180b86515bdf67e47226f36e08309ed5e4253afc4d6a608e8d3b48a10d450ebe4e48c37aa8b63477a6186a97ca5ef17c8f1959f 10 | DIST lv2-units-0.1.3.crate 6875 BLAKE2B 4b6e3588c003b7ee4751847619ce4c0b4c6983d833e5d36b38f1f1e03ccefa065432eef75217185ba569c53210018c3bedba8755790333cfef6decb085632b00 SHA512 f95316a912ed461e1a7db4f033831c8b8ed53f5a0837b1fb51513f9ee4f7a486724274e0dac19674bc91526f9d3a76999ad4bf8b2636d2a0521909c285f02adf 11 | DIST lv2-urid-2.1.0.crate 7912 BLAKE2B a015349a93331c605089e590d68e337ec3f89789cc2634a7a31a0be7d8e5382f80a56a6920c2b5b94c2cc8a43845702b88f00cd46692707431738b030cc9344c SHA512 b97704bdfc7738574535a1355cc3777de3574fa364545519ebbaf6a79dc33e18a1987b7866924cf4bb7daf2013e343c6e0dc761452e747e656466df3ecadad6c 12 | DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1 13 | DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c 14 | DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d 15 | DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 16 | DIST urid-0.1.0.crate 11158 BLAKE2B b9181e3deba0ca7b81c262eb7748c2ed4a3d1a38ec6597ec7fa13159dc6cb843f3ef82a513a01548bbcf9bfcb57447eddb1b8ba4fefa91cb8715e398d3bf2453 SHA512 1b90267323b3609e467fe47ee4e5b82d60cae86f8f0604779f4a07063fb2d14f733f1fb16ff857efed1797ffe7134abcb5173e61ee52f66808d3632d4751c812 17 | DIST urid-derive-0.1.1.crate 6976 BLAKE2B b16f166ee78318627972b96f442d3c4e93430e6762d603cb20480bbfa1292895792e95161d216d5f5f20c6087f6eeb402cac72ed5f23a30b74d34e774949b811 SHA512 15229f247556366a7c7ca23bb3dbd5de8bfe566af4c1e98647087cf910bce84852d57d2456fdea11bd3d454d368a6b5840f43f3d3acaa55e98b9bfc0466b1bed 18 | DIST wmidi-3.1.0.crate 11511 BLAKE2B 6cfcda61ac0dafab3c991af783f275bf674713db54a7f0f63cf117acacab37f931cdff7fa385bc18d2d74d1a9bc39c45ccb98d12b329a6a54202b03b197dbb25 SHA512 c349166378d4a4e80139f374bef413036ceb4fc11a6c9b52f61fd00e2754505f3fc30594babb8286b40477690fc7a0303df351ea0b4b0f6679911eaed5d0aaa8 19 | -------------------------------------------------------------------------------- /dev-libs/libkrun/libkrun-1.16.0.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | CRATES=" 7 | addr2line@0.24.2 8 | adler2@2.0.0 9 | aho-corasick@1.1.3 10 | allocator-api2@0.2.21 11 | annotate-snippets@0.9.2 12 | anstream@0.6.19 13 | anstyle-parse@0.2.7 14 | anstyle-query@1.1.3 15 | anstyle-wincon@3.0.9 16 | anstyle@1.0.11 17 | anyhow@1.0.98 18 | async-trait@0.1.88 19 | autocfg@1.4.0 20 | backtrace@0.3.75 21 | base64@0.22.1 22 | bincode@1.3.3 23 | bindgen@0.69.5 24 | bindgen@0.72.0 25 | bitfield-macros@0.19.1 26 | bitfield@0.19.1 27 | bitflags@1.3.2 28 | bitflags@2.9.1 29 | block-buffer@0.10.4 30 | bumpalo@3.18.1 31 | byteorder@1.5.0 32 | bzip2-sys@0.1.13+1.0.8 33 | bzip2@0.5.2 34 | caps@0.5.5 35 | cc@1.2.26 36 | cexpr@0.6.0 37 | cfg-expr@0.15.8 38 | cfg-if@1.0.0 39 | cfg_aliases@0.2.1 40 | clang-sys@1.8.1 41 | codicon@3.0.0 42 | colorchoice@1.0.4 43 | convert_case@0.6.0 44 | cookie-factory@0.3.3 45 | cpufeatures@0.2.17 46 | crc32fast@1.4.2 47 | crossbeam-channel@0.5.15 48 | crossbeam-utils@0.8.21 49 | crypto-common@0.1.6 50 | digest@0.10.7 51 | dirs-sys@0.5.0 52 | dirs@6.0.0 53 | either@1.15.0 54 | env_filter@0.1.3 55 | env_logger@0.11.8 56 | equivalent@1.0.2 57 | flate2@1.1.1 58 | foldhash@0.1.5 59 | foreign-types-shared@0.1.1 60 | foreign-types@0.3.2 61 | futures-channel@0.3.31 62 | futures-core@0.3.31 63 | futures-executor@0.3.31 64 | futures-io@0.3.31 65 | futures-macro@0.3.31 66 | futures-sink@0.3.31 67 | futures-task@0.3.31 68 | futures-util@0.3.31 69 | futures@0.3.31 70 | generic-array@0.14.7 71 | getrandom@0.2.16 72 | getrandom@0.3.3 73 | gimli@0.31.1 74 | glob@0.3.2 75 | hashbrown@0.15.3 76 | heck@0.5.0 77 | hex@0.4.3 78 | imago@0.1.5 79 | indexmap@2.9.0 80 | iocuddle@0.1.1 81 | is_terminal_polyfill@1.70.1 82 | itertools@0.12.1 83 | itoa@1.0.15 84 | jiff-static@0.2.14 85 | jiff@0.2.14 86 | jobserver@0.1.33 87 | js-sys@0.3.77 88 | kbs-types@0.13.0 89 | kvm-bindings@0.12.0 90 | kvm-ioctls@0.22.0 91 | lazy_static@1.5.0 92 | lazycell@1.3.0 93 | libc@0.2.172 94 | libloading@0.8.8 95 | libredox@0.1.3 96 | libspa-sys@0.8.0 97 | libspa@0.8.0 98 | linux-loader@0.13.0 99 | log@0.4.27 100 | lru@0.14.0 101 | memchr@2.7.4 102 | memoffset@0.7.1 103 | memoffset@0.9.1 104 | minimal-lexical@0.2.1 105 | miniz_oxide@0.8.8 106 | nitro-enclaves@0.3.0 107 | nix@0.26.4 108 | nix@0.27.1 109 | nix@0.29.0 110 | nix@0.30.1 111 | nom@7.1.3 112 | object@0.36.7 113 | once_cell@1.21.3 114 | once_cell_polyfill@1.70.1 115 | openssl-macros@0.1.1 116 | openssl-src@300.5.0+3.5.0 117 | openssl-sys@0.9.109 118 | openssl@0.10.73 119 | option-ext@0.2.0 120 | page_size@0.6.0 121 | pin-project-lite@0.2.16 122 | pin-utils@0.1.0 123 | pipewire-sys@0.8.0 124 | pipewire@0.8.0 125 | pkg-config@0.3.32 126 | portable-atomic-util@0.2.4 127 | portable-atomic@1.11.1 128 | ppv-lite86@0.2.21 129 | proc-macro2@1.0.95 130 | quote@1.0.40 131 | r-efi@5.2.0 132 | rand@0.9.2 133 | rand_chacha@0.9.0 134 | rand_core@0.6.4 135 | rand_core@0.9.3 136 | rdrand@0.8.3 137 | redox_users@0.5.0 138 | regex-automata@0.4.9 139 | regex-syntax@0.8.5 140 | regex@1.11.1 141 | remain@0.2.15 142 | rustc-demangle@0.1.24 143 | rustc-hash@1.1.0 144 | rustc-hash@2.1.1 145 | rustc_version@0.4.1 146 | rustversion@1.0.21 147 | ryu@1.0.20 148 | semver@1.0.26 149 | serde-big-array@0.5.1 150 | serde@1.0.219 151 | serde_bytes@0.11.17 152 | serde_derive@1.0.219 153 | serde_json@1.0.140 154 | serde_spanned@0.6.9 155 | sev@6.2.1 156 | sha2@0.10.9 157 | shlex@1.3.0 158 | slab@0.4.9 159 | sm3@0.4.2 160 | smallvec@1.15.0 161 | static_assertions@1.1.0 162 | strum@0.27.2 163 | strum_macros@0.27.2 164 | syn@2.0.101 165 | system-deps@6.2.2 166 | target-lexicon@0.12.16 167 | tdx@0.1.0 168 | thiserror-impl@1.0.69 169 | thiserror-impl@2.0.12 170 | thiserror@1.0.69 171 | thiserror@2.0.12 172 | tokio@1.45.1 173 | toml@0.8.23 174 | toml_datetime@0.6.11 175 | toml_edit@0.22.27 176 | tracing-attributes@0.1.29 177 | tracing-core@0.1.34 178 | tracing@0.1.41 179 | typenum@1.18.0 180 | unicode-ident@1.0.18 181 | unicode-segmentation@1.12.0 182 | unicode-width@0.1.14 183 | utf8parse@0.2.2 184 | uuid@1.17.0 185 | vcpkg@0.2.15 186 | version-compare@0.2.0 187 | version_check@0.9.5 188 | virtio-bindings@0.2.6 189 | vm-fdt@0.3.0 190 | vm-memory@0.16.2 191 | vmm-sys-util@0.12.1 192 | vmm-sys-util@0.14.0 193 | vsock@0.5.1 194 | wasi@0.11.0+wasi-snapshot-preview1 195 | wasi@0.14.2+wasi-0.2.4 196 | wasm-bindgen-backend@0.2.100 197 | wasm-bindgen-macro-support@0.2.100 198 | wasm-bindgen-macro@0.2.100 199 | wasm-bindgen-shared@0.2.100 200 | wasm-bindgen@0.2.100 201 | winapi-i686-pc-windows-gnu@0.4.0 202 | winapi-x86_64-pc-windows-gnu@0.4.0 203 | winapi@0.3.9 204 | windows-sys@0.59.0 205 | windows-targets@0.52.6 206 | windows_aarch64_gnullvm@0.52.6 207 | windows_aarch64_msvc@0.52.6 208 | windows_i686_gnu@0.52.6 209 | windows_i686_gnullvm@0.52.6 210 | windows_i686_msvc@0.52.6 211 | windows_x86_64_gnu@0.52.6 212 | windows_x86_64_gnullvm@0.52.6 213 | windows_x86_64_msvc@0.52.6 214 | winnow@0.7.10 215 | wit-bindgen-rt@0.39.0 216 | yansi-term@0.1.2 217 | zerocopy-derive@0.8.26 218 | zerocopy@0.8.26 219 | zstd-safe@7.2.4 220 | zstd-sys@2.0.15+zstd.1.5.7 221 | zstd@0.13.3 222 | " 223 | 224 | inherit cargo 225 | 226 | DESCRIPTION="A dynamic library providing Virtualization-based process isolation capabilities" 227 | HOMEPAGE="https://github.com/containers/libkrun" 228 | 229 | SRC_URI=" 230 | ${CARGO_CRATE_URIS} 231 | https://github.com/containers/libkrun/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz 232 | " 233 | 234 | LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB" 235 | SLOT="0" 236 | KEYWORDS="-* ~amd64 ~arm64" 237 | 238 | RDEPEND=" 239 | dev-libs/libkrunfw 240 | media-libs/virglrenderer 241 | media-video/pipewire 242 | " 243 | DEPEND=" 244 | ${RDEPEND} 245 | " 246 | src_compile() { 247 | unset ARCH 248 | emake PREFIX=/usr GPU=1 BLK=1 NET=1 SND=1 249 | } 250 | 251 | src_install() { 252 | emake DESTDIR="${D}" PREFIX=/usr install 253 | } 254 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/Manifest: -------------------------------------------------------------------------------- 1 | DIST gentoo-kernel-config-g17.tar.gz 6024 BLAKE2B 53ecea1c19cc83bc3f6e13ad3b2e813999a09e2b29526115480e8ea7b870da2f4728918713f8eb0b351730b2cdd9f75e7515dc99a9b34a4079f7d15a1cd78425 SHA512 a5a78da8027492a229f54bfbcddf4e8e14304280db01d856071a9eb1ed9cd86111254498c5546a9908d617a012c914e8ded0afad5bdf28e9f237e321b9ab0f63 2 | DIST kernel-aarch64-fedora.config.6.17.10-gentoo 299506 BLAKE2B 1121c2399e67310f7db62d0b2896327fa0c81ae66d7c9053bdcf62eeca015936a1d0752a542915f8765bf98bb977f2de91e8809c9ff5417f95064a62693806d1 SHA512 afa7f11efdb48c61b0bab8403d3a25d09ac2b61c2f416b3e680e02e7d89d5bdd0603b7da3adb36a16038f420cf6f84c09c5f72cd3f06c964971c4f2a6fc1057d 3 | DIST kernel-aarch64-fedora.config.6.17.3-gentoo 299506 BLAKE2B 94d31403019edf5c31599308b07fcde9d8534b025035cef2974055190aaa457997848a4ea788218767c0542d47969fa1976a557aeaefebc596029713c5239109 SHA512 aaa8536fc97653c2454175f51e90c3c9c91c3fdba31b3e5264ab21760b13fea79dfdb08a926adbf06a8e4116fcdbc94713c559ae04b8f6d0c6b8604e04c8ebd4 4 | DIST kernel-i686-fedora.config.6.17.10-gentoo 265947 BLAKE2B efce7edf95788ca539c4ce9ea6630d4de76f09673239348208b234ff9798d963489823b2581f431fdf95b00aca2fe3ecd2a1be1f4397a4fac3ce99b4d975668e SHA512 6c3923cc3f75a9ce344405bfd6e731b4e6222a707e4c03e44dce376acfe55988ee369c3314ac23cf33782bbc118947cc114c091ab2c8057e13b66f42913422ef 5 | DIST kernel-i686-fedora.config.6.17.3-gentoo 265947 BLAKE2B efce7edf95788ca539c4ce9ea6630d4de76f09673239348208b234ff9798d963489823b2581f431fdf95b00aca2fe3ecd2a1be1f4397a4fac3ce99b4d975668e SHA512 6c3923cc3f75a9ce344405bfd6e731b4e6222a707e4c03e44dce376acfe55988ee369c3314ac23cf33782bbc118947cc114c091ab2c8057e13b66f42913422ef 6 | DIST kernel-ppc64le-fedora.config.6.17.10-gentoo 249262 BLAKE2B ff80a57f4f2b1598a90c7afb0e71708396f059058179fc4bc024195be2a504e24946f3e7356c2d3d461c0d5cba7b5744159e4f3c7018cc4275321e47df59dab6 SHA512 8b4341bc1d11719ef14d4c717fc2ac73a3bf53bef497930ef663313995e66726e7ed4be84e0704bc9f5f8468a6a01e038d14c0f0a9469c0e29f28af185681714 7 | DIST kernel-ppc64le-fedora.config.6.17.3-gentoo 249262 BLAKE2B ff80a57f4f2b1598a90c7afb0e71708396f059058179fc4bc024195be2a504e24946f3e7356c2d3d461c0d5cba7b5744159e4f3c7018cc4275321e47df59dab6 SHA512 8b4341bc1d11719ef14d4c717fc2ac73a3bf53bef497930ef663313995e66726e7ed4be84e0704bc9f5f8468a6a01e038d14c0f0a9469c0e29f28af185681714 8 | DIST kernel-riscv64-fedora.config.6.17.10-gentoo 253885 BLAKE2B 7ec9d7570a3fde72f181d571ef2dc6a92067cd70334cc98186e451ae3f204bbbb9f2c904c90802b43788e95265f867f6f1b61e77f057322ce132440b7a269c84 SHA512 2da86c5a5cadca1956332cff8f078dfea9841c9a8f7596cd9c589d0076b8c4a8dc3ecb42ec0557a7c892d58333806754a9f705defc13de373c28b8a9f946028b 9 | DIST kernel-riscv64-fedora.config.6.17.3-gentoo 253885 BLAKE2B 7ec9d7570a3fde72f181d571ef2dc6a92067cd70334cc98186e451ae3f204bbbb9f2c904c90802b43788e95265f867f6f1b61e77f057322ce132440b7a269c84 SHA512 2da86c5a5cadca1956332cff8f078dfea9841c9a8f7596cd9c589d0076b8c4a8dc3ecb42ec0557a7c892d58333806754a9f705defc13de373c28b8a9f946028b 10 | DIST kernel-x86_64-fedora.config.6.17.10-gentoo 267029 BLAKE2B 8640bdbaac5658542cd683e08d5abbbd5fe96c856364b1a73342a58632269b76e370277697c424a060c10912e162d329ca3089e90e3327809204071cd8537062 SHA512 9f62da015a50f83368dc87f06a0f704f97187a582931bb8371707da4397e52eb72b0d23dbee5f90baf5fca4ef10f454ee9d264f94bf4d934d37950c62d7cf73c 11 | DIST kernel-x86_64-fedora.config.6.17.3-gentoo 267029 BLAKE2B 8640bdbaac5658542cd683e08d5abbbd5fe96c856364b1a73342a58632269b76e370277697c424a060c10912e162d329ca3089e90e3327809204071cd8537062 SHA512 9f62da015a50f83368dc87f06a0f704f97187a582931bb8371707da4397e52eb72b0d23dbee5f90baf5fca4ef10f454ee9d264f94bf4d934d37950c62d7cf73c 12 | DIST linux-6.17.tar.xz 153382068 BLAKE2B 0edb2324be5638aa75984128aafdba3e50824187d2fcdff8794eab99d85c10c3a17d1e840053c2c83df5ee11fdf69f1c9452c57ecc9dae01c4af38180fe7821a SHA512 063999d7b819970657f6b7713fdb4173da2065ffdeed7cae197026dbb1edfd7f1d50374f073a1e19ef9686539594824ff6ecb8a930d97c4f272cb12f1c6d8355 13 | DIST linux-6.x-sha256sums-20251102.asc 182885 BLAKE2B b68fd39a212bc82676cc3bf552170aec347b02a9201ba653fe902fce7d455176ff1b25e8dfaaf16a80ef8939bd94200d30db4ad2d899b47d9891598a20533bf4 SHA512 0401c17568aae8ac9220f8074831cd0b1d390863f158fa2b08a3b0cb78c796ab83ac18f5236e52ac63da9090f00c9d54f3967a3d52b34449613e382ba976fe2a 14 | DIST linux-6.x-sha256sums-20251201.asc 187298 BLAKE2B 41904c59d9fd208fa07909eb545ac5829d510c45ae37bb4180df556fbbbd83c2c2285c74372e7d6b214f6057503becdb4d87e846219e5355703f8c0a23296b8f SHA512 62e3f162563a30ee3b3c636a099eae59cd1e0d73e43532bfbac19b89b899b8f886a05a7e9ae80a9775b8571d31a5be14cb243692df14e3113c90f610d4a47b92 15 | DIST linux-asahi-6.17.11-1.diff 3119229 BLAKE2B 41fbcc6795dc98d0b7c2e209a94b27f37f814f87486c8820b6d557069b26502bd9a655c4d930aa267496e324ef7dc48f1d78469b97229425cc3e563f4107375b SHA512 4536d3d4d0e3cac623b0a3eb36d6f722fdc4b6060303c491372dd0d7325dc11179051ccde3a6f8cf6e9fb33af2f7eff7ebfaca8511837a9381fa3a2bfcc30109 16 | DIST linux-asahi-6.17.7-2.diff 3110876 BLAKE2B c5c0bad5ab4c6c19dcb1160a057fd68e5604887c21dabac1dd585b1586136fa54e35f439d5b90287eac86aa4c470494e33e174c3eeba4d4a20ff9b5efaac9a85 SHA512 aaf1b5a3d543df473e5a2684d2664920d52f0fe22027062017bfa6b263989304bdaabb8b3c6dfb964011c96b4368476c54c70814907e060672beaf9ff843d9d5 17 | DIST linux-gentoo-patches-6.17.10.tar.xz 86940 BLAKE2B 29eb529f3757a9c3f085674f8c6f2e71ad3df5c95f43cda5a3b9f1389941fa5fe47728b71b8bf5d24451ecd9ba2967e354a60f8248e2f5a6d9b3fb1c013d7bed SHA512 5bd964697e067280061cdf9069e48748f93df9a17349a8f259c25abfc6274fa696dc8457d4aac2b4a03e1c70de66b2378fa4e126d2eb12fd2515dae7360cf809 18 | DIST linux-gentoo-patches-6.17.2.tar.xz 99184 BLAKE2B 867bbf3a8cce987dba3381a874985e614187649e5341bc8c43f97e0b501ed4cfc4bce2ee7d8114ce54d75605151c7dbfdea51e9e5da7af3a834b169bb6998eb1 SHA512 149946fd38c22ef5a8b198011f4a044d3c00a93635f85b3c0d0f1f4d74faead20355acf3ff0ee55df89361fd48e8270219f52feeae0688b92d090a1c59a20ba8 19 | DIST patch-6.17.11.xz 844648 BLAKE2B 4adf688aadee196cd4afe94eb05d9e98b0e844d7ee4148c25bed76a47b1c06f665dc9587cc5f7f4f340fac1d0ebac32ee8cacdc0eca9c2850ccce670d9cb00a3 SHA512 dba734bb5b76ee7fb829b299f65efd9575b01a1dbf2e172a50f7d42ecdc75adfa6c99f66b2bfda68b889d6565591d2b01af5fd236abc6e2313baa9f47c7f5208 20 | DIST patch-6.17.7.xz 443556 BLAKE2B 732800a96e7be442d190a70ff7476a3f21116741338895f24f2f24e5fd8cc7073ef7606cec8b878d9103395ed7a7b0692bdfcbe5f03b978f3c5508b0fa48e758 SHA512 8388e1271e03d99a6edd05169bb44037fa20cd585f632f50da1aa677a5a466feb716dffaa6482bce35d22699abdb3ba9901443869683b520cc84e5ea3f9bfd6f 21 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/asahi-kernel-6.17.11_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2020-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | K_SECURITY_UNSUPPORTED="1" 6 | K_NODRYRUN="1" 7 | 8 | #KERNEL_IUSE_GENERIC_UKI=1 9 | KERNEL_IUSE_MODULES_SIGN=1 10 | 11 | RUST_MIN_VER="1.85.0" 12 | RUST_REQ_USE='rust-src,rustfmt' 13 | 14 | inherit kernel-build rust toolchain-funcs verify-sig 15 | 16 | BASE_P=linux-${PV%.*} 17 | PATCH_PV=${PV%_p*} 18 | PATCHSET=linux-gentoo-patches-6.17.10 19 | # https://koji.fedoraproject.org/koji/packageinfo?packageID=8 20 | # forked to https://github.com/projg2/fedora-kernel-config-for-gentoo 21 | CONFIG_VER=6.17.10-gentoo 22 | GENTOO_CONFIG_VER=g17 23 | SHA256SUM_DATE=20251201 24 | 25 | # asahi specific tag and version parsing 26 | ASAHI_TAGV=${PV#*_p} 27 | ASAHI_TAG="asahi-${PATCH_PV}-${ASAHI_TAGV}" 28 | # BASE_ASAHI_TAG is the first used TAG of specific release, i.e. usually 29 | # the first tag of a linux 6.x or linux stable 6.x.y release 30 | #BASE_ASAHI_TAG="asahi-${MY_BASE}-3" 31 | BASE_ASAHI_TAG="${ASAHI_TAG}" 32 | 33 | DESCRIPTION="Linux kernel built with Asahi and Gentoo patches" 34 | HOMEPAGE=" 35 | https://asahilinux.org 36 | https://wiki.gentoo.org/wiki/Project:Distribution_Kernel 37 | https://www.kernel.org/ 38 | " 39 | 40 | SRC_URI+=" 41 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${BASE_P}.tar.xz 42 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/patch-${PATCH_PV}.xz 43 | https://dev.gentoo.org/~mgorny/dist/linux/${PATCHSET}.tar.xz 44 | https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz 45 | -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz 46 | https://github.com/AsahiLinux/linux/compare/v${PATCH_PV}...${BASE_ASAHI_TAG}.diff 47 | -> linux-${BASE_ASAHI_TAG}.diff 48 | verify-sig? ( 49 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/sha256sums.asc 50 | -> linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc 51 | ) 52 | amd64? ( 53 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config 54 | -> kernel-x86_64-fedora.config.${CONFIG_VER} 55 | ) 56 | arm64? ( 57 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config 58 | -> kernel-aarch64-fedora.config.${CONFIG_VER} 59 | ) 60 | ppc64? ( 61 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config 62 | -> kernel-ppc64le-fedora.config.${CONFIG_VER} 63 | ) 64 | riscv? ( 65 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-riscv64-fedora.config 66 | -> kernel-riscv64-fedora.config.${CONFIG_VER} 67 | ) 68 | x86? ( 69 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config 70 | -> kernel-i686-fedora.config.${CONFIG_VER} 71 | ) 72 | " 73 | S=${WORKDIR}/${BASE_P} 74 | 75 | LICENSE="GPL-2" 76 | SLOT="asahi-${PV}" 77 | KEYWORDS="~arm64" 78 | IUSE="debug experimental hardened" 79 | # mask untested USE flags 80 | REQUIRED_USE=" 81 | arm64? ( !experimental !secureboot ) 82 | arm? ( savedconfig ) 83 | hppa? ( savedconfig ) 84 | sparc? ( savedconfig ) 85 | " 86 | 87 | # Rust is non-negotiable for the dist kernel 88 | DEPEND=" 89 | ${DEPEND} 90 | sys-boot/m1n1 91 | sys-boot/u-boot 92 | " 93 | BDEPEND=" 94 | dev-util/bindgen 95 | debug? ( dev-util/pahole ) 96 | verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) 97 | " 98 | PDEPEND=" 99 | >=virtual/dist-kernel-${PATCH_PV} 100 | " 101 | 102 | QA_FLAGS_IGNORED=" 103 | usr/src/linux-.*/scripts/gcc-plugins/.*.so 104 | usr/src/linux-.*/vmlinux 105 | usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg 106 | " 107 | 108 | VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc 109 | 110 | src_unpack() { 111 | if use verify-sig; then 112 | cd "${DISTDIR}" || die 113 | verify-sig_verify_signed_checksums \ 114 | "linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc" \ 115 | sha256 "${BASE_P}.tar.xz patch-${PATCH_PV}.xz" 116 | cd "${WORKDIR}" || die 117 | fi 118 | 119 | default 120 | } 121 | 122 | src_prepare() { 123 | local patch 124 | eapply "${WORKDIR}/patch-${PATCH_PV}" 125 | for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do 126 | eapply "${patch}" 127 | # non-experimental patches always finish with Gentoo Kconfig 128 | # when ! use experimental, stop applying after it 129 | if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] && 130 | ! use experimental 131 | then 132 | break 133 | fi 134 | done 135 | 136 | eapply "${DISTDIR}/linux-${BASE_ASAHI_TAG}.diff" 137 | 138 | default 139 | 140 | # add Gentoo patchset version 141 | local extraversion=${PV#${PATCH_PV}} 142 | sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die 143 | 144 | local biendian=false 145 | 146 | # prepare the default config 147 | case ${ARCH} in 148 | arm | hppa | loong | sparc) 149 | > .config || die 150 | ;; 151 | amd64) 152 | cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die 153 | ;; 154 | arm64) 155 | cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die 156 | biendian=true 157 | ;; 158 | ppc) 159 | # assume powermac/powerbook defconfig 160 | # we still package.use.force savedconfig 161 | cp "${WORKDIR}/${BASE_P}/arch/powerpc/configs/pmac32_defconfig" .config || die 162 | ;; 163 | ppc64) 164 | cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die 165 | biendian=true 166 | ;; 167 | riscv) 168 | cp "${DISTDIR}/kernel-riscv64-fedora.config.${CONFIG_VER}" .config || die 169 | ;; 170 | x86) 171 | cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die 172 | ;; 173 | *) 174 | die "Unsupported arch ${ARCH}" 175 | ;; 176 | esac 177 | 178 | # use CONFIG_LOCALVERSION to provide "asahi" and "dist" annotations. 179 | local myversion="-asahi-dist" 180 | use hardened && myversion+="-hardened" 181 | echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die 182 | local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}" 183 | 184 | local merge_configs=( 185 | "${T}"/version.config 186 | "${dist_conf_path}"/base.config 187 | "${dist_conf_path}"/6.12+.config 188 | ) 189 | use debug || merge_configs+=( 190 | "${dist_conf_path}"/no-debug.config 191 | "${FILESDIR}"/linux-6.10_disable_debug_info_btf.config 192 | ) 193 | if use hardened; then 194 | merge_configs+=( "${dist_conf_path}"/hardened-base.config ) 195 | 196 | tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config ) 197 | 198 | if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then 199 | merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" ) 200 | fi 201 | fi 202 | 203 | # this covers ppc64 and aarch64_be only for now 204 | if [[ ${biendian} == true && $(tc-endian) == big ]]; then 205 | merge_configs+=( "${dist_conf_path}/big-endian.config" ) 206 | fi 207 | 208 | use secureboot && merge_configs+=( 209 | "${dist_conf_path}/secureboot.config" 210 | "${dist_conf_path}/zboot.config" 211 | ) 212 | 213 | # deselect all non APPLE arm64 ARCHs 214 | merge_configs+=( 215 | "${FILESDIR}"/linux-6.17_arm64_deselect_non_apple_arch.config 216 | ) 217 | # adjust base config for Apple silicon systems 218 | merge_configs+=( 219 | "${FILESDIR}"/linux-6.8_arch_apple_overrides.config 220 | ) 221 | 222 | # amdgpu no longer builds with clang (issue #113) 223 | merge_configs+=( 224 | "${FILESDIR}"/linux-6.10_drop_amdgpu.config 225 | ) 226 | 227 | # apple silicon specific configs 228 | merge_configs+=( 229 | arch/arm64/configs/asahi.config 230 | ) 231 | 232 | kernel-build_merge_configs "${merge_configs[@]}" 233 | } 234 | 235 | src_install() { 236 | # call kernel-build's scr_install 237 | kernel-build_src_install 238 | 239 | # symlink installed *.dtbs back into kernel "source" directory 240 | for dtb in "${ED}/lib/modules/${KV_FULL}/dtb/apple/"*.dtb; do 241 | local basedtb=$(basename ${dtb}) 242 | dosym -r "${dtb##${ED}}" "/usr/src/linux-${KV_FULL}/arch/arm64/boot/dts/apple/${basedtb}" 243 | done 244 | } 245 | 246 | pkg_postinst() { 247 | einfo "For more information about Asahi Linux please visit ${HOMEPAGE}," 248 | einfo "or consult the Wiki at https://github.com/AsahiLinux/docs/wiki." 249 | kernel-build_pkg_postinst 250 | } 251 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/asahi-kernel-6.17.7_p2-r1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2020-2025 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | K_SECURITY_UNSUPPORTED="1" 6 | K_NODRYRUN="1" 7 | 8 | #KERNEL_IUSE_GENERIC_UKI=1 9 | KERNEL_IUSE_MODULES_SIGN=1 10 | 11 | RUST_MIN_VER="1.85.0" 12 | RUST_REQ_USE='rust-src,rustfmt' 13 | 14 | inherit kernel-build rust toolchain-funcs verify-sig 15 | 16 | BASE_P=linux-${PV%.*} 17 | PATCH_PV=${PV%_p*} 18 | PATCHSET=linux-gentoo-patches-6.17.2 19 | # https://koji.fedoraproject.org/koji/packageinfo?packageID=8 20 | # forked to https://github.com/projg2/fedora-kernel-config-for-gentoo 21 | CONFIG_VER=6.17.3-gentoo 22 | GENTOO_CONFIG_VER=g17 23 | SHA256SUM_DATE=20251102 24 | 25 | # asahi specific tag and version parsing 26 | ASAHI_TAGV=${PV#*_p} 27 | ASAHI_TAG="asahi-${PATCH_PV}-${ASAHI_TAGV}" 28 | # BASE_ASAHI_TAG is the first used TAG of specific release, i.e. usually 29 | # the first tag of a linux 6.x or linux stable 6.x.y release 30 | #BASE_ASAHI_TAG="asahi-${MY_BASE}-3" 31 | BASE_ASAHI_TAG="${ASAHI_TAG}" 32 | 33 | DESCRIPTION="Linux kernel built with Asahi and Gentoo patches" 34 | HOMEPAGE=" 35 | https://asahilinux.org 36 | https://wiki.gentoo.org/wiki/Project:Distribution_Kernel 37 | https://www.kernel.org/ 38 | " 39 | 40 | SRC_URI+=" 41 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${BASE_P}.tar.xz 42 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/patch-${PATCH_PV}.xz 43 | https://dev.gentoo.org/~mgorny/dist/linux/${PATCHSET}.tar.xz 44 | https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz 45 | -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz 46 | https://github.com/AsahiLinux/linux/compare/v${PATCH_PV}...${BASE_ASAHI_TAG}.diff 47 | -> linux-${BASE_ASAHI_TAG}.diff 48 | verify-sig? ( 49 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/sha256sums.asc 50 | -> linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc 51 | ) 52 | amd64? ( 53 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config 54 | -> kernel-x86_64-fedora.config.${CONFIG_VER} 55 | ) 56 | arm64? ( 57 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-aarch64-fedora.config 58 | -> kernel-aarch64-fedora.config.${CONFIG_VER} 59 | ) 60 | ppc64? ( 61 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-ppc64le-fedora.config 62 | -> kernel-ppc64le-fedora.config.${CONFIG_VER} 63 | ) 64 | riscv? ( 65 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-riscv64-fedora.config 66 | -> kernel-riscv64-fedora.config.${CONFIG_VER} 67 | ) 68 | x86? ( 69 | https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-i686-fedora.config 70 | -> kernel-i686-fedora.config.${CONFIG_VER} 71 | ) 72 | " 73 | S=${WORKDIR}/${BASE_P} 74 | 75 | LICENSE="GPL-2" 76 | SLOT="asahi-${PV}" 77 | KEYWORDS="arm64" 78 | IUSE="debug experimental hardened" 79 | # mask untested USE flags 80 | REQUIRED_USE=" 81 | arm64? ( !experimental !secureboot ) 82 | arm? ( savedconfig ) 83 | hppa? ( savedconfig ) 84 | sparc? ( savedconfig ) 85 | " 86 | 87 | # Rust is non-negotiable for the dist kernel 88 | DEPEND=" 89 | ${DEPEND} 90 | sys-boot/m1n1 91 | sys-boot/u-boot 92 | " 93 | BDEPEND=" 94 | dev-util/bindgen 95 | debug? ( dev-util/pahole ) 96 | verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 ) 97 | " 98 | PDEPEND=" 99 | >=virtual/dist-kernel-${PATCH_PV} 100 | " 101 | 102 | QA_FLAGS_IGNORED=" 103 | usr/src/linux-.*/scripts/gcc-plugins/.*.so 104 | usr/src/linux-.*/vmlinux 105 | usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg 106 | " 107 | 108 | VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc 109 | 110 | src_unpack() { 111 | if use verify-sig; then 112 | cd "${DISTDIR}" || die 113 | verify-sig_verify_signed_checksums \ 114 | "linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc" \ 115 | sha256 "${BASE_P}.tar.xz patch-${PATCH_PV}.xz" 116 | cd "${WORKDIR}" || die 117 | fi 118 | 119 | default 120 | } 121 | 122 | src_prepare() { 123 | local patch 124 | eapply "${WORKDIR}/patch-${PATCH_PV}" 125 | for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do 126 | eapply "${patch}" 127 | # non-experimental patches always finish with Gentoo Kconfig 128 | # when ! use experimental, stop applying after it 129 | if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]] && 130 | ! use experimental 131 | then 132 | break 133 | fi 134 | done 135 | 136 | eapply "${DISTDIR}/linux-${BASE_ASAHI_TAG}.diff" 137 | eapply "${FILESDIR}/${PN}-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch" 138 | 139 | default 140 | 141 | # add Gentoo patchset version 142 | local extraversion=${PV#${PATCH_PV}} 143 | sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile || die 144 | 145 | local biendian=false 146 | 147 | # prepare the default config 148 | case ${ARCH} in 149 | arm | hppa | loong | sparc) 150 | > .config || die 151 | ;; 152 | amd64) 153 | cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die 154 | ;; 155 | arm64) 156 | cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die 157 | biendian=true 158 | ;; 159 | ppc) 160 | # assume powermac/powerbook defconfig 161 | # we still package.use.force savedconfig 162 | cp "${WORKDIR}/${BASE_P}/arch/powerpc/configs/pmac32_defconfig" .config || die 163 | ;; 164 | ppc64) 165 | cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die 166 | biendian=true 167 | ;; 168 | riscv) 169 | cp "${DISTDIR}/kernel-riscv64-fedora.config.${CONFIG_VER}" .config || die 170 | ;; 171 | x86) 172 | cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die 173 | ;; 174 | *) 175 | die "Unsupported arch ${ARCH}" 176 | ;; 177 | esac 178 | 179 | # use CONFIG_LOCALVERSION to provide "asahi" and "dist" annotations. 180 | local myversion="-asahi-dist" 181 | use hardened && myversion+="-hardened" 182 | echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die 183 | local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}" 184 | 185 | local merge_configs=( 186 | "${T}"/version.config 187 | "${dist_conf_path}"/base.config 188 | "${dist_conf_path}"/6.12+.config 189 | ) 190 | use debug || merge_configs+=( 191 | "${dist_conf_path}"/no-debug.config 192 | "${FILESDIR}"/linux-6.10_disable_debug_info_btf.config 193 | ) 194 | if use hardened; then 195 | merge_configs+=( "${dist_conf_path}"/hardened-base.config ) 196 | 197 | tc-is-gcc && merge_configs+=( "${dist_conf_path}"/hardened-gcc-plugins.config ) 198 | 199 | if [[ -f "${dist_conf_path}/hardened-${ARCH}.config" ]]; then 200 | merge_configs+=( "${dist_conf_path}/hardened-${ARCH}.config" ) 201 | fi 202 | fi 203 | 204 | # this covers ppc64 and aarch64_be only for now 205 | if [[ ${biendian} == true && $(tc-endian) == big ]]; then 206 | merge_configs+=( "${dist_conf_path}/big-endian.config" ) 207 | fi 208 | 209 | use secureboot && merge_configs+=( 210 | "${dist_conf_path}/secureboot.config" 211 | "${dist_conf_path}/zboot.config" 212 | ) 213 | 214 | # deselect all non APPLE arm64 ARCHs 215 | merge_configs+=( 216 | "${FILESDIR}"/linux-6.17_arm64_deselect_non_apple_arch.config 217 | ) 218 | # adjust base config for Apple silicon systems 219 | merge_configs+=( 220 | "${FILESDIR}"/linux-6.8_arch_apple_overrides.config 221 | ) 222 | 223 | # amdgpu no longer builds with clang (issue #113) 224 | merge_configs+=( 225 | "${FILESDIR}"/linux-6.10_drop_amdgpu.config 226 | ) 227 | 228 | # apple silicon specific configs 229 | merge_configs+=( 230 | arch/arm64/configs/asahi.config 231 | ) 232 | 233 | kernel-build_merge_configs "${merge_configs[@]}" 234 | } 235 | 236 | src_install() { 237 | # call kernel-build's scr_install 238 | kernel-build_src_install 239 | 240 | # symlink installed *.dtbs back into kernel "source" directory 241 | for dtb in "${ED}/lib/modules/${KV_FULL}/dtb/apple/"*.dtb; do 242 | local basedtb=$(basename ${dtb}) 243 | dosym -r "${dtb##${ED}}" "/usr/src/linux-${KV_FULL}/arch/arm64/boot/dts/apple/${basedtb}" 244 | done 245 | } 246 | 247 | pkg_postinst() { 248 | einfo "For more information about Asahi Linux please visit ${HOMEPAGE}," 249 | einfo "or consult the Wiki at https://github.com/AsahiLinux/docs/wiki." 250 | kernel-build_pkg_postinst 251 | } 252 | -------------------------------------------------------------------------------- /metadata/md5-cache/sys-apps/speakersafetyd-0.1.9-r1: -------------------------------------------------------------------------------- 1 | BDEPEND=>=virtual/rust-1.53 virtual/pkgconfig 2 | DEFINED_PHASES=compile configure install test unpack 3 | DEPEND=virtual/rust media-libs/alsa-ucm-conf-asahi 4 | DESCRIPTION=Speaker protection daemon for embedded Linux systems 5 | EAPI=8 6 | HOMEPAGE=https://github.com/AsahiLinux/speakersafetyd/ 7 | INHERIT=cargo udev 8 | IUSE=debug 9 | KEYWORDS=arm64 10 | LICENSE=MIT 11 | RDEPEND=virtual/rust media-libs/alsa-ucm-conf-asahi 12 | SLOT=0 13 | SRC_URI=https://github.com/AsahiLinux/speakersafetyd/archive/refs/tags/0.1.9.tar.gz -> speakersafetyd-0.1.9.tar.gz https://crates.io/api/v1/crates/alsa/0.8.1/download -> alsa-0.8.1.crate https://crates.io/api/v1/crates/alsa-sys/0.3.1/download -> alsa-sys-0.3.1.crate https://crates.io/api/v1/crates/android-tzdata/0.1.1/download -> android-tzdata-0.1.1.crate https://crates.io/api/v1/crates/android_system_properties/0.1.5/download -> android_system_properties-0.1.5.crate https://crates.io/api/v1/crates/atty/0.2.14/download -> atty-0.2.14.crate https://crates.io/api/v1/crates/autocfg/1.1.0/download -> autocfg-1.1.0.crate https://crates.io/api/v1/crates/bitflags/1.3.2/download -> bitflags-1.3.2.crate https://crates.io/api/v1/crates/bitflags/2.4.0/download -> bitflags-2.4.0.crate https://crates.io/api/v1/crates/bumpalo/3.14.0/download -> bumpalo-3.14.0.crate https://crates.io/api/v1/crates/cc/1.0.79/download -> cc-1.0.79.crate https://crates.io/api/v1/crates/cfg-if/1.0.0/download -> cfg-if-1.0.0.crate https://crates.io/api/v1/crates/chrono/0.4.31/download -> chrono-0.4.31.crate https://crates.io/api/v1/crates/clap/4.1.6/download -> clap-4.1.6.crate https://crates.io/api/v1/crates/clap-verbosity-flag/2.0.0/download -> clap-verbosity-flag-2.0.0.crate https://crates.io/api/v1/crates/clap_derive/4.1.0/download -> clap_derive-4.1.0.crate https://crates.io/api/v1/crates/clap_lex/0.3.1/download -> clap_lex-0.3.1.crate https://crates.io/api/v1/crates/colored/1.9.4/download -> colored-1.9.4.crate https://crates.io/api/v1/crates/configparser/3.0.3/download -> configparser-3.0.3.crate https://crates.io/api/v1/crates/core-foundation-sys/0.8.4/download -> core-foundation-sys-0.8.4.crate https://crates.io/api/v1/crates/equivalent/1.0.1/download -> equivalent-1.0.1.crate https://crates.io/api/v1/crates/errno/0.2.8/download -> errno-0.2.8.crate https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download -> errno-dragonfly-0.1.2.crate https://crates.io/api/v1/crates/hashbrown/0.14.3/download -> hashbrown-0.14.3.crate https://crates.io/api/v1/crates/heck/0.4.1/download -> heck-0.4.1.crate https://crates.io/api/v1/crates/hermit-abi/0.1.19/download -> hermit-abi-0.1.19.crate https://crates.io/api/v1/crates/hermit-abi/0.3.1/download -> hermit-abi-0.3.1.crate https://crates.io/api/v1/crates/iana-time-zone/0.1.58/download -> iana-time-zone-0.1.58.crate https://crates.io/api/v1/crates/iana-time-zone-haiku/0.1.2/download -> iana-time-zone-haiku-0.1.2.crate https://crates.io/api/v1/crates/indexmap/2.1.0/download -> indexmap-2.1.0.crate https://crates.io/api/v1/crates/io-lifetimes/1.0.5/download -> io-lifetimes-1.0.5.crate https://crates.io/api/v1/crates/is-terminal/0.4.3/download -> is-terminal-0.4.3.crate https://crates.io/api/v1/crates/itoa/1.0.5/download -> itoa-1.0.5.crate https://crates.io/api/v1/crates/js-sys/0.3.64/download -> js-sys-0.3.64.crate https://crates.io/api/v1/crates/json/0.12.4/download -> json-0.12.4.crate https://crates.io/api/v1/crates/lazy_static/1.4.0/download -> lazy_static-1.4.0.crate https://crates.io/api/v1/crates/libc/0.2.150/download -> libc-0.2.150.crate https://crates.io/api/v1/crates/linux-raw-sys/0.1.4/download -> linux-raw-sys-0.1.4.crate https://crates.io/api/v1/crates/log/0.4.17/download -> log-0.4.17.crate https://crates.io/api/v1/crates/nix/0.26.4/download -> nix-0.26.4.crate https://crates.io/api/v1/crates/num-traits/0.2.17/download -> num-traits-0.2.17.crate https://crates.io/api/v1/crates/num_threads/0.1.6/download -> num_threads-0.1.6.crate https://crates.io/api/v1/crates/once_cell/1.17.1/download -> once_cell-1.17.1.crate https://crates.io/api/v1/crates/os_str_bytes/6.4.1/download -> os_str_bytes-6.4.1.crate https://crates.io/api/v1/crates/pkg-config/0.3.26/download -> pkg-config-0.3.26.crate https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download -> proc-macro-error-1.0.4.crate https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download -> proc-macro-error-attr-1.0.4.crate https://crates.io/api/v1/crates/proc-macro2/1.0.69/download -> proc-macro2-1.0.69.crate https://crates.io/api/v1/crates/quote/1.0.33/download -> quote-1.0.33.crate https://crates.io/api/v1/crates/rustix/0.36.8/download -> rustix-0.36.8.crate https://crates.io/api/v1/crates/serde/1.0.152/download -> serde-1.0.152.crate https://crates.io/api/v1/crates/signal-hook/0.3.17/download -> signal-hook-0.3.17.crate https://crates.io/api/v1/crates/signal-hook-registry/1.4.1/download -> signal-hook-registry-1.4.1.crate https://crates.io/api/v1/crates/simple_logger/1.16.0/download -> simple_logger-1.16.0.crate https://crates.io/api/v1/crates/strsim/0.10.0/download -> strsim-0.10.0.crate https://crates.io/api/v1/crates/syn/1.0.108/download -> syn-1.0.108.crate https://crates.io/api/v1/crates/syn/2.0.38/download -> syn-2.0.38.crate https://crates.io/api/v1/crates/termcolor/1.2.0/download -> termcolor-1.2.0.crate https://crates.io/api/v1/crates/time/0.3.19/download -> time-0.3.19.crate https://crates.io/api/v1/crates/time-core/0.1.0/download -> time-core-0.1.0.crate https://crates.io/api/v1/crates/time-macros/0.2.7/download -> time-macros-0.2.7.crate https://crates.io/api/v1/crates/unicode-ident/1.0.6/download -> unicode-ident-1.0.6.crate https://crates.io/api/v1/crates/version_check/0.9.4/download -> version_check-0.9.4.crate https://crates.io/api/v1/crates/wasm-bindgen/0.2.87/download -> wasm-bindgen-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.87/download -> wasm-bindgen-backend-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.87/download -> wasm-bindgen-macro-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.87/download -> wasm-bindgen-macro-support-0.2.87.crate https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.87/download -> wasm-bindgen-shared-0.2.87.crate https://crates.io/api/v1/crates/winapi/0.3.9/download -> winapi-0.3.9.crate https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download -> winapi-i686-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/winapi-util/0.1.5/download -> winapi-util-0.1.5.crate https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download -> winapi-x86_64-pc-windows-gnu-0.4.0.crate https://crates.io/api/v1/crates/windows-core/0.51.1/download -> windows-core-0.51.1.crate https://crates.io/api/v1/crates/windows-sys/0.45.0/download -> windows-sys-0.45.0.crate https://crates.io/api/v1/crates/windows-targets/0.42.1/download -> windows-targets-0.42.1.crate https://crates.io/api/v1/crates/windows-targets/0.48.5/download -> windows-targets-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.42.1/download -> windows_aarch64_gnullvm-0.42.1.crate https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.5/download -> windows_aarch64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.42.1/download -> windows_aarch64_msvc-0.42.1.crate https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.5/download -> windows_aarch64_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.42.1/download -> windows_i686_gnu-0.42.1.crate https://crates.io/api/v1/crates/windows_i686_gnu/0.48.5/download -> windows_i686_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.42.1/download -> windows_i686_msvc-0.42.1.crate https://crates.io/api/v1/crates/windows_i686_msvc/0.48.5/download -> windows_i686_msvc-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.42.1/download -> windows_x86_64_gnu-0.42.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.5/download -> windows_x86_64_gnu-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.42.1/download -> windows_x86_64_gnullvm-0.42.1.crate https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.5/download -> windows_x86_64_gnullvm-0.48.5.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.42.1/download -> windows_x86_64_msvc-0.42.1.crate https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.5/download -> windows_x86_64_msvc-0.48.5.crate 14 | _eclasses_=toolchain-funcs e56c7649b804f051623c8bc1a1c44084 multilib c19072c3cd7ac5cb21de013f7e9832e0 flag-o-matic 288c54efeb5e2aa70775e39032695ad4 multiprocessing 30ead54fa2e2b5f9cd4e612ffc34d0fe cargo 4dede41d64d595673f6da62ab5540fa0 udev eec0bbab06977f1cfc5597269c1fa152 15 | _md5_=5717bd3ca2b0dfb24ea5f5b5ceb2b2ab 16 | -------------------------------------------------------------------------------- /sys-devel/x86_64-multilib-toolchain/x86_64-multilib-toolchain-14.2.0_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2022-2024 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI=8 5 | 6 | inherit edo flag-o-matic toolchain-funcs 7 | 8 | GCC_PV=14.2.0 9 | BINUTILS_PV=2.43.1 10 | KERNEL_PV=6.10 11 | GLIBC_PV=2.40 12 | 13 | DESCRIPTION="All-in-one x86 toolchain for packages that need this specific crosscompiler" 14 | HOMEPAGE=" 15 | https://gcc.gnu.org/ 16 | https://sourceware.org/binutils/ 17 | https://www.kernel.org/ 18 | " 19 | SRC_URI=" 20 | mirror://gnu/binutils/binutils-${BINUTILS_PV}.tar.xz 21 | https://www.kernel.org/pub/linux/kernel/v6.x/linux-${KERNEL_PV}.tar.xz 22 | mirror://gnu/glibc/glibc-${GLIBC_PV}.tar.xz 23 | " 24 | if [[ ${GCC_PV} == *-* ]]; then 25 | SRC_URI+=" mirror://gcc/snapshots/${GCC_PV}/gcc-${GCC_PV}.tar.xz" 26 | else 27 | SRC_URI+=" 28 | mirror://gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz 29 | mirror://gnu/gcc/gcc-${GCC_PV}/gcc-${GCC_PV}.tar.xz 30 | " 31 | fi 32 | S="${WORKDIR}" 33 | 34 | # l1:binutils+gcc, l2:gcc(libraries) 35 | LICENSE=" 36 | GPL-3+ 37 | LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) 38 | GPL-2 39 | LGPL-2.1+ BSD HPND ISC inner-net rc PCRE 40 | " 41 | SLOT="0" 42 | KEYWORDS="~amd64 ~arm64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" 43 | IUSE="+bin-symlinks custom-cflags +strip" 44 | 45 | RDEPEND=" 46 | dev-libs/gmp:= 47 | dev-libs/mpc:= 48 | dev-libs/mpfr:= 49 | sys-libs/zlib:= 50 | virtual/libiconv 51 | bin-symlinks? ( 52 | !cross-x86_64-multilib-linux-gnu/binutils 53 | !cross-x86_64-multilib-linux-gnu/gcc 54 | !cross-x86_64-multilib-linux-gnu/glibc 55 | ) 56 | " 57 | DEPEND="${RDEPEND}" 58 | 59 | PATCHES=() 60 | 61 | pkg_pretend() { 62 | [[ ${MERGE_TYPE} == binary ]] && return 63 | 64 | tc-is-cross-compiler && 65 | die "cross-compilation of the toolchain itself is unsupported" 66 | } 67 | 68 | src_prepare() { 69 | # rename directories to simplify both patching and the ebuild 70 | mv binutils{-${BINUTILS_PV},} || die 71 | mv gcc{-${GCC_PV},} || die 72 | mv linux-{${KERNEL_PV},headers} || die 73 | mv glibc{-${GLIBC_PV},} || die 74 | 75 | default 76 | } 77 | 78 | src_compile() { 79 | # src_compile is kept similar to dev-util/mingw64-toolchain 80 | # at least for now for ease of comparison etc. 81 | # 82 | # not great but do everything in src_compile given bootstrapping 83 | # process needs to be done in steps of configure+compile+install 84 | # (done modular to have most package-specific things in one place) 85 | 86 | CTARGET=x86_64-multilib-linux-gnu 87 | 88 | X86MT_D=${T}/root # moved to ${D} in src_install 89 | local x86mtdir=/usr/lib/${PN} 90 | local prefix=${EPREFIX}${x86mtdir} 91 | local sysroot=${X86MT_D}${prefix} 92 | local -x PATH=${sysroot}/bin:${PATH} 93 | 94 | filter-lto 95 | use custom-cflags || strip-flags # fancy flags are not realistic here 96 | 97 | local hdr_dir="${sysroot}/include" 98 | 99 | # global configure flags 100 | local conf=( 101 | --build=${CBUILD:-${CHOST}} 102 | --target=${CTARGET} 103 | --{doc,info,man}dir=/.skip # let the real binutils+gcc handle docs 104 | MAKEINFO=: #922230 105 | ) 106 | 107 | # binutils 108 | local conf_binutils=( 109 | --prefix="${prefix}" 110 | --host=${CHOST} 111 | --disable-cet 112 | --disable-default-execstack 113 | --disable-nls 114 | --disable-shared 115 | --with-system-zlib 116 | --without-debuginfod 117 | --without-msgpack 118 | --without-zstd 119 | ) 120 | 121 | local conf_glibc=( 122 | --enable-stack-protector=strong 123 | --disable-cet 124 | --enable-kernel=3.2.0 125 | --without-selinux 126 | --disable-werror 127 | --enable-bind-now 128 | --enable-fortify-source 129 | --disable-profile 130 | --without-gd 131 | --with-headers="${hdr_dir}" 132 | --prefix="${prefix}" 133 | --sysconfdir='$(prefix)/etc' 134 | --localstatedir='$(prefix)/var' 135 | --mandir='$(prefix)/share/man' 136 | --infodir='$(prefix)/share/info' 137 | --libexecdir='$(libdir)/misc/glibc' 138 | --disable-systemtap 139 | --disable-nscd 140 | --disable-timezone-tools 141 | ) 142 | 143 | local conf_glibc_amd64=( 144 | --libdir='$(prefix)/lib64' 145 | --host=${CTARGET} 146 | ) 147 | 148 | local conf_glibc_x86=( 149 | --libdir='$(prefix)/lib' 150 | --host=i686-multilib-linux-gnu 151 | ) 152 | 153 | x86mt-binutils() { 154 | # symlink gcc's lto plugin for AR (bug #854516) 155 | ln -s ../../libexec/gcc/${CTARGET}/${GCC_PV%%[.-]*}/liblto_plugin.so \ 156 | "${sysroot}"/lib/bfd-plugins || die 157 | } 158 | 159 | # gcc (minimal -- if need more, disable only in stage1 / enable in stage3) 160 | local conf_gcc=( 161 | --prefix="${prefix}" 162 | --host=${CHOST} 163 | --disable-bootstrap 164 | --disable-cet 165 | --disable-gcov #843989 166 | --disable-gomp 167 | --disable-libquadmath 168 | --disable-libsanitizer 169 | --disable-libssp 170 | --disable-libvtv 171 | --disable-werror 172 | --with-gcc-major-version-only 173 | --with-system-zlib 174 | --without-isl 175 | --without-zstd 176 | --disable-libgomp 177 | --enable-poison-system-directories 178 | ) 179 | 180 | local conf_gcc_stage1=( 181 | --disable-cc1 182 | --enable-languages=c 183 | --disable-libatomic 184 | --disable-threads 185 | --without-headers 186 | --disable-shared 187 | ) 188 | 189 | local conf_gcc_stage2=( 190 | --enable-languages=c,c++ 191 | --enable-threads 192 | --enable-multilib 193 | --with-multilib-list=m64,m32 194 | --with-build-sysroot="${sysroot}" 195 | --with-sysroot="${prefix}" 196 | --with-native-system-header-dir="/include" 197 | ) 198 | 199 | # libstdc++ may misdetect sys/sdt.h on systemtap-enabled system and fail 200 | # (not passed in conf_gcc above given it is lost in sub-configure calls) 201 | local -x glibcxx_cv_sys_sdt_h=no 202 | 203 | # x86mt-build 204 | # -> ./configure && make && make install && x86mt-package() 205 | # passes conf and conf_package to configure, and users can add options 206 | # through environment with e.g. 207 | # X86MT_BINUTILS_CONF="--some-option" 208 | # EXTRA_ECONF="--global-option" (generic naming for if not reading this) 209 | x86mt-build() { 210 | local id=${1##*/} 211 | local build_dir=${WORKDIR}/${1}${2+_${2}}-build 212 | 213 | # econf is not allowed in src_compile and its defaults are 214 | # mostly unused here, so use configure directly 215 | local conf=( "${WORKDIR}/${1}"/configure "${conf[@]}" ) 216 | 217 | local -n conf_id=conf_${id} conf_id2=conf_${id}_${2} 218 | [[ ${conf_id@a} == *a* ]] && conf+=( "${conf_id[@]}" ) 219 | [[ ${2} && ${conf_id2@a} == *a* ]] && conf+=( "${conf_id2[@]}" ) 220 | 221 | local -n extra_id=X86MT_${id^^}_CONF extra_id2=X86MT_${id^^}_${2^^}_CONF 222 | conf+=( ${EXTRA_ECONF} ${extra_id} ${2+${extra_id2}} ) 223 | 224 | einfo "Building ${id}${2+ ${2}} in ${build_dir} ..." 225 | 226 | mkdir -p "${build_dir}" || die 227 | pushd "${build_dir}" >/dev/null || die 228 | 229 | edo "${conf[@]}" 230 | emake MAKEINFO=: V=1 231 | # -j1 to match bug #906155, other packages may be fragile too 232 | emake -j1 MAKEINFO=: V=1 DESTDIR="${X86MT_D}" install 233 | 234 | declare -f x86mt-${id} >/dev/null && edo x86mt-${id} 235 | declare -f x86mt-${id}_${2} >/dev/null && edo x86mt-${id}_${2} 236 | 237 | popd >/dev/null || die 238 | } 239 | 240 | # build with same ordering that crossdev would do 241 | x86mt-build binutils 242 | x86mt-build gcc stage1 243 | 244 | einfo "Building linux-headers in ${WORKDIR}/linux-headers ..." 245 | pushd linux-headers >/dev/null || die 246 | chmod -R a+r-w+X,u+w * || die 247 | emake headers_install INSTALL_HDR_PATH="${hdr_dir}/.." ARCH=x86 CROSS_COMPILE="${CTARGET}-" HOSTCC="$(tc-getBUILD_CC)" 248 | rm -rf "${hdr_dir}/scsi" || die 249 | popd >/dev/null || die 250 | ( 251 | 252 | export libc_cv_cxx_link_ok=no 253 | export CXX= 254 | 255 | # Fix compilation on systems which use a Clang/LLVM toolchain 256 | export CC="${CTARGET}-gcc -m32" 257 | export AS="${CTARGET}-as" 258 | export AR="${CTARGET}-ar" 259 | export RANLIB="${CTARGET}-ranlib" 260 | export OBJCOPY="${CTARGET}-objcopy" 261 | export NM="${CTARGET}-nm" 262 | 263 | CHOST=${CTARGET} strip-unsupported-flags 264 | 265 | export libc_cv_slibdir="${prefix}/lib" 266 | x86mt-build glibc x86 267 | export libc_cv_slibdir="${prefix}/lib64" 268 | export CC="${CTARGET}-gcc" 269 | x86mt-build glibc amd64 270 | ) 271 | local file 272 | while read -rd '' file ; do 273 | sed -i "s|${prefix}/|/|g" "${file}" || die 274 | done < <(grep -lZIF "ld script" "${sysroot}"/lib{,64}/lib*.{a,so} 2>/dev/null) 275 | 276 | x86mt-build gcc stage2 277 | 278 | if use bin-symlinks; then 279 | mkdir -p -- "${X86MT_D}${EPREFIX}"/usr/bin/ || die 280 | local bin 281 | for bin in "${sysroot}"/bin/*; do 282 | if [[ "$bin" == *"${CTARGET}"* ]]; then 283 | ln -rs -- "${bin}" "${X86MT_D}${EPREFIX}"/usr/bin/ || die 284 | fi 285 | done 286 | fi 287 | 288 | # portage doesn't know the right strip executable to use for CTARGET 289 | # and it can lead to .a mangling, notably with 32bit (breaks toolchain) 290 | dostrip -x ${x86mtdir}/{{${CTARGET}/,}lib{,64},{,s}bin,lib/gcc/${CTARGET}} 291 | 292 | if use strip; then 293 | einfo "Stripping ${CTARGET} static libraries ..." 294 | # find "${sysroot}"/{,lib/gcc/}${CTARGET} -type f -name '*.a' \ 295 | # -exec ${CTARGET}-strip --strip-unneeded {} + || die 296 | fi 297 | } 298 | 299 | src_install() { 300 | mv "${X86MT_D}${EPREFIX}"/* "${ED}" || die 301 | 302 | find "${ED}" -type f -name '*.la' -delete || die 303 | } 304 | 305 | pkg_postinst() { 306 | use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] && 307 | eselect compiler-shadow update all 308 | 309 | if [[ ! ${REPLACING_VERSIONS} ]]; then 310 | elog "Note that this package is primarily intended for FEX, and related" 311 | elog "packages to depend on without needing a manual crossdev setup." 312 | elog 313 | elog "Settings are oriented only for what these need and simplicity." 314 | elog "Use sys-devel/crossdev if need full toolchain/customization:" 315 | elog " https://wiki.gentoo.org/wiki/Crossdev" 316 | fi 317 | } 318 | 319 | pkg_postrm() { 320 | use bin-symlinks && has_version dev-util/shadowman && [[ ! ${ROOT} ]] && 321 | eselect compiler-shadow clean all 322 | } 323 | --------------------------------------------------------------------------------