From 14fad3df4488776debb20a3abdd9ae98efaa9df5 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sun, 15 Sep 2024 22:20:05 +0200
Subject: [PATCH] config: Enable RUST

Fixes: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/63
---
 .SRCINFO |  7 +++++--
 PKGBUILD |  7 +++++--
 config   | 15 ++++++++++-----
 3 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/.SRCINFO b/.SRCINFO
index 9725b9a..500d272 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -12,6 +12,9 @@ pkgbase = linux
 	makedepends = pahole
 	makedepends = perl
 	makedepends = python
+	makedepends = rust
+	makedepends = rust-bindgen
+	makedepends = rust-src
 	makedepends = tar
 	makedepends = xz
 	makedepends = graphviz
@@ -33,12 +36,12 @@ pkgbase = linux
 	sha256sums = SKIP
 	sha256sums = ade8767de6e946acf29d9294c45f05d71b94f6e162317b6466d85cd04f5cf6f7
 	sha256sums = SKIP
-	sha256sums = c87499fd80472f72afcf7767edc309136ca42195483e4ed58480f893757051e4
+	sha256sums = bb5b077af2b1b01440835eec1ac4443fdd483a21505d2eb91d58254b2b49784b
 	b2sums = e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab
 	b2sums = SKIP
 	b2sums = 09ecff50d0efe2ead6bcdbac9f47bba37c74eb5c0b2cdf00ee1624af9e633e3be8058a05373774b2a4e7b7c99df1f4cbac4c9b120f859b656fbb013fca173ab4
 	b2sums = SKIP
-	b2sums = 3e1bbe55e27350d4c291f4d40be40214e480d4d524641b22a01d35567bd4e25f07596dd5adefdc811316df1b82581428424537cd106d842dd481abf1d0154ba7
+	b2sums = 0fff4286ddce5b66453a96129aa0682fd01e488d199c864564a7a77735fed4ce948056198ad83719e71c45054485305fde2c46eaad2f2f3abed10bc50d4e59e6
 
 pkgname = linux
 	pkgdesc = The Linux kernel and modules
diff --git a/PKGBUILD b/PKGBUILD
index 308277f..4858687 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -15,6 +15,9 @@ makedepends=(
   pahole
   perl
   python
+  rust
+  rust-bindgen
+  rust-src
   tar
   xz
 
@@ -46,12 +49,12 @@ sha256sums=('55d2c6c025ebc27810c748d66325dd5bc601e8d32f8581d9e77673529bdacb2e'
             'SKIP'
             'ade8767de6e946acf29d9294c45f05d71b94f6e162317b6466d85cd04f5cf6f7'
             'SKIP'
-            'c87499fd80472f72afcf7767edc309136ca42195483e4ed58480f893757051e4')
+            'bb5b077af2b1b01440835eec1ac4443fdd483a21505d2eb91d58254b2b49784b')
 b2sums=('e7750c0878d71a56a0ce52d4c4c912199dad5bf5e2e8f872585a6494afbb37cbd852e612a6858936d2dc9b7776a3933818f540db408d57e90d18ea5249bba7ab'
         'SKIP'
         '09ecff50d0efe2ead6bcdbac9f47bba37c74eb5c0b2cdf00ee1624af9e633e3be8058a05373774b2a4e7b7c99df1f4cbac4c9b120f859b656fbb013fca173ab4'
         'SKIP'
-        '3e1bbe55e27350d4c291f4d40be40214e480d4d524641b22a01d35567bd4e25f07596dd5adefdc811316df1b82581428424537cd106d842dd481abf1d0154ba7')
+        '0fff4286ddce5b66453a96129aa0682fd01e488d199c864564a7a77735fed4ce948056198ad83719e71c45054485305fde2c46eaad2f2f3abed10bc50d4e59e6')
 
 export KBUILD_BUILD_HOST=archlinux
 export KBUILD_BUILD_USER=$pkgbase
diff --git a/config b/config
index a6539e2..5d86dc9 100644
--- a/config
+++ b/config
@@ -11,6 +11,7 @@ CONFIG_AS_VERSION=24300
 CONFIG_LD_IS_BFD=y
 CONFIG_LD_VERSION=24300
 CONFIG_LLD_VERSION=0
+CONFIG_RUST_IS_AVAILABLE=y
 CONFIG_CC_CAN_LINK=y
 CONFIG_CC_CAN_LINK_STATIC=y
 CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
@@ -315,6 +316,9 @@ CONFIG_PERF_EVENTS=y
 
 CONFIG_SYSTEM_DATA_VERIFICATION=y
 CONFIG_PROFILING=y
+CONFIG_RUST=y
+CONFIG_RUSTC_VERSION_TEXT="rustc 1.81.0 (eeb90cda1 2024-09-04)"
+CONFIG_BINDGEN_VERSION_TEXT="bindgen 0.70.1"
 CONFIG_TRACEPOINTS=y
 
 #
@@ -966,8 +970,7 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
 # end of GCOV-based kernel profiling
 
 CONFIG_HAVE_GCC_PLUGINS=y
-CONFIG_GCC_PLUGINS=y
-# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
+# CONFIG_GCC_PLUGINS is not set
 CONFIG_FUNCTION_ALIGNMENT_4B=y
 CONFIG_FUNCTION_ALIGNMENT_16B=y
 CONFIG_FUNCTION_ALIGNMENT=16
@@ -2346,6 +2349,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
 #
 CONFIG_FW_LOADER=y
 CONFIG_FW_LOADER_DEBUG=y
+# CONFIG_RUST_FW_LOADER_ABSTRACTIONS is not set
 CONFIG_FW_LOADER_PAGED_BUF=y
 CONFIG_FW_LOADER_SYSFS=y
 CONFIG_EXTRA_FIRMWARE=""
@@ -2660,6 +2664,7 @@ CONFIG_ATA_OVER_ETH=m
 CONFIG_XEN_BLKDEV_FRONTEND=m
 CONFIG_XEN_BLKDEV_BACKEND=m
 CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_RUST_NULL is not set
 CONFIG_BLK_DEV_RBD=m
 CONFIG_BLK_DEV_UBLK=m
 CONFIG_BLKDEV_UBLK_LEGACY_OPCODES=y
@@ -11045,7 +11050,6 @@ CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
 # CONFIG_INIT_STACK_NONE is not set
 # CONFIG_INIT_STACK_ALL_PATTERN is not set
 CONFIG_INIT_STACK_ALL_ZERO=y
-# CONFIG_GCC_PLUGIN_STACKLEAK is not set
 CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
 # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
 CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
@@ -11060,8 +11064,6 @@ CONFIG_LIST_HARDENED=y
 # end of Hardening of kernel data structures
 
 CONFIG_RANDSTRUCT_NONE=y
-# CONFIG_RANDSTRUCT_FULL is not set
-# CONFIG_RANDSTRUCT_PERFORMANCE is not set
 # end of Kernel hardening options
 # end of Security options
 
@@ -11944,5 +11946,8 @@ CONFIG_MEMTEST=y
 #
 # Rust hacking
 #
+# CONFIG_RUST_DEBUG_ASSERTIONS is not set
+CONFIG_RUST_OVERFLOW_CHECKS=y
+# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
 # end of Rust hacking
 # end of Kernel hacking