Compare commits

..

No commits in common. "master" and "firefox-pwa-connector" have entirely different histories.

49 changed files with 440 additions and 5769 deletions

122
README.md
View File

@ -1,8 +1,9 @@
Personal Gentoo overlay, focusing mostly on needed tools and
compatibility for a libre version of Gentoo on the Librem 14 computer. A
handful of other pacakages are also provided.
compatibility for a libre version of Gentoo on the Librem 14 computer.
Linux-libre and Librem-related packages:
Available packages:
- **dev-python/ecp**: Python implementation of Emacs RPC stack. Depends
on `orjson` or `orjson-bin` from the GURU (or another) overlay.
- **sys-kernel/libre-kernel**: A dist-kernel built from the [Linux-libre
sources][linux-libre].
- **media-fonts/fonts-meta**: Modified version to remove non-Free
@ -13,12 +14,7 @@ Linux-libre and Librem-related packages:
* **sys-power/librem-control**: A GTK application to control
parameters of the Librem EC (battery charge levels, etc).
* **sys-apps/purism_ectool**: Tool for querying and flashing
Purism EC firmware images on certain Librem laptops.v
Other Packages:
- **x11-misc/input-leap**: Updated ebuild of input-leap
(Barrier/Synergy virtual KVM switch fork) that supports Wayland via
`libei`.
Purism EC firmware images on certain Librem laptops.
## How to Add This Repository
@ -36,48 +32,109 @@ In `/etc/portage/package.mask`:
```
Individual packages can be unmasked (and added to
`package.accept_keywords` if necessary). For instructions on unmasking
individual packages, see the relevant documentation below.
`package.accept_keywords` if necessary). In `/etc/portage/package.unmask`:
```
sys-kernel/libre-kernel::projectmoon
virtual/dist-kernel::projectmoon
sec-keys/openpgp-keys-linux-libre::projectmoon
```
## The Linux-libre dist-kernel
*See [docs/Libre-Kernel.md](docs/Libre-Kernel.md).*
This overlay provides a dist-kernel (based on
`sys-kernel/vanilla-kernel`) using the Linux-libre kernel sources, and
an accompanying updated version of `virtual/dist-kernel`. It is
maintained and tested for my personal use on amd64. The Linux-libre
kernel removes the ability for the Linux kernel to load firmware that is
not [Free Software][free-software]. The ebuild roughly follows the
kernel removes the ability for the Linux kernel to load firmware that
is not [Free Software][free-software]. The ebuild roughly follows the
current stable gentoo-kernel for amd64.
## Purism Librem Computer Packages
The libre kernel can be installed alongside other dist-kernels, and
works with the `dist-kernel` and `initramfs` USE flags. The ebuild
does NOT fail if non-free firmware (i.e. `sys-kernel/linux-firmware`
with `redistributable` USE flag set) is installed, but it will warn
you if this is the case. It will also warn you if the `linux-firmware`
package is not found at all, like normal dist-kernel ebuilds.
*See [docs/Librem.md](docs/Librem.md).*
The kernel installed by this ebuild has the version suffix
`-gnu-dist`, making it easy to determine which kernel it is.
This overlay contains packages for Purism's Librem computers, focusing
mostly on the Librem 14.
## Input Leap
### Signature Verification
*See [docs/Input-Leap.md](docs/Input-Leap.md)*
It is recommended to enable GPG signature verification of
`sys-kenrel/libre-kernel` by adding the USE flag to
`/etc/portage/package.use`:
This overlay contains a working, updated ebuild for Input Leap, a fork
of Barrier (itself a fork of Synergy), which is a "virtual KVM switch",
allowing you to share a keyboard and mouse between several computers
over the network.
```
sys-kernel/libre-kernel verify-sig
```
The most important things about Input Leap:
### Keeping the Linux-libre Kernel Installed
- It is Maintained.
- It supports Wayland.
Portage will sometimes try to install `sys-kernel/gentoo-kernel` or
another dist-kernel if there is a newer stable version than
`sys-kernel/libre-kernel`. This happens because of a version bump to
`virtual/dist-kernel` before this overlay has updated its own copy of
`virtual/dist-kernel`.
## Other Packages
To prevent portage from attempting to install another dist-kernel
instead of the Linux-libre kernel, you should mask other dist-kernels in
`/etc/portage/package.mask`:
*More documentation coming soon.*
```
# stay on libre kernel
sys-kernel/gentoo-kernel
sys-kernel/gentoo-kernel-bin
sys-kernel/vanilla-kernel
```
### Linux Firmware
*Note: If you are running the Linux-libre kernel, it is unlikely (though
not impossible) that you need to install `sys-kernel/linux-firmware`.*
To install only the Linux firmware that meets the [Free Software
Definition][free-software], configure `/etc/portage/package.use`
accordingly:
```
# Install only libre firmware
sys-kernel/linux-firmware -redistributable -unknown-license
```
You can also edit `/etc/portage/profile/package.use.mask` to prevent
the linux-firmware package from ever installing the closed-source
firmware by adding this line:
```
# forcibly stop non-free firmware installation
sys-kernel/linux-firmware redistributable unknown-license
```
## Using the Librem EC ACPI kernel module
The Librem EC ACPI kernel module should install and be automatically
available (via modprobe) after installation, using `emerge
sys-kernel/librem-ec-acpi`. The module is currently installed to
`/lib/modules/<kernel>/librem/`.
This ebuild supports the `dist-kernel` USE flag, and the module will
automatically be rebuilt when installing a new dist-kernel if that
flag is enabled.
If you are not using a dist-kernel, you will need to do `emerge
@modules-rebuild` to install the module after you upgrade or install a
new kernel,
### Librem Control and the Purism EC Tool
These two appliations can be used to manipulate device-specific
features of the Librem 14, including the flashing of firmware images.
It is not recommended to use the EC tool from this overlay for
flashing a firmware image. Instead, follow the official [firmware
flashing instrutions][ec-instructions].
Packages must be unmasked and added to `package.accept_keywords` as
necessary.
# Disclaimer
@ -89,4 +146,3 @@ So there may be issues with non-Free dependencies etc in some cases.
[free-software]: https://www.gnu.org/philosophy/free-sw.en.html#fs-definition
[ec-acpi]: https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms
[ec-instructions]: https://puri.sm/projects/librem-ec/
[ff-pwas]: https://github.com/filips123/PWAsForFirefox

View File

@ -1 +0,0 @@
DIST libportal-0.7.1.tar.xz 74268 BLAKE2B b519fa88735d640a74e18cc791ec69862f136b793a7c855b1f3873cf6b15626d69088747f1a7ff54f8cd96f79e82e3df31e5349e3da57906e769b8f809f4ba34 SHA512 cbc50bfd86787fffc975fc53835acc6c3c0fd54b7ee02fce1983f1bd0fc40b15a0537780cd5e943ecedcf951840080a0f55a23a96e706223e52a6144ee70332c

File diff suppressed because it is too large Load Diff

View File

@ -1,47 +0,0 @@
From 6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f Mon Sep 17 00:00:00 2001
From: Simon McVittie <smcv@debian.org>
Date: Tue, 26 Dec 2023 14:35:46 +0000
Subject: [PATCH] pyportaltest: Only create one session bus per DBusTestCase
subclass
DBusTestCase.start_session_bus() is a class method, and can only be
called once per class, because DBusTestCase.tearDownClass() will only
clean up one session bus. In older versions of dbusmock, calling it more
than once will result in dbus-daemon processes being leaked; since
0.30.0, calling it more than once will result in an assertion failure.
Resolves: https://github.com/flatpak/libportal/issues/136
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1058245
Signed-off-by: Simon McVittie <smcv@debian.org>
---
tests/pyportaltest/__init__.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/tests/pyportaltest/__init__.py b/tests/pyportaltest/__init__.py
index af053c2a..80f04a91 100644
--- a/tests/pyportaltest/__init__.py
+++ b/tests/pyportaltest/__init__.py
@@ -83,6 +83,14 @@ def setUpClass(cls):
except AttributeError:
pytest.skip("Updated version of dbusmock required")
+ cls.__have_session_bus = False
+
+ @classmethod
+ def ensure_session_bus(cls):
+ if not cls.__have_session_bus:
+ cls.__have_session_bus = True
+ cls.start_session_bus()
+
def setUp(self):
self.p_mock = None
self._mainloop = None
@@ -96,7 +104,7 @@ def setup_daemon(self, params=None, extra_templates: List[Tuple[str, Dict]] = []
portal name as first value and the param dict to be passed to that
template as second value, e.g. ("ScreenCast", {...}).
"""
- self.start_session_bus()
+ self.ensure_session_bus()
self.p_mock, self.obj_portal = self.spawn_server_template(
template=f"pyportaltest/templates/{self.PORTAL_NAME.lower()}.py",
parameters=params,

View File

@ -1,118 +0,0 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit flag-o-matic meson python-any-r1 vala virtualx
DESCRIPTION="Flatpak portal library"
HOMEPAGE="https://github.com/flatpak/libportal"
SRC_URI="https://github.com/flatpak/libportal/releases/download/${PV}/${P}.tar.xz"
LICENSE="LGPL-3"
SLOT="0/1-1-1-1" # soname of libportal{,-gtk3,-gtk4,-qt5}.so
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk gtk-doc +introspection qt5 test +vala wayland X"
RESTRICT="!test? ( test )"
REQUIRED_USE="
gtk-doc? ( introspection )
vala? ( introspection )
"
RDEPEND="
>=dev-libs/glib-2.58:2
introspection? ( dev-libs/gobject-introspection:= )
gtk? (
>=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?]
>=gui-libs/gtk-4.12.5-r2:4[X?,wayland?]
)
qt5? (
dev-qt/qtcore:=
dev-qt/qtgui:=
dev-qt/qtx11extras:=
dev-qt/qtwidgets:=
)
"
DEPEND="${RDEPEND}
qt5? (
test? ( dev-qt/qttest:= )
)
"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
gtk-doc? ( dev-util/gi-docgen )
qt5? (
test? ( dev-qt/linguist-tools )
)
test? (
${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/python-dbusmock[${PYTHON_USEDEP}]
')
)
vala? ( $(vala_depend) )
"
PATCHES=(
# backport fix for tests incompatibility with dbusmock 0.30.0
"${FILESDIR}"/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch
)
python_check_deps() {
python_has_version \
"dev-python/pytest[${PYTHON_USEDEP}]" \
"dev-python/dbus-python[${PYTHON_USEDEP}]" \
"dev-python/python-dbusmock[${PYTHON_USEDEP}]"
}
pkg_setup() {
if use test; then
python-any-r1_pkg_setup
fi
}
src_prepare() {
default
vala_setup
}
src_configure() {
# defang automagic dependencies
use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
use X || append-cflags -DGENTOO_GTK_HIDE_X11
local emesonargs=(
$(meson_feature gtk backend-gtk3)
$(meson_feature gtk backend-gtk4)
$(meson_feature qt5 backend-qt5)
-Dportal-tests=false
$(meson_use introspection)
$(meson_use vala vapi)
$(meson_use gtk-doc docs)
$(meson_use test tests)
)
meson_src_configure
}
src_test() {
# Tests only exist for Qt5
if use qt5; then
virtx meson_src_test
else
# run meson_src_test to notice if tests are added
meson_src_test
fi
}
src_install() {
meson_src_install
if use gtk-doc; then
mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
mv "${ED}"/usr/share/doc/${PN}-1 "${ED}"/usr/share/gtk-doc/html/ || die
fi
}

View File

@ -1,121 +0,0 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit flag-o-matic meson python-any-r1 vala virtualx
DESCRIPTION="Flatpak portal library"
HOMEPAGE="https://github.com/flatpak/libportal"
SRC_URI="https://github.com/flatpak/libportal/releases/download/${PV}/${P}.tar.xz"
LICENSE="LGPL-3"
SLOT="0/1-1-1-1" # soname of libportal{,-gtk3,-gtk4,-qt5}.so
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk gtk-doc +introspection inputcapture qt5 test +vala wayland X"
RESTRICT="!test? ( test )"
REQUIRED_USE="
gtk-doc? ( introspection )
vala? ( introspection )
"
RDEPEND="
>=dev-libs/glib-2.58:2
introspection? ( dev-libs/gobject-introspection:= )
gtk? (
>=x11-libs/gtk+-3.24.41-r1:3[X?,wayland?]
>=gui-libs/gtk-4.12.5-r2:4[X?,wayland?]
)
qt5? (
dev-qt/qtcore:=
dev-qt/qtgui:=
dev-qt/qtx11extras:=
dev-qt/qtwidgets:=
)
"
DEPEND="${RDEPEND}
qt5? (
test? ( dev-qt/qttest:= )
)
"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
gtk-doc? ( dev-util/gi-docgen )
qt5? (
test? ( dev-qt/linguist-tools )
)
test? (
${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/python-dbusmock[${PYTHON_USEDEP}]
')
)
vala? ( $(vala_depend) )
"
PATCHES=(
# backport fix for tests incompatibility with dbusmock 0.30.0
"${FILESDIR}"/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch
)
python_check_deps() {
python_has_version \
"dev-python/pytest[${PYTHON_USEDEP}]" \
"dev-python/dbus-python[${PYTHON_USEDEP}]" \
"dev-python/python-dbusmock[${PYTHON_USEDEP}]"
}
pkg_setup() {
if use test; then
python-any-r1_pkg_setup
fi
}
src_prepare() {
default
if use inputcapture; then
eapply "${FILESDIR}"/0001-Input-capture-support.patch
fi
vala_setup
}
src_configure() {
# defang automagic dependencies
use wayland || append-cflags -DGENTOO_GTK_HIDE_WAYLAND
use X || append-cflags -DGENTOO_GTK_HIDE_X11
local emesonargs=(
$(meson_feature gtk backend-gtk3)
$(meson_feature gtk backend-gtk4)
$(meson_feature qt5 backend-qt5)
-Dportal-tests=false
$(meson_use introspection)
$(meson_use vala vapi)
$(meson_use gtk-doc docs)
$(meson_use test tests)
)
meson_src_configure
}
src_test() {
# Tests only exist for Qt5
if use qt5; then
virtx meson_src_test
else
# run meson_src_test to notice if tests are added
meson_src_test
fi
}
src_install() {
meson_src_install
if use gtk-doc; then
mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
mv "${ED}"/usr/share/doc/${PN}-1 "${ED}"/usr/share/gtk-doc/html/ || die
fi
}

View File

@ -1,114 +0,0 @@
# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
inherit meson python-any-r1 vala virtualx
DESCRIPTION="Flatpak portal library"
HOMEPAGE="https://github.com/flatpak/libportal"
SRC_URI="https://github.com/flatpak/libportal/releases/download/${PV}/${P}.tar.xz"
LICENSE="LGPL-3"
SLOT="0/1-1-1-1" # soname of libportal{,-gtk3,-gtk4,-qt5}.so
KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="gtk gtk-doc +introspection qt5 test +vala"
RESTRICT="!test? ( test )"
REQUIRED_USE="
gtk-doc? ( introspection )
vala? ( introspection )
"
RDEPEND="
>=dev-libs/glib-2.58:2
introspection? ( dev-libs/gobject-introspection:= )
gtk? (
x11-libs/gtk+:3
gui-libs/gtk:4
)
qt5? (
dev-qt/qtcore:=
dev-qt/qtgui:=
dev-qt/qtx11extras:=
dev-qt/qtwidgets:=
)
"
DEPEND="${RDEPEND}
qt5? (
test? ( dev-qt/qttest:= )
)
"
BDEPEND="
dev-util/glib-utils
virtual/pkgconfig
gtk-doc? ( dev-util/gi-docgen )
qt5? (
test? ( dev-qt/linguist-tools )
)
test? (
${PYTHON_DEPS}
$(python_gen_any_dep '
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/dbus-python[${PYTHON_USEDEP}]
dev-python/python-dbusmock[${PYTHON_USEDEP}]
')
)
vala? ( $(vala_depend) )
"
PATCHES=(
# backport fix for tests incompatibility with dbusmock 0.30.0
"${FILESDIR}"/6cd7c2ab82575b76f876ee2bd2d31f6cb77f022f.patch
)
python_check_deps() {
python_has_version \
"dev-python/pytest[${PYTHON_USEDEP}]" \
"dev-python/dbus-python[${PYTHON_USEDEP}]" \
"dev-python/python-dbusmock[${PYTHON_USEDEP}]"
}
pkg_setup() {
if use test; then
python-any-r1_pkg_setup
fi
}
src_prepare() {
default
vala_setup
}
src_configure() {
local emesonargs=(
$(meson_feature gtk backend-gtk3)
$(meson_feature gtk backend-gtk4)
$(meson_feature qt5 backend-qt5)
-Dportal-tests=false
$(meson_use introspection)
$(meson_use vala vapi)
$(meson_use gtk-doc docs)
$(meson_use test tests)
)
meson_src_configure
}
src_test() {
# Tests only exist for Qt5
if use qt5; then
virtx meson_src_test
else
# run meson_src_test to notice if tests are added
meson_src_test
fi
}
src_install() {
meson_src_install
if use gtk-doc; then
mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
mv "${ED}"/usr/share/doc/${PN}-1 "${ED}"/usr/share/gtk-doc/html/ || die
fi
}

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<upstream>
<remote-id type="github">flatpak/libportal</remote-id>
</upstream>
<use>
<flag name="inputcapture">
Enable not-yet-released inputcapture patches from upstream.
</flag>
</use>
</pkgmetadata>

1
dev-python/epc/Manifest Normal file
View File

@ -0,0 +1 @@
DIST epc-0.0.5.tar.gz 17968 BLAKE2B 45bc5aa3ac2cdeb83ad8097004838beae0a85bc68904d9a12aaa41ee291e76d92b05b0486277558456dee6d16170380d81359b8c026f804a82e225a1078a8a40 SHA512 e2b75850e39bb0f3c16f5b84f55dec675a8fe2b61ff5fd55704ef677317d698865a99fc495247cd753a2c8329729f45bc7f81f42dd4c6d27b31810c0aac831e2

View File

@ -0,0 +1,29 @@
# Copyright 1999-2022 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{8..11} )
inherit distutils-r1
DESCRIPTION="EPC (RPC stack for Emacs Lisp) implementation in Python"
HOMEPAGE="
https://pypi.org/project/epc/
https://github.com/tkf/python-epc
"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64"
RDEPEND="
dev-python/sexpdata[${PYTHON_USEDEP}]
|| ( dev-python/orjson-bin[${PYTHON_USEDEP}] dev-python/orjson[${PYTHON_USEDEP}] )
"
DEPEND="${RDEPEND}"
distutils_enable_tests pytest

View File

@ -1,76 +0,0 @@
# Input Leap
This overlay has a working, updated version of Input Leap, a fork of
Barrier (itself a fork of Synergy), which is a "virtual KVM switch",
allowing you to share a keyboard and mouse between several computers
over the network.
The most important things about Input Leap:
- Maintained.
- Supports Wayland.
## Project Status
Input Leap is technically alpha quality, because it does not yet have a
stable release. Thus, the ebuild is a `9999` version ebuild.
Building from `HEAD` is highly unstable and _NOT_ recommended. See below.
## Setup
To use this overlay's version of Input Leap, unmask the following packages:
```
dev-libs/libportal::projectmoon
x11-misc/input-leap::projectmoon
```
Then add the package accept keywords:
```
dev-libs/libportal::projectmoon
x11-misc/input-leap::projectmoon **
```
*The double star allows unstable git builds.*
A portage env config is currently required to install this ebuild.
Create a file `/etc/portage/env/input-leap.conf` and then add an entry
to `/etc/portage/package.env`. The latest commits to input-leap have
broken the git build. The last known working build of a stable release
is v3.0.1.
The `input-leap.conf` file should have the following:
```
MYCMAKEARGS="-DQT_DEFAULT_MAJOR_VERSION=5"
EGIT_OVERRIDE_COMMIT_INPUT_LEAP_INPUT_LEAP="v3.0.1"
```
Then the `package.env` entry should be:
```
x11-misc/input-leap::projectmoon input-leap.conf
```
## USE Flags
This ebuild of Input Leap supports Wayland integration via `libei`, on
supported compositors (notably, wlroots is apparently not supported by
upstream). To use the `libei` integration, you must have a version of
`libportal` with Input Capture support, which at time of writing
(libportal 0.7.1) is not yet released.
This overlay contains a custom ebuild of `dev-libs/libportal` that can
enable Input Capture. The patch is cherry-picked from the upstream
commits.
To configure Input Leap to use `libei` for Wayland support, add the
following USE declarations:
```
dev-libs/libportal inputcapture
x11-misc/input-leap wayland
```
Note that `inputcapture` is NOT a USE flag on the main Gentoo ebuild. So
if you haven't unmasked this overlay's version of `libportal`, you will
receive an error when trying to install Input Leap.

View File

@ -1,143 +0,0 @@
# The Linux-libre dist-kernel
This overlay provides a dist-kernel (based on
`sys-kernel/vanilla-kernel`) using the Linux-libre kernel sources, and
an accompanying updated version of `virtual/dist-kernel`. It is
maintained and tested for my personal use on amd64. The Linux-libre
kernel removes the ability for the Linux kernel to load firmware that
is not [Free Software][free-software]. The ebuild roughly follows the
current stable 5.15.x gentoo-kernel for amd64.
The libre kernel can be installed alongside other dist-kernels, and
works with the `dist-kernel` and `initramfs` USE flags. The ebuild
does NOT fail if non-free firmware (i.e. `sys-kernel/linux-firmware`
with `redistributable` USE flag set) is installed, but it will warn
you if this is the case. It will also warn you if the `linux-firmware`
package is not found at all, like normal dist-kernel ebuilds.
The kernel installed by this ebuild has the version suffix
`-gnu-dist`, making it easy to determine which kernel it is.
## Quick Setup
This is a quick guide for setting up the system to properly install the
Linux-libre Kernel. It assumes you have set up the overlay as described
in the README.
In `/etc/portage/package.use`:
```
# Install only libre firmware
sys-kernel/linux-firmware -redistributable -unknown-license
# libre kernel with gentoo kernel patches applied
sys-kernel/libre-kernel verify-sig
# or, if you do not want gentoo patches applied
sys-kernel/libre-kernel verify-sig -gentoo
```
In `/etc/portage/package.unmask`:
```
sys-kernel/libre-kernel::projectmoon
virtual/dist-kernel::projectmoon
virtual/linux-sources::projectmoon
sec-keys/openpgp-keys-linux-libre::projectmoon
```
In `/etc/portage/package.accept_keywords`:
```
sys-kernel/librem-ec-acpi::projectmoon
sys-kernel/libre-kernel::projectmoon ~amd64
virtual/dist-kernel::projectmoon
virtual/linux-sources::projectmoon
```
In `/etc/portage/package.mask`:
```
# stay on libre kernel
sys-kernel/gentoo-kernel
sys-kernel/gentoo-kernel-bin
sys-kernel/vanilla-kernel
virtual/linux-sources::gentoo
```
## Detailed Instructions
The rest of this documentation covers the quick steps above in detail,
and extra information about the Linux firmware package, the Librem EC
ACPI module, etc.
### Signature Verification
It is recommended to enable GPG signature verification of
`sys-kenrel/libre-kernel` by adding the USE flag to
o`/etc/portage/package.use`:
```
sys-kernel/libre-kernel verify-sig
```
### Keeping the Linux-libre Kernel Installed
Portage will sometimes try to install `sys-kernel/gentoo-kernel` or
another dist-kernel if there is a newer stable version than
`sys-kernel/libre-kernel`. This happens because of a version bump to
`virtual/dist-kernel` before this overlay has updated its own copy of
`virtual/dist-kernel`.
To prevent portage from attempting to install another dist-kernel
instead of the Linux-libre kernel, you should mask other dist-kernels in
`/etc/portage/package.mask`:
```
# stay on libre kernel
sys-kernel/gentoo-kernel
sys-kernel/gentoo-kernel-bin
sys-kernel/vanilla-kernel
```
### Linux Firmware
*Note: If you are running the Linux-libre kernel, it is unlikely (though
not impossible) that you need to install `sys-kernel/linux-firmware`.*
To install only the Linux firmware that meets the [Free Software
Definition][free-software], configure `/etc/portage/package.use`
accordingly:
```
# Install only libre firmware
sys-kernel/linux-firmware -redistributable -unknown-license
```
You can also edit `/etc/portage/profile/package.use.mask` to prevent
the linux-firmware package from ever installing the closed-source
firmware by adding this line:
```
# forcibly stop non-free firmware installation
sys-kernel/linux-firmware redistributable unknown-license
```
### Using the Librem EC ACPI kernel module
The Librem EC ACPI kernel module should install and be automatically
available (via modprobe) after installation, using `emerge
sys-kernel/librem-ec-acpi`. The module is currently installed to
`/lib/modules/<kernel>/librem/`.
This ebuild supports the `dist-kernel` USE flag, and the module will
automatically be rebuilt when installing a new dist-kernel if that
flag is enabled.
If you are not using a dist-kernel, you will need to do `emerge
@modules-rebuild` to install the module after you upgrade or install a
new kernel.
[free-software]: https://www.gnu.org/philosophy/free-sw.en.html#fs-definition
[linux-libre]: https://www.fsfla.org/ikiwiki/selibre/linux-libre/
[free-software]: https://www.gnu.org/philosophy/free-sw.en.html#fs-definition

View File

@ -1,58 +0,0 @@
# Packages for Purism Librem Computers
This overlay provides a handful of ebuilds for Purism Librem computers (particularly, the Librem 14):
- **sys-kernel/librem-ec-acpi**: An ebuild packaging the [Librem 14
EC ACPI kernel module][ec-acpi], necessary for proper functioning
of the laptop's battery charging and function keys.
* **sys-power/librem-control**: A GTK application to control
parameters of the Librem EC (battery charge levels, etc).
* **sys-apps/purism_ectool**: Tool for querying and flashing
Purism EC firmware images on certain Librem laptops.
## Quick Setup
This is a quick guide for setting up the system to properly install
Librem-related packages. It assumes you have set up the overlay as
described in the README.
In `/etc/portage/package.unmask`:
```
sys-kernel/librem-ec-acpi::projectmoone
sys-apps/purism_ectool::projectmoon
sys-power/librem-control::projectmoon
```
In `/etc/portage/package.accept_keywords`:
```
sys-kernel/librem-ec-acpi::projectmoon
sys-apps/purism_ectool::projectmoon
sys-power/librem-control::projectmoon **
```
## The Librem EC ACPI kernel module
The Librem EC ACPI kernel module should install and be automatically
available (via modprobe) after installation, using `emerge
sys-kernel/librem-ec-acpi`. The module is currently installed to
`/lib/modules/<kernel>/librem/`.
This ebuild supports the `dist-kernel` USE flag, and the module will
automatically be rebuilt when installing a new dist-kernel if that
flag is enabled.
If you are not using a dist-kernel, you will need to do `emerge
@modules-rebuild` to install the module after you upgrade or install a
new kernel.
### Librem Control and the Purism EC Tool
These two appliations can be used to manipulate device-specific
features of the Librem 14, including the flashing of firmware images.
It is not recommended to use the EC tool from this overlay for
flashing a firmware image. Instead, follow the official [firmware
flashing instrutions][ec-instructions].
[ec-acpi]: https://source.puri.sm/nicole.faerber/librem-ec-acpi-dkms
[ec-instructions]: https://puri.sm/projects/librem-ec/

View File

@ -2,7 +2,7 @@ How to create new version of the Firefox PWA Connector:
- Check Firefox PWA repo for new version.
- Pull latest changes of repo and check out proper tag.
- Run `cargo vendor` in the repo, under the `native/` directory.
- Run `cargo vendor` in the repo.
- Create tarball of vendored cargo deps: `tar -czvf vendor-X.Y.Z.tar.gz vendor/`.
- Move vendor tarball to the overlay files repo under `www-plugins/firefox-pwa-connector`.
- Push vendored tarball for new version.
@ -10,5 +10,6 @@ How to create new version of the Firefox PWA Connector:
- Check the Cargo.toml of the connector for any new git deps, and add to
the git crates if necessary. Cargo.lock can be checked to find the
proper commit hashes.
- Check repo Makefile.toml for any new installation instructions for the
Linux target. Replicate in `src_install` phase.
- Run `ebuild clean install` and make sure everything ends up where its
supposed to be. A sandbox violation likely indicates need for new
`sed` to patch Maefile.toml to respect `DESTDIR`.

View File

@ -7,20 +7,19 @@ How to update the Linux-libre Kernel ebuild for a new version
3. Check the `gentoo-kernel` ebuild for changes to the Gentoo config and
patches versions.
4. If the Gentoo patchset version has changed:
1. Make sure the patch version offset thingy matches gentoo-kernel.
2. Make sure config version is the same.
3. Make sure the config hash is the same.
4. Make sure ebuild applies config changes with `ebuild
1. Update the patchset version in the `libre-kernel` ebuild.
2. Extract the patchset from the `gentoo-kernel` ebuild and see if
there are any new patches, or patches removed.
2. Most patches aside from the `1000`- series that patch the entire
kernel should work.
3. Add all new patches that apply to the patchset in the ebuild.
4. Make sure ebuild applies patches with `ebuild
libre-kernel-X.Y.Z.ebuild clean prepare`.
4. If the Gentoo config version has changed:
5. Update the config version in the `libre-kernel` ebuild.
6. Make sure ebuild applies config changes with `ebuild
libre-kernel-X.Y.Z.ebuild clean prepare`.
5. Run `pkgdev manifest` to have portage download the libre kernel files
and update the manifest.
5. Attempt to build the kernel using `ebuild libre-kernel-X.Y.Z.ebuild
clean merge`. You might need to use `sudo` or `doas` for this.
6. Update `virtual/dist-kernel` package to new version, by copying the
proper dist-kernel ebuild from the gentoo repo, and adding
`sys-kernel/libre-kernel` to its list of possible deps.
7. Make sure `virtual/linux-sources` is up to date. This package rarely
changes, but updating it follows the same procedure as
`virtual/dist-kernel`.
If the build succeeds, the new ebuilds can be pushed to the repository.
If the build succeeds, the new ebuild can be pushed to the repository.

View File

@ -1,13 +0,0 @@
Title: Libre Kernel Gentoo USE Flag and Fixes
Author: projectmoon <projectmoon@agnos.is>
Posted: 2023-03-29
Revision: 1
News-Item-Format: 2.0
The libre-kernel ebuilds now have the main Linux-libre release URLs as
fallback SRC_URIs, in case the mirror hosting the files is down. The
mirrors exist because sometimes the Linux-libre project removes releases
if they discover that the release violates the Free Software
Distribution guidelines. While good for freedom purity, this can make
upgrades difficult. Thus, the files are mirrored on an external for the
libre-kernel ebuilds.

View File

@ -1,13 +0,0 @@
Title: Libre Kernel Gentoo USE Flag and Fixes
Author: projectmoon <projectmoon@agnos.is>
Posted: 2023-03-29
Revision: 1
News-Item-Format: 2.0
The libre-kernel ebuilds now have the main Linux-libre release URLs as
fallback SRC_URIs, in case the mirror hosting the files is down. The
mirrors exist because sometimes the Linux-libre project removes releases
if they discover that the release violates the Free Software
Distribution guidelines. While good for freedom purity, this can make
upgrades difficult. Thus, the files are mirrored on an external for the
libre-kernel ebuilds.

View File

@ -1,15 +0,0 @@
Title: virtual/linux-sources unmask required
Author: projectmoon <projectmoon@agnos.is>
Posted: 2023-04-14
Revision: 1
News-Item-Format: 2.0
Changes to the linux-sources virtual have required that this overlay
patches that ebuild when using the libre-kernel. If you have set up this
overlay to only unmask specific packages, you should also add the
linux-sources package to your package.unmask file:
virtual/linux-sources::projectmoon
This will prevent portage from also installing linux sources package
like gentoo-sources when you already have the libre-kernel installed.

View File

@ -1,15 +0,0 @@
Title: virtual/linux-sources unmask required
Author: projectmoon <projectmoon@agnos.is>
Posted: 2023-04-14
Revision: 1
News-Item-Format: 2.0
Changes to the linux-sources virtual have required that this overlay
patches that ebuild when using the libre-kernel. If you have set up this
overlay to only unmask specific packages, you should also add the
linux-sources package to your package.unmask file:
virtual/linux-sources::projectmoon
This will prevent portage from also installing linux sources package
like gentoo-sources when you already have the libre-kernel installed.

View File

@ -1,9 +0,0 @@
Title: Libre Kernel 6.x
Author: projectmoon <projectmoon@agnos.is>
Posted: 2024-08-22
Revision: 1
News-Item-Format: 2.0
From this point, I will now be following the stable 6.x releases of
gentoo-kernel for the libre-kernel package. The last available 5.15.x
version will remain 5.15.163, for the time being.

View File

@ -1,9 +0,0 @@
Title: Libre Kernel 6.x
Author: projectmoon <projectmoon@agnos.is>
Posted: 2024-08-22
Revision: 1
News-Item-Format: 2.0
From this point, I will now be following the stable 6.x releases of
gentoo-kernel for the libre-kernel package. The last available 5.15.x
version will remain 5.15.163, for the time being.

View File

@ -1,13 +0,0 @@
Title: Input Leap 3.0.0
Author: projectmoon <projectmoon@agnos.is>
Posted: 2024-10-04
Revision: 1
News-Item-Format: 2.0
Input Leap 3.0 is available. The ebuild is a 9999 version, so in order
to install it, you will need to rebuild input leap manually, e.g. emerge
-1 x11-misc/input-leap. The Gentoo ebuild repository still has not
updated to libportal 0.8 at time of writing, so the custom version of
libportal from this overlay is still required. When they do update, the
ebuild of input-leap will be adjusted to require libportal >= 0.8, and
properly versioned.

View File

@ -1,13 +0,0 @@
Title: Input Leap 3.0.0
Author: projectmoon <projectmoon@agnos.is>
Posted: 2024-10-04
Revision: 1
News-Item-Format: 2.0
Input Leap 3.0 is available. The ebuild is a 9999 version, so in order
to install it, you will need to rebuild input leap manually, e.g. emerge
-1 x11-misc/input-leap. The Gentoo ebuild repository still has not
updated to libportal 0.8 at time of writing, so the custom version of
libportal from this overlay is still required. When they do update, the
ebuild of input-leap will be adjusted to require libportal >= 0.8, and
properly versioned.

View File

@ -1,12 +0,0 @@
Title: Input Leap Latest Builds Broken
Author: projectmoon <projectmoon@agnos.is>
Posted: 2024-08-22
Revision: 1
News-Item-Format: 2.0
The latest commits to input-leap have broken the git build. The last
known working build of a stable release is v3.0.1. To force this, create
an env configuration for input-leap:
MYCMAKEARGS="-DQT_DEFAULT_MAJOR_VERSION=5"
EGIT_OVERRIDE_COMMIT_INPUT_LEAP_INPUT_LEAP="v3.0.1"

View File

@ -1,12 +0,0 @@
Title: Input Leap Latest Builds Broken
Author: projectmoon <projectmoon@agnos.is>
Posted: 2024-08-22
Revision: 1
News-Item-Format: 2.0
The latest commits to input-leap have broken the git build. The last
known working build of a stable release is v3.0.1. To force this, create
an env configuration for input-leap:
MYCMAKEARGS="-DQT_DEFAULT_MAJOR_VERSION=5"
EGIT_OVERRIDE_COMMIT_INPUT_LEAP_INPUT_LEAP="v3.0.1"

View File

@ -8,7 +8,7 @@ DIST hermit-abi-0.1.18.crate 9936 BLAKE2B a5a1d1c9bdf83fdca8edc392f8fa7d9b9b248a
DIST hidapi-1.2.5.crate 130695 BLAKE2B cbc920845e1ce108741925c7c8dbc15bfa864b251abd5659acdad9b7ac60a598c16a4b822bb29bfb9b0bdb2d1f68b745398c73d74155ceea03b1319a065f95b8 SHA512 38783fcba1b3d08b86ab2a2f03a8a955de82f60111f6014b1d143d09728f95d5ef825ec4b73fd04700e6170c2634e07b50310e9745ce3259019590248c2c27b0
DIST libc-0.2.89.crate 515952 BLAKE2B f8af6016b2613ef21f83bbb47b4f2a04939ab6f2d4d525959aa90c6874348327319c7a44084f27ca52d01cca37e95e2b1c5c809e4a82fd5fcfc670d445f23ee8 SHA512 da6668611b87837532de9844bb3db18d992ebfe7e0c064646f0d24014730c9451fe74c6d9374191172c2dd091e8b9ce83a7cf56fc0644088190c8963221f5b9a
DIST pkg-config-0.3.19.crate 15451 BLAKE2B dc23b5ef12719b4b3d2fc5c93c087399ba954a5e127be91b26619466d5d7422e71684d02905304dca65273d69b66338d94c0642e3810a14df845ef507ddc0bfb SHA512 42bc13c4e39c8f71690db527d815884acdfd2ccf5fbfea700c6ed60257e852cdcb1c443e7774409e51da53612b0ff0aa165554b99fd0cba973f94a8df52982d9
DIST purism_ectool-9999.tar.gz 232692 BLAKE2B 8025dde406aa718336ece55430151ec30acf7b29bb9f50581abfe70d469a4780e87356bf2ea3dac601277bb117b1684876debeacff23ff3961e1cf939316a1dc SHA512 edbb688535084c8d6ebe7de9d2448248c575d7448afec6078ea90f09150079a33c96ea3b18b38b62005626db9e0c1bc201e5300954380e4dd0aa14b60ea9fd97
DIST purism_ectool-0.3.5.tar.gz 194591 BLAKE2B 717c18ab2b9632a6bbd443df0adb781bac3db4cb75ba0790a670d667458f2940257d0eb721f3a8af1898f8de26f180db5b149381649d7d5d1aa93c1fd10b7377 SHA512 c5b9b79407f8d1851c33b16336009b976036fc8ea31316c6721b6a464343729b788e62294b5359b35894a420593c63920adfa3954932a398ce2401f5cc83ebc6
DIST redox_hwio-0.1.3.crate 3264 BLAKE2B e4a1f50d8f45ce3ab7a9760f070f9882930f3b0be7754854577d483e6bbd797f1f5e5ca16dc3677351572882368597ceeaad9ff7cdcc0f91195634524245c96e SHA512 d3cc726435da87dbb10adc7ce65257e0a3e9f9668b28fd4667027c9bbcad4ec9659c3fc7c91e94aac24cd8d6439036546d13e2134eaea7209c6265b3fa67bb66
DIST strsim-0.8.0.crate 9309 BLAKE2B 40a8be506c43ee1ffe006ddc7dee98c3d418bdd205d57b78f5d1e4c9312feb57e1eaf952e02d92d4e0932db240c6fba45beb06ea8c4fc6de1cf1faa8b6a3a939 SHA512 1d55a8d946cd55f5f37d06aea536549ded95739fa58c0f2da285a0041154c181f663682bdcac643aa198b3e762d694a04f058db985c62ebe22b5c16327ba6d34
DIST textwrap-0.11.0.crate 17322 BLAKE2B 257428908342774593bbd3528fcdae710712ff54e8a711393a24356d8ba0e16e466a4b20c05f942c48ca76b3b5b5aaa90ec202f782cad892caa8b71ccf124da6 SHA512 f5c0fe4f28ff1a3a0931e8e235b5157a45f67967985bcc752418c5ec3481fca44a8ae4800088889b37e8cd0533f53d3c456d5ffd19b767b3f83a87b49a2e209a

View File

@ -0,0 +1,44 @@
# Copyright 2017-2022 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.2
EAPI=7
CRATES="
ansi_term-0.11.0
atty-0.2.14
bitflags-1.2.1
cc-1.0.67
clap-2.33.3
downcast-rs-1.2.0
hermit-abi-0.1.18
hidapi-1.2.5
libc-0.2.89
pkg-config-0.3.19
redox_hwio-0.1.3
strsim-0.8.0
textwrap-0.11.0
unicode-width-0.1.8
vec_map-0.8.2
winapi-0.3.9
winapi-i686-pc-windows-gnu-0.4.0
winapi-x86_64-pc-windows-gnu-0.4.0
"
inherit cargo
EC_VERSION="1.11"
DESCRIPTION="Purism Librem EC tool"
HOMEPAGE="https://source.puri.sm/firmware/librem-ec//-/tree//tool"
SRC_URI="
$(cargo_crate_uris ${CRATES})
https://source.puri.sm/firmware/librem-ec/-/archive/${EC_VERSION}/librem-ec-${EC_VERSION}.tar.gz -> ${P}.tar.gz
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
S="${WORKDIR}/librem-ec-${EC_VERSION}/tool"
RESTRICT="mirror"

View File

@ -1,44 +0,0 @@
# Copyright 2017-2024 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.4-r1
EAPI=8
CRATES="
ansi_term@0.11.0
atty@0.2.14
bitflags@1.2.1
cc@1.0.67
clap@2.33.3
downcast-rs@1.2.0
hermit-abi@0.1.18
hidapi@1.2.5
libc@0.2.89
pkg-config@0.3.19
redox_hwio@0.1.3
strsim@0.8.0
textwrap@0.11.0
unicode-width@0.1.8
vec_map@0.8.2
winapi@0.3.9
winapi-i686-pc-windows-gnu@0.4.0
winapi-x86_64-pc-windows-gnu@0.4.0
"
inherit cargo
EC_VERSION="l14-freeze-202404-test-20240425"
DESCRIPTION="Purism Librem EC tool"
HOMEPAGE="https://source.puri.sm/firmware/librem-ec//-/tree//tool"
SRC_URI="
$(cargo_crate_uris ${CRATES})
https://source.puri.sm/firmware/librem-ec/-/archive/${EC_VERSION}/librem-ec-${EC_VERSION}.tar.gz -> ${P}.tar.gz
"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
S="${WORKDIR}/librem-ec-${EC_VERSION}/tool"
RESTRICT="mirror"

View File

@ -15,7 +15,7 @@ CRATES="
inherit {% block inherit -%}cargo{%- endblock %}
EC_VERSION="l14-shutoff-202403"
EC_VERSION="1.11"
DESCRIPTION={%- block description -%}"{{ description | trim }}"{%- endblock %}
HOMEPAGE="https://source.puri.sm/firmware/librem-ec//-/tree//tool"

View File

@ -1,24 +1,11 @@
DIST genpatches-5.15-175.base.tar.xz 7264676 BLAKE2B 6911fc0fcef31daa55ddeb93e121acf4a95d130866f37ac0113a8697df1996c13bbf65e14f4a5703f7bb3f4dd3ebfb29e258ca358d191c0580a7f8e61fbf7c0c SHA512 3fc49566b23ef50590a3b9f90eb99558c9e37847259e0defdfb0ca036c37b7f45c4989d58787b8488c67ea031114173319346c1c17799680ebfdc581ae7e4588
DIST genpatches-5.15-175.extras.tar.xz 4060 BLAKE2B 1ff5b5e69f9cb0e243d03d761c430bcb04ef698199c6a68e15c9535cf58b8fc0b12703fced2fd1e884c7c7d7b948b778f633d2a5de619de9a0acee60ef7c20a7 SHA512 8925f59f2d30f07838ca111c45496d7fa0229362065fbe6643dcf6dd0998ee747a8d8ed217a63b6e77b28d8b0775872408fdf8260e6c737db3a4aade0f299041
DIST genpatches-6.6-54.base.tar.xz 2922380 BLAKE2B f65404127bb6547208aeddac1996a4a2659bd99ff7429bcaff28247a867c000e962457725eab80db2c76297f1e5c27806dc6fb23e31d5694b6df783e65995227 SHA512 102f721f87478ad18599bb5ff65cd236180dd3d9d058786a5306cb36be3f30a2d2ef684e83b6f458d4de78a196323e87d346eba704bfbce733010aed6ac3d7f9
DIST genpatches-6.6-54.extras.tar.xz 4060 BLAKE2B 22ea7d143bfe168bc5d9d30832423bcd33b49c1b3b5ddf031000d7d9fce96f6fa0fb1d06fd33b27a5de9c9f3833a139557f0ed7408ef12b23568784ff38ca7a9 SHA512 1b1a229b5923e7f3426139b17608b5feae6061313f7aea66de23f09a54696def39bf4b384c4e884a3e5c758c08e04dcfe1ab7f2aa331db74b59f5e511c6f2c5b
DIST genpatches-6.6-58.base.tar.xz 3154204 BLAKE2B 5b9456e93cb0984599e065fab0d05e40b7efbc8079763ede75ed7a6e7f0e241de96f0c6438cde52f64a5074f5bfcc5d55b5d3c21a9e9528138ea5c36e164ea58 SHA512 e775ac64564c201c3e1293d34a70f347a5afd5691a006d958f69959d2eea0af690cf66f7bdd450034ef9eb43daeccbedd58819dc688cd3e7e9933da9312cbf75
DIST genpatches-6.6-58.extras.tar.xz 4060 BLAKE2B 7e16c5d713aaf221335b81f3a301e9bb1e7f243d9bc6739c3dd07bb3cfedbe6bd5a763ce418172c838fbd3de82909cabff7c2e5c4b4f1b675098b709ddc5203e SHA512 315bfdf633398b3b1a9650dae88fdd0c1442336cabe45a3f2722e968f510da13050657e8d35acf8a313981bd9403f5056abea182a0115a79952a2740ceb4ff88
DIST genpatches-6.6-65.base.tar.xz 3582916 BLAKE2B 3d750c677e61c122144de989a55db6f04a2a545981858b71c602c156f802478ad19f4d87629760be724a9b522b377479df9f0c5f9a859235c5fc438df95c2aae SHA512 1ac5e7fb36e50227a6bdf035562f11401ef6a19c1a7af2d001d224b8710e3aa10434d828a3a0213a1f5cce101992bb803199e5d4e76474b657dc5c4d6328c385
DIST genpatches-6.6-65.extras.tar.xz 4060 BLAKE2B 53cdbf5d680c9943d189e7606caa10c18bd3317789ffc1f120bf535255d80bfb5e3969fe952eb0da3c1001ee41e93755616332363465d4714a67a90140c43bfb SHA512 b5b3c817426be391a72633740beb4ba7b4e2546ee441081906d77ba31636321501af414140d487d284de325f80d004aefb241f3e349ef3ccd62d2c6fc4d7cf7e
DIST genpatches-6.6-70.base.tar.xz 3723176 BLAKE2B 19017743aaa0e1c717746592f253a14ca476eae1658742c6e487023ee5a670473fe582a814a1202f2aeefc78d7dd3dd249810d7665299f740fcfceb1c8c11f84 SHA512 dfaa2df7ceb9411e9e35fc9f4822f7d579c1106b49c57805d657ec14699764a54e10d93f717801db7e33698b1c01dbab489e7b9953b1ff23feacbdec5a99c95b
DIST genpatches-6.6-70.extras.tar.xz 4060 BLAKE2B 65cc5e2a27894992dd78d6cbfe5601f2e10b21f6e588d8a8d75f1f265f1fdab3ab03dd4d5c18e3ac5f48a6a72f021e2f125c5140224b26f0caeba3def4054042 SHA512 728495f3fa06f52f0ececb3b5e69b1cd4c7aa29d8ca02bc7a537616a2c1cf81859b5f624e125332a1def8176f7a878da58843ef8d363a5d622009b31548879c6
DIST gentoo-kernel-config-g13.tar.gz 5759 BLAKE2B 831f89078e539c8b4ce244528dfd847c12a45b52d540eb10d85ec0d9deb1c14288d8de12456865c92d16e3523ec3595676787a8f3b79545d76870b0fb68deb5d SHA512 2a7230cce57a67e3333f9a88a311afe4a928e27ce76036747451cb77d3186569ad11d7a5b827748ad53290a17ad63637a8362ca896516f85ff0944a8d68265a6
DIST gentoo-kernel-config-g14.tar.gz 5686 BLAKE2B e5147ff4ffab92428b3e7f1b0897b997f8a298805f4f43b0a4d3047607bbb1a5ebfc268e0bb9688372a5eda561df9f256c78e00cdd7e3caf7868724214722f56 SHA512 f79638f9ff9dd0154512baf0234024216b6708d35a3c03a580ca5913286ad1ea13bdde5ea9b4722c6a7cd8d591c11ec52c1e225111a260343cd56aa1f1a88502
DIST kernel-x86_64-fedora.config.6.1.102-gentoo 228685 BLAKE2B e68236ccc1d51b2aff850eda9f3197b7ea95b8a88716bc7b07dad30348a86fdbb99a948060300dddae73ca82267d851d357f1c9547a9dcefae1364deebdbd124 SHA512 42bec2ddb9cf7eb6e84bbdeb23eb98dc11c9cea41f6134b776010c6b36833b520a290f0ef0145379de15c7f7834398fa5e3aaabd7258d7d4e89567faa09eeb4c
DIST kernel-x86_64-fedora.config.6.6.12-gentoo 243607 BLAKE2B 7e670d37c6471e50aa0ba395570cd0173af0210afe63faa48d7a147327110652e3aab5c339cf10ed22a6a20e81e505aee84311beb21fda3eb577e06ea55ecac8 SHA512 c484403a60670dd006ecbe65240cb00d97e8b3fe22d1169c5b6ccb92bcdbddb3ecd474d2b57880b30baf6a38bcef11fc8d56b8b0b02fcddd859833c3640cdc9c
DIST linux-libre-5.15.165-gnu.tar.xz 119931308 BLAKE2B 312d6a2091f48fe013d9207c749ff6fd850565e1a77b8bd437167fe8b7863f2b4c39b4ee43bd00614c3b8229a6de2ae671863e1a258e8248d8dc19e5333e309d SHA512 475063e224e3fc3c9bcc64b79dc5d3e41159bbf144c7cd1dd7b024c90996d788718b1ebceb19412b357cb6b8976f7135ad202a2b36197dbb7a311c4b1be9997b
DIST linux-libre-5.15.165-gnu.tar.xz.sign 195 BLAKE2B 69c860aeb656c3207d31209ff71c8d75aab95842611500aec2c59ab222ff7e2c27535cbe952da02edfa425afb6c18cd4a29668e0a46a40ee295bfad856e26287 SHA512 7418b5312cf8a2c5f0ab00f1a3906858256a1d172adfc493d95f7e1f06ece7efa00c9bc71b9cccf447bbb6b76c42ee8201044d46fa028b49be47edcc05983c77
DIST linux-libre-6.6.47-gnu.tar.xz 131910236 BLAKE2B 34c90f7f96a00b05f6de5bab316a538f091afbc34c5d5abe5febb930077e81426bafa0f1997b25b1acb67242691e2b782a18f878f271b172cf37757862df9cc0 SHA512 305a92fcbe22efc33c1098156195c281fc9235a39151a59f32ff1de515409732f5793eacccec83c089925f5cc206baf28b16002e1010c95db5af56ed041869cc
DIST linux-libre-6.6.47-gnu.tar.xz.sign 195 BLAKE2B ebc1564bc0b0de60050af17f78af8b6ba38aa59bba52c4b9c1a2f32e941fe6214ed42b5e4e986700a3e5871b4298bfac06790cb7b903830b34639eb2a8d6a44d SHA512 8a88e80b8702d1d68ad012dd72ccc32e512fdf994761850f187a19e90cd1534588150fdd2dfb942a152b1c56cd3f5ac5fba0586cb784a3d7af13c9ca517f6199
DIST linux-libre-6.6.51-gnu.tar.xz 131971516 BLAKE2B f39f9c6b61eb2c1a479082f7f8054973fc532a363ce79251fc0cddf3651302835959e3177fb1b1cd87ad4246fba04bf99d0ddb362064ad4d67a3104def5988f5 SHA512 aa00b79c71d7d496546a85e31e0d53b706e03c7f6aa067ca1a09fc841ed062efb6a194f25ec0cf7ad27f239d90524b88f6e90d76e6d88f0d4fa0cc65bdf2a342
DIST linux-libre-6.6.51-gnu.tar.xz.sign 195 BLAKE2B 53b3cc4f8a7ebeb10e43bed19cfd1b009b925c77116846169084491c44c27b18edb4f6cc60283bfee16f45dd4cf9b94b992067bcd6871848c2a02f176468507a SHA512 b0ba576d98b682a4ab19936228540b551cd2dbb0157046d17f964974862b8189c0b40877fe848e96e396b8bf9d970120562afdf9dbefdd98bfd5acdfb526abb3
DIST linux-libre-6.6.58-gnu.tar.xz 131974404 BLAKE2B 36b2c780289aa047ef935ab033f593a11326c827a3ee3b94ad93904d639d94d36cad8ae48eb47371b68418fdfd615033922800686be9675ca0c6eca43aa2b0f0 SHA512 551d27412b42877de5a38e20dbcd2f6bda041e1f64a91da805725253956206adf8d19b5a56af5b15693e8dd486f73451615d96002c532f994ff4961801fef1c9
DIST linux-libre-6.6.58-gnu.tar.xz.sign 195 BLAKE2B 6012a731e63d326d59ae3bfc9532ecb80ca63a9936c4d2524acd0773d67d7faa7862ea6a59ee85862c347868e3c5ed872d38f76c893de5626f0eea4432ac98f0 SHA512 76e0ecd9d63fc66a4bbf7d02e4de4d5e30541ef6ca4b0dfb467ef42669f8ce00ec4e461714f4ab036e04b0b35c9809adf83870ff3559a5a24e42cc86fcea6c83
DIST linux-libre-6.6.62-gnu.tar.xz 132042812 BLAKE2B 0b0c97c631bac46fe27e255e8a1e821dd65e74c17e4edf82989eb4134fa357e9572800641e0e79f2572296e352eae4ba01ed3c9b4d7517442f11acc0f70658b5 SHA512 6cd71a1af1048e5faeac2d6dbf2313b744dfaa8b9b9ccadc92e1b0aebf6142deed1dfb991b190f6e8791707a5f199836e262f48b6d4a0780c3d9abb26a21bd4a
DIST linux-libre-6.6.62-gnu.tar.xz.sign 195 BLAKE2B 1675623f3a0ba64af0c2b446c689b2b0f20ee651bcd8ab16928cffdfe93c00dd043e4078fe325e5bee8e56949bed74bf13c68a6cdf1f84d4972408ee5d9416db SHA512 214d3cb0c94b04984645f6ce4813850766e49ea1122a9a4ba156be2da7e0172e1acb2f96cd1df8f4a4eef26ccc50d8e9181a03c5b3123f44e883329d18850422
DIST genpatches-5.15-98.base.tar.xz 4003192 BLAKE2B 79d4fb60a5192137571109ffaefdfba23ac589102539cdde89046f627f39e65a52a44a83607232b499509b8bb4c341e2fd26ae971587c9574d4ac87d8b220893 SHA512 946a7638d19d5fd610075520e529a6c5a47aaa433b7986493f62571a7dc541278013a5006bf1e745496e4eb98de44af56f61d23679c139a719a8d5bc20c9e734
DIST genpatches-5.15-98.extras.tar.xz 3932 BLAKE2B 4e5dd4f8ba6d14764a6546cf7e64dffb3ddcc77678b7d96d2498917f30561792c904c635b0fce7191b7c0c65549fa769e89befffbea5e53a3cef64c673937c20 SHA512 337d95159432cba3b85511cf80c350a8a2f67c65b72a90b26ddc98c01d2d8de70d9b6067e0573c5c339a5bf64973d10c06b42001ee19a7add3d672e4577d0622
DIST genpatches-6.1-14.base.tar.xz 774040 BLAKE2B 8e0866c762e2711b766cc75630d66c7c46221bdc47357a903c7e8506ad122b7b5ba84d102b19743d236ac5579b44d24f77b9f52f3c23695ab6a279cf7875e735 SHA512 6a753146013baf0b94d83abd690118517679d4d7dcf6e9f86cf8de35e24f80a792e9c0692f237098671c316d046d6f65f8d3512255e572daf6a8ca81853beca0
DIST genpatches-6.1-14.extras.tar.xz 3804 BLAKE2B 7f016579b130c9a4f7a8ec946254dbd682f22e5654ae777d11b265dafe2b177a4c40c5a979a760a5bd6ed3dac057b90a3120c60b958f6b748ea4731b9a5f1ea6 SHA512 2807d359459dd11b9d3356fcac609dbfb8487e8c924cc543ef37698667b1c8b74cff7b015839ca0677cf1f96b566e0b5018c057b517275886ab500cd2ca49653
DIST gentoo-kernel-config-g6.tar.gz 4562 BLAKE2B ad9e1b28f84916f12cd8b21feb2f4396d3d63f4cfae3e6b6fe93f919c98b0b4523b205711ab7acafa7121360f696eecb63b9f162dd12950e56dab1429cc13633 SHA512 d180122eb00d40126ea7d79224559904eb0ea574314f9a8d6be6b10f0f6a49f526eba1366ae8cd0a4fe23cd8ff5e292c8cab7e856a2c915d4162b75a03f8076b
DIST kernel-x86_64-fedora.config.5.15.19 223286 BLAKE2B 239995703c01dcb6d179133dd115bc0a57872c07d7a08afaf4d92cf6d78f0c17b19487b5b399ac7fdde5d460fa7931628147817a569fef2c3a62951c96054bdf SHA512 9bee4aff7e5ef4ada57bee7496aaf47b8fdd5c936c4c9b580660d130db0678eaecdebdbcab0dfcaf5c17a71f6419069840db10f5886806b6fc810f8a3619554f
DIST kernel-x86_64-fedora.config.6.1.7-gentoo 228685 BLAKE2B e68236ccc1d51b2aff850eda9f3197b7ea95b8a88716bc7b07dad30348a86fdbb99a948060300dddae73ca82267d851d357f1c9547a9dcefae1364deebdbd124 SHA512 42bec2ddb9cf7eb6e84bbdeb23eb98dc11c9cea41f6134b776010c6b36833b520a290f0ef0145379de15c7f7834398fa5e3aaabd7258d7d4e89567faa09eeb4c
DIST linux-libre-5.15.94-gnu.tar.xz 119739516 BLAKE2B 6d7c7d624991b79a021a5aa8c3c7b829b218ce9cb146f3f508f9fe97c3d738e9c1f02e38ea5928d02a8812f294335b81a2b03ff70039b641554dbfa4569ef7d1 SHA512 02c21e2cf83bf90b2c086ba92407a80be17468f55b7e7877dbd6eb89d90d100dfdb7bfea8776f5738a1335953aeba67dc581383674c1a28f4f6c458b27f652d6
DIST linux-libre-5.15.94-gnu.tar.xz.sign 195 BLAKE2B 84e3688cb26f529785a02a9104aa9f6dd059ff266e550340f09c7c4b916fedfbd63b80c4f634ab97c2ee6b88f864cf0a022d61eb2d30cf9b9201daee65ad5bca SHA512 35282cf99ffef053a1b05126371f70d0b24c16c95e579111f4118e4b2b1c72cbabd1393d2b8d092b62517f7c1c05ab997c2ec51ad0159701d03e715c190095c2
DIST linux-libre-6.1.12-gnu.tar.xz 127116060 BLAKE2B 2d8f457e23d954a1d2bd1c312369ca2ab6fa2c03b1758e78c82d5cc40eec8c5c3b5cb79c6fb168dca44a4ea6837801bb47a91e6b4b437ab6087adbb1b38914d1 SHA512 27c8f3e12e5f95681ef17f8fc698b7a319c69c734154c62437e43f997565f7f0fb3ccce9dd114bc23ccaa4580833a201d45ea744d568bf473b8ef76f6f91c988
DIST linux-libre-6.1.12-gnu.tar.xz.sign 195 BLAKE2B 769d8c66fda4fc3da616d9ed44c37ee110c0d28dbbeed64a9b724da468ac296edc131b104eaab294798313388d6f6ce4338bd8b1f14f03e900f2f817a0fa2a53 SHA512 6b77ef90f6b3c3da21542125c2ca96c79613a16dd7edf8d855d4aa3d7e601084111a1751dceec60f6337119f016dfef19f2c81e66cdd657e69583a5c60d1d64f

View File

@ -1,4 +1,4 @@
# Copyright 2020-2024 Gentoo Authors, projectmoon
# Copyright 2020-2023 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,23 +8,21 @@ inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 7 ))
CONFIG_VER=6.6.12-gentoo
#CONFIG_HASH=ec69da7a42b5b7c3da91572ef22097b069ddbd01
GENTOO_CONFIG_VER=g14
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 4 ))
CONFIG_VER=5.15.19
CONFIG_HASH=ec69da7a42b5b7c3da91572ef22097b069ddbd01
GENTOO_CONFIG_VER=g6
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
@ -98,15 +96,18 @@ src_unpack() {
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremental version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
PATCHES="
${WORKDIR}/1500_XATTR_USER_PREFIX.patch
${WORKDIR}/1510_fs-enable-link-security-restrictions-by-default.patch
${WORKDIR}/2000_BT-Check-key-sizes-only-if-Secure-Simple-Pairing-enabled.patch
${WORKDIR}/2900_tmp513-Fix-build-issue-by-selecting-CONFIG_REG.patch
${WORKDIR}/2920_sign-file-patch-for-libressl.patch
${WORKDIR}/2930_gcc-plugins-Reorg-gimple-incs-for-gcc-13.patch
${WORKDIR}/2940_gcc-plugins-drop-std-gnu-plus-plus-to-fix-GCC-13-build.patch
${WORKDIR}/3000_Support-printing-firmware-info.patch
${WORKDIR}/4567_distro-Gentoo-Kconfig.patch
"
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
@ -119,14 +120,34 @@ src_prepare() {
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
arm)
return
;;
arm64)
cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
biendian=true
;;
hppa)
return
;;
ppc)
# assume powermac/powerbook defconfig
# we still package.use.force savedconfig
cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
;;
ppc64)
cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
biendian=true
;;
x86)
cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"

View File

@ -1,4 +1,4 @@
# Copyright 2020-2024 Gentoo Authors, projectmoon
# Copyright 2020-2023 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -8,23 +8,21 @@ inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 10 ))
CONFIG_VER=6.1.102-gentoo
#CONFIG_HASH=ec69da7a42b5b7c3da91572ef22097b069ddbd01
GENTOO_CONFIG_VER=g13
# https://koji.fedoraproject.org/koji/packageinfo?packageID=8
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 2 ))
CONFIG_VER=6.1.7-gentoo
GENTOO_CONFIG_VER=g6
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
@ -98,15 +96,19 @@ src_unpack() {
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremental version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
PATCHES="
${WORKDIR}/1500_XATTR_USER_PREFIX.patch
${WORKDIR}/1510_fs-enable-link-security-restrictions-by-default.patch
${WORKDIR}/2000_BT-Check-key-sizes-only-if-Secure-Simple-Pairing-enabled.patch
${WORKDIR}/2900_tmp513-Fix-build-issue-by-selecting-CONFIG_REG.patch
${WORKDIR}/2910_bfp-mark-get-entry-ip-as--maybe-unused.patch
${WORKDIR}/2920_sign-file-patch-for-libressl.patch
${WORKDIR}/2930_gcc-plugins-Reorg-gimple-incs-for-gcc-13.patch
${WORKDIR}/2940_gcc-plugins-drop-std-gnu-plus-plus-to-fix-GCC-13-build.patch
${WORKDIR}/3000_Support-printing-firmware-info.patch
${WORKDIR}/4567_distro-Gentoo-Kconfig.patch
"
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
@ -119,14 +121,34 @@ src_prepare() {
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
arm)
return
;;
arm64)
cp "${DISTDIR}/kernel-aarch64-fedora.config.${CONFIG_VER}" .config || die
biendian=true
;;
hppa)
return
;;
ppc)
# assume powermac/powerbook defconfig
# we still package.use.force savedconfig
cp "${WORKDIR}/${MY_P}/arch/powerpc/configs/pmac32_defconfig" .config || die
;;
ppc64)
cp "${DISTDIR}/kernel-ppc64le-fedora.config.${CONFIG_VER}" .config || die
biendian=true
;;
x86)
cp "${DISTDIR}/kernel-i686-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"

View File

@ -1,148 +0,0 @@
# Copyright 2020-2024 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 7 ))
CONFIG_VER=6.6.12-gentoo
#CONFIG_HASH=ec69da7a42b5b7c3da91572ef22097b069ddbd01
GENTOO_CONFIG_VER=g13
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
-> kernel-x86_64-fedora.config.${CONFIG_VER}
)
"
# Workdir is named linux-PV.
MY_P=linux-${PV}
S=${WORKDIR}/${MY_P}
LICENSE="GPL-2"
KEYWORDS="amd64"
IUSE="debug +gentoo"
BDEPEND="
debug? ( dev-util/pahole )
verify-sig? ( sec-keys/openpgp-keys-linux-libre )
"
PDEPEND="
>=virtual/dist-kernel-${PV}
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linux-libre.asc
pkg_pretend() {
if has_version -d sys-kernel/linux-firmware[redistributable]; then
ewarn "sys-kernel/linux-firmware was found installed on your system,"
ewarn "but it is configured to install non-Free firmware files."
ewarn "The non-Free firmware files may be required for some hardware"
ewarn "work. The Linux-libre kernel cannot load non-Free firmware."
ewarn "To install only the Free firmware, set the -redistributable"
ewarn "USE flag on sys-kernel/linux-firmware."
if use initramfs; then
elog
elog "If you decide to change or remove linux-firmware later, you"
elog "can rebuild the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
else
if ! has_version -d sys-kernel/linux-firmware; then
ewarn "sys-kernel/linux-firmware[-redistributable] not found installed"
ewarn "on your system. This package provides various firmware files that"
ewarn "may be needed for your hardware to work. If in doubt, it is recommended"
ewarn "to pause or abort the build process and install it before"
ewarn "resuming."
if use initramfs; then
elog
elog "If you decide to install linux-firmware later, you can rebuild"
elog "the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
fi
fi
}
src_unpack() {
if use verify-sig; then
FILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz
SIGFILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz.sign
verify-sig_verify_detached $FILE $SIGFILE
fi
default
}
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremental version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
default
local biendian=false
# prepare the default config
case ${ARCH} in
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
local merge_configs=(
"${T}"/version.config
"${dist_conf_path}"/base.config
)
use debug || merge_configs+=(
"${dist_conf_path}"/no-debug.config
)
# this covers ppc64 and aarch64_be only for now
if [[ ${biendian} == true && $(tc-endian) == big ]]; then
merge_configs+=( "${dist_conf_path}/big-endian.config" )
fi
kernel-build_merge_configs "${merge_configs[@]}"
}

View File

@ -1,148 +0,0 @@
# Copyright 2020-2024 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 7 ))
CONFIG_VER=6.6.12-gentoo
#CONFIG_HASH=ec69da7a42b5b7c3da91572ef22097b069ddbd01
GENTOO_CONFIG_VER=g13
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
-> kernel-x86_64-fedora.config.${CONFIG_VER}
)
"
# Workdir is named linux-PV.
MY_P=linux-${PV}
S=${WORKDIR}/${MY_P}
LICENSE="GPL-2"
KEYWORDS="amd64"
IUSE="debug +gentoo"
BDEPEND="
debug? ( dev-util/pahole )
verify-sig? ( sec-keys/openpgp-keys-linux-libre )
"
PDEPEND="
>=virtual/dist-kernel-${PV}
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linux-libre.asc
pkg_pretend() {
if has_version -d sys-kernel/linux-firmware[redistributable]; then
ewarn "sys-kernel/linux-firmware was found installed on your system,"
ewarn "but it is configured to install non-Free firmware files."
ewarn "The non-Free firmware files may be required for some hardware"
ewarn "work. The Linux-libre kernel cannot load non-Free firmware."
ewarn "To install only the Free firmware, set the -redistributable"
ewarn "USE flag on sys-kernel/linux-firmware."
if use initramfs; then
elog
elog "If you decide to change or remove linux-firmware later, you"
elog "can rebuild the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
else
if ! has_version -d sys-kernel/linux-firmware; then
ewarn "sys-kernel/linux-firmware[-redistributable] not found installed"
ewarn "on your system. This package provides various firmware files that"
ewarn "may be needed for your hardware to work. If in doubt, it is recommended"
ewarn "to pause or abort the build process and install it before"
ewarn "resuming."
if use initramfs; then
elog
elog "If you decide to install linux-firmware later, you can rebuild"
elog "the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
fi
fi
}
src_unpack() {
if use verify-sig; then
FILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz
SIGFILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz.sign
verify-sig_verify_detached $FILE $SIGFILE
fi
default
}
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremental version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
default
local biendian=false
# prepare the default config
case ${ARCH} in
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
local merge_configs=(
"${T}"/version.config
"${dist_conf_path}"/base.config
)
use debug || merge_configs+=(
"${dist_conf_path}"/no-debug.config
)
# this covers ppc64 and aarch64_be only for now
if [[ ${biendian} == true && $(tc-endian) == big ]]; then
merge_configs+=( "${dist_conf_path}/big-endian.config" )
fi
kernel-build_merge_configs "${merge_configs[@]}"
}

View File

@ -1,147 +0,0 @@
# Copyright 2020-2024 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit kernel-build verify-sig
BASE_VER="$(ver_cut 1).$(ver_cut 2).$(ver_cut 3)"
RESTRICT="mirror"
GENPATCHES_P=genpatches-${PV%.*}-$(( ${PV##*.} + 8 ))
CONFIG_VER=6.6.12-gentoo
GENTOO_CONFIG_VER=g14
DESCRIPTION="GNU Linux-libre kernel built from upstream sources"
HOMEPAGE="https://www.fsfla.org/ikiwiki/selibre/linux-libre/"
SRC_URI+="
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.base.tar.xz
https://dev.gentoo.org/~mpagano/dist/genpatches/${GENPATCHES_P}.extras.tar.xz
https://github.com/projg2/gentoo-kernel-config/archive/${GENTOO_CONFIG_VER}.tar.gz
-> gentoo-kernel-config-${GENTOO_CONFIG_VER}.tar.gz
verify-sig? (
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/sys-kernel/libre-kernel/linux-libre-${BASE_VER}-gnu.tar.xz.sign
https://linux-libre.fsfla.org/pub/linux-libre/releases/${BASE_VER}-gnu/linux-libre-${BASE_VER}-gnu.tar.xz.sign
)
amd64? (
https://raw.githubusercontent.com/projg2/fedora-kernel-config-for-gentoo/${CONFIG_VER}/kernel-x86_64-fedora.config
-> kernel-x86_64-fedora.config.${CONFIG_VER}
)
"
# Workdir is named linux-PV.
MY_P=linux-${PV}
S=${WORKDIR}/${MY_P}
LICENSE="GPL-2"
KEYWORDS="amd64"
IUSE="debug +gentoo"
BDEPEND="
debug? ( dev-util/pahole )
verify-sig? ( sec-keys/openpgp-keys-linux-libre )
"
PDEPEND="
>=virtual/dist-kernel-${PV}
"
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/linux-libre.asc
pkg_pretend() {
if has_version -d sys-kernel/linux-firmware[redistributable]; then
ewarn "sys-kernel/linux-firmware was found installed on your system,"
ewarn "but it is configured to install non-Free firmware files."
ewarn "The non-Free firmware files may be required for some hardware"
ewarn "work. The Linux-libre kernel cannot load non-Free firmware."
ewarn "To install only the Free firmware, set the -redistributable"
ewarn "USE flag on sys-kernel/linux-firmware."
if use initramfs; then
elog
elog "If you decide to change or remove linux-firmware later, you"
elog "can rebuild the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
else
if ! has_version -d sys-kernel/linux-firmware; then
ewarn "sys-kernel/linux-firmware[-redistributable] not found installed"
ewarn "on your system. This package provides various firmware files that"
ewarn "may be needed for your hardware to work. If in doubt, it is recommended"
ewarn "to pause or abort the build process and install it before"
ewarn "resuming."
if use initramfs; then
elog
elog "If you decide to install linux-firmware later, you can rebuild"
elog "the initramfs via issuing a command equivalent to:"
elog
elog " emerge --config ${CATEGORY}/${PN}:${SLOT}"
fi
fi
fi
}
src_unpack() {
if use verify-sig; then
FILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz
SIGFILE="${DISTDIR}"/linux-libre-${PV}-gnu.tar.xz.sign
verify-sig_verify_detached $FILE $SIGFILE
fi
default
}
src_prepare() {
local PATCHES
if use gentoo; then
# Fiters out the kernel incremental version upgrade patches,
# leaving only the Gentoo bug fix/functionality changes. The
# regex removes any patches starting with 10XX to 14XX.
MY_PATCHES=$(find "${WORKDIR}"/*.patch -printf "%f\n" | grep -v -E -e '^1[01234][[:digit:]][[:digit:]]_.+.patch')
PATCHES=$(echo "$MY_PATCHES" | sed 's|^|'"${WORKDIR}/"'|g')
else
# If no patches are to be applied, apply only the config changes
# for a Gentoo installation, as this does not change any actual
# Kernel functionality.
PATCHES="${WORKDIR}/4567_distro-Gentoo-Kconfig.patch"
fi
default
local biendian=false
# prepare the default config
case ${ARCH} in
amd64)
cp "${DISTDIR}/kernel-x86_64-fedora.config.${CONFIG_VER}" .config || die
;;
*)
die "Unsupported arch ${ARCH}"
;;
esac
sed -i 's/EXTRAVERSION = -gnu/EXTRAVERSION = /' "${S}"/Makefile || \
die 'could not remove EXTRAVERSION'
local myversion="-gnu-dist"
echo "CONFIG_LOCALVERSION=\"${myversion}\"" > "${T}"/version.config || die
local dist_conf_path="${WORKDIR}/gentoo-kernel-config-${GENTOO_CONFIG_VER}"
local merge_configs=(
"${T}"/version.config
"${dist_conf_path}"/base.config
)
use debug || merge_configs+=(
"${dist_conf_path}"/no-debug.config
)
# this covers ppc64 and aarch64_be only for now
if [[ ${biendian} == true && $(tc-endian) == big ]]; then
merge_configs+=( "${dist_conf_path}/big-endian.config" )
fi
kernel-build_merge_configs "${merge_configs[@]}"
}

View File

@ -1,11 +1,15 @@
# Copyright 2021-2024 Gentoo Authors
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
SLOT="0/${PVR}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc x86"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 x86"
RDEPEND="
|| (
@ -13,5 +17,4 @@ RDEPEND="
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)
"
)"

View File

@ -1,11 +1,15 @@
# Copyright 2021-2024 Gentoo Authors
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
SLOT="0/${PVR}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc x86"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 x86"
RDEPEND="
|| (
@ -13,5 +17,4 @@ RDEPEND="
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)
"
)"

View File

@ -1,11 +1,15 @@
# Copyright 2021-2024 Gentoo Authors
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
SLOT="0/${PVR}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc x86"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 x86"
RDEPEND="
|| (
@ -13,5 +17,4 @@ RDEPEND="
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)
"
)"

View File

@ -1,11 +1,15 @@
# Copyright 2021-2024 Gentoo Authors
# Copyright 2021-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
SLOT="0/${PVR}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc x86"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 x86"
RDEPEND="
|| (
@ -13,5 +17,4 @@ RDEPEND="
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)
"
)"

View File

@ -0,0 +1,20 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 x86"
RDEPEND="
|| (
~sys-kernel/gentoo-kernel-${PV}
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)"

View File

@ -0,0 +1,20 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 x86"
RDEPEND="
|| (
~sys-kernel/gentoo-kernel-${PV}
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)"

View File

@ -0,0 +1,20 @@
# Copyright 2021-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Virtual to depend on any Distribution Kernel"
HOMEPAGE=""
SRC_URI=""
LICENSE=""
SLOT="0/${PV}"
KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
|| (
~sys-kernel/gentoo-kernel-${PV}
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)"

View File

@ -1,17 +0,0 @@
# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Virtual to depend on any Distribution Kernel"
SLOT="0/${PVR}"
KEYWORDS="amd64 ~arm arm64 ~hppa ~ppc ppc64 ~sparc x86"
RDEPEND="
|| (
~sys-kernel/gentoo-kernel-${PV}
~sys-kernel/gentoo-kernel-bin-${PV}
~sys-kernel/vanilla-kernel-${PV}
~sys-kernel/libre-kernel-${PV}
)
"

View File

@ -1,28 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Virtual for Linux kernel sources"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="firmware"
RDEPEND="
firmware? ( sys-kernel/linux-firmware )
|| (
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/linux-next
sys-kernel/asahi-sources
sys-kernel/libre-kernel
)"

View File

@ -0,0 +1,5 @@
DIST WebAppManifestRS-89ee187e6300bbd2d6f773651a4fcc07e4e7ede6.gh.tar.gz 20964 BLAKE2B 30a1aab01c5f2a2f52e1f47edf1bd3235724fd9da699013e0cfcd4fe73edaa1410f93bc875a223b996a43026b6f96c19ac89ff43828313dba302582699fc893a SHA512 614c69fadf2cfe2a973175a2939edcaa4faeed7e8b4d5640f5eda354dc24fa375c9f9055c86e11be041abd1e6b0bd81dd47eb434896078c5a28b4400a29e4ff3
DIST firefox-pwa-connector-2.4.1.zip 735659 BLAKE2B f25bccbe74c914c37b9cccc5cb1b613c7c0789148142cb096c7f71ab72356bff23a3f936d119194d284c8193c035c43875aec05452424590374ca244ddf20d87 SHA512 e3affcb010adfd318c1385b5e58fe21a4f4b252490d5d3543a9f48131137a0dcc5856be27d0b7d01536078a2fc16d256cefea480a9b0c83731ff512633193586
DIST mime-57416f447a10c3343df7fe80deb0ae8a7c77cf0a.gh.tar.gz 22313 BLAKE2B a659e06d1316c7b5102f4a87f02bc35cb05947ff496167cc5acf9ba038c2091ef732bd43f298d9897aee2ce9e0f0e58253a5b06a1105251c0cdbb869db9410b8 SHA512 0d6726f66e34c83895b92928da4b8a1284d5e1d98bc7b01af1036fd92b0299fbc1dbcd0605c2323619db5cb807dcdcdb76da0026058c74c07e54959be1c75dde
DIST rust-url-0032b9e8328f1a7ce2773f71adf316542ee8ddc9.gh.tar.gz 384127 BLAKE2B 8ff1c840742730713494c48e2376201ab114634e5480d66d97661186dd3b218b7bf74024331af64afeec56dfce10dcb7db6349d1c2657b797cf9d199b9c98a75 SHA512 2826c77f9fe57cd5d8686e407994b5917818399f2bcb02050f08101709bf8ea0394615268e5059f2f8825c864f2ba768c3d902534ed309d0b9ad48eafe714191
DIST vendor.tar.gz 56937356 BLAKE2B f29fd480b134da2fa747548cff8aecfb55c95d24b7d33f65388b9483b025d782649b34d1eafa07c94ebdac1681eb5820c376fd597397784450fad931e4dd2f95 SHA512 0951b409d0835e8303654ed3f0c429d118ba43159342f38a02e0481c5973330fd2a50403599f2197ce40d2296423839085fe784ed9df3cb82602e9a2785894f1

View File

@ -0,0 +1,68 @@
# Copyright 2023 Gentoo Authors, projectmoon
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Empty because of vendor tarball.
CRATES=" "
# This is apparently necessary even with vendor tarball?
declare -A GIT_CRATES=(
[data-url]="https://github.com/filips123/rust-url;0032b9e8328f1a7ce2773f71adf316542ee8ddc9;rust-url-%commit%/data-url"
[web_app_manifest]="https://github.com/filips123/WebAppManifestRS;89ee187e6300bbd2d6f773651a4fcc07e4e7ede6;WebAppManifestRS-%commit%/"
[mime]="https://github.com/filips123/mime;57416f447a10c3343df7fe80deb0ae8a7c77cf0a"
)
inherit cargo
DESCRIPTION="The native part of the PWAsForFirefox project"
# Double check the homepage as the cargo_metadata crate
# does not provide this value so instead repository is used
HOMEPAGE="https://github.com/filips123/PWAsForFirefox"
SRC_URI="
$(cargo_crate_uris)
https://github.com/filips123/PWAsForFirefox/archive/refs/tags/v${PV}.zip -> ${P}.zip
https://git.agnos.is/projectmoon/projectmoon-overlay-files/media/branch/main/www-plugins/firefox-pwa-connector/vendor-2.4.1.tar.gz -> vendor.tar.gz
"
LICENSE="0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD BSD-2 Boost-1.0 LGPL-3+ MIT MPL-2.0 Unicode-DFS-2016 Unlicense ZLIB"
SLOT="0"
KEYWORDS="~amd64"
DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND="dev-util/cargo-make" # from guru
# Needed as source is in a subdirectory
S="${WORKDIR}/PWAsForFirefox-${PV}/native"
# rust does not use *FLAGS from make.conf, silence portage warning
# update with proper path to binaries this crate installs, omit leading /
QA_FLAGS_IGNORED="usr/bin/${PN}"
src_prepare() {
# Link vendored cargo deps in.
ln -s "${WORKDIR}/vendor/"* "${CARGO_HOME}/gentoo/"
# Patch makefile according to from-source install instructions.
sed -i "s/version = \"0.0.0\"/version = \"${PV}\"/g" Cargo.toml \
|| die 'could not set Cargo.toml version'
sed -i "s/DISTRIBUTION_VERSION = '0.0.0'/DISTRIBUTION_VERSION = '${PV}'/g" \
"${S}"/userchrome/profile/chrome/pwa/chrome.jsm || die 'could not set chrome.jsm version'
sed -i 's/SUDO=$(which sudo) || $(echo "")/SUDO=""/' Makefile.toml
# patch makefile to respect DESTDIR
sed -i 's/\/usr\/bin\/firefoxpwa/$DESTDIR\/usr\/bin\/firefoxpwa/g' Makefile.toml
sed -i 's/\/usr\/libexec\/firefoxpwa-connector/$DESTDIR\/usr\/libexec\/firefoxpwa-connector/g' Makefile.toml
sed -i 's/\/usr\/lib\/mozilla\/native-messaging-hosts\/firefoxpwa.json/$DESTDIR\/usr\/lib\/mozilla\/native-messaging-hosts\/firefoxpwa.json/g' Makefile.toml
sed -i 's/\/usr\/lib64\/mozilla\/native-messaging-hosts\/firefoxpwa.json/$DESTDIR\/usr\/lib64\/mozilla\/native-messaging-hosts\/firefoxpwa.json/g' Makefile.toml
sed -i 's/\/usr\/share\/firefoxpwa\/userchrome/$DESTDIR\/usr\/share\/firefoxpwa\/userchrome/g' Makefile.toml
default
}
src_install() {
export DESTDIR="${D}"
makers install
}

View File

@ -1,289 +0,0 @@
From 2ca65310de96d2493f5cfc8937239a00056d3f2b Mon Sep 17 00:00:00 2001
From: projectmoon <projectmoon@agnos.is>
Date: Fri, 4 Oct 2024 12:46:52 +0200
Subject: [PATCH] remove files not needed for gentoo
---
CMakeLists.txt | 2 -
res/io.github.input_leap.InputLeap.desktop | 9 -
res/io.github.input_leap.InputLeap.svg | 239 ---------------------
3 files changed, 250 deletions(-)
delete mode 100644 res/io.github.input_leap.InputLeap.desktop
delete mode 100644 res/io.github.input_leap.InputLeap.svg
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d1d1d212..417d1845 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -303,8 +303,6 @@ elseif (UNIX AND NOT APPLE)
install(FILES res/io.github.input_leap.InputLeap.appdata.xml DESTINATION share/metainfo)
configure_files (${CMAKE_CURRENT_SOURCE_DIR}/dist/rpm ${CMAKE_BINARY_DIR}/rpm)
- install(FILES res/io.github.input_leap.InputLeap.svg DESTINATION share/icons/hicolor/scalable/apps)
- install(FILES res/io.github.input_leap.InputLeap.desktop DESTINATION share/applications)
endif()
#
diff --git a/res/io.github.input_leap.InputLeap.desktop b/res/io.github.input_leap.InputLeap.desktop
deleted file mode 100644
index 13d9d73f..00000000
--- a/res/io.github.input_leap.InputLeap.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=Input Leap
-Comment=Keyboard and mouse sharing solution
-Exec=input-leap
-Icon=io.github.input_leap.InputLeap
-Terminal=false
-Categories=Network
-Keywords=keyboard;mouse;sharing;network;share;
diff --git a/res/io.github.input_leap.InputLeap.svg b/res/io.github.input_leap.InputLeap.svg
deleted file mode 100644
index 6b81c466..00000000
--- a/res/io.github.input_leap.InputLeap.svg
+++ /dev/null
@@ -1,239 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- width="100"
- height="100"
- viewBox="0 0 26.458333 26.458333"
- version="1.1"
- id="svg699"
- inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
- sodipodi:docname="io.github.input_leap.InputLeap.svg"
- xml:space="preserve"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
- id="namedview701"
- pagecolor="#ffffff"
- bordercolor="#000000"
- borderopacity="0.25"
- inkscape:showpageshadow="2"
- inkscape:pageopacity="0.0"
- inkscape:pagecheckerboard="0"
- inkscape:deskcolor="#d1d1d1"
- inkscape:document-units="mm"
- showgrid="false"
- showguides="false"
- inkscape:zoom="4.0000001"
- inkscape:cx="32.749999"
- inkscape:cy="46.999999"
- inkscape:window-width="2560"
- inkscape:window-height="1412"
- inkscape:window-x="0"
- inkscape:window-y="0"
- inkscape:window-maximized="1"
- inkscape:current-layer="layer1"
- inkscape:lockguides="false"><sodipodi:guide
- position="13.229166,23.8125"
- orientation="0,1"
- id="guide10631"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="23.8125,13.229166"
- orientation="-1,0"
- id="guide10641"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="13.229166,2.6458333"
- orientation="0,1"
- id="guide10643"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="2.6458333,13.229166"
- orientation="-1,0"
- id="guide10645"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="13.229166,13.229166"
- orientation="0,1"
- id="guide10705"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(78,154,6)" /><sodipodi:guide
- position="13.229167,6.0978193"
- orientation="-1,0"
- id="guide10707"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(78,154,6)" /><sodipodi:guide
- position="17.271309,10.628642"
- orientation="0.70710678,-0.70710678"
- id="guide10709"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="13.229166,13.229166"
- orientation="-0.70710678,-0.70710678"
- id="guide10711"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="13.229166,22.489583"
- orientation="0,1"
- id="guide11277"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="3.96875,13.229166"
- orientation="-1,0"
- id="guide12005"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="13.229167,3.9687503"
- orientation="0,1"
- id="guide14185"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="22.400418,14.522835"
- orientation="-1,0"
- id="guide14187"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="39.495086,5.0181873"
- orientation="0,1"
- id="guide21375"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="17.784392,8.67394"
- orientation="0,1"
- id="guide22047"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="13.229166,21.166666"
- orientation="0,1"
- id="guide22049"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="5.2916666,13.229166"
- orientation="-1,0"
- id="guide22051"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="21.166666,13.229166"
- orientation="-1,0"
- id="guide22053"
- inkscape:locked="false"
- inkscape:label=""
- inkscape:color="rgb(0,134,229)" /><sodipodi:guide
- position="25.878604,5.0181873"
- orientation="-0.70710678,-0.70710678"
- id="guide7550"
- inkscape:locked="false" /><sodipodi:guide
- position="13.229167,2.0009114"
- orientation="0,-1"
- id="guide12036"
- inkscape:locked="false" /><sodipodi:guide
- position="0.046772166,30.808144"
- orientation="0,-1"
- id="guide454"
- inkscape:locked="false" /></sodipodi:namedview><defs
- id="defs696"><inkscape:path-effect
- effect="spiro"
- id="path-effect8894"
- is_visible="true"
- lpeversion="1" /><inkscape:path-effect
- effect="spiro"
- id="path-effect22164"
- is_visible="true"
- lpeversion="1" /><inkscape:path-effect
- effect="bspline"
- id="path-effect22045"
- is_visible="true"
- lpeversion="1"
- weight="33.333333"
- steps="2"
- helper_size="0"
- apply_no_weight="true"
- apply_with_weight="true"
- only_selected="false" /><inkscape:path-effect
- effect="bspline"
- id="path-effect22041"
- is_visible="true"
- lpeversion="1"
- weight="33.333333"
- steps="2"
- helper_size="0"
- apply_no_weight="true"
- apply_with_weight="true"
- only_selected="false" /><inkscape:path-effect
- effect="spiro"
- id="path-effect22017"
- is_visible="true"
- lpeversion="1" /><inkscape:path-effect
- effect="spiro"
- id="path-effect22013"
- is_visible="true"
- lpeversion="1" /><inkscape:path-effect
- effect="spiro"
- id="path-effect22005"
- is_visible="true"
- lpeversion="1" /><linearGradient
- id="linearGradient11273"
- inkscape:swatch="solid"><stop
- style="stop-color:#ff00cf;stop-opacity:0.61176473;"
- offset="0"
- id="stop11271" /></linearGradient><linearGradient
- id="linearGradient1606"
- inkscape:swatch="solid"><stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop1604" /></linearGradient></defs><g
- inkscape:label="Layer 1"
- inkscape:groupmode="layer"
- id="layer1"><rect
- style="fill:#4096b9;fill-opacity:1;stroke:#233f92;stroke-width:0.265;stroke-dasharray:none;stroke-opacity:1"
- id="rect925"
- width="9.9269505"
- height="7.4202018"
- x="2.1983447"
- y="4.1871085" /><path
- style="fill:none;fill-opacity:1;stroke:#233f92;stroke-width:0.79375;stroke-dasharray:none;stroke-opacity:1"
- d="M 8.3496831,12.332784 6.0193016,12.332106"
- id="path37578"
- sodipodi:nodetypes="cc" /><path
- style="fill:none;fill-opacity:1;stroke:#233f92;stroke-width:0.264999;stroke-dasharray:none;stroke-opacity:1"
- d="m 4.4758708,13.05758 5.4172431,3.4e-5"
- id="path37578-9-5-3"
- sodipodi:nodetypes="cc" /><path
- id="path6593-5"
- style="fill:#98c43d;fill-opacity:1;stroke:#040501;stroke-width:0.132;stroke-opacity:1;stroke-dasharray:none"
- d="m 21.035357,13.274256 2.183939,-1.23e-4 c 2.97e-4,-0.01343 8.16e-4,-0.02646 0.0011,-0.0399 -0.0147,-5.0986268 -2.812533,-9.2048343 -6.314919,-9.2136068 l 0.437346,-1.968175 -3.978052,2.9383218 3.978051,3.0959351 -0.569186,-2.1248427 c 2.823247,0.1552185 4.250535,3.3859171 4.261687,7.3123976 z m -4.075233,-9.3292648 -3.3e-5,6.3e-6"
- sodipodi:nodetypes="ccccccccccc" /><path
- id="path6593-5-2"
- style="fill:#98c43d;fill-opacity:1;stroke:#040501;stroke-width:0.132;stroke-opacity:1;stroke-dasharray:none"
- d="m 7.3457166,14.047745 -2.183939,1.23e-4 c -2.97e-4,0.01343 -8.16e-4,0.02646 -0.0011,0.0399 0.0147,5.098626 2.8125329,9.204834 6.3149194,9.213606 l -0.437346,1.968175 3.978051,-2.938321 -3.97805,-3.095936 0.569185,2.124843 C 8.7841906,21.204917 7.3569025,17.974218 7.3457506,14.047738 Z m 4.0752334,9.329264 3.3e-5,-6e-6"
- sodipodi:nodetypes="ccccccccccc" /><path
- style="fill:#51d1cb;fill-opacity:1;stroke:#000000;stroke-width:0.132;stroke-dasharray:none;stroke-opacity:1"
- d="m 19.376425,22.452116 1.631929,-0.859453 -2.918061,-2.013736 -2.918061,-2.013736 0.940335,6.605828 1.631929,-0.859451 0.761321,2.096398 2.485174,-1.308811 z"
- id="path5593-5"
- sodipodi:nodetypes="ccccccccc" /><path
- style="fill:#279a95;fill-opacity:1;stroke:#00100f;stroke-width:0.132;stroke-dasharray:none;stroke-opacity:1"
- d="m 21.185865,20.352059 1.631929,-0.859453 -2.918061,-2.013736 -2.918061,-2.013736 0.940335,6.605828 1.631929,-0.859451 0.761321,2.096398 2.485174,-1.308811 z"
- id="path5593-5-6"
- sodipodi:nodetypes="ccccccccc" /><path
- style="fill:#1a625f;fill-opacity:1;stroke:#000000;stroke-width:0.132;stroke-dasharray:none;stroke-opacity:1"
- d="m 23.030806,18.194971 1.631929,-0.859453 -2.918061,-2.013736 -2.918061,-2.013736 0.940335,6.605828 1.631929,-0.859451 0.761321,2.096398 2.485174,-1.308811 z"
- id="path5593-5-2"
- sodipodi:nodetypes="ccccccccc" /></g></svg>
--
2.46.2

View File

@ -1,90 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit desktop virtualx xdg cmake git-r3
DESCRIPTION="Share a mouse and keyboard between computers (fork of Barrier)"
HOMEPAGE="https://github.com/input-leap/input-leap"
EGIT_REPO_URI="https://github.com/input-leap/input-leap.git"
LICENSE="GPL-2"
SLOT="0"
IUSE="wayland gui test"
RESTRICT="!test? ( test )"
RDEPEND="
net-misc/curl
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXext
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXtst
wayland? (
dev-libs/libei
dev-libs/libportal[inputcapture]
)
gui? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtwidgets:5
net-dns/avahi[mdnsresponder-compat]
)
dev-libs/openssl:0=
"
DEPEND="
${RDEPEND}
dev-cpp/gtest
dev-cpp/gulrak-filesystem
x11-base/xorg-proto
"
DOCS=(
ChangeLog
README.md
doc/${PN}.conf.example{,-advanced,-basic}
)
MYWORK="${WORKDIR}/input-leap-9999/"
src_prepare() {
eapply "${FILESDIR}"/0001-remove-files.patch
cmake_src_prepare
}
src_configure() {
# gentoo is on qt5; but upstream defaults to 6.
local mycmakeargs=(
-DQT_DEFAULT_MAJOR_VERSION=5
-DBARRIER_BUILD_GUI=$(usex gui)
-DBARRIER_BUILD_INSTALLER=OFF
-DBARRIER_BUILD_TESTS=$(usex test)
-DINPUTLEAP_BUILD_LIBEI=$(usex wayland)
-DBARRIER_REVISION=00000000
-DBARRIER_USE_EXTERNAL_GTEST=ON
-DBARRIER_VERSION_STAGE=gentoo
)
cmake_src_configure
}
src_test() {
"${BUILD_DIR}"/bin/unittests || die
virtx "${BUILD_DIR}"/bin/integtests || die
}
src_install() {
cmake_src_install
einstalldocs
doman doc/${PN}{c,s}.1
if use gui; then
doicon -s 256 res/${PN}.png
make_desktop_entry ${PN} "Input Leap" ${PN} Utility
fi
}

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>zdanevich.vitaly@ya.ru</email>
<name>Vitaly Zdanevich</name>
</maintainer>
<use>
<flag name="libei">
Enable integration with dev-libs/libei (requires patched libportal!)
</flag>
</use>
<upstream>
<remote-id type="github">input-leap/input-leap</remote-id>
</upstream>
</pkgmetadata>