add elint, start to cleanup again

This commit is contained in:
Jared Allard 2023-10-29 09:47:30 -07:00
parent 4e1583d7b5
commit 28b67405ea
Signed by: jaredallard
SSH key fingerprint: SHA256:wyRyyv28jBYw8Yp/oABNPUYvbGd6hyZj23XVXEm5G/U
9 changed files with 43 additions and 270 deletions

28
.github/workflows/test.yaml vendored Normal file
View file

@ -0,0 +1,28 @@
name: "Test"
on:
push:
branches:
- "main"
pull_request:
branches:
- "main"
jobs:
elint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
path: .src/overlay
# uses can't use working-directory, so we have to make this the
# default to use elint right now...
- uses: actions/checkout@v4
with:
repository: jaredallard/asahi-overlay
- uses: jdxcode/rtx-action@v1.2.4
- name: Build elint
run: go build -o ./.bin/elint ./.elint/cmd/elint
- name: Run elint
working-directory: .src/overlay
run: ../../.bin/elint

View file

@ -1,11 +1,21 @@
# jaredallard does ebuilds
# overlay
My own ebuilds
@jaredallard's overlay for Gentoo Linux.
## Adding this repository
## Usage
You'll need to use [layman](https://wiki.gentoo.org/wiki/Layman).
I recommend using `app-eselect/eselect-repository`: `emerge --ask app-eselect/eselect-repository`
```bash
$ layman -o https://raw.githubusercontent.com/jaredallard/overlay/master/repositories.xml -f -a jaredallard-overlay
eselect repository add jaredallard-overlay git https://github.com/jaredallard/jaredallard-overlay.git
```
Otherwise, if using `layman`:
```bash
layman -o https://raw.githubusercontent.com/jaredallard/overlay/main/repositories.xml -f -a jaredallard-overlay
```
## License
GPL-2.0

View file

@ -1,4 +0,0 @@
AUX nvidia-0.25.0.patch 1393 BLAKE2B 59f82aa07abbfffc7708af5ebaa9921c86fa99f8f2733f6405bc26c50a1805c238cf9f7f2bf6ff30f24d5e5086520036d38468d17f699a976c706560acc3332f SHA512 fa7e738283204b94269660431a5ca14d4cc8d161cbce92b6706ed615131c9872954a121f3f9953254c7731a477bf15b1a3ebb745cf7f7e07636974009f4f2c0e
DIST hyprland-0.25.0.gh.tar.gz 1510798 BLAKE2B c146c57e5142666ff76188e870ea4d2dd9613e25a1d2c3320dc222fbe62651975a40fffffe9cc936ced0e86f919534d7a6c94a8b1596f912c3ad9750a35e4f13 SHA512 84d12ef7bfb25e69c4a707a8ffc99ca23eb58e73630e3df1f134cb610c6206e42917f76b54db0cc6d10e7b929514cbac06dfc99feba8ff81aea0dc7fcb340450
EBUILD hyprland-0.25.0.ebuild 1959 BLAKE2B 04bd9cfa34f1f2b112e6af838d323c88a8c6a93ad3a50422bcd5182dd5d8d83dcf9e0376084c717125f7489eb917c61ca1f38576dec9b1e0142597ab365ce4e8 SHA512 9d53df2082c59c45c3f4f48768eae481e086475c0506f60db1cb66ca58a0ca9d5a9e1ac2a3e46c263d78b64dcd2ebd51906857280c862d6205b64a696203bfad
MISC metadata.xml 583 BLAKE2B 25bacdd4d14154d0da4c762da78a34371a07b3dccebb9cf40417feab3fadb0886e32ba4afb6560488552176d67ea7d9cd178d6acaac01393f7fff796084570e8 SHA512 9ab8bf794bd54bd97e63459be919439b0a6259e8e6ba3adf36a81396116edb6c031c08f1abcb33ee33edf7e1e4499697b2945f37aa8633dfd0517439655439a8

View file

@ -1,43 +0,0 @@
# From https://github.com/hyprwm/Hyprland/issues/2239#issuecomment-1536725235
# This patch is recommended by the developer on systems running and Nvidia GPu
diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
index 6a86b183..823fc318 100644
--- a/render/gles2/renderer.c
+++ b/render/gles2/renderer.c
@@ -165,7 +165,7 @@ static bool gles2_bind_buffer(struct wlr_renderer *wlr_renderer,
assert(wlr_egl_is_current(renderer->egl));
push_gles2_debug(renderer);
- glFlush();
+ glFinish();
glBindFramebuffer(GL_FRAMEBUFFER, 0);
pop_gles2_debug(renderer);
diff --git a/types/output/render.c b/types/output/render.c
index ed1afa4a..ddc730c7 100644
--- a/types/output/render.c
+++ b/types/output/render.c
@@ -225,22 +225,7 @@ struct wlr_drm_format *output_pick_format(struct wlr_output *output,
}
uint32_t wlr_output_preferred_read_format(struct wlr_output *output) {
- struct wlr_renderer *renderer = output->renderer;
- assert(renderer != NULL);
-
- if (!renderer->impl->preferred_read_format || !renderer->impl->read_pixels) {
- return DRM_FORMAT_INVALID;
- }
-
- if (!output_attach_back_buffer(output, &output->pending, NULL)) {
- return false;
- }
-
- uint32_t fmt = renderer->impl->preferred_read_format(renderer);
-
- output_clear_back_buffer(output);
-
- return fmt;
+ return DRM_FORMAT_XRGB8888;
}
bool output_is_direct_scanout(struct wlr_output *output,

View file

@ -1,86 +0,0 @@
# Copyright 2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# shellcheck shell=bash
EAPI=8
inherit meson toolchain-funcs
DESCRIPTION="A dynamic tiling Wayland compositor that doesn't sacrifice on its looks"
HOMEPAGE="https://github.com/hyprwm/Hyprland/releases"
SRC_URI="https://github.com/hyprwm/${PN^}/releases/download/v${PV}/source-v${PV}.tar.gz -> ${PF}.gh.tar.gz"
S="${WORKDIR}/${PN}-source"
KEYWORDS="~amd64 ~arm64"
LICENSE="BSD"
SLOT="0"
IUSE="X legacy-renderer systemd video_cards_nvidia"
RDEPEND="
app-misc/jq
dev-libs/libevdev
dev-libs/libinput
dev-libs/wayland
dev-libs/wayland-protocols
dev-util/glslang
dev-util/vulkan-headers
gui-libs/gtk-layer-shell
media-libs/libdisplay-info
media-libs/libglvnd[X?]
media-libs/mesa[gles2,wayland,X?]
media-libs/vulkan-loader
x11-base/xcb-proto
x11-libs/cairo
x11-libs/libdrm
x11-libs/libxkbcommon
x11-libs/pixman
x11-misc/xkeyboard-config
virtual/libudev
X? (
gui-libs/wlroots[x11-backend]
x11-base/xwayland
x11-libs/libxcb
x11-libs/xcb-util-image
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
"
DEPEND="${RDEPEND}"
BDEPEND="
dev-libs/hyprland-protocols
dev-libs/libliftoff
>=dev-libs/wayland-1.22.0
dev-vcs/git
>=gui-libs/wlroots-0.16.0[X?]
"
src_prepare() {
STDLIBVER=$(echo '#include <string>' | $(tc-getCXX) -x c++ -dM -E - |
grep GLIBCXX_RELEASE | sed 's/.*\([1-9][0-9]\)/\1/')
if ! [[ ${STDLIBVER} -ge 12 ]]; then
die "Hyprland requires >=sys-devel/gcc-12.1.0 to build"
fi
if use video_cards_nvidia; then
cd "${S}/subprojects/wlroots" || die
eapply "${FILESDIR}/nvidia-0.25.0.patch"
cd "${S}" || die
fi
eapply_user
}
src_configure() {
local emesonargs=(
$(meson_feature legacy-renderer legacy_renderer)
$(meson_feature X xwayland)
$(meson_feature systemd)
)
meson_src_configure
}
src_install() {
meson_src_install --skip-subprojects wlroots
}

View file

@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>jared@rgst.io</email>
<name>Jared Allard</name>
</maintainer>
<upstream>
<changelog>https://github.com/hyprwm/Hyprland/releases</changelog>
<doc>https://wiki.hyprland.org/</doc>
<bugs-to>https://github.com/hyprwm/Hyprland/issues</bugs-to>
<remote-id type="github">hyprwm/Hyprland</remote-id>
</upstream>
<use>
<flag name="legacy-renderer">Enable legacy renderer</flag>
</use>
</pkgmetadata>

View file

@ -1,6 +0,0 @@
DIST asahi-6.2-12.tar.gz 223208253 BLAKE2B 989cb85457857273b26d0e1de6bc020c0ec3f2c929d3ebce22bf98606817b9a10105a0edb5be7e47ec1f4312196d12df92ab0a80d2c776751d548857c714cdf3 SHA512 8542682e638c3269930721c1ec27d20b4fc795f0716d95cecedd35a59e7f074b275ceff7b1c4ba376b49cc869f7c77bec8239e1e36487e70168120c21b1364b9
DIST gentoo-kernel-config-g4.tar.gz 4459 BLAKE2B 8a481315e427c2da5d14847bfa00e7904aec8cbe6dddde504bc4ce016a19b8c9f67d09dd1bc2f6feea22368b91555a74a045ae1d0f9aa1395616f008e74dbdc5 SHA512 c4b1d3a67cf614f0f9c0af4adaa23d97c0e91b467a1e69f88a0994760c187bfb403fffc0a5fdeb09f9fc4af849013f7f993cd55a8a4a82ba32309475f09deef5
DIST linux-asahi.config.6.2.0 195474 BLAKE2B afec99aeded07caa330a2f17b4d26d4ba725c423b0394bc9154415de0bdaaef5d862040936c6db6c211c357649b6b7f01f01f3b7299220e057026d986b419b21 SHA512 b9a809c1a4295d4e7d947da2ad953cad1dbfdd95001a21331659dfd03ff3e46541ac6c50050bb1964b4f8c31b52b8dad95910cac64e6517048795956d2b86af4
DIST linux-asahi.config.6.2.0-edge 318 BLAKE2B 9b54b169beb22f537aeeb65264dc06ec5132c0979c8347f990a52d4661d7a51193000573a6e68da679adeb5b601ea206e96963b9c2404532d4a2d3cfa45fc11a SHA512 dc077d125c2565e8a39bd9376cef8f2e6b371d643320e7057e8ba9c4807ddac6c268554a501ec6dfe835d97bd656626723735b6042928f5dd6e8779595857578
EBUILD asahi-kernel-6.2.0_p12.ebuild 3110 BLAKE2B 3569a4a0192cb7b3d10ce9df0c5a93f64bec596d1278a8f3563949f3ab6fc45dc9641ddd298bebe96eb3f41839117919336b88b66ac6d59a5388a79489ea0bab SHA512 516f07b1a87d5a8818b9fca9aead1248f486eea3c4113fe5c9840c4e2392dda0a70c582993b8bcff7208d8132ed47ec19555905281952384bd8bcc32a68fb240
MISC metadata.xml 475 BLAKE2B 3afb5abd11a30b4cd6ada4811fecfdcf8da59f704bdb8f8783a030c37f652578e39c96fbe53f1dd0853ad2ebbc9b25ea498fa992b836f5a994d48104ec6912e7 SHA512 aabeee3487c74258d8b9ecfc006d5b7168512c83ccbcb0686efa477ac858ba386946c7192341c644a2f400cb1ee60a3dd45050cb4e6072722e964a59626d9d10

View file

@ -1,94 +0,0 @@
# Copyright 2020-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# shellcheck shell=bash
EAPI=8
inherit kernel-build toolchain-funcs
# https://github.com/AsahiLinux/PKGBUILDs/blob/main/linux-asahi/config
PKGBUILD_CONFIG_COMMIT="edc6e0c33d5597cc56d63eb22eaa0d0b11ff4bd7"
PKGBUILD_CONFIG_VER="6.2.0"
PKGBUILD_CONFIG_FILE_NAME="linux-asahi.config.${PKGBUILD_CONFIG_VER}"
# https://github.com/AsahiLinux/PKGBUILDs/blob/main/linux-asahi/config.edge
PKGBUILD_EDGE_CONFIG_FILE_NAME="${PKGBUILD_CONFIG_FILE_NAME}-edge"
GENTOO_CONFIG_VER="g4"
# Tag 'asahi-w.x-z' = PV="w.x_pz"
# Tag 'asahi-w.x-rcN-z' = PV="w.x_rcN_pz"
MY_PV="${PV/_rc/-rc}"
MY_PV="${MY_PV/_p/-}"
# Remove trailing '.0' from version number
MY_PV="${MY_PV/.0/}"
DESCRIPTION="Asahi Linux testing kernel for Apple silicon-based Macs built from sources"
HOMEPAGE="https://asahilinux.org/"
SRC_URI="
https://github.com/AsahiLinux/linux/archive/refs/tags/asahi-${MY_PV}.tar.gz
https://raw.githubusercontent.com/AsahiLinux/PKGBUILDs/${PKGBUILD_CONFIG_COMMIT}/linux-asahi/config
-> ${PKGBUILD_CONFIG_FILE_NAME}
https://raw.githubusercontent.com/AsahiLinux/PKGBUILDs/${PKGBUILD_CONFIG_COMMIT}/linux-asahi/config.edge
-> ${PKGBUILD_EDGE_CONFIG_FILE_NAME}
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
"
S="${WORKDIR}/linux-asahi-${MY_PV}"
LICENSE="GPL-2"
KEYWORDS="~arm64"
# The 'debug' USE flag is required by kernel-build_src_install
IUSE="debug"
BDEPEND="
debug? ( dev-util/pahole )
"
PDEPEND="
>=virtual/dist-kernel-${PV}
"
src_prepare() {
default
cp "${DISTDIR}/${PKGBUILD_CONFIG_FILE_NAME}" .config ||
die "Failed to copy kernel configuration"
# Avoid "Kernel release mismatch" error from kernel-install_pkg_preinst
# by adding required version components to a localversion* file, so users
# can still set their own CONFIG_LOCALVERSION value in savedconfig or
# /etc/kernel/config.d/*.config without getting the same error again
if [[ ${PV} == *_p* ]]; then
local localversion=""
if [[ ${PV} == *_rc* ]]; then
localversion+="_"
else
localversion+="-"
fi
localversion+="p${PV##*_p}"
echo "${localversion}" >localversion.00-gentoo ||
die "Failed to write local version preset"
fi
local edge_conf_path="${DISTDIR}/${PKGBUILD_EDGE_CONFIG_FILE_NAME}"
local myversion="-edge-dist"
local ver_conf_path="${T}/version.config"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" >"${ver_conf_path}" ||
die "Failed to write local version config"
local merge_configs=(
"${edge_conf_path}"
"${ver_conf_path}"
)
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
use !debug && merge_configs+=("${dist_conf_path}/no-debug.config")
kernel-build_merge_configs "${merge_configs[@]}"
}
src_install() {
# Override DTBs installation path for sys-apps/asahi-scripts::asahi
export INSTALL_DTBS_PATH="${ED}/usr/src/linux-${PV}${KV_LOCALVERSION}/arch/$(tc-arch-kernel)/boot/dts"
kernel-build_src_install
}

View file

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>jared@rgst.io</email>
<name>Jared Allard</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/AsahiLinux/linux/issues/70</bugs-to>
<remote-id type="github">AsahiLinux/linux</remote-id>
</upstream>
<use>
<flag name="initramfs">Build initramfs along with the kernel.</flag>
</use>
</pkgmetadata>