├── .github └── workflows │ └── main.yml ├── LICENSE ├── README.md ├── acct-group └── speakersafetyd │ ├── metadata.xml │ └── speakersafetyd-0.ebuild ├── acct-user └── speakersafetyd │ ├── metadata.xml │ └── speakersafetyd-0.ebuild ├── app-arch └── lzfse │ ├── Manifest │ ├── lzfse-1.0.ebuild │ └── metadata.xml ├── app-emulation ├── FEX │ ├── FEX-2502.ebuild │ ├── FEX-2505.ebuild │ ├── Manifest │ ├── files │ │ ├── FEX-2502-thunkgen-gcc-install-dir.patch │ │ ├── FEX-2502-thunks-toolchain-paths.patch │ │ ├── FEX-2502-unvendor-drm-headers.patch │ │ ├── FEX-2503-thunkgen-gcc-install-dir.patch │ │ ├── FEX-2503-thunks-toolchain-paths.patch │ │ ├── FEX-2503-unvendor-drm-headers.patch │ │ ├── FEX-2505-event-loop-no-timeout.patch │ │ └── FEX-2505-fortification-fix.patch │ └── metadata.xml ├── fex-rootfs-gentoo │ ├── Manifest │ ├── fex-rootfs-gentoo-20250425.ebuild │ └── metadata.xml ├── fex-rootfs-mesa-asahi │ ├── Manifest │ ├── fex-rootfs-mesa-asahi-20250425.ebuild │ └── metadata.xml └── muvm │ ├── Manifest │ ├── metadata.xml │ └── muvm-0.4.1.ebuild ├── dev-libs ├── libkrun │ ├── Manifest │ ├── libkrun-1.11.2.ebuild │ └── metadata.xml └── libkrunfw │ ├── Manifest │ ├── files │ └── libkrunfw-4.5.1-do-not-strip.patch │ ├── libkrunfw-4.9.0-r1.ebuild │ ├── libkrunfw-4.9.0.ebuild │ └── metadata.xml ├── games-util └── steam │ ├── Manifest │ ├── metadata.xml │ └── steam-0.0.1-r1.ebuild ├── licenses └── ValveSteamLicense ├── media-libs ├── alsa-ucm-conf-asahi │ ├── Manifest │ ├── alsa-ucm-conf-asahi-8.ebuild │ └── metadata.xml ├── asahi-audio │ ├── Manifest │ ├── asahi-audio-3.4.ebuild │ └── metadata.xml ├── bankstown-lv2 │ ├── Manifest │ ├── bankstown-lv2-1.1.0-r2.ebuild │ └── metadata.xml ├── mesa-asahi-flatpak │ ├── Manifest │ ├── mesa-asahi-flatpak-25.1.0_pre20250425.ebuild │ └── metadata.xml ├── mesa │ ├── Manifest │ ├── files │ │ └── mesa-25.1.0_pre20250221-memcpy-to-memmove.patch │ ├── mesa-25.1.0-r100.ebuild │ └── metadata.xml ├── triforce-lv2 │ ├── Manifest │ ├── metadata.xml │ └── triforce-lv2-0.3.2.ebuild ├── virglrenderer │ ├── Manifest │ ├── metadata.xml │ └── virglrenderer-1.1.1_p202504240.ebuild └── widevine-installer │ ├── Manifest │ ├── files │ └── disable-configs.patch │ ├── metadata.xml │ └── widevine-installer-0.2.ebuild ├── metadata ├── layout.conf ├── md5-cache │ ├── app-arch │ │ └── lzfse-1.0 │ ├── media-libs │ │ ├── alsa-ucm-conf-asahi-5.0 │ │ ├── asahi-audio-1.8 │ │ ├── bankstown-lv2-1.1.0 │ │ ├── mesa-24.1.0_pre20240228-r1 │ │ └── widevine-installer-0.1-r2 │ ├── sys-apps │ │ ├── asahi-configs-1.0 │ │ ├── asahi-meta-2-r6 │ │ ├── asahi-nvram-meta-0.1 │ │ ├── asahi-scripts-20231219.1 │ │ ├── asahi-scripts-20231219.1-r1 │ │ └── speakersafetyd-0.1.9-r1 │ ├── sys-boot │ │ └── m1n1-1.4.11 │ ├── sys-firmware │ │ └── asahi-firmware-0.6.25-r1 │ ├── sys-kernel │ │ └── asahi-kernel-6.6.0_p16-r1 │ └── virtual │ │ ├── dist-kernel-6.6.0_p16 │ │ └── linux-sources-3-r6 ├── news │ ├── 2023-07-10-Major-changes-to-the-Asahi-repo │ │ └── 2023-07-10-Major-changes-to-the-Asahi-repo.en.txt │ ├── 2023-07-10-asahi-meta-package-now-available │ │ └── 2023-07-10-asahi-meta-package-now-available.en.txt │ ├── 2023-10-09-Webcam-now-available │ │ └── 2023-10-09-Webcam-now-available.en.txt │ ├── 2023-11-25-Limited-speaker-support-now-available │ │ └── 2023-11-25-Limited-speaker-support-now-available.en.txt │ ├── 2023-12-03-HDMI-out-now-available │ │ └── 2023-12-03-HDMI-out-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 │ ├── 2024-02-11-asahi-kernel-is-now-available │ │ └── 2024-02-11-asahi-kernel-is-now-available.en.txt │ ├── 2024-03-03-startup-disk-upstreamed │ │ └── 2024-03-03-startup-disk-upstreamed.en.txt │ ├── 2024-04-01-action-required-asahi-audio-now-slotted │ │ └── 2024-04-01-action-required-asahi-audio-now-slotted.en.txt │ ├── 2024-04-01-action-required-enable-unstable-globally │ │ └── 2024-04-01-action-required-enable-unstable-globally.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 │ ├── 2024-04-30-wireplumber-upgraded-to-0.5 │ │ └── 2024-04-30-wireplumber-upgraded-to-0.5.en.txt │ ├── 2024-07-16-mesa-asahi-flatpak-available │ │ └── 2024-07-16-mesa-asahi-flatpak-available.en.txt │ ├── 2024-08-23-charge-threshold-restoration-now-available │ │ └── 2024-08-23-charge-threshold-restoration-now-available.en.txt │ └── 2025-05-10-mesa-now-upstream │ │ └── 2025-05-10-mesa-now-upstream.en.txt └── pkgcheck.conf ├── profiles ├── desc │ └── video_cards.desc ├── eapi ├── package.mask ├── package.unmask ├── package.use ├── repo_name └── updates │ ├── 2Q-2024 │ ├── 3Q-2024 │ └── 4Q-2024 ├── repositories.xml ├── sys-apps ├── asahi-configs │ ├── asahi-configs-2.ebuild │ ├── files │ │ ├── baloo │ │ ├── envvars-2 │ │ ├── kcminput │ │ ├── xorg-modeset │ │ └── xorg-naturalscroll │ └── metadata.xml ├── asahi-meta │ ├── asahi-meta-2-r11.ebuild │ └── metadata.xml ├── asahi-nvram-meta │ ├── asahi-nvram-meta-0.1.ebuild │ └── metadata.xml ├── asahi-scripts │ ├── Manifest │ ├── asahi-scripts-20250426.1.ebuild │ ├── files │ │ ├── 99-update-m1n1.install │ │ ├── asahi-scripts-macsmc-battery.openrc │ │ └── update-m1n1.gentoo.conf │ └── metadata.xml └── speakersafetyd │ ├── Manifest │ ├── files │ ├── speakersafetyd │ └── speakersafetyd-noroot │ ├── metadata.xml │ └── speakersafetyd-1.1.2.ebuild ├── sys-boot ├── m1n1 │ ├── Manifest │ ├── m1n1-1.4.21.ebuild │ └── metadata.xml └── u-boot │ ├── Manifest │ ├── metadata.xml │ ├── u-boot-2024.10_p1.ebuild │ └── u-boot-2025.04_p1.ebuild ├── sys-devel └── x86_64-multilib-toolchain │ ├── Manifest │ ├── files │ └── gcc-13-fix-cross-fixincludes.patch │ ├── metadata.xml │ ├── x86_64-multilib-toolchain-14.2.0_p1.ebuild │ └── x86_64-multilib-toolchain-15.1.0.ebuild ├── sys-firmware └── asahi-firmware │ ├── Manifest │ ├── asahi-firmware-0.7.9.ebuild │ └── metadata.xml ├── sys-kernel ├── asahi-kernel │ ├── Manifest │ ├── asahi-kernel-6.14.4_p1.ebuild │ ├── files │ │ ├── 1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch │ │ ├── 2980_revert_kbuild-gcc15-gnu23-to-gnu11-fix.patch │ │ ├── 2981-kbuild-gcc15-gnu23-to-gnu11-fix.patch │ │ ├── asahi-kernel-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch │ │ ├── linux-6.10_disable_debug_info_btf.config │ │ ├── linux-6.10_drop_amdgpu.config │ │ ├── linux-6.8_arch_apple_overrides.config │ │ └── linux-6.8_arm64_deselect_non_apple_arch.config │ └── metadata.xml └── asahi-sources │ ├── Manifest │ ├── asahi-sources-6.14.8_p1.ebuild │ ├── files │ ├── 1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch │ ├── 2980_revert_kbuild-gcc15-gnu23-to-gnu11-fix.patch │ ├── 2981-kbuild-gcc15-gnu23-to-gnu11-fix.patch │ └── asahi-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch │ └── metadata.xml └── virtual ├── dist-kernel ├── dist-kernel-6.14.4_p1.ebuild └── metadata.xml └── linux-sources ├── linux-sources-3-r6.ebuild └── metadata.xml /.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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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-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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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-arch/lzfse/Manifest: -------------------------------------------------------------------------------- 1 | DIST lzfse-1.0.tar.gz 50694 BLAKE2B b250ee7f438f4c813e5b60e8a3a224a95a187ea2e29de1a3db7a2eafd6a484ccd778c7be4b809b34dc9d1a51edcb7ba743b0e82ae43a8045114866944b159770 SHA512 9d7ca44e6d3d2bdf4b82b0eb66c14922369b8b6fe2cf891187a77c6708b8d26c2c1b2ccddec6059e85dbbbb37c497419549f02812b5f34d06238ac246a8cf912 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/FEX-2502.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=( 18 19 ) 7 | LLVM_OPTIONAL=1 8 | 9 | inherit flag-o-matic cmake toolchain-funcs llvm-r1 10 | 11 | DESCRIPTION="A fast usermode x86 and x86-64 emulator for Arm64 Linux" 12 | HOMEPAGE="https://fex-emu.com" 13 | 14 | JEMALLOC_HASH="02ca52b5fefc0ccd0d2c4eaa1d17989cdd641927" 15 | JEMALLOC_GLIBC_HASH="404353974e335fb771562249163e2ea62c558e7e" 16 | CPP_OPTPARSE_HASH="eab4212ae864ba64306f0fe87f102e66cb5a3617" 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="29f979ee5aa58b7b005f805ea8df7a855c39ff37" 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 | thunks? ( 42 | !crossdev-toolchain? ( 43 | sys-devel/x86_64-multilib-toolchain 44 | ) 45 | $(llvm_gen_dep ' 46 | llvm-core/clang:${LLVM_SLOT}= 47 | llvm-core/llvm:${LLVM_SLOT}= 48 | ') 49 | ) 50 | " 51 | RDEPEND=" 52 | dev-libs/xxhash 53 | >=dev-libs/libfmt-11.0.2:= 54 | qt6? ( 55 | dev-qt/qtbase:6[gui,wayland(-),widgets,X(-)] 56 | dev-qt/qtdeclarative:6 57 | ) 58 | thunks? ( 59 | x11-libs/libX11 60 | x11-libs/libdrm 61 | dev-libs/wayland 62 | media-libs/alsa-lib 63 | media-libs/libglvnd 64 | x11-libs/libxcb 65 | ) 66 | app-emulation/fex-rootfs-gentoo 67 | app-emulation/fex-rootfs-mesa-asahi 68 | " 69 | DEPEND=" 70 | >=sys-kernel/linux-headers-6.8 71 | ${RDEPEND} 72 | " 73 | 74 | PATCHES=" 75 | ${FILESDIR}/${P}-unvendor-drm-headers.patch 76 | ${FILESDIR}/${P}-thunks-toolchain-paths.patch 77 | ${FILESDIR}/${P}-thunkgen-gcc-install-dir.patch 78 | " 79 | 80 | IUSE="crossdev-toolchain fexconfig qt6 +thunks" 81 | 82 | REQUIRED_USE=" 83 | crossdev-toolchain? ( thunks ) 84 | fexconfig? ( qt6 ) 85 | thunks? ( ${LLVM_REQUIRED_USE} ) 86 | " 87 | 88 | my-test-flag-PROG() { 89 | local comp=$1 90 | local lang=$2 91 | shift 2 92 | 93 | if [[ -z $1 ]]; then 94 | return 1 95 | fi 96 | 97 | if ! type -p ${comp[0]} >/dev/null; then 98 | return 1 99 | fi 100 | 101 | local in_src in_ext cmdline_extra=() 102 | case "${lang}" in 103 | c) 104 | in_ext='c' 105 | in_src='int main(void) { return 0; }' 106 | cmdline_extra+=(-xc -c) 107 | ;; 108 | c++) 109 | in_ext='cc' 110 | in_src='int main(void) { return 0; }' 111 | cmdline_extra+=(-xc++ -c) 112 | ;; 113 | esac 114 | local test_in=${T}/test-flag.${in_ext} 115 | local test_out=${T}/test-flag.exe 116 | 117 | printf "%s\n" "${in_src}" > "${test_in}" || die "Failed to create '${test_in}'" 118 | local cmdline=( 119 | "${comp[@]}" 120 | -Werror 121 | "$@" 122 | "${cmdline_extra[@]}" 123 | "${test_in}" -o "${test_out}" 124 | ) 125 | 126 | "${cmdline[@]}" &>/dev/null 127 | } 128 | 129 | my-test-flags-PROG() { 130 | local comp=$1 131 | local lang=$2 132 | local flags=() 133 | local x 134 | 135 | shift 2 136 | 137 | while (( $# )); do 138 | case "$1" in 139 | --param|-B) 140 | if my-test-flag-PROG ${comp} ${lang} "$1" "$2"; then 141 | flags+=( "$1" "$2" ) 142 | fi 143 | shift 2 144 | ;; 145 | *) 146 | if my-test-flag-PROG ${comp} ${lang} "$1"; then 147 | flags+=( "$1" ) 148 | fi 149 | shift 1 150 | ;; 151 | esac 152 | done 153 | 154 | echo "${flags[*]}" 155 | [[ ${#flags[@]} -gt 0 ]] 156 | } 157 | 158 | my-filter-var() { 159 | local f x var=$1 new=() 160 | shift 161 | 162 | for f in ${!var} ; do 163 | for x in "$@" ; do 164 | [[ ${f} == ${x} ]] && continue 2 165 | done 166 | new+=( "${f}" ) 167 | done 168 | export ${var}="${new[*]}" 169 | } 170 | 171 | THUNK_INC_DIR="${WORKDIR}/thunk-include" 172 | 173 | find_compiler() { 174 | ( 175 | pattern="$1" 176 | shift 177 | shopt -s nullglob 178 | IFS=: read -r -a paths <<<"$PATH" 179 | for dir in "${paths[@]}"; do 180 | for cand in "$dir"/$pattern; do 181 | "${cand}" -o /dev/null -x c "$@" - 2>/dev/null >/dev/null <<<'int main(){}' && echo "${cand#/${dir}}" && return 0 182 | done 183 | done 184 | return 1 185 | ) 186 | } 187 | 188 | pkg_setup() { 189 | use thunks && llvm-r1_pkg_setup 190 | } 191 | 192 | pkg_pretend() { 193 | [[ ${MERGE_TYPE} == binary ]] && return 194 | use thunks || return 195 | use crossdev-toolchain || return 196 | errmsg="Unable to find a working ARCH compiler on your system. You need to install one using crossdev." 197 | find_compiler 'x86_64*-linux-gnu-gcc' >/dev/null || die "${errmsg/ARCH/x86_64}" 198 | find_compiler 'i?86*-linux-gnu-gcc' >/dev/null || find_compiler 'x86_64*-linux-gnu-gcc' -m32 >/dev/null || die "${errmsg/ARCH/i686}" 199 | } 200 | 201 | src_unpack() { 202 | default 203 | local -A deps=( 204 | jemalloc "jemalloc-${JEMALLOC_HASH}" 205 | jemalloc_glibc "jemalloc-${JEMALLOC_GLIBC_HASH}" 206 | robin-map "robin-map-${ROBIN_MAP_HASH}" 207 | ) 208 | use thunks && deps[Vulkan-Headers]="Vulkan-Headers-${VULKAN_HEADERS_HASH}" 209 | for dep in "${!deps[@]}"; do 210 | rmdir "${S}/External/${dep}" || die 211 | mv "${WORKDIR}/${deps[${dep}]}" "${S}/External/${dep}" 212 | done 213 | rmdir "${S}/Source/Common/cpp-optparse" || die 214 | mv "${WORKDIR}/cpp-optparse-${CPP_OPTPARSE_HASH}" "${S}/Source/Common/cpp-optparse" || die 215 | } 216 | 217 | THUNK_HEADERS=" 218 | GL 219 | EGL 220 | GLES 221 | GLES2 222 | GLES3 223 | KHR 224 | glvnd 225 | wayland-client-core.h 226 | wayland-client-protocol.h 227 | wayland-client.h 228 | wayland-cursor.h 229 | wayland-egl-backend.h 230 | wayland-egl-core.h 231 | wayland-egl.h 232 | wayland-server-core.h 233 | wayland-server-protocol.h 234 | wayland-server.h 235 | wayland-util.h 236 | wayland-version.h 237 | X11 238 | libdrm 239 | libsync.h 240 | xf86drm.h 241 | xf86drmMode.h 242 | alsa 243 | xcb 244 | " 245 | 246 | src_prepare() { 247 | cmake_src_prepare 248 | sed -i -e "s:__REPLACE_ME_WITH_HEADER_DIR__:${THUNK_INC_DIR}:" ThunkLibs/GuestLibs/CMakeLists.txt || die 249 | mkdir "${THUNK_INC_DIR}" || die 250 | for header in $THUNK_HEADERS; do 251 | cp -a "${BROOT}/usr/include/${header}" "${THUNK_INC_DIR}/${header}" || die 252 | done 253 | } 254 | 255 | src_configure() { 256 | if ! tc-is-clang ; then 257 | AR=llvm-ar 258 | CC=clang 259 | CXX=clang++ 260 | NM=llvm-nm 261 | RANLIB=llvm-ranlib 262 | STRIP=llvm-strip 263 | 264 | strip-unsupported-flags 265 | fi 266 | oldpath="${PATH}" 267 | use crossdev-toolchain || PATH="${BROOT}/usr/lib/x86_64-multilib-toolchain/bin:${PATH}" 268 | 269 | local x64_cc="$(find_compiler 'x86_64*-linux-gnu-gcc' || die)" 270 | local x86_cc 271 | if x86_cc="$(find_compiler 'x86_64*-linux-gnu-gcc' -m32)"; then 272 | x86_cc="${x86_cc} -m32" 273 | else 274 | x86_cc="$(find_compiler 'i?86*-linux-gnu-gcc' || die)" 275 | fi 276 | 277 | sed -i -e "s:__REPLACE_ME_WITH_C_COMPILER__:${x64_cc}:" toolchain_x86_64.cmake || die 278 | sed -i -e "s:__REPLACE_ME_WITH_C_COMPILER__:${x86_cc}:" toolchain_x86_32.cmake || die 279 | sed -i -e "s:__REPLACE_ME_WITH_CXX_COMPILER__:${x64_cc/linux-gnu-gcc/linux-gnu-g++}:" toolchain_x86_64.cmake || die 280 | sed -i -e "s:__REPLACE_ME_WITH_CXX_COMPILER__:${x86_cc/linux-gnu-gcc/linux-gnu-g++}:" toolchain_x86_32.cmake || die 281 | 282 | export X86_CFLAGS="$(my-test-flags-PROG ${x64_cc/%gcc/cc} c ${CFLAGS} ${LDFLAGS})" 283 | export X86_CXXFLAGS="$(my-test-flags-PROG ${x64_cc/%gcc/c++} c++ ${CXXFLAGS} ${LDFLAGS})" 284 | export X86_LDFLAGS="$(my-test-flags-PROG ${x64_cc/%gcc/cc} c ${LDFLAGS})" 285 | 286 | my-filter-var X86_CFLAGS '-flto*' -fwhole-program-vtables '-fsanitize=cfi*' 287 | my-filter-var X86_CXXFLAGS '-flto*' -fwhole-program-vtables '-fsanitize=cfi*' 288 | 289 | tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG 290 | 291 | local mycmakeargs=( 292 | -DBUILD_TESTS=False 293 | -DENABLE_CCACHE=False 294 | -DENABLE_LTO=$(if tc-is-lto; then echo True; else echo False; fi) 295 | -DBUILD_FEXCONFIG=$(usex fexconfig) 296 | -DBUILD_THUNKS=$(usex thunks) 297 | -DENABLE_CLANG_THUNKS=False 298 | -DX86_CFLAGS="${X86_CFLAGS}" 299 | -DX86_CXXFLAGS="${X86_CXXFLAGS}" 300 | -DX86_LDFLAGS="${X86_LDFLAGS}" 301 | ) 302 | cmake_src_configure 303 | } 304 | 305 | src_install() { 306 | cmake_src_install 307 | tc-is-lto && dostrip -x /usr/lib/libFEXCore.a 308 | use thunks && dostrip -x /usr/share/fex-emu/GuestThunks{,_32}/ 309 | rm "${ED}/usr/share/man/man1/FEX.1.gz" || die 310 | PATH="${oldpath}" 311 | } 312 | 313 | pkg_postinst() { 314 | if [[ "$(getconf PAGESIZE)" -ne 4096 ]] && ! type -P "${EPREFIX}/usr/bin/muvm" >/dev/null ; then 315 | ewarn "Your system page size is not 4096 and as such" 316 | ewarn "you need to install app-emulation/muvm or a similar solution" 317 | ewarn "for FEX to work on your machine." 318 | fi 319 | } 320 | -------------------------------------------------------------------------------- /app-emulation/FEX/Manifest: -------------------------------------------------------------------------------- 1 | DIST FEX-2502.tar.gz 2112707 BLAKE2B 9ab4ba983bd711f1bdbbdfd805cb30e65ef90497eb8e1ea7d2ff4c87ca7f947a3398ef2920b00067e96879662ce801b254e6447e5b3ee6453f3f14b600ea5703 SHA512 852e111ad1d75ef38433aaac0fc3210a2d55847147c7773feef24ab2aacb3f6bf4717427d61e75ac1ae0b287df8e2adc54ee3a808061226fb38094eed62f5633 2 | DIST FEX-2505.tar.gz 2139687 BLAKE2B 018dd3d031e4e780272300d3e9cf290034d9c1dfeef18de1125c4f4466d77913ee9f254d0bcdc516e9a6e127da315decf9cd4b3080efde02a91bd40b2efccb34 SHA512 609ac23f96e684aeb610e51ae4769eee9f2ca13e80a21526169f26cbbda86993b4982ced5db3ee1b962d3a925f1ef33cfadf3c2a81766638935539cd90292838 3 | DIST Vulkan-Headers-29f979ee5aa58b7b005f805ea8df7a855c39ff37.tar.gz 2359246 BLAKE2B 4208b0837789cb26bcb5309d8f1f56aa58dca2f06f61557b6624aa9e63566e62b1e544da33050a48489e58c3e71022ff58dd10ebca00008105c8a909cc07a44c SHA512 15618de42ee2bc019053f00e51afdf37dbdedc1ce6ec18e806e169ba002ac7720c8b3c75e57adb01e56d2c0f5888ddf6418f688bcb666859549befdfa3beb8b5 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 cpp-optparse-eab4212ae864ba64306f0fe87f102e66cb5a3617.tar.gz 13162 BLAKE2B a1baf212e684d355e312b867c9c046d3b9946a71b0ed1c6a6322f6eb16bdb88f9ffb1f2201baf5ff06ddb0068bab42f2b8cbff9d3e79103e4148b7b100d0593e SHA512 12bb88cc26642b8951cb9cdd7c02e2690303da021d781ad49f41d5cc222eeb3cad955023cbe132d70be155962bad045d071c0af804ec515d8890026c344f23a9 7 | DIST jemalloc-02ca52b5fefc0ccd0d2c4eaa1d17989cdd641927.tar.gz 847982 BLAKE2B 7676066b106af133bb7dab4518aa63fe10341cf86175f8ed664b4850f240535c2107698876e9406a0f36e312f89cdb6785393e3883c212fd9cba3031047814ce SHA512 b15e1fdcff9f593dbaca88337a2ab784cb66491ef8794f72fbf67617c1f396c57ba1664deb53fa18e5c21a4bd777809ae4c03b1ce48f6e80ccabbcbd7668651d 8 | DIST jemalloc-glibc-404353974e335fb771562249163e2ea62c558e7e.tar.gz 825252 BLAKE2B deec3bbccbe898af2875e184c2fd350ebaa082b241f32f2f14eafe9cab00e531ee21d7a505845f85fb476b12f5299ce030a7074598603a238b0e3619b875ba49 SHA512 9902c1c8be69a09eeaa55e163216ca3c4b4eb12767c62032f07249cd7de1770f74364c309656a94a64afeaf25901042d8cab6bc5b706f35566c503b1750bbffd 9 | DIST robin-map-d5683d9f1891e5b04e3e3b2192b5349dc8d814ea.tar.gz 70652 BLAKE2B 03ca6c6c333661ece0ac818d43eee37ead3e0a0acb71c45df201bff30715db89b8f2be3f5bac0991379327f2fac4273ba1bd3d6c4102e5a472a7c7567fae4651 SHA512 23fe18c7d2dda9bc4216201a7e5935c8dc9f51066173e95d514360e3310c994c4dc7786a33f43cb7d15dcceb913375a48b8c02529eacde58c0a80f0e91e9b94d 10 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2502-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 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2502-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-unknown" "-isystem" "/usr/i686-linux-gnu/include/") 24 | + set(BITNESS_FLAGS2 "-m32" "--target=i686-linux-unknown") 25 | else() 26 | set(BITNESS_FLAGS "") 27 | - set(BITNESS_FLAGS2 "--target=x86_64-linux-unknown" "-isystem" "/usr/x86_64-linux-gnu/include/") 28 | + set(BITNESS_FLAGS2 "--target=x86_64-linux-unknown") 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,8 @@ 45 | +#ifndef __aarch64__ 46 | +#define _GLIBCXX_MATH_H 1 47 | +#define _MATH_H 1 48 | +#endif 49 | + 50 | #include 51 | 52 | #include 53 | diff --git a/toolchain_x86_32.cmake b/toolchain_x86_32.cmake 54 | index 89e3134d3..18fe655d1 100644 55 | --- a/toolchain_x86_32.cmake 56 | +++ b/toolchain_x86_32.cmake 57 | @@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS) 58 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 59 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 60 | else() 61 | - set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc -m32) 62 | - set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++ -m32) 63 | + set(CMAKE_C_FLAGS "${X86_CFLAGS}") 64 | + set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}") 65 | + set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__) 66 | + set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__) 67 | + set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}") 68 | + set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}") 69 | + set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}") 70 | endif() 71 | diff --git a/toolchain_x86_64.cmake b/toolchain_x86_64.cmake 72 | index 9aa856a01..8da9da8ee 100644 73 | --- a/toolchain_x86_64.cmake 74 | +++ b/toolchain_x86_64.cmake 75 | @@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS) 76 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 77 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 78 | else() 79 | - set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc) 80 | - set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++) 81 | + set(CMAKE_C_FLAGS "${X86_CFLAGS}") 82 | + set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}") 83 | + set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__) 84 | + set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__) 85 | + set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}") 86 | + set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}") 87 | + set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}") 88 | endif() 89 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2502-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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2503-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-unknown" "-isystem" "/usr/i686-linux-gnu/include/") 24 | + set(BITNESS_FLAGS2 "-m32" "--target=i686-linux-unknown") 25 | else() 26 | set(BITNESS_FLAGS "") 27 | - set(BITNESS_FLAGS2 "--target=x86_64-linux-unknown" "-isystem" "/usr/x86_64-linux-gnu/include/") 28 | + set(BITNESS_FLAGS2 "--target=x86_64-linux-unknown") 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,8 @@ 45 | +#ifndef __aarch64__ 46 | +#define _GLIBCXX_MATH_H 1 47 | +#define _MATH_H 1 48 | +#endif 49 | + 50 | #include 51 | 52 | #include 53 | diff --git a/toolchain_x86_32.cmake b/toolchain_x86_32.cmake 54 | index 89e3134d3..18fe655d1 100644 55 | --- a/toolchain_x86_32.cmake 56 | +++ b/toolchain_x86_32.cmake 57 | @@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS) 58 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 59 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 60 | else() 61 | - set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc -m32) 62 | - set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++ -m32) 63 | + set(CMAKE_C_FLAGS "${X86_CFLAGS}") 64 | + set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}") 65 | + set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__) 66 | + set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__) 67 | + set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}") 68 | + set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}") 69 | + set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}") 70 | endif() 71 | diff --git a/toolchain_x86_64.cmake b/toolchain_x86_64.cmake 72 | index 9aa856a01..8da9da8ee 100644 73 | --- a/toolchain_x86_64.cmake 74 | +++ b/toolchain_x86_64.cmake 75 | @@ -15,6 +15,11 @@ if (ENABLE_CLANG_THUNKS) 76 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CLANG_FLAGS}") 77 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CLANG_FLAGS}") 78 | else() 79 | - set(CMAKE_C_COMPILER x86_64-linux-gnu-gcc) 80 | - set(CMAKE_CXX_COMPILER x86_64-linux-gnu-g++) 81 | + set(CMAKE_C_FLAGS "${X86_CFLAGS}") 82 | + set(CMAKE_CXX_FLAGS "${X86_CXXFLAGS}") 83 | + set(CMAKE_C_COMPILER __REPLACE_ME_WITH_C_COMPILER__) 84 | + set(CMAKE_CXX_COMPILER __REPLACE_ME_WITH_CXX_COMPILER__) 85 | + set(CMAKE_EXE_LINKER_FLAGS "${X86_LDFLAGS}") 86 | + set(CMAKE_MODULE_LINKER_FLAGS "${X86_LDFLAGS}") 87 | + set(CMAKE_SHARED_LINKER_FLAGS "${X86_LDFLAGS}") 88 | endif() 89 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2505-event-loop-no-timeout.patch: -------------------------------------------------------------------------------- 1 | From 8eaf45414c05c9e7ef6f74a323d95fe7e0d883c1 Mon Sep 17 00:00:00 2001 2 | From: Tony Wasserka 3 | Date: Thu, 8 May 2025 11:42:59 +0200 4 | Subject: [PATCH 1/2] Async: Add run_one interface to enable more fine-grained 5 | event loop control 6 | 7 | --- 8 | Source/Common/Async.h | 36 +++++++++++++++++++++++++++--------- 9 | 1 file changed, 27 insertions(+), 9 deletions(-) 10 | 11 | diff --git a/Source/Common/Async.h b/Source/Common/Async.h 12 | index 5bc5b3cc05..a7daa95284 100644 13 | --- a/Source/Common/Async.h 14 | +++ b/Source/Common/Async.h 15 | @@ -54,6 +54,7 @@ struct poll_reactor { 16 | std::vector PollFDs; 17 | std::optional CurrentFD; // FD that is currently being processed 18 | 19 | + bool is_stopped = false; 20 | int AsyncStopRequest[2] = {-1, -1}; 21 | 22 | // Maps FD to callback 23 | @@ -91,12 +92,22 @@ struct poll_reactor { 24 | ::close(AsyncStopRequest[1]); 25 | } 26 | 27 | - error run(std::optional Timeout = std::nullopt) { 28 | + void cleanup() { 29 | + callbacks.clear(); 30 | + } 31 | + 32 | + [[nodiscard]] 33 | + bool stopped() const { 34 | + return is_stopped; 35 | + } 36 | + 37 | + error run_one(std::optional Timeout = std::nullopt) { 38 | // Process events queued before entering wait loop 39 | update_fd_list(); 40 | 41 | timespec ts = to_timespec(Timeout.value_or(std::chrono::nanoseconds {0})); 42 | 43 | + // ppoll may return EINTR/EAGAIN, so a loop is used here. Normally, we return in the first iteration. 44 | while (true) { 45 | int Result = ::ppoll(PollFDs.data(), PollFDs.size(), Timeout ? &ts : nullptr, nullptr); 46 | 47 | @@ -104,14 +115,10 @@ struct poll_reactor { 48 | if (errno == EINTR || errno == EAGAIN) { 49 | continue; 50 | } 51 | - callbacks.clear(); 52 | return error::generic_errno; 53 | } else if (Result == 0) { 54 | - callbacks.clear(); 55 | return error::timeout; 56 | } else { 57 | - bool exit_requested = false; 58 | - 59 | // Walk the FDs and see if we got any results 60 | for (auto& ActiveFD : PollFDs) { 61 | if (ActiveFD.revents == 0) { 62 | @@ -139,14 +146,14 @@ struct poll_reactor { 63 | ActiveFD.revents = 0; 64 | } 65 | } else if (Ret == post_callback::stop_reactor) { 66 | - exit_requested = true; 67 | + is_stopped = true; 68 | } 69 | CurrentFD.reset(); 70 | } 71 | if (ActiveFD.revents & (POLLHUP | POLLERR | POLLNVAL | POLLRDHUP)) { 72 | auto Callback = std::move(callbacks[ActiveFD.fd]); 73 | if (Callback) { 74 | - exit_requested |= (Callback(error::eof) == post_callback::stop_reactor); 75 | + is_stopped |= (Callback(error::eof) == post_callback::stop_reactor); 76 | } 77 | // Error or hangup, erase the socket from our list 78 | QueuedEvents.push_back(Event {.FD = {.fd = ActiveFD.fd}, .Erase = true}); 79 | @@ -155,12 +162,23 @@ struct poll_reactor { 80 | ActiveFD.revents = 0; 81 | } 82 | 83 | - if (exit_requested) { 84 | - callbacks.clear(); 85 | + if (is_stopped) { 86 | + cleanup(); 87 | return error::success; 88 | } 89 | 90 | update_fd_list(); 91 | + return error::success; 92 | + } 93 | + } 94 | + } 95 | + 96 | + error run(std::optional Timeout = std::nullopt) { 97 | + while (true) { 98 | + auto Result = run_one(Timeout); 99 | + if (Result != error::success || is_stopped) { 100 | + cleanup(); 101 | + return Result; 102 | } 103 | } 104 | } 105 | 106 | From c326e2d669fd5e9356f6107e188413a449cc1fd7 Mon Sep 17 00:00:00 2001 107 | From: Tony Wasserka 108 | Date: Thu, 8 May 2025 11:46:09 +0200 109 | Subject: [PATCH 2/2] FEXServer: Don't time out while clients are still 110 | connected 111 | 112 | --- 113 | Source/Tools/FEXServer/ProcessPipe.cpp | 16 +++++++++++++++- 114 | 1 file changed, 15 insertions(+), 1 deletion(-) 115 | 116 | diff --git a/Source/Tools/FEXServer/ProcessPipe.cpp b/Source/Tools/FEXServer/ProcessPipe.cpp 117 | index 51daa573dd..b3eca20d81 100644 118 | --- a/Source/Tools/FEXServer/ProcessPipe.cpp 119 | +++ b/Source/Tools/FEXServer/ProcessPipe.cpp 120 | @@ -24,6 +24,7 @@ constexpr int USER_PERMS = S_IRWXU | S_IRWXG | S_IRWXO; 121 | int ServerLockFD {-1}; 122 | std::optional ServerAcceptor; 123 | std::optional ServerFSAcceptor; 124 | +int NumClients = 0; 125 | time_t RequestTimeout {10}; 126 | bool Foreground {false}; 127 | std::vector PollFDs {}; 128 | @@ -210,6 +211,7 @@ bool InitializeServerSocket(bool abstract) { 129 | } 130 | 131 | int FD = Socket->FD; 132 | + ++NumClients; 133 | Reactor.bind_handler( 134 | pollfd { 135 | .fd = FD, 136 | @@ -219,6 +221,7 @@ bool InitializeServerSocket(bool abstract) { 137 | [Socket = std::move(Socket).value()](fasio::error ec) mutable { 138 | if (ec != fasio::error::success) { 139 | close(Socket.FD); 140 | + --NumClients; 141 | return fasio::post_callback::drop; 142 | } 143 | HandleSocketData(Socket); 144 | @@ -389,7 +392,18 @@ void CloseConnections() { 145 | 146 | void WaitForRequests() { 147 | Reactor.enable_async_stop(); 148 | - Reactor.run(Foreground ? std::nullopt : std::optional {std::chrono::seconds {RequestTimeout}}); 149 | + 150 | + while (true) { 151 | + std::optional Timeout = std::chrono::seconds {RequestTimeout}; 152 | + if (Foreground || NumClients > 0) { 153 | + Timeout.reset(); 154 | + } 155 | + auto Result = Reactor.run_one(Timeout); 156 | + if (Result != fasio::error::success || Reactor.stopped()) { 157 | + Reactor.cleanup(); 158 | + break; 159 | + } 160 | + } 161 | 162 | LogMan::Msg::DFmt("[FEXServer] Shutting Down"); 163 | 164 | -------------------------------------------------------------------------------- /app-emulation/FEX/files/FEX-2505-fortification-fix.patch: -------------------------------------------------------------------------------- 1 | From a37def2c22e528477f64296747228400ddc40222 Mon Sep 17 00:00:00 2001 2 | From: Ryan Houdek 3 | Date: Tue, 6 May 2025 14:30:08 -0700 4 | Subject: [PATCH] LinuxEmulation: Implement custom longjump that is 5 | fortification safe 6 | 7 | With fortifications enabled, glibc long jump has some additional checks 8 | in place that break because we do a stack pivot. The only way around 9 | this is to do our own long jumps. Luckily this is trivial. 10 | 11 | Fixes #4558 12 | --- 13 | .../LinuxSyscalls/Utils/Threads.cpp | 150 +++++++++++++++++- 14 | 1 file changed, 143 insertions(+), 7 deletions(-) 15 | 16 | diff --git a/Source/Tools/LinuxEmulation/LinuxSyscalls/Utils/Threads.cpp b/Source/Tools/LinuxEmulation/LinuxSyscalls/Utils/Threads.cpp 17 | index 31268cd8b4..48ad29224f 100644 18 | --- a/Source/Tools/LinuxEmulation/LinuxSyscalls/Utils/Threads.cpp 19 | +++ b/Source/Tools/LinuxEmulation/LinuxSyscalls/Utils/Threads.cpp 20 | @@ -5,8 +5,6 @@ 21 | #include 22 | #include 23 | 24 | -#include 25 | - 26 | namespace FEX::LinuxEmulation::Threads { 27 | void* StackTracker::AllocateStackObject() { 28 | std::lock_guard lk {DeadStackPoolMutex}; 29 | @@ -190,6 +188,143 @@ __attribute__((naked)) void StackPivotAndCall(void* Arg, FEXCore::Threads::Threa 30 | } 31 | #endif 32 | namespace PThreads { 33 | + namespace LongJump { 34 | + // This is a custom long jump implementation that avoids the glibc implementation. 35 | + // This is required behaviour because glibc's fortification checks don't understand stack pivots. 36 | + // FEX requires a stack pivot to work through a long jump, so these two features are at odds with each other. 37 | +#ifdef _M_ARM_64 38 | + struct JumpBuf { 39 | + // All the registers that are required by AAPCS64 to save. 40 | + // GPRs 41 | + // X19, X20, X21, X22, 42 | + // X23, X24, X25, X26, 43 | + // X27, X28, X29, X30, 44 | + // 45 | + // Lower 64-bits: 46 | + // V8, V9, V10, V11, 47 | + // V12, V13, V14, V15, 48 | + // 49 | + // SP, 50 | + uint64_t Registers[21]; 51 | + }; 52 | + FEX_NAKED uint64_t SetJump(JumpBuf& Buffer) { 53 | + __asm volatile(R"( 54 | + // x0 contains the jumpbuffer 55 | + stp x19, x20, [x0, #( 0 * 8)]; 56 | + stp x21, x22, [x0, #( 2 * 8)]; 57 | + stp x23, x24, [x0, #( 4 * 8)]; 58 | + stp x25, x26, [x0, #( 6 * 8)]; 59 | + stp x27, x28, [x0, #( 8 * 8)]; 60 | + stp x29, x30, [x0, #(10 * 8)]; 61 | + 62 | + // FPRs 63 | + stp d8, d9, [x0, #(12 * 8)]; 64 | + stp d10, d11, [x0, #(14 * 8)]; 65 | + stp d12, d13, [x0, #(16 * 8)]; 66 | + stp d14, d15, [x0, #(18 * 8)]; 67 | + 68 | + // Move SP in to a temporary to store. 69 | + mov x1, sp; 70 | + str x1, [x0, #(19 * 8)]; 71 | + 72 | + // Return zero to signify this is the SetJump. 73 | + mov x0, #0; 74 | + ret; 75 | + )" :: 76 | + : "memory"); 77 | + } 78 | + 79 | + [[noreturn]] 80 | + FEX_NAKED void LongJump(JumpBuf& Buffer, uint64_t Value) { 81 | + __asm volatile(R"( 82 | + // x0 contains the jumpbuffer 83 | + ldp x19, x20, [x0, #( 0 * 8)]; 84 | + ldp x21, x22, [x0, #( 2 * 8)]; 85 | + ldp x23, x24, [x0, #( 4 * 8)]; 86 | + ldp x25, x26, [x0, #( 6 * 8)]; 87 | + ldp x27, x28, [x0, #( 8 * 8)]; 88 | + ldp x29, x30, [x0, #(10 * 8)]; 89 | + 90 | + // FPRs 91 | + ldp d8, d9, [x0, #(12 * 8)]; 92 | + ldp d10, d11, [x0, #(14 * 8)]; 93 | + ldp d12, d13, [x0, #(16 * 8)]; 94 | + ldp d14, d15, [x0, #(18 * 8)]; 95 | + 96 | + // Load SP in to temporary then move 97 | + ldr x0, [x0, #(19 * 8)]; 98 | + mov sp, x0; 99 | + 100 | + // Move value in to result register 101 | + mov x0, x1; 102 | + ret; 103 | + )" :: 104 | + : "memory"); 105 | + } 106 | +#else 107 | + struct JumpBuf { 108 | + // Registers to preserve 109 | + // RBX, RSP, RBP, R12, R13, R14, R15, 110 | + // 111 | + uint64_t Registers[8]; 112 | + }; 113 | + 114 | + __attribute__((naked)) uint64_t SetJump(JumpBuf& Buffer) { 115 | + __asm volatile(R"( 116 | + .intel_syntax noprefix; 117 | + // rdi contains the jumpbuffer 118 | + mov [rdi + (0 * 8)], rbx; 119 | + mov [rdi + (1 * 8)], rsp; 120 | + mov [rdi + (2 * 8)], rbp; 121 | + mov [rdi + (3 * 8)], r12; 122 | + mov [rdi + (4 * 8)], r13; 123 | + mov [rdi + (5 * 8)], r14; 124 | + mov [rdi + (6 * 8)], r15; 125 | + 126 | + // Return address is on the stack, load it and store 127 | + mov rsi, [rsp]; 128 | + mov [rdi + (7 * 8)], rsi; 129 | + 130 | + // Return zero to signify this is the SetJump. 131 | + mov rax, 0; 132 | + ret; 133 | + 134 | + .att_syntax prefix; 135 | + )" :: 136 | + : "memory"); 137 | + } 138 | + 139 | + [[noreturn]] 140 | + __attribute__((naked)) void LongJump(JumpBuf& Buffer, uint64_t Value) { 141 | + __asm volatile(R"( 142 | + .intel_syntax noprefix; 143 | + // rdi contains the jumpbuffer 144 | + mov rbx, [rdi + (0 * 8)]; 145 | + mov rsp, [rdi + (1 * 8)]; 146 | + mov rbp, [rdi + (2 * 8)]; 147 | + mov r12, [rdi + (3 * 8)]; 148 | + mov r13, [rdi + (4 * 8)]; 149 | + mov r14, [rdi + (5 * 8)]; 150 | + mov r15, [rdi + (6 * 8)]; 151 | + 152 | + // Move value in to result register 153 | + mov rax, rsi; 154 | + 155 | + // Pop the dead return address off the stack 156 | + pop rsi; 157 | + 158 | + // Load the original return address from the jumpbuffer 159 | + mov rsi, [rdi + (7 * 8)]; 160 | + 161 | + // Return using a jump 162 | + jmp rsi; 163 | + 164 | + .att_syntax prefix; 165 | + )" :: 166 | + : "memory"); 167 | + } 168 | +#endif 169 | + }; // namespace LongJump 170 | void* InitializeThread(void* Ptr); 171 | 172 | class PThread final : public FEXCore::Threads::Thread { 173 | @@ -260,7 +395,7 @@ namespace PThreads { 174 | return STracker; 175 | } 176 | 177 | - void SetupLongJump(std::jmp_buf* exit_resolver) { 178 | + void SetupLongJump(LongJump::JumpBuf* exit_resolver) { 179 | _exit_resolver = exit_resolver; 180 | } 181 | 182 | @@ -268,7 +403,8 @@ namespace PThreads { 183 | void LongJumpExit(FEX::HLE::ThreadStateObject* ThreadObject, uint32_t Status) { 184 | this->Status = Status; 185 | this->ThreadObject = ThreadObject; 186 | - std::longjmp(*_exit_resolver, 1); 187 | + LongJump::LongJump(*_exit_resolver, 1); 188 | + FEX_UNREACHABLE; 189 | } 190 | 191 | uint32_t GetStatus() const { 192 | @@ -286,7 +422,7 @@ namespace PThreads { 193 | void* UserArg; 194 | void* Stack {}; 195 | 196 | - std::jmp_buf* _exit_resolver {}; 197 | + LongJump::JumpBuf* _exit_resolver {}; 198 | FEX::HLE::ThreadStateObject* ThreadObject {}; 199 | uint32_t Status {}; 200 | }; 201 | @@ -297,11 +433,11 @@ namespace PThreads { 202 | PThread* Thread {reinterpret_cast(Ptr)}; 203 | StackBase = Thread->GetPivotStack(); 204 | STracker = Thread->GetStackTracker(); 205 | - std::jmp_buf exit_resolver {}; 206 | + LongJump::JumpBuf exit_resolver {}; 207 | 208 | bool LongJumpExit {}; 209 | 210 | - if (setjmp(exit_resolver) == 0) { 211 | + if (LongJump::SetJump(exit_resolver) == 0) { 212 | Thread->SetupLongJump(&exit_resolver); 213 | // Run the user function. 214 | // `Thread` object is dead after this function returns. 215 | -------------------------------------------------------------------------------- /app-emulation/FEX/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | Bring-your-own x86(-64) toolchains. 9 | Build the FEXConfig tool 10 | Build thunk libraries 11 | Build FEXConfig using Qt 6 12 | 13 | 14 | FEX-Emu/FEX 15 | 16 | 17 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/Manifest: -------------------------------------------------------------------------------- 1 | DIST fex-rootfs-gentoo-20250425-root.sqfs 874397696 BLAKE2B 5e284cd9487c8991d046dd92f488f9d79835a1021ce3ab22d0406ff8fd3beec33b5955a20a1a318f7175391bf4ad276f61bec103064eb7ff11e188b0005089c3 SHA512 7efa20ac652e3dd201272ed17d58742dabfee7934103f6bf79c6a175187a994e25e81d8a726b616e091ace450a00297f4fbc200c7f5778426361f9c565dffcb5 2 | DIST fex-rootfs-gentoo-20250425.tar.gz 6579 BLAKE2B c4296b317f65c40d177d559fdbe304186a690c4c435252f23e4d539d3823b315d85e3fe3b6455c533ec06d59ffdd911e2960e978c803912f65f085c74df402b8 SHA512 549416fb57b1875661cf00dd20891cf77d3b42264b5a77a6e655db176b17be38329eba36d3ef4786f312d5252766274463126d76a988a2c392c0c7697a51de32 3 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/fex-rootfs-gentoo-20250425.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2024 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 | " 26 | DEPEND="${RDEPEND}" 27 | IUSE="systemd" 28 | 29 | pkg_pretend() { 30 | CONFIG_CHECK="~SQUASHFS ~SQUASHFS_ZSTD" 31 | check_extra_config 32 | [[ "${MERGE_TYPE}" != "buildonly" && "$(systemd_is_booted)" == 0 ]] || return 33 | ewarn "This package depends on systemd being the init system for correct operation" 34 | ewarn "On non-systemd systems assembling all the mount points correctly is left" 35 | ewarn "as an excercise for the user." 36 | } 37 | 38 | src_install() { 39 | local base="/usr/share/fex-emu-rootfs-layers/gentoo" 40 | insinto "${base}/images/" 41 | newins "${DISTDIR}/${P}-root.sqfs" 00-base.sqfs 42 | keepdir "${base}/work/" 43 | keepdir "${base}/writable/" 44 | gen_dir="$(systemd_get_systemgeneratordir)" 45 | exeinto "${gen_dir#"${EPREFIX}"}" 46 | doexe systemd/fex-gentoo-rootfs-generator 47 | systemd_dounit 'systemd/usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-00\x2dbase.mount' 48 | } 49 | 50 | pkg_prerm() { 51 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 52 | systemctl daemon-reload 53 | systemctl stop 'usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-00\x2dbase.mount' 54 | } 55 | 56 | pkg_postinst() { 57 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 58 | systemctl daemon-reload 59 | systemctl start 'usr-share-fex\x2demu-RootFS-Gentoo.mount' 60 | } 61 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-gentoo/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | WhatAmISupposedToPutHere/fex-rootfs 9 | 10 | 11 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-mesa-asahi/Manifest: -------------------------------------------------------------------------------- 1 | DIST fex-rootfs-mesa-asahi-20250425.sqfs 16785408 BLAKE2B 0622352f87c2276045dbd16ad26e32ba0ec41fdbe38985b81ad8ca23c4d5aca9ddef746af5e7516b11b0fa6a3f5aacf5eaa9e02fa39c22430e7e7079299fc524 SHA512 b719eb15aa0c4197669d6fd74675e702826fa1628afdc2627d7dd0c9c415ee46955c23497a51a584e9eb330bedbaf045c6b36b0daf0b5bcc599d382a39bee063 2 | DIST fex-rootfs-mesa-asahi-20250425.tar.gz 6935 BLAKE2B 60170457cf38c3c9f2e11d2ee4df7298022848f012c2021e3ccb5be22541adae54782b57bc6c638a81c551eb8513af5e28bdf28611e4aabd0179f619e262a05f SHA512 27a3e5b5f81a4067c8e82760fd181fe1faa2f348c53c8073c0532e73cf79a93a144922d63ec5be4326d78a923a9f5fea3f0a2c8af8b40be0953a761add146db1 3 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-mesa-asahi/fex-rootfs-mesa-asahi-20250425.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2024 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="FEX rootfs overlay containing asahi mesa" 9 | HOMEPAGE="https://github.com/WhatAmISupposedToPutHere/fex-rootfs" 10 | 11 | SRC_URI=" 12 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/releases/download/mesa-${PV}/fex-mesa.sqfs -> ${P}.sqfs 13 | https://github.com/WhatAmISupposedToPutHere/fex-rootfs/archive/refs/tags/20241114.tar.gz -> ${P}.tar.gz 14 | " 15 | 16 | S="${WORKDIR}/fex-rootfs-20241114" 17 | 18 | LICENSE="metapackage MIT" 19 | SLOT="0" 20 | KEYWORDS="-* ~arm64" 21 | DEPEND=" 22 | systemd? ( sys-apps/systemd ) 23 | " 24 | RDEPEND=" 25 | ${DEPEND} 26 | app-emulation/fex-rootfs-gentoo 27 | " 28 | IUSE="systemd" 29 | 30 | pkg_pretend() { 31 | CONFIG_CHECK="~SQUASHFS ~SQUASHFS_ZSTD" 32 | check_extra_config 33 | } 34 | 35 | src_install() { 36 | local base="/usr/share/fex-emu-rootfs-layers/gentoo" 37 | insinto "${base}/images/" 38 | newins "${DISTDIR}/${P}.sqfs" 30-mesa.sqfs 39 | systemd_dounit 'systemd/usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-30\x2dmesa.mount' 40 | } 41 | 42 | pkg_prerm() { 43 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 44 | systemctl daemon-reload 45 | systemctl stop 'usr-share-fex\x2demu\x2drootfs\x2dlayers-gentoo-layers-30\x2dmesa.mount' 46 | } 47 | 48 | pkg_postrm() { 49 | [[ "$(systemd_is_booted)" == 0 ]] && return 50 | rmdir "${EROOT}/usr/share/fex-emu-rootfs-layers/gentoo/layers/30-mesa/" 2>/dev/zero 51 | systemctl daemon-reload 52 | systemctl start 'usr-share-fex\x2demu-RootFS-Gentoo.mount' 53 | } 54 | 55 | pkg_postinst() { 56 | [[ "${MERGE_TYPE}" == "buildonly" || "$(systemd_is_booted)" == 0 ]] && return 57 | systemctl daemon-reload 58 | systemctl restart 'usr-share-fex\x2demu-RootFS-Gentoo.mount' 59 | } 60 | -------------------------------------------------------------------------------- /app-emulation/fex-rootfs-mesa-asahi/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | WhatAmISupposedToPutHere/fex-rootfs 9 | 10 | 11 | -------------------------------------------------------------------------------- /app-emulation/muvm/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | slp/krun 9 | 10 | 11 | -------------------------------------------------------------------------------- /app-emulation/muvm/muvm-0.4.1.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.3 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 | humantime@2.1.0 51 | ident_case@1.0.1 52 | input-linux-sys@0.9.0 53 | input-linux@0.7.1 54 | io-lifetimes@1.0.11 55 | is_terminal_polyfill@1.70.0 56 | itertools@0.12.1 57 | itoa@1.0.11 58 | lazy_static@1.4.0 59 | lazycell@1.3.0 60 | libc@0.2.161 61 | libudev-sys@0.1.4 62 | linux-raw-sys@0.4.13 63 | lock_api@0.4.12 64 | log@0.4.21 65 | memchr@2.7.2 66 | memoffset@0.9.1 67 | minimal-lexical@0.2.1 68 | miniz_oxide@0.7.3 69 | mio@0.8.11 70 | neli-proc-macros@0.2.0-rc3 71 | neli@0.7.0-rc3 72 | nix@0.29.0 73 | nom@7.1.3 74 | num_cpus@1.16.0 75 | object@0.35.0 76 | parking_lot@0.12.3 77 | parking_lot_core@0.9.10 78 | pin-project-lite@0.2.14 79 | pkg-config@0.3.31 80 | proc-macro-error-attr2@2.0.0 81 | proc-macro-error2@2.0.1 82 | proc-macro2@1.0.82 83 | procfs-core@0.17.0 84 | procfs@0.17.0 85 | quote@1.0.36 86 | redox_syscall@0.5.10 87 | regex-automata@0.4.6 88 | regex-syntax@0.8.3 89 | regex@1.10.4 90 | rustc-demangle@0.1.24 91 | rustc-hash@1.1.0 92 | rustix@0.38.34 93 | ryu@1.0.18 94 | scopeguard@1.2.0 95 | serde@1.0.203 96 | serde_derive@1.0.203 97 | serde_json@1.0.117 98 | shlex@1.3.0 99 | signal-hook-registry@1.4.2 100 | smallvec@1.14.0 101 | socket2@0.5.7 102 | strsim@0.10.0 103 | syn@1.0.109 104 | syn@2.0.61 105 | tempfile@3.10.1 106 | tokio-macros@2.3.0 107 | tokio-stream@0.1.15 108 | tokio-util@0.7.11 109 | tokio@1.38.0 110 | udev@0.9.1 111 | unicode-ident@1.0.12 112 | utf8parse@0.2.1 113 | uuid@1.10.0 114 | wasi@0.11.0+wasi-snapshot-preview1 115 | windows-sys@0.48.0 116 | windows-sys@0.52.0 117 | windows-targets@0.48.5 118 | windows-targets@0.52.5 119 | windows_aarch64_gnullvm@0.48.5 120 | windows_aarch64_gnullvm@0.52.5 121 | windows_aarch64_msvc@0.48.5 122 | windows_aarch64_msvc@0.52.5 123 | windows_i686_gnu@0.48.5 124 | windows_i686_gnu@0.52.5 125 | windows_i686_gnullvm@0.52.5 126 | windows_i686_msvc@0.48.5 127 | windows_i686_msvc@0.52.5 128 | windows_x86_64_gnu@0.48.5 129 | windows_x86_64_gnu@0.52.5 130 | windows_x86_64_gnullvm@0.48.5 131 | windows_x86_64_gnullvm@0.52.5 132 | windows_x86_64_msvc@0.48.5 133 | windows_x86_64_msvc@0.52.5 134 | " 135 | 136 | RUST_MIN_VER="1.72.0" 137 | 138 | inherit cargo 139 | 140 | DESCRIPTION="Run programs from your system in a microVM" 141 | HOMEPAGE="https://github.com/AsahiLinux/muvm" 142 | 143 | SRC_URI=" 144 | ${CARGO_CRATE_URIS} 145 | https://github.com/AsahiLinux/muvm/archive/refs/tags/${P}.tar.gz 146 | " 147 | 148 | S="${WORKDIR}/muvm-${P}" 149 | 150 | LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016 Unlicense ZLIB" 151 | SLOT="0" 152 | KEYWORDS="~arm64" 153 | 154 | BDEPEND=" 155 | virtual/pkgconfig 156 | " 157 | 158 | DEPEND=" 159 | >=dev-libs/libkrun-1.10.1 160 | " 161 | RDEPEND=" 162 | ${DEPEND} 163 | >=dev-libs/libkrunfw-4.7.1 164 | net-misc/passt 165 | net-misc/socat 166 | " 167 | 168 | src_compile() { 169 | cargo_src_compile --workspace 170 | } 171 | 172 | src_install() { 173 | local bin 174 | for bin in muvm{,-guest}; do 175 | dobin "$(cargo_target_dir)/$bin" 176 | done 177 | insinto /usr/share/wireplumber/scripts/client 178 | doins share/wireplumber/scripts/client/access-muvm.lua 179 | insinto /usr/share/wireplumber/wireplumber.conf.d 180 | doins share/wireplumber/wireplumber.conf.d/50-muvm-access.conf 181 | } 182 | -------------------------------------------------------------------------------- /dev-libs/libkrun/libkrun-1.11.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 | CRATES=" 7 | addr2line@0.24.2 8 | adler2@2.0.0 9 | aho-corasick@1.1.3 10 | allocator-api2@0.2.20 11 | android-tzdata@0.1.1 12 | android_system_properties@0.1.5 13 | annotate-snippets@0.9.2 14 | anyhow@1.0.93 15 | async-trait@0.1.83 16 | atty@0.2.14 17 | autocfg@1.4.0 18 | backtrace@0.3.74 19 | base64@0.22.1 20 | bincode@1.3.3 21 | bindgen@0.69.5 22 | bitfield@0.15.0 23 | bitflags@1.3.2 24 | bitflags@2.6.0 25 | bumpalo@3.16.0 26 | byteorder@1.5.0 27 | bzip2-sys@0.1.11+1.0.8 28 | bzip2@0.5.0 29 | caps@0.5.5 30 | cc@1.2.1 31 | cexpr@0.6.0 32 | cfg-expr@0.15.8 33 | cfg-if@1.0.0 34 | cfg_aliases@0.2.1 35 | chrono@0.4.38 36 | clang-sys@1.8.1 37 | codicon@3.0.0 38 | convert_case@0.6.0 39 | cookie-factory@0.3.3 40 | core-foundation-sys@0.8.7 41 | crc32fast@1.4.2 42 | crossbeam-channel@0.5.13 43 | crossbeam-utils@0.8.20 44 | curl-sys@0.4.78+curl-8.11.0 45 | curl@0.4.47 46 | dirs-sys@0.4.1 47 | dirs@5.0.1 48 | either@1.13.0 49 | env_logger@0.9.3 50 | equivalent@1.0.1 51 | flate2@1.0.35 52 | foldhash@0.1.3 53 | foreign-types-shared@0.1.1 54 | foreign-types@0.3.2 55 | futures-channel@0.3.31 56 | futures-core@0.3.31 57 | futures-executor@0.3.31 58 | futures-io@0.3.31 59 | futures-macro@0.3.31 60 | futures-sink@0.3.31 61 | futures-task@0.3.31 62 | futures-util@0.3.31 63 | futures@0.3.31 64 | getrandom@0.2.15 65 | gimli@0.31.1 66 | glob@0.3.1 67 | hashbrown@0.15.1 68 | heck@0.5.0 69 | hermit-abi@0.1.19 70 | hex@0.4.3 71 | humantime@2.1.0 72 | iana-time-zone-haiku@0.1.2 73 | iana-time-zone@0.1.61 74 | imago@0.1.4 75 | indexmap@2.6.0 76 | iocuddle@0.1.1 77 | itertools@0.12.1 78 | itoa@1.0.11 79 | jobserver@0.1.32 80 | js-sys@0.3.72 81 | kbs-types@0.8.0 82 | kvm-bindings@0.10.0 83 | kvm-ioctls@0.19.0 84 | lazy_static@1.5.0 85 | lazycell@1.3.0 86 | libc@0.2.164 87 | libloading@0.8.5 88 | libredox@0.1.3 89 | libspa-sys@0.8.0 90 | libspa@0.8.0 91 | libz-sys@1.1.20 92 | linux-loader@0.13.0 93 | log@0.4.22 94 | lru@0.12.5 95 | memchr@2.7.4 96 | memoffset@0.6.5 97 | memoffset@0.7.1 98 | minimal-lexical@0.2.1 99 | miniz_oxide@0.8.0 100 | nix@0.24.3 101 | nix@0.26.4 102 | nix@0.27.1 103 | nix@0.29.0 104 | nom@7.1.3 105 | num-traits@0.2.19 106 | object@0.36.5 107 | once_cell@1.20.2 108 | openssl-macros@0.1.1 109 | openssl-probe@0.1.5 110 | openssl-sys@0.9.104 111 | openssl@0.10.68 112 | option-ext@0.2.0 113 | page_size@0.6.0 114 | pin-project-lite@0.2.15 115 | pin-utils@0.1.0 116 | pipewire-sys@0.8.0 117 | pipewire@0.8.0 118 | pkg-config@0.3.31 119 | ppv-lite86@0.2.20 120 | proc-macro2@1.0.89 121 | procfs@0.12.0 122 | quote@1.0.37 123 | rand@0.8.5 124 | rand_chacha@0.3.1 125 | rand_core@0.6.4 126 | rdrand@0.8.3 127 | redox_users@0.4.6 128 | regex-automata@0.4.9 129 | regex-syntax@0.8.5 130 | regex@1.11.1 131 | remain@0.2.14 132 | rustc-demangle@0.1.24 133 | rustc-hash@1.1.0 134 | rustc_version@0.4.1 135 | ryu@1.0.18 136 | schannel@0.1.26 137 | semver@1.0.23 138 | serde-big-array@0.5.1 139 | serde@1.0.215 140 | serde_bytes@0.11.15 141 | serde_derive@1.0.215 142 | serde_json@1.0.133 143 | serde_spanned@0.6.8 144 | sev@4.0.0 145 | shlex@1.3.0 146 | slab@0.4.9 147 | smallvec@1.13.2 148 | socket2@0.5.7 149 | static_assertions@1.1.0 150 | syn@2.0.87 151 | system-deps@6.2.2 152 | target-lexicon@0.12.16 153 | termcolor@1.4.1 154 | thiserror-impl@1.0.69 155 | thiserror@1.0.69 156 | tokio@1.41.1 157 | toml@0.8.19 158 | toml_datetime@0.6.8 159 | toml_edit@0.22.22 160 | tracing-attributes@0.1.27 161 | tracing-core@0.1.32 162 | tracing@0.1.40 163 | unicode-ident@1.0.13 164 | unicode-segmentation@1.12.0 165 | unicode-width@0.1.14 166 | uuid@1.11.0 167 | vcpkg@0.2.15 168 | version-compare@0.2.0 169 | virtio-bindings@0.2.4 170 | vm-fdt@0.3.0 171 | vm-memory@0.16.1 172 | vmm-sys-util@0.12.1 173 | wasi@0.11.0+wasi-snapshot-preview1 174 | wasm-bindgen-backend@0.2.95 175 | wasm-bindgen-macro-support@0.2.95 176 | wasm-bindgen-macro@0.2.95 177 | wasm-bindgen-shared@0.2.95 178 | wasm-bindgen@0.2.95 179 | winapi-i686-pc-windows-gnu@0.4.0 180 | winapi-util@0.1.9 181 | winapi-x86_64-pc-windows-gnu@0.4.0 182 | winapi@0.3.9 183 | windows-core@0.52.0 184 | windows-sys@0.48.0 185 | windows-sys@0.52.0 186 | windows-sys@0.59.0 187 | windows-targets@0.48.5 188 | windows-targets@0.52.6 189 | windows_aarch64_gnullvm@0.48.5 190 | windows_aarch64_gnullvm@0.52.6 191 | windows_aarch64_msvc@0.48.5 192 | windows_aarch64_msvc@0.52.6 193 | windows_i686_gnu@0.48.5 194 | windows_i686_gnu@0.52.6 195 | windows_i686_gnullvm@0.52.6 196 | windows_i686_msvc@0.48.5 197 | windows_i686_msvc@0.52.6 198 | windows_x86_64_gnu@0.48.5 199 | windows_x86_64_gnu@0.52.6 200 | windows_x86_64_gnullvm@0.48.5 201 | windows_x86_64_gnullvm@0.52.6 202 | windows_x86_64_msvc@0.48.5 203 | windows_x86_64_msvc@0.52.6 204 | winnow@0.6.20 205 | yansi-term@0.1.2 206 | zerocopy-derive@0.6.6 207 | zerocopy-derive@0.7.35 208 | zerocopy@0.6.6 209 | zerocopy@0.7.35 210 | zstd-safe@7.2.1 211 | zstd-sys@2.0.13+zstd.1.5.6 212 | zstd@0.13.2 213 | " 214 | 215 | inherit cargo 216 | 217 | DESCRIPTION="A dynamic library providing Virtualization-based process isolation capabilities" 218 | HOMEPAGE="https://github.com/containers/libkrun" 219 | 220 | SRC_URI=" 221 | ${CARGO_CRATE_URIS} 222 | https://github.com/containers/libkrun/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz 223 | " 224 | 225 | 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" 226 | SLOT="0" 227 | KEYWORDS="-* ~amd64 ~arm64" 228 | 229 | RDEPEND=" 230 | dev-libs/libkrunfw 231 | media-libs/virglrenderer 232 | media-video/pipewire 233 | " 234 | DEPEND=" 235 | ${RDEPEND} 236 | " 237 | src_compile() { 238 | unset ARCH 239 | emake PREFIX=/usr GPU=1 BLK=1 NET=1 SND=1 240 | } 241 | 242 | src_install() { 243 | emake DESTDIR="${D}" PREFIX=/usr install 244 | } 245 | -------------------------------------------------------------------------------- /dev-libs/libkrun/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | containers/libkrun 9 | 10 | 11 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/Manifest: -------------------------------------------------------------------------------- 1 | DIST libkrunfw-4.9.0.tar.gz 4354100 BLAKE2B 81e77c773020a3cea90cbf77e920b119302d5714aef7636ee550fc67e251e6cdc8c2831990f024b533e958c758a1eac8568d61ecb1a1f2ae4ae4390d2db1ea76 SHA512 0e4a2ad6f407c7d3742b9e48fb4c7d9f59edbe90957b22cceed26efe4c3c8448b78ce76814f6406f45c0ab0720a5693e41b0bf53364f0bd2ca1d73d3d4826bb3 2 | DIST linux-6.12.20.tar.xz 148029712 BLAKE2B 9d8677dd7dad0fd7c30559896bfd643dc39afe51087699016ecb515dbf23abec81be78d9772a4ce42a3106911a912c8ab6ef5dc8fe477dfcbe6e517fb4533533 SHA512 8dd823b657857a2dec65566e67ca70a181aa0304ed732c1a0bdacad3a6bda3ef726cab3b0d02ec7eaf082f51f17758d4df3f15493c1b51bfd736e4ece07baa65 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/libkrunfw-4.9.0-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 | PYTHON_COMPAT=( python3_{11,12,13} ) 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.20 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 | } 59 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/libkrunfw-4.9.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,12,13} ) 7 | 8 | inherit python-any-r1 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.20 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" 54 | } 55 | 56 | src_install() { 57 | emake DESTDIR="${D}" PREFIX=/usr install 58 | } 59 | -------------------------------------------------------------------------------- /dev-libs/libkrunfw/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | 7 | 8 | containers/libkrunfw 9 | 10 | 11 | -------------------------------------------------------------------------------- /games-util/steam/Manifest: -------------------------------------------------------------------------------- 1 | DIST steam-aarch64.tar.gz 4756 BLAKE2B b6dddcdb31759bb6be86749a48657ab2f14a3c4417410de7dcedabb497b1e09db2d2d098606b32e36d1d1192b23f8ed9a7fec9d1700df8ace4bf2ae490fedd88 SHA512 aa5ab04633f41edfa5f0f6e72fab163bfcdfadb6619623e43aa17dd88dbabdfb9cebd7ade4c3daeb45d13d19626bf654a23df3e760fff580e2b15e804efa2f8f 2 | DIST steam_1.0.0.81.tar.gz 4034361 BLAKE2B 3bd5deaa2aab8988bb071af3b2400699440af23795bad55f2040581431e2fe1aa02221bb4e4455677207689e9c7383cdf09290fd9b50334ce1ffabcd6c439f4b SHA512 adbb89f3af069d9ff417ca7789a3d275e6485212ec8e08a4b2d110a2f370fc6d1a564895ba58b0548ea1521ee90029a4bb397ef86f29e093907abd562f65d07f 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /games-util/steam/steam-0.0.1-r1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 1999-2024 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="fb3e8aeaffe5bb374b34f2eacc91130a05b17b21" 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.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 | gnome-extra/zenity 33 | " 34 | 35 | src_unpack() { 36 | default 37 | } 38 | 39 | src_configure() { 40 | true 41 | } 42 | src_compile() { 43 | true 44 | } 45 | 46 | src_install() { 47 | cd "${WORKDIR}/steam-launcher" || die 48 | emake DESTDIR="${D}" \ 49 | install-bin \ 50 | install-docs \ 51 | install-icons \ 52 | install-bootstrap \ 53 | install-desktop \ 54 | install-appdata 55 | 56 | # Install the wrapper manually 57 | cd "${WORKDIR}/steam-aarch64-${ARM64_WRAPPER_COMMIT}" || die 58 | dobin {steam-aarch64,steam-muvm} 59 | newmenu steam-aarch64.desktop steam.desktop 60 | } 61 | 62 | pkg_postinst() { 63 | xdg_pkg_postinst 64 | einfo "Steam has been installed. To launch steam, use the desktop entry or" 65 | einfo "run /usr/bin/steam-aarch64 from the terminal." 66 | } 67 | 68 | pkg_postrm() { 69 | xdg_pkg_postrm 70 | } 71 | -------------------------------------------------------------------------------- /media-libs/alsa-ucm-conf-asahi/Manifest: -------------------------------------------------------------------------------- 1 | DIST alsa-ucm-conf-asahi-8.tar.gz 3680 BLAKE2B 5dcd87426ea277d98ca1d7b3ab1dee06d85bb8947022f1278389c35d1090c8b13ce2864a02e6b70a24e0970994accafa48e3a217283a4b527c8f1528a6ac8e2b SHA512 b925a2a5ab7e4e48ee300f2dbd045d8e3c642deeabbcc103ad10f119358350b4724ed4c408b7c0c897e90fd001ce6f1903598b5d819efb45e17ccd56155425ea 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/asahi-audio/Manifest: -------------------------------------------------------------------------------- 1 | DIST asahi-audio-3.4.tar.gz 2646735 BLAKE2B 2b30e62575a2597436b1e4dac5c39bf77ce27f2186ae6cc0f54d78a5ee355e667fa2b146f26f71f1bf9f3d480441d37bfe99d3912f73810bb16675029f3798f6 SHA512 d7c9d32ad520bf48f267c6b26d103e730d8b952ba1eb6518ba976090b8f773edc43024ebf3282dcab6d9753f4afc848783a362cb699885d961625fa017f55be5 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/mesa-asahi-flatpak/Manifest: -------------------------------------------------------------------------------- 1 | DIST mesa-asahi-flatpak-25.1.0_pre20250425-2308.rpm 46218471 BLAKE2B 77bfe178a37b6abe44a14478bf5080a12478b19f0fdf9b9093a308c7664ba657e43e277276cbe27e72f02f9e4120b949b90404bce8346121c775890eb08e453f SHA512 dbdae9cf22552644e57dcb0a3a91223afba488ec4035f44fcb6261f365c4b3272d101106915e38385f56b9d1de45c0db84a06bc075d065529f21af2e18c80e54 2 | DIST mesa-asahi-flatpak-25.1.0_pre20250425-2408.rpm 50053294 BLAKE2B ce20119c00647b7712dc430433f6a62eaa07982b57f8e9648c735998501768c9f209b749f8d6cc01ddf1b691d18a6590fc1dc396eb2c34ac1335e20692526c66 SHA512 55a2d50f9bfe7d46c9f412678db92a2096694c5699a845d6af7f6444da08b77ee0b6b55381668b68b05cdb92eb2252ac8ee6bab8863f82b5141ea5e6d682b26e 3 | -------------------------------------------------------------------------------- /media-libs/mesa-asahi-flatpak/mesa-asahi-flatpak-25.1.0_pre20250425.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 rpm 7 | 8 | DESCRIPTION="Asahi OpenGL Extension for Flatpak" 9 | HOMEPAGE="https://asahilinux.org https://flatpak.org" 10 | 11 | FEDORA_MAJOR="42" 12 | 13 | SRC_URI=" 14 | 2308? ( 15 | https://download.copr.fedorainfracloud.org/results/@asahi/flatpak/fedora-${FEDORA_MAJOR}-aarch64/08985462-mesa-asahi-23.08-flatpak/mesa-asahi-23.08-flatpak-$(ver_cut 1-3)~asahipre$(ver_cut 5)-1.aarch64.rpm -> ${P}-2308.rpm 16 | ) 17 | 18 | 2408? ( 19 | https://download.copr.fedorainfracloud.org/results/@asahi/flatpak/fedora-${FEDORA_MAJOR}-aarch64/08987807-mesa-asahi-24.08-flatpak/mesa-asahi-24.08-flatpak-$(ver_cut 1-3)~asahipre$(ver_cut 5)-2.aarch64.rpm -> ${P}-2408.rpm 20 | ) 21 | " 22 | 23 | S="${WORKDIR}" 24 | 25 | LICENSE="MIT SGI-B-2.0" 26 | SLOT="0" 27 | 28 | KEYWORDS="arm64" 29 | 30 | IUSE="+2308 +2408" 31 | REQUIRED_USE="|| ( 2308 2408 )" 32 | 33 | RDEPEND=" 34 | sys-apps/flatpak 35 | || ( >=media-libs/mesa-25.1.0 36 | ~media-libs/mesa-${PV} 37 | ) 38 | " 39 | 40 | DEPEND="${RDEPEND} 41 | " 42 | BDEPEND=" 43 | app-arch/rpm2targz 44 | " 45 | 46 | src_unpack() { 47 | use 2308 && ( 48 | mkdir "${WORKDIR}/${P}-2308" || die 49 | cd "${WORKDIR}/${P}-2308" || die 50 | rpm_unpack ${P}-2308.rpm 51 | ) 52 | 53 | use 2408 && ( 54 | mkdir "${WORKDIR}/${P}-2408" || die 55 | cd "${WORKDIR}/${P}-2408" || die 56 | rpm_unpack ${P}-2408.rpm 57 | ) 58 | } 59 | 60 | src_prepare() { 61 | default 62 | } 63 | 64 | mesa-asahi-flatpak_install() { 65 | local ver="${1}" 66 | insinto / 67 | doins -r "${WORKDIR}/${P}-${ver}/var/" 68 | } 69 | 70 | src_install() { 71 | use 2308 && mesa-asahi-flatpak_install "2308" 72 | use 2408 && mesa-asahi-flatpak_install "2408" 73 | } 74 | -------------------------------------------------------------------------------- /media-libs/mesa-asahi-flatpak/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | Install the extension for the FDO Runtime version 23.08 10 | Install the extension for the FDO Runtime version 24.08 11 | 12 | 13 | -------------------------------------------------------------------------------- /media-libs/mesa/Manifest: -------------------------------------------------------------------------------- 1 | DIST mesa-asahi-20250425.tar.bz2 58170253 BLAKE2B d6f1568a1010d24215c02dd68c961ea496c7e79354e4e79bef291bfdca800c2a628c2460d69ad05d4cf63a100c63fd68e7594b8a18e5925800c83d4eefba5453 SHA512 44093c6844fed0c837e2d94ff84437b2aec047feccfeff319c92379e77ffd47ff7360e3ea16ba7dc1d31296bd3b2befd7527876ce64134b5087e4cf014d8bfa8 2 | DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee 3 | DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434 4 | DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c 5 | DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372 6 | DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920 7 | -------------------------------------------------------------------------------- /media-libs/mesa/files/mesa-25.1.0_pre20250221-memcpy-to-memmove.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/compiler/spirv/vtn_bindgen2.c b/src/compiler/spirv/vtn_bindgen2.c 2 | index bb12fb1502d..94e23082b72 100644 3 | --- a/src/compiler/spirv/vtn_bindgen2.c 4 | +++ b/src/compiler/spirv/vtn_bindgen2.c 5 | @@ -75,8 +75,8 @@ lower_to_bindgen_return(nir_shader *nir) 6 | * parameters. 7 | */ 8 | libfunc->num_params--; 9 | - memcpy(libfunc->params, libfunc->params + 1, 10 | - sizeof(libfunc->params[0]) * libfunc->num_params); 11 | + memmove(libfunc->params, libfunc->params + 1, 12 | + sizeof(libfunc->params[0]) * libfunc->num_params); 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /media-libs/mesa/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | asahi@gentoo.org 6 | Gentoo Asahi 7 | 8 | 9 | jcalligeros99@gmail.com 10 | James Calligeros 11 | 12 | 13 | Enable Direct 3D9 API through Nine state tracker. Can be used together with patched wine. 14 | Enable LLVM backend for Gallium3D. 15 | Enable Gallium HUD lm-sensors support. 16 | Enable the Rusticl Gallium OpenCL state tracker. 17 | Build the Mesa library for off-screen rendering. 18 | Enable codecs for patent-encumbered audio and video formats. 19 | Enable the VDPAU acceleration interface for the Gallium3D Video Layer. 20 | Enable support for dev-libs/wayland 21 | Enable the XA (X Acceleration) API for Gallium3D. 22 | 23 | 24 | asahi/mesa 25 | 26 | 27 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /media-libs/virglrenderer/Manifest: -------------------------------------------------------------------------------- 1 | DIST virglrenderer-asahi-20250424.tar.bz2 856683 BLAKE2B bb57f0a600f6efd4097f702d9259be58de563320d0e3cfd08ba613712f4dce02c47df8face1b7b433528f62c9fba2a74833740fa9856d9b0d15e940f71baf2ab SHA512 afeb690de0d1496089f5095071cc164b13d17546a68f6f3f73ba740eb27a4a93749b6686cad5ff67a16add9e1a42dee066ce8e50655cc1edacdfd52411b1727f 2 | -------------------------------------------------------------------------------- /media-libs/virglrenderer/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | virtualization@gentoo.org 6 | Gentoo Virtualization Project 7 | 8 | 9 | virgl/virglrenderer 10 | 11 | 12 | -------------------------------------------------------------------------------- /media-libs/virglrenderer/virglrenderer-1.1.1_p202504240.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 flag-o-matic meson 7 | 8 | if [[ ${PV} == "9999" ]] ; then 9 | EGIT_REPO_URI="https://gitlab.freedesktop.org/asahi/virglrenderer.git" 10 | inherit git-r3 11 | else 12 | pv_full="$(ver_cut 5)" 13 | pv_date="$((pv_full / 10))" 14 | MY_PV="asahi-${pv_date}" 15 | MY_P="${PN}-${MY_PV}" 16 | SRC_URI="https://gitlab.freedesktop.org/asahi/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2" 17 | S="${WORKDIR}/${MY_P}" 18 | 19 | KEYWORDS="~amd64 ~arm64" 20 | fi 21 | 22 | DESCRIPTION="library used implement a virtual 3D GPU used by qemu" 23 | HOMEPAGE="https://virgil3d.github.io/" 24 | 25 | LICENSE="MIT" 26 | SLOT="0" 27 | IUSE="static-libs" 28 | 29 | RDEPEND=" 30 | >=x11-libs/libdrm-2.4.50 31 | media-libs/libepoxy 32 | =media-libs/mesa-25.1.0-r100 33 | x11-libs/libX11 34 | " 35 | 36 | DEPEND="${RDEPEND}" 37 | 38 | # Most of the testsuite cannot run in our sandboxed environment, just don't 39 | # deal with it for now. 40 | RESTRICT="test" 41 | 42 | src_configure() { 43 | append-cflags -Wno-error=pedantic 44 | 45 | local emesonargs=( 46 | -Ddefault_library=$(usex static-libs both shared) 47 | -Ddrm-renderers=asahi-experimental 48 | ) 49 | 50 | meson_src_configure 51 | } 52 | -------------------------------------------------------------------------------- /media-libs/widevine-installer/Manifest: -------------------------------------------------------------------------------- 1 | DIST widevine-installer-0.2.tar.gz 7968 BLAKE2B 416afe9489867b4fc242a1aeb8dd7cc5916f1b640ac72f1e288faf94df4aa7f3b520ad05150a465855b7fab9eda774c3ff14603376e6e9fd05c593e744f64dac SHA512 4cf42662ef8c66c6a404d1e042c74d299943f49b739bf964c344ecd3659e6e09857db89c31142593f566ddceee1d42fb517023e92052b7f7ef4372059d8c97fc 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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/pkgcheck.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | profiles = stable,dev,-default/linux/arm64/17.0/musl,-default/linux/arm64/23.0/musl,-default/linux/arm64/23.0/split-usr/musl 3 | -------------------------------------------------------------------------------- /profiles/desc/video_cards.desc: -------------------------------------------------------------------------------- 1 | asahi - VIDEO_CARDS setting to build the Asahi Gallium driver for Apple AGX GPUs 2 | -------------------------------------------------------------------------------- /profiles/eapi: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /profiles/package.mask: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chadmed/asahi-overlay/4aba9fd027bfa3cd32db506d88dc6850324486ba/profiles/package.mask -------------------------------------------------------------------------------- /profiles/package.unmask: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chadmed/asahi-overlay/4aba9fd027bfa3cd32db506d88dc6850324486ba/profiles/package.unmask -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /profiles/repo_name: -------------------------------------------------------------------------------- 1 | asahi 2 | -------------------------------------------------------------------------------- /profiles/updates/2Q-2024: -------------------------------------------------------------------------------- 1 | slotmove media-libs/asahi-audio 1.0 0 2 | -------------------------------------------------------------------------------- /profiles/updates/3Q-2024: -------------------------------------------------------------------------------- 1 | move app-emulation/krun app-emulation/muvm 2 | -------------------------------------------------------------------------------- /profiles/updates/4Q-2024: -------------------------------------------------------------------------------- 1 | slotmove virtual/dist-kernel 0 asahi 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/baloo: -------------------------------------------------------------------------------- 1 | [General] 2 | only basic indexing=true 3 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/envvars-2: -------------------------------------------------------------------------------- 1 | export MOZ_ENABLE_WAYLAND=1 2 | -------------------------------------------------------------------------------- /sys-apps/asahi-configs/files/kcminput: -------------------------------------------------------------------------------- 1 | [Libinput][Defaults][Touchpad] 2 | NaturalScroll=true 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-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/asahi-configs/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/PKGBUILDs 10 | 11 | 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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-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 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/Manifest: -------------------------------------------------------------------------------- 1 | DIST asahi-scripts-20250426.1.tar.gz 12609 BLAKE2B 7834ea3ae2650adcabe0cc22cd81e78e354cab6a71e005b00db855d72ce40f9c8d17791e8f70d539e9d180aaff27fc783993547d1d5c26b9b1322d20aa149543 SHA512 b92ff0b2c90a0fc10206cc1124d191d6b7658050e46c6ecd8475a098b9e2670c421288e32acf2d9e51a44355857b5078ec1f200b132b3e9539ec948254d3f91e 2 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/asahi-scripts-20250426.1.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="Apple Silicon support scripts" 7 | HOMEPAGE="https://asahilinux.org/" 8 | SRC_URI="https://github.com/AsahiLinux/${PN}/archive/refs/tags/${PV}.tar.gz -> ${PN}-${PV}.tar.gz" 9 | LICENSE="MIT" 10 | SLOT="0" 11 | KEYWORDS="arm64" 12 | 13 | BDEPEND=" 14 | dev-build/make 15 | virtual/udev 16 | " 17 | 18 | src_prepare() { 19 | default 20 | } 21 | 22 | src_compile() { 23 | emake || die "Could not invoke emake" 24 | } 25 | 26 | src_install() { 27 | emake DESTDIR="${D}" PREFIX="/usr" SYS_PREFIX="" install-dracut 28 | emake DESTDIR="${D}" PREFIX="/usr" install-macsmc-battery 29 | 30 | newinitd "${FILESDIR}/${PN}-macsmc-battery.openrc" "macsmc-battery" 31 | 32 | # install gentoo sys config 33 | insinto /etc/default 34 | newins "${FILESDIR}"/update-m1n1.gentoo.conf update-m1n1 35 | exeinto /usr/lib/kernel/install.d/ 36 | doexe "${FILESDIR}/99-update-m1n1.install" 37 | } 38 | 39 | pkg_postinst() { 40 | if [[ ! -e ${ROOT}/usr/lib/asahi-boot ]]; then 41 | ewarn "These scripts are intended for use on Apple Silicon" 42 | ewarn "machines with the Asahi tooling installed! Please" 43 | ewarn "install sys-boot/m1n1, sys-boot/u-boot and" 44 | ewarn "sys-firmware/asahi-firmware!" 45 | fi 46 | 47 | elog "Asahi scripts have been installed to /usr/. For more" 48 | elog "information on how to use them, please visit the Wiki." 49 | 50 | if [[ -e ${ROOT}/usr/local/share/asahi-scripts/functions.sh ]]; then 51 | ewarn "You have upgraded to a new version of ${PN}. Please" 52 | ewarn "remove /usr/local/share/asahi-scripts/," 53 | ewarn " /usr/local/bin/update-m1n1, and" 54 | ewarn "/usr/local/bin/update-vendor-firmware." 55 | fi 56 | 57 | if [[ -e ${ROOT}/etc/dracut.conf.d/10-apple.conf ]]; then 58 | ewarn "Please remove /etc/dracut.conf.d/10-apple.conf" 59 | fi 60 | } 61 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/files/99-update-m1n1.install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | update-m1n1 3 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-apps/asahi-scripts/files/update-m1n1.gentoo.conf: -------------------------------------------------------------------------------- 1 | DTBS=/usr/src/linux/arch/arm64/boot/dts/apple/*.dtb 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-apps/speakersafetyd/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | AsahiLinux/speakersafetyd 10 | 11 | 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-boot/m1n1/Manifest: -------------------------------------------------------------------------------- 1 | DIST m1n1-1.4.21.tar.gz 858819 BLAKE2B a2d8929498896835b893746845e8c425f1e0fd21a85e79c62e3558394836ee53a3f084b95ed623a8b596b645f0708bf556780254872da1fa5002b56693f52aa5 SHA512 e4aec640ecd4ebecff9ca88387876fbb614cbfae368296e571d86aba18da827736521d57e0caabab995b2793b55145506dca290191fbbd5294a3d667ab7e0903 2 | -------------------------------------------------------------------------------- /sys-boot/m1n1/m1n1-1.4.21.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/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 | -------------------------------------------------------------------------------- /sys-boot/u-boot/Manifest: -------------------------------------------------------------------------------- 1 | DIST u-boot-2024.10_p1.tar.gz 35135224 BLAKE2B dbedf75b0efdc418b24afebc221bfddc357a72b524071d9b706cdccaff2ea22217483de3cc29c5c005635d4cd73dee71a5c39fa4de44b5afe8d1dc06851b67fe SHA512 a8348c19b1508711ace4ba2ede40462f892244e0ca52aac2a6b31dd2387d18bd3f18bccfb416235ddc2edf9930fb3c990fa8e8f039f29615efbd87d15e87e435 2 | DIST u-boot-2025.04_p1.tar.gz 43561044 BLAKE2B 2f9b09d24b9d565482f715e2bf4df24d36b5d03b32d3e7c99ab4144e1db7e8090de099693150fdb8d86634d569b916b23e9dbcbedfd1ec3ddd1d0da4f20d62bd SHA512 bb111d092c8a63b6d70920e448fb56bcb807dd49be7a2f14ef8a363d3cbcd76d6b82032e0d40604e1222450f72181b0819100192d164b385a61dc79710f512e8 3 | -------------------------------------------------------------------------------- /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-boot/u-boot/u-boot-2024.10_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..11} ) 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-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-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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-firmware/asahi-firmware/Manifest: -------------------------------------------------------------------------------- 1 | DIST asahi-firmware-0.7.9.tar.gz 57023 BLAKE2B 1b6754652116da28d0ad3ba7c26f0d41f269da7c4d11bd776953088ba5765546add0e853106b1c39da5238be0f0e01e8be838630f0c03ec52c035aabbfaff68c SHA512 c533fd34cd2360f28c3ff76fa839bd2c9994cc457045a826c36e4f989af9b424375991a93246f264991289ad5aeb0a642c7d6bdfd7683dd6c6c77621f5d0129e 2 | -------------------------------------------------------------------------------- /sys-firmware/asahi-firmware/asahi-firmware-0.7.9.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..13} ) 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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/Manifest: -------------------------------------------------------------------------------- 1 | DIST genpatches-6.14-5.base.tar.xz 478484 BLAKE2B b4a07d4eb4efd31162d0c6880d826535f894806a664690c4648314df4ba70f374a0e8091bc8d7a7193ca2e75fe57fe730ff6867f171c2b4a90af4788272e3888 SHA512 00aefb9d59b0bb4d6361e59e8e92d141f8f5e2b033a7418fe5625ad2fcb1aac247606a3e54f7cb791f02591d57362e84c61511c896cd17be1013b23e43f70e73 2 | DIST genpatches-6.14-5.extras.tar.xz 4052 BLAKE2B 131ba26cfcc2f1218a79b33069f5d01a1bdb016315f85913b557429999a17c414640246e2a95c1d79cfcdfcf60577f4bb614b728e56d725dc808cb5785795a3a SHA512 746e312955ab745c901c653d2f64fdbf075a80388ee1618072e52225f7fa6163e5cc65ea41791ffea89dc1b61f242317a1b3179e85647ba9dd7c9de27937d4c9 3 | DIST gentoo-kernel-config-g16.tar.gz 5995 BLAKE2B cddb80d45169749c707d87efd186f7a981534aab2479b6c51790008ea61e9f9feac35d0d74b95dc18281e4b81771e09f259a1d9f216f5d7f806fa7cd6aeeb4d1 SHA512 f8114e645e1ab99e45703790b7e43c2fa9ee17b41a2265dccdd9187c122bf8b5a09ba918fbcf094aa899bb959f05d105ed474b75cdfa9a19c4d49fd138825647 4 | DIST kernel-aarch64-16k-fedora.config-6.14.4-400 292689 BLAKE2B c9b72ed0acd9fd0d963e0204afea7259466b6478575c58e4d8f4cbd81f89b7c54ea1958a490f522d51af0d403639820b53596afc012f890296e4e2c7b0bd075e SHA512 eeae5420c0a4738a08ea8cc7e1ca13c3a54dd1c2d17f911ab236d28e9b260c0dceb5a8e468c60f5a7a839def0d88079b2e47edc36014453b26c918f9232735a9 5 | DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb 6 | DIST linux-asahi-6.14.4-1.diff 3495474 BLAKE2B a97aec8aabd1206ebc3a9ed686afdcb634409f00c17e2668db23b4407b6411fa80085cadea0d12f2de9e7174600796800c444c9af83027d7aedcd4115a27654c SHA512 5ac6f5be84ffb5ca66e45eb23a70bb7b13f9c336196fa00e02e7a4952bf4e3096f2180330fffd370d2ff48a94a2ef8a97ee49b6d1d3d630a4cc2a67838cc9eb6 7 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/asahi-kernel-6.14.4_p1.ebuild: -------------------------------------------------------------------------------- 1 | # Copyright 2023-2024 Gentoo Authors 2 | # Distributed under the terms of the GNU General Public License v2 3 | 4 | EAPI="8" 5 | K_SECURITY_UNSUPPORTED="1" 6 | ETYPE="sources" 7 | K_NODRYRUN="1" 8 | 9 | RUST_MIN_VER="1.78.0" 10 | RUST_REQ_USE='rust-src,rustfmt' 11 | 12 | inherit kernel-build rust 13 | 14 | MY_P=linux-${PV%.*} 15 | GENPATCHES_P="genpatches-$(ver_cut 1-2)-5" 16 | 17 | if [[ ${PV} != ${PV/_rc} ]] ; then 18 | # $PV is expected to be of following form: 6.0_rc5_p1 19 | MY_TAG="$(ver_cut 6)" 20 | MY_BASE="$(ver_rs 2 - $(ver_cut 1-4))" 21 | else 22 | # $PV is expected to be of following form: 5.19.0_p1 23 | MY_TAG="$(ver_cut 5)" 24 | if [[ "$(ver_cut 3)" == "0" ]] ; then 25 | MY_BASE="$(ver_cut 1-2)" 26 | else 27 | MY_BASE="$(ver_cut 1-3)" 28 | fi 29 | fi 30 | 31 | ASAHI_TAG="asahi-${MY_BASE}-${MY_TAG}" 32 | 33 | # BASE_ASAHI_TAG is the first used TAG of specific release, i.e. usually 34 | # the first tag of a linux 6.x or linux stable 6.x.y release 35 | #BASE_ASAHI_TAG="asahi-${MY_BASE}-3" 36 | BASE_ASAHI_TAG="${ASAHI_TAG}" 37 | 38 | CONFIG_VER=6.14.4-400 39 | GENTOO_CONFIG_VER=g16 40 | # provide a temporary mirror as long as Fedora's copr dist-git cgit is dissabled 41 | FEDORA_CONFIG_DISTGIT="asahi.jannau.net/cgit/@asahi/kernel" 42 | # FEDORA_CONFIG_DISTGIT="copr-dist-git.fedorainfracloud.org/cgit/@asahi/kernel" 43 | # FEDORA_CONFIG_DISTGIT="copr-dist-git.fedorainfracloud.org/cgit/ngompa/fedora-asahi-dev" 44 | FEDORA_CONFIG_SHA1=6e09c88d5eaa7f010172a239e620b917fcbb108b 45 | 46 | DESCRIPTION="Asahi Linux kernel sources" 47 | SLOT="asahi/${PVR}" 48 | HOMEPAGE="https://asahilinux.org" 49 | SRC_URI=" 50 | https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${MY_P}.tar.xz 51 | https://github.com/AsahiLinux/linux/compare/v${MY_BASE}...${BASE_ASAHI_TAG}.diff 52 | -> linux-${BASE_ASAHI_TAG}.diff 53 | https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz 54 | https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz 55 | https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz 56 | -> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz 57 | https://${FEDORA_CONFIG_DISTGIT}/kernel.git/plain/kernel-aarch64-16k-fedora.config?id=${FEDORA_CONFIG_SHA1} 58 | -> kernel-aarch64-16k-fedora.config-${CONFIG_VER} 59 | " 60 | 61 | S="${WORKDIR}/${MY_P}" 62 | 63 | LICENSE="GPL-2" 64 | KEYWORDS="arm64" 65 | 66 | IUSE="debug" 67 | 68 | # Rust is non-negotiable for the dist kernel 69 | DEPEND=" 70 | ${DEPEND} 71 | dev-util/bindgen 72 | debug? ( dev-util/pahole ) 73 | " 74 | 75 | PDEPEND=" 76 | ~virtual/dist-kernel-${PV} 77 | " 78 | 79 | QA_FLAGS_IGNORED=" 80 | usr/src/linux-.*/scripts/gcc-plugins/.*.so 81 | usr/src/linux-.*/vmlinux 82 | usr/src/linux-.*/arch/powerpc/kernel/vdso.*/vdso.*.so.dbg 83 | " 84 | 85 | src_prepare() { 86 | local PATCHES=( 87 | # meh, genpatches have no directory 88 | "${WORKDIR}"/*.patch 89 | "${FILESDIR}/1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch" 90 | "${DISTDIR}/linux-${BASE_ASAHI_TAG}.diff" 91 | "${FILESDIR}/${PN}-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch" 92 | ) 93 | default 94 | 95 | # prepare the default config 96 | cp "${DISTDIR}/kernel-aarch64-16k-fedora.config-${CONFIG_VER}" ".config" || die 97 | 98 | # ensure a consistant version across kernel and gentoo 99 | # this passes the ${PV}-as-release check in kernel-install_pkg_preinst() 100 | # override "-asahi" in localversion.05-asahi with "_pX" to override the 101 | # kernel's base varsion to gentoo's ${PV} 102 | echo "-p${MY_TAG}" > localversion.05-asahi 103 | # use CONFIG_LOCALVERSION to provide "asahi" and "dist" annotations. 104 | local myversion="-asahi-dist" 105 | echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die 106 | local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}" 107 | 108 | local merge_configs=( 109 | "${T}"/version.config 110 | "${dist_conf_path}"/base.config 111 | ) 112 | use debug || merge_configs+=( 113 | "${dist_conf_path}"/no-debug.config 114 | "${FILESDIR}"/linux-6.10_disable_debug_info_btf.config 115 | ) 116 | 117 | # deselect all non APPLE arm64 ARCHs 118 | merge_configs+=( 119 | "${FILESDIR}"/linux-6.8_arm64_deselect_non_apple_arch.config 120 | ) 121 | # adjust base config for Apple silicon systems 122 | merge_configs+=( 123 | "${FILESDIR}"/linux-6.8_arch_apple_overrides.config 124 | ) 125 | 126 | # amdgpu no longer builds with clang (issue #113) 127 | merge_configs+=( 128 | "${FILESDIR}"/linux-6.10_drop_amdgpu.config 129 | ) 130 | 131 | kernel-build_merge_configs "${merge_configs[@]}" 132 | } 133 | 134 | src_install() { 135 | # call kernel-build's scr_install 136 | kernel-build_src_install 137 | 138 | # symlink installed *.dtbs back into kernel "source" directory 139 | for dtb in "${ED}/lib/modules/${KV_FULL}/dtb/apple/"*.dtb; do 140 | local basedtb=$(basename ${dtb}) 141 | dosym -r "${dtb##${ED}}" "/usr/src/linux-${KV_FULL}/arch/arm64/boot/dts/apple/${basedtb}" 142 | done 143 | } 144 | 145 | pkg_postinst() { 146 | einfo "For more information about Asahi Linux please visit ${HOMEPAGE}," 147 | einfo "or consult the Wiki at https://github.com/AsahiLinux/docs/wiki." 148 | kernel-build_pkg_postinst 149 | } 150 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/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-kernel/asahi-kernel/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 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/linux-6.10_disable_debug_info_btf.config: -------------------------------------------------------------------------------- 1 | # CONFIG_DEBUG_INFO_BTF is not set 2 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-kernel/asahi-kernel/files/linux-6.8_arm64_deselect_non_apple_arch.config: -------------------------------------------------------------------------------- 1 | # CONFIG_ARCH_ACTIONS is not set 2 | # CONFIG_ARCH_SUNXI is not set 3 | # CONFIG_ARCH_ALPINE is not set 4 | # CONFIG_ARCH_BCM is not set 5 | # CONFIG_ARCH_BCM2835 is not set 6 | # CONFIG_ARCH_BCM_IPROC is not set 7 | # CONFIG_ARCH_BCMBCA is not set 8 | # CONFIG_ARCH_BRCMSTB is not set 9 | # CONFIG_ARCH_BERLIN is not set 10 | # CONFIG_ARCH_BITMAIN is not set 11 | # CONFIG_ARCH_EXYNOS is not set 12 | # CONFIG_ARCH_SPARX5 is not set 13 | # CONFIG_ARCH_K3 is not set 14 | # CONFIG_ARCH_LG1K is not set 15 | # CONFIG_ARCH_HISI is not set 16 | # CONFIG_ARCH_KEEMBAY is not set 17 | # CONFIG_ARCH_MEDIATEK is not set 18 | # CONFIG_ARCH_MESON is not set 19 | # CONFIG_ARCH_MVEBU is not set 20 | # CONFIG_ARCH_NXP is not set 21 | # CONFIG_ARCH_LAYERSCAPE is not set 22 | # CONFIG_ARCH_MXC is not set 23 | # CONFIG_ARCH_S32 is not set 24 | # CONFIG_ARCH_MA35 is not set 25 | # CONFIG_ARCH_NPCM is not set 26 | # CONFIG_ARCH_PENSANDO is not set 27 | # CONFIG_ARCH_QCOM is not set 28 | # CONFIG_ARCH_REALTEK is not set 29 | # CONFIG_ARCH_RENESAS is not set 30 | # CONFIG_ARCH_ROCKCHIP is not set 31 | # CONFIG_ARCH_SEATTLE is not set 32 | # CONFIG_ARCH_INTEL_SOCFPGA is not set 33 | # CONFIG_ARCH_STM32 is not set 34 | # CONFIG_ARCH_SYNQUACER is not set 35 | # CONFIG_ARCH_TEGRA is not set 36 | # CONFIG_ARCH_SPRD is not set 37 | # CONFIG_ARCH_THUNDER is not set 38 | # CONFIG_ARCH_THUNDER2 is not set 39 | # CONFIG_ARCH_UNIPHIER is not set 40 | # CONFIG_ARCH_VEXPRESS is not set 41 | # CONFIG_ARCH_VISCONTI is not set 42 | # CONFIG_ARCH_XGENE is not set 43 | # CONFIG_ARCH_ZYNQMP is not set 44 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/Manifest: -------------------------------------------------------------------------------- 1 | DIST genpatches-6.14-9.base.tar.xz 751104 BLAKE2B 54247d1f3e1639761408bd622efd9ecb1311ec87f5b231ab6e243829b2ef0ab828b7743b38599b655684229875fb07127c931c2bb1de65c05318d54b832ba7a9 SHA512 de7fff5b69767c1fbe7d3dabc97be4777f22c90a47eb137a8a69756ed0fca36a9b962650215ec91b985ad35057bcca0e2a824c71b4d3cde0100e2b7e8e8edceb 2 | DIST genpatches-6.14-9.extras.tar.xz 4056 BLAKE2B 431e8bd76cd1edce40f831c16c9971fd21ebdddb7720bca0028a70c42fdd97d483de920248eff645cb5902684df40b21a7b68ca6e714831b216792c4a2a910e8 SHA512 5e112f31f2b0ec5d25d2d19897ced19b3d3e632d272bac4ae1a27c701235e3c981eb7bd95c176f6a9f9cefbcb0304a1d48b99aea4d091222ac5781ce5dbd4682 3 | DIST linux-6.14.tar.xz 149408504 BLAKE2B 11835719804b406fe281ea1c276a84dc0cbaa808552ddcca9233d3eaeb1c001d0455c7205379b02de8e8db758c1bae6fe7ceb6697e63e3cf9ae7187dc7a9715e SHA512 71dcaa3772d8d9797c3ae30cae9c582b11a7047a3bbcb8dfd479a4dffb40ff0da74cf3d45175f50cc9992e338bcadd46c9c570f54054ca3bde6661768d3d22eb 4 | DIST linux-asahi-6.14.8-1.diff 3510759 BLAKE2B 1a7a9fe530d41eaa00cf98222f52483e84b90a68e252c3cecb9329681b0b90f7ce22ced0d857b50d58881fec183edb792eaf211bcad2e39fc2dd5817574f2505 SHA512 8b0792409708c63a43900fd7ef5ff39c6fe2f1aa8cd01fd805533c4d0a050bc9bc390f42c70aa8adba6da0de138d7dfadc4916d694e062d63ceefa2e9507ab25 5 | -------------------------------------------------------------------------------- /sys-kernel/asahi-sources/asahi-sources-6.14.8_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="9" 11 | K_NODRYRUN="1" 12 | 13 | RUST_MIN_VER="1.80.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="arm64 amd64" 48 | 49 | DEPEND=" 50 | ${DEPEND} 51 | dev-util/bindgen 52 | " 53 | 54 | # ${FILESDIR}/1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch 55 | 56 | UNIPATCH_STRICTORDER="yes" 57 | UNIPATCH_LIST=" 58 | ${FILESDIR}/asahi-6.8-config-gentoo-Drop-RANDSTRUCT-from-GENTOO_KERNEL_SEL.patch 59 | ${FILESDIR}/1740_revert_x86-insn-decoder-test-allow-longer-symbol-names.patch 60 | ${DISTDIR}/linux-${ASAHI_TAG}.diff 61 | " 62 | 63 | src_prepare() { 64 | default 65 | 66 | # remove asahi upstream set localversion, use EXTRAVERSION instead 67 | rm localversion.05-asahi 68 | } 69 | 70 | pkg_postinst() { 71 | einfo "For more information about Asahi Linux please visit ${HOMEPAGE}," 72 | einfo "or consult the Wiki at https://github.com/AsahiLinux/docs/wiki." 73 | kernel-2_pkg_postinst 74 | } 75 | -------------------------------------------------------------------------------- /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-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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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-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 | -------------------------------------------------------------------------------- /virtual/dist-kernel/dist-kernel-6.14.4_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= 12 | " 13 | -------------------------------------------------------------------------------- /virtual/dist-kernel/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | dist-kernel@gentoo.org 6 | Distribution Kernel Project 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /virtual/linux-sources/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | jcalligeros99@gmail.com 6 | James Calligeros 7 | 8 | 9 | --------------------------------------------------------------------------------