summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD106
1 files changed, 54 insertions, 52 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 97ccaf75c6b8..5fecfa8ac889 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer: ANDRoid7890 <andrey.android7890@gmail.com>
+# Maintainer: parov0z <andrey.android7890@gmail.com>
# https://gitlab.manjaro.org/packages/core/linux515
#
@@ -33,26 +33,27 @@ if [ -z ${use_numa+x} ]; then
use_numa=y
fi
-## For performance you can disable FUNCTION_TRACER/GRAPH_TRACER. Limits debugging and analyzing of the kernel.
-## Stock Archlinux and Xanmod have this enabled.
-## Set variable "use_tracers" to: n to disable (possibly increase performance)
-## y to enable (stock default)
+## Since upstream disabled CONFIG_STACK_TRACER (limits debugging and analyzing of the kernel)
+## you can enable them setting this option. Caution, because they have an impact in performance.
+## Stock Archlinux has this enabled.
+## Set variable "use_tracers" to: n to disable (possibly increase performance, XanMod default)
if [ -z ${use_tracers+x} ]; then
- use_tracers=y
+ use_tracers=n
fi
-## NOTICE: clang config is not ready yet in 5.17.x
+# Unique compiler supported upstream is GCC
## Choose between GCC and CLANG config (default is GCC)
-if [ -z ${_compiler+x} ] || [ "$_compiler" = "clang" ]; then
- _compiler=gcc
+## Use the environment variable "_compiler=clang"
+if [ "${_compiler}" = "clang" ]; then
+ _compiler_flags="CC=clang HOSTCC=clang LLVM=1 LLVM_IAS=1"
fi
-# Choose between the 3 main configs for EDGE branch. Default x86-64-v2 which use CONFIG_GENERIC_CPU2:
-# Possible values: config_x86-64 (default) / config_x86-64-v2 / config_x86-64-v3
+# Choose between the 4 main configs for stable branch. Default x86-64-v1 which use CONFIG_GENERIC_CPU2:
+# Possible values: config_x86-64-v1 / config_x86-64-v2 (default) / config_x86-64-v3 / config_x86-64-v4
# This will be overwritten by selecting any option in microarchitecture script
# Source files: https://github.com/xanmod/linux/tree/5.17/CONFIGS/xanmod/gcc
if [ -z ${_config+x} ]; then
- _config=config_x86-64
+ _config=config_x86-64-v2
fi
# Compress modules with ZSTD (to save disk space)
@@ -82,22 +83,25 @@ fi
pkgbase=linux-manjaro-xanmod
pkgname=("${pkgbase}" "${pkgbase}-headers")
-_major=5.19
-pkgver=${_major}.12
-_branch=5.x
+_major=6.6
+pkgver=${_major}.9
+_branch=6.x
xanmod=1
+_sf_branch=main
pkgrel=1
-pkgdesc='Linux Xanmod'
+pkgdesc='Linux Manjaro Xanmod'
url="http://www.xanmod.org/"
arch=(x86_64)
-__commit="1a014152522fe33a4b6c0cc4d0dfb3fefe321306" # 5.19.12
+__commit="14b0a9c44b9aafe0efdd16bf79b81ddda1d703da" # 6.6.9
license=(GPL2)
+
makedepends=(
- xmlto kmod inetutils bc libelf cpio
- python-sphinx python-sphinx_rtd_theme graphviz imagemagick git
+ bc cpio gettext libelf pahole perl python tar xz
+ python-sphinx inetutils kmod xmlto
)
+
if [ "${_compiler}" = "clang" ]; then
makedepends+=(clang llvm lld python)
fi
@@ -105,7 +109,7 @@ options=('!strip')
_srcname="linux-${pkgver}-xanmod${xanmod}"
source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar."{xz,sign}
- "https://github.com/xanmod/linux/releases/download/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz"
+ "patch-${pkgver}-xanmod${xanmod}${_revision}.xz::https://sourceforge.net/projects/xanmod/files/releases/${_sf_branch}/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz/download"
choose-gcc-optimization.sh
"https://gitlab.manjaro.org/packages/core/linux${_major//.}/-/archive/${__commit}/linux${_major//.}-${__commit}.tar.gz")
#"patch-${pkgver}-xanmod${xanmod}.xz::https://sourceforge.net/projects/xanmod/files/releases/stable/${pkgver}-xanmod${xanmod}/patch-${pkgver}-xanmod${xanmod}.xz/download"
@@ -114,15 +118,14 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar
_commit="ec9e9a4219fe221dec93fa16fddbe44a34933d8d"
_patches=()
for _patch in ${_patches[@]}; do
- #source+=("${_patch}::https://git.archlinux.org/svntogit/packages.git/plain/trunk/${_patch}?h=packages/linux&id=${_commit}")
source+=("${_patch}::https://raw.githubusercontent.com/archlinux/svntogit-packages/${_commit}/trunk/${_patch}")
done
-sha256sums=('ff240c579b9ee1affc318917de07394fc1c3bb49dac25ec1287370c2e15005a8' # kernel tar.xz
+sha256sums=('d926a06c63dd8ac7df3f86ee1ffc2ce2a3b81a2d168484e76b5b389aba8e56d0' # kernel tar.xz
'SKIP' # tar.sign
- 'adb2a2e0e8cb1c8caf184712f486e4631324dda8a5686dde27dee253af4b0a13' # xanmod
- '1ac18cad2578df4a70f9346f7c6fccbb62f042a0ee0594817fdef9f2704904ee' # choose-gcc-optimization.sh
- '12ecdf7d2fea5bf20ee7efc3f18d3c47594b1e71abe3ef6b07ad6e6e33215f04') # manjaro
+ '674be54d39a405cd11d8cbd9c2604f5e6e7fedee6b37d307edbb8ac46bc6a27f' # xanmod
+ 'a8b38eb482eb685944757182c4886404abc12703e5e56ec39c7d61298d17d71f' # choose-gcc-optimization.sh
+ 'ac7d476c2a4eff99929909e97263142770923e24decddedf04735867294d6e0e') # manjaro
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linux Torvalds
@@ -140,7 +143,6 @@ prepare() {
patch -Np1 -i ../patch-${pkgver}-xanmod${xanmod}
msg2 "Setting version..."
- scripts/setlocalversion --save-scmversion
#echo "-$pkgrel" > localversion.10-pkgrel
echo "-MANJARO" > localversion.20-pkgname
@@ -157,7 +159,11 @@ prepare() {
# Manjaro patches
# remove conflicting ones
- rm ../linux${_major//.}-$__commit/0101-ZEN_Add_sysctl_and_CONFIG_to_disallow_unprivileged_CLONE_NEWUSER.patch
+ patchdir=../linux${_major//.}-$__commit
+ rm $patchdir/0101-ZEN_Add_sysctl_and_CONFIG_to_disallow_unprivileged_CLONE_NEWUSER.patch
+ # fix patch order
+ mv $patchdir/000{1,0}-ALSA-hda-cs35l41-Support-ASUS-2023-laptops-with-miss.patch
+
local _patch
for _patch in ../linux${_major//.}-$__commit/*; do
@@ -165,19 +171,16 @@ prepare() {
msg2 "Applying patch: $_patch..."
patch -Np1 < "../linux${_major//.}-$__commit/$_patch"
done
- git apply -p1 < "../linux${_major//.}-$__commit/0413-bootsplash.gitpatch"
# Applying configuration
- cp -vf CONFIGS/xanmod/${_compiler}/${_config} .config
+ cp -vf CONFIGS/xanmod/gcc/${_config} .config
# enable LTO_CLANG_THIN
if [ "${_compiler}" = "clang" ]; then
scripts/config --disable LTO_CLANG_FULL
scripts/config --enable LTO_CLANG_THIN
- _LLVM=1
fi
- scripts/config --enable CONFIG_BOOTSPLASH
# CONFIG_STACK_VALIDATION gives better stack traces. Also is enabled in all official kernel packages by Archlinux team
scripts/config --enable CONFIG_STACK_VALIDATION
@@ -189,7 +192,7 @@ prepare() {
# User set. See at the top of this file
if [ "$use_tracers" = "n" ]; then
msg2 "Disabling FUNCTION_TRACER/GRAPH_TRACER only if we are not compiling with clang..."
- if [ "${_compiler}" = "gcc" ]; then
+ if [ "${_compiler}" = "gcc" ] || [ "${_compiler}q" = "q" ]; then
scripts/config --disable CONFIG_FUNCTION_TRACER \
--disable CONFIG_STACK_TRACER
fi
@@ -201,13 +204,11 @@ prepare() {
fi
msg2 "add anbox support"
- scripts/config --enable CONFIG_ASHMEM
# CONFIG_ION is not set
scripts/config --enable CONFIG_ANDROID
scripts/config --enable CONFIG_ANDROID_BINDER_IPC
scripts/config --enable CONFIG_ANDROID_BINDERFS
scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES "binder,hwbinder,vndbinder"
- scripts/config --enable CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
scripts/config --set-str CONFIG_DEFAULT_HOSTNAME "manjaro"
@@ -218,7 +219,10 @@ prepare() {
fi
# Let's user choose microarchitecture optimization in GCC
- ../choose-gcc-optimization.sh $_microarchitecture
+ # Use default microarchitecture only if we have not choosen another microarchitecture
+ if [ "$_microarchitecture" -ne "0" ]; then
+ ../choose-gcc-optimization.sh $_microarchitecture
+ fi
# This is intended for the people that want to build this package with their own config
# Put the file "myconfig" at the package folder (this will take preference) or "${XDG_CONFIG_HOME}/linux-xanmod/myconfig"
@@ -240,26 +244,25 @@ prepare() {
fi
done
-
### Optionally load needed modules for the make localmodconfig
# See https://aur.archlinux.org/packages/modprobed-db
if [ "$_localmodcfg" = "y" ]; then
if [ -f $HOME/.config/modprobed.db ]; then
msg2 "Running Steven Rostedt's make localmodconfig now"
- make LSMOD=$HOME/.config/modprobed.db localmodconfig
+ make ${_compiler_flags} LSMOD=$HOME/.config/modprobed.db localmodconfig
else
msg2 "No modprobed.db data found"
exit 1
fi
fi
- make LLVM=$_LLVM LLVM_IAS=$_LLVM olddefconfig
+ make ${_compiler_flags} olddefconfig
make -s kernelrelease > version
msg2 "Prepared %s version %s" "$pkgbase" "$(<version)"
if [ "$_makenconfig" = "y" ]; then
- make LLVM=$_LLVM LLVM_IAS=$_LLVM nconfig
+ make ${_compiler_flags} nconfig
fi
# save configuration for later reuse
@@ -268,15 +271,14 @@ prepare() {
build() {
cd linux-${_major}
- make LLVM=$_LLVM LLVM_IAS=$_LLVM all
+ make ${_compiler_flags} all
}
_package() {
- pkgdesc="The Linux kernel and modules with Xanmod and Manjaro patches (Bootsplash support). Ashmem and binder are enabled"
- depends=('coreutils' 'linux-firmware' 'kmod' 'initramfs' 'mkinitcpio>=27')
- optdepends=('crda: to set the correct wireless channels of your country'
- 'linux-firmware: firmware images needed for some devices'
- 'bootsplash-systemd: for bootsplash functionality')
+ pkgdesc="The Linux kernel and modules with Xanmod and Manjaro patches"
+ depends=('coreutils' 'linux-firmware' 'kmod' 'initramfs')
+ optdepends=('wireless-regdb: to set the correct wireless channels of your country'
+ 'linux-firmware: firmware images needed for some devices')
provides=(VIRTUALBOX-GUEST-MODULES
WIREGUARD-MODULE
KSMBD-MODULE
@@ -285,8 +287,7 @@ _package() {
conflicts=()
cd linux-${_major}
- local kernver="$(<version)"
- local modulesdir="$pkgdir/usr/lib/modules/$kernver"
+ local modulesdir="$pkgdir/usr/lib/modules/$(<version)"
msg2 "Installing boot image..."
# systemd expects to find the kernel here to allow hibernation
@@ -300,10 +301,11 @@ _package() {
echo "${pkgver}-${pkgrel}-Manjaro-Xanmod x64" | install -Dm644 /dev/stdin "${pkgdir}/boot/${pkgbase}.kver"
msg2 "Installing modules..."
- make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install
+ ZSTD_CLEVEL=19 make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
+ DEPMOD=/doesnt/exist modules_install # Suppress depmod
- # remove build and source links
- rm "$modulesdir"/{source,build}
+ # remove build link
+ rm "$modulesdir"/build
}
_package-headers() {
@@ -327,7 +329,7 @@ _package-headers() {
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# required when DEBUG_INFO_BTF_MODULES is enabled
- if [ -f "$builddir/tools/bpf/resolve_btfids" ]; then install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids ; fi
+ if [ -f "tools/bpf/resolve_btfids/resolve_btfids" ]; then install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids ; fi
msg2 "Installing headers..."
cp -t "$builddir" -a include
@@ -371,7 +373,7 @@ _package-headers() {
msg2 "Stripping build tools..."
local file
while read -rd '' file; do
- case "$(file -bi "$file")" in
+ case "$(file -Sib "$file")" in
application/x-sharedlib\;*) # Libraries (.so)
strip -v $STRIP_SHARED "$file" ;;
application/x-archive\;*) # Libraries (.a)