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