Initial commit
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"attr",
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
"lib32-attr",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "utilities to administer Access Control Lists"
|
||||
homepage = "https://savannah.nongnu.org/projects/acl"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "acl"
|
||||
version = "2.3.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "97203a72cae99ab89a067fe2210c1cbf052bc492b479eca7d226d9830883b0bd"
|
||||
url = "https://download.savannah.nongnu.org/releases/acl/acl-$version.tar.xz"
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [ "lib32-glibc" ]
|
||||
|
||||
[package]
|
||||
description = "utilities to administer the extended attributes of filesystem objects"
|
||||
homepage = "https://www.gnu.org/software/attr/"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "attr"
|
||||
version = "2.5.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "f2e97b0ab7ce293681ab701915766190d607a1dba7fae8a718138150b700a70b"
|
||||
url = "https://download.savannah.nongnu.org/releases/attr/attr-$version.tar.xz"
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
"gawk",
|
||||
"diffutils",
|
||||
"m4",
|
||||
"perl",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "programs for producing shell scripts that can automatically configure source code"
|
||||
homepage = "https://www.gnu.org/software/autoconf/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "autoconf"
|
||||
version = "2.72"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a"
|
||||
url = "https://mirrors.kernel.org/gnu/autoconf/autoconf-$version.tar.xz"
|
||||
@@ -0,0 +1,25 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--docdir=/usr/share/doc/automake"]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"perl",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "programs for generating Makefiles for use with Autoconf"
|
||||
homepage = "https://www.gnu.org/software/automake/"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "automake"
|
||||
version = "1.18.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "168aa363278351b89af56684448f525a5bce5079d0b6842bd910fdd3f1646887"
|
||||
url = "https://mirrors.kernel.org/gnu/automake/automake-$version.tar.xz"
|
||||
@@ -0,0 +1,43 @@
|
||||
[build]
|
||||
type = "meta"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"filesystem",
|
||||
"dash",
|
||||
"coreutils",
|
||||
"depot",
|
||||
"llvm-libgcc",
|
||||
"libcxx",
|
||||
"procps-ng",
|
||||
"psmisc",
|
||||
"gawk",
|
||||
"gettext",
|
||||
"grep",
|
||||
"gzip",
|
||||
"bzip2",
|
||||
"file",
|
||||
"findutils",
|
||||
"sed",
|
||||
"shadow",
|
||||
"openrc",
|
||||
"tar",
|
||||
"util-linux",
|
||||
"vertex-keyring",
|
||||
"which",
|
||||
"xz",
|
||||
"zsh",
|
||||
"zsh-completions",
|
||||
"kbd",
|
||||
"iproute2",
|
||||
"net-tools"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Basic Packages for Booting Vertex Linux"
|
||||
homepage = "https://www.vertexlinux.net"
|
||||
license = "MIT"
|
||||
name = "base"
|
||||
version = "1.0.0"
|
||||
revision = 5
|
||||
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"-G",
|
||||
"-r",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"llvm",
|
||||
"make",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"readline",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "implementation of the POSIX bc calculator with GNU extensions and dc"
|
||||
homepage = "https://github.com/gavinhoward/bc"
|
||||
license = "BSD-2-Clause"
|
||||
name = "bc"
|
||||
version = "7.0.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "91eb74caed0ee6655b669711a4f350c25579778694df248e28363318e03c7fc4"
|
||||
url = "https://github.com/gavinhoward/bc/releases/download/$version/bc-$version.tar.xz"
|
||||
@@ -0,0 +1,21 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
skip_tests = true
|
||||
no_delete_static = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "parser generator"
|
||||
homepage = "https://www.gnu.org/software/bison/"
|
||||
license = "GPL-3.0-Or-Later"
|
||||
name = "bison"
|
||||
version = "3.8.2"
|
||||
|
||||
[[source]]
|
||||
sha256 = "9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2"
|
||||
url = "https://mirrors.kernel.org/gnu/bison/bison-$version.tar.xz"
|
||||
extract_dir = "bison-$version"
|
||||
@@ -0,0 +1,59 @@
|
||||
[build]
|
||||
type = "makefile"
|
||||
|
||||
[build.flags]
|
||||
makefile_commands = [
|
||||
'make -j$JOBS -f Makefile-libbz2_so CFLAGS="$CFLAGS -fPIC" LDFLAGS="$LDFLAGS"',
|
||||
|
||||
'make -j$JOBS bzip2-shared CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"',
|
||||
]
|
||||
|
||||
makefile_install_commands = [
|
||||
"make DESTDIR=$DESTDIR PREFIX=/usr install",
|
||||
|
||||
"mkdir -p $DESTDIR/usr/lib",
|
||||
"mkdir -p $DESTDIR/usr/bin",
|
||||
"mkdir -p $DESTDIR/usr/share/man/man1",
|
||||
|
||||
"cp -av libbz2.so.$version $DESTDIR/usr/lib/",
|
||||
|
||||
"ln -sfv libbz2.so.$version $DESTDIR/usr/lib/libbz2.so",
|
||||
"ln -sfv libbz2.so.$version $DESTDIR/usr/lib/libbz2.so.1",
|
||||
"ln -sfv libbz2.so.$version $DESTDIR/usr/lib/libbz2.so.1.0",
|
||||
|
||||
"cp -v bzip2-shared $DESTDIR/usr/bin/bzip2",
|
||||
|
||||
'ln -sfv bzip2 $DESTDIR/usr/bin/bunzip2',
|
||||
'ln -sfv bzip2 $DESTDIR/usr/bin/bzcat',
|
||||
|
||||
'ln -sfv bzip2.1 $DESTDIR/usr/share/man/man1/bunzip2.1',
|
||||
'ln -sfv bzip2.1 $DESTDIR/usr/share/man/man1/bzcat.1',
|
||||
'ln -sfv bzip2.1 $DESTDIR/usr/share/man/man1/bzip2recover.1',
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "programs for compressing and decompressing files"
|
||||
homepage = "https://sourceware.org/bzip2/"
|
||||
license = "BSD-4-Clause"
|
||||
name = "bzip2"
|
||||
version = "1.0.8"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = [
|
||||
'''sed -i 's@\(ln -s -f \)$(PREFIX)/bin/@\1@' Makefile''',
|
||||
'sed -i "s@(PREFIX)/man@(PREFIX)/share/man@g" Makefile',
|
||||
]
|
||||
sha256 = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
|
||||
url = "https://sourceware.org/pub/bzip2/bzip2-$version.tar.gz"
|
||||
patches = [ "make.patch" ]
|
||||
@@ -0,0 +1,133 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index f8a1772..b3a442c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -15,13 +15,13 @@
|
||||
SHELL=/bin/sh
|
||||
|
||||
# To assist in cross-compiling
|
||||
-CC=gcc
|
||||
-AR=ar
|
||||
-RANLIB=ranlib
|
||||
+CC ?= gcc
|
||||
+AR ?= ar
|
||||
+RANLIB ?= ranlib
|
||||
LDFLAGS=
|
||||
|
||||
BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||
-CFLAGS=-Wall -Winline -O2 -g $(BIGFILES)
|
||||
+CFLAGS += -Wall -Winline -O2 $(BIGFILES)
|
||||
|
||||
# Where you want it installed when you do 'make install'
|
||||
PREFIX=/usr/local
|
||||
@@ -70,43 +70,43 @@ test: bzip2
|
||||
@cat words3
|
||||
|
||||
install: bzip2 bzip2recover
|
||||
- if ( test ! -d $(PREFIX)/bin ) ; then mkdir -p $(PREFIX)/bin ; fi
|
||||
- if ( test ! -d $(PREFIX)/lib ) ; then mkdir -p $(PREFIX)/lib ; fi
|
||||
- if ( test ! -d $(PREFIX)/man ) ; then mkdir -p $(PREFIX)/man ; fi
|
||||
- if ( test ! -d $(PREFIX)/man/man1 ) ; then mkdir -p $(PREFIX)/man/man1 ; fi
|
||||
- if ( test ! -d $(PREFIX)/include ) ; then mkdir -p $(PREFIX)/include ; fi
|
||||
- cp -f bzip2 $(PREFIX)/bin/bzip2
|
||||
- cp -f bzip2 $(PREFIX)/bin/bunzip2
|
||||
- cp -f bzip2 $(PREFIX)/bin/bzcat
|
||||
- cp -f bzip2recover $(PREFIX)/bin/bzip2recover
|
||||
- chmod a+x $(PREFIX)/bin/bzip2
|
||||
- chmod a+x $(PREFIX)/bin/bunzip2
|
||||
- chmod a+x $(PREFIX)/bin/bzcat
|
||||
- chmod a+x $(PREFIX)/bin/bzip2recover
|
||||
- cp -f bzip2.1 $(PREFIX)/man/man1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzip2.1
|
||||
- cp -f bzlib.h $(PREFIX)/include
|
||||
- chmod a+r $(PREFIX)/include/bzlib.h
|
||||
- cp -f libbz2.a $(PREFIX)/lib
|
||||
- chmod a+r $(PREFIX)/lib/libbz2.a
|
||||
- cp -f bzgrep $(PREFIX)/bin/bzgrep
|
||||
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzegrep
|
||||
- ln -s -f $(PREFIX)/bin/bzgrep $(PREFIX)/bin/bzfgrep
|
||||
- chmod a+x $(PREFIX)/bin/bzgrep
|
||||
- cp -f bzmore $(PREFIX)/bin/bzmore
|
||||
- ln -s -f $(PREFIX)/bin/bzmore $(PREFIX)/bin/bzless
|
||||
- chmod a+x $(PREFIX)/bin/bzmore
|
||||
- cp -f bzdiff $(PREFIX)/bin/bzdiff
|
||||
- ln -s -f $(PREFIX)/bin/bzdiff $(PREFIX)/bin/bzcmp
|
||||
- chmod a+x $(PREFIX)/bin/bzdiff
|
||||
- cp -f bzgrep.1 bzmore.1 bzdiff.1 $(PREFIX)/man/man1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzgrep.1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzmore.1
|
||||
- chmod a+r $(PREFIX)/man/man1/bzdiff.1
|
||||
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzegrep.1
|
||||
- echo ".so man1/bzgrep.1" > $(PREFIX)/man/man1/bzfgrep.1
|
||||
- echo ".so man1/bzmore.1" > $(PREFIX)/man/man1/bzless.1
|
||||
- echo ".so man1/bzdiff.1" > $(PREFIX)/man/man1/bzcmp.1
|
||||
+ if ( test ! -d $(DESTDIR)$(PREFIX)/bin ) ; then mkdir -p $(DESTDIR)$(PREFIX)/bin ; fi
|
||||
+ if ( test ! -d $(DESTDIR)$(PREFIX)/lib ) ; then mkdir -p $(DESTDIR)$(PREFIX)/lib ; fi
|
||||
+ if ( test ! -d $(DESTDIR)$(PREFIX)/man ) ; then mkdir -p $(DESTDIR)$(PREFIX)/man ; fi
|
||||
+ if ( test ! -d $(DESTDIR)$(PREFIX)/man/man1 ) ; then mkdir -p $(DESTDIR)$(PREFIX)/man/man1 ; fi
|
||||
+ if ( test ! -d $(DESTDIR)$(PREFIX)/include ) ; then mkdir -p $(DESTDIR)$(PREFIX)/include ; fi
|
||||
+ cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bzip2
|
||||
+ cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bunzip2
|
||||
+ cp -f bzip2 $(DESTDIR)$(PREFIX)/bin/bzcat
|
||||
+ cp -f bzip2recover $(DESTDIR)$(PREFIX)/bin/bzip2recover
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bzip2
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bunzip2
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bzcat
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bzip2recover
|
||||
+ cp -f bzip2.1 $(DESTDIR)$(PREFIX)/man/man1
|
||||
+ chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzip2.1
|
||||
+ cp -f bzlib.h $(DESTDIR)$(PREFIX)/include
|
||||
+ chmod a+r $(DESTDIR)$(PREFIX)/include/bzlib.h
|
||||
+ cp -f libbz2.a $(DESTDIR)$(PREFIX)/lib
|
||||
+ chmod a+r $(DESTDIR)$(PREFIX)/lib/libbz2.a
|
||||
+ cp -f bzgrep $(DESTDIR)$(PREFIX)/bin/bzgrep
|
||||
+ ln -s -f $(PREFIX)/bin/bzgrep $(DESTDIR)$(PREFIX)/bin/bzegrep
|
||||
+ ln -s -f $(PREFIX)/bin/bzgrep $(DESTDIR)$(PREFIX)/bin/bzfgrep
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bzgrep
|
||||
+ cp -f bzmore $(DESTDIR)$(PREFIX)/bin/bzmore
|
||||
+ ln -s -f $(PREFIX)/bin/bzmore $(DESTDIR)$(PREFIX)/bin/bzless
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bzmore
|
||||
+ cp -f bzdiff $(DESTDIR)$(PREFIX)/bin/bzdiff
|
||||
+ ln -s -f $(PREFIX)/bin/bzdiff $(DESTDIR)$(PREFIX)/bin/bzcmp
|
||||
+ chmod a+x $(DESTDIR)$(PREFIX)/bin/bzdiff
|
||||
+ cp -f bzgrep.1 bzmore.1 bzdiff.1 $(DESTDIR)$(PREFIX)/man/man1
|
||||
+ chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzgrep.1
|
||||
+ chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzmore.1
|
||||
+ chmod a+r $(DESTDIR)$(PREFIX)/man/man1/bzdiff.1
|
||||
+ echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/man/man1/bzegrep.1
|
||||
+ echo ".so man1/bzgrep.1" > $(DESTDIR)$(PREFIX)/man/man1/bzfgrep.1
|
||||
+ echo ".so man1/bzmore.1" > $(DESTDIR)$(PREFIX)/man/man1/bzless.1
|
||||
+ echo ".so man1/bzdiff.1" > $(DESTDIR)$(PREFIX)/man/man1/bzcmp.1
|
||||
|
||||
clean:
|
||||
rm -f *.o libbz2.a bzip2 bzip2recover \
|
||||
diff --git a/Makefile-libbz2_so b/Makefile-libbz2_so
|
||||
index fb0f230..1b3a94d 100644
|
||||
--- a/Makefile-libbz2_so
|
||||
+++ b/Makefile-libbz2_so
|
||||
@@ -22,9 +22,9 @@
|
||||
|
||||
|
||||
SHELL=/bin/sh
|
||||
-CC=gcc
|
||||
+CC ?= gcc
|
||||
BIGFILES=-D_FILE_OFFSET_BITS=64
|
||||
-CFLAGS=-fpic -fPIC -Wall -Winline -O2 -g $(BIGFILES)
|
||||
+CFLAGS += -fpic -fPIC -Wall -Winline $(BIGFILES)
|
||||
|
||||
OBJS= blocksort.o \
|
||||
huffman.o \
|
||||
@@ -35,10 +35,11 @@ OBJS= blocksort.o \
|
||||
bzlib.o
|
||||
|
||||
all: $(OBJS)
|
||||
- $(CC) -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.8 $(OBJS)
|
||||
- $(CC) $(CFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname -Wl,libbz2.so.1 -o libbz2.so.1.0.8 $(OBJS)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -o bzip2-shared bzip2.c libbz2.so.1.0.8
|
||||
rm -f libbz2.so.1.0
|
||||
ln -s libbz2.so.1.0.8 libbz2.so.1.0
|
||||
+ ln -s libbz2.so.1.0.8 libbz2.so.1
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) bzip2.o libbz2.so.1.0.8 libbz2.so.1.0 bzip2-shared
|
||||
@@ -0,0 +1,31 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"meson",
|
||||
"rust"
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"p11-kit",
|
||||
"libunwind",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Linux CLI for managing CA trust store sources and extracted bundles"
|
||||
homepage = "https://www.vertexlinux.net"
|
||||
license = "MIT"
|
||||
name = "ca-certs"
|
||||
version = "0.1.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://gitlab.com/sfg-os/ca-certs.git"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "postinstall.sh", "postupdate.sh" ]
|
||||
@@ -0,0 +1 @@
|
||||
ca-certs certdata sync --root $DEPOT_ROOTFS
|
||||
@@ -0,0 +1 @@
|
||||
ca-certs certdata sync --root $DEPOT_ROOTFS
|
||||
@@ -0,0 +1,46 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--with-openssl",
|
||||
"--with-ca-path=/etc/ssl/certs",
|
||||
"--with-libssh2",
|
||||
"--enable-ipv6",
|
||||
"--disable-ldap",
|
||||
"--disable-ldaps",
|
||||
"--enable-threaded-resolver",
|
||||
"--enable-websockets",
|
||||
"--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
|
||||
]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libidn2",
|
||||
"libnghttp2",
|
||||
"libpsl",
|
||||
"zlib-ng",
|
||||
"openssl",
|
||||
"zstd",
|
||||
"libssh2",
|
||||
"ca-certs",
|
||||
"libngtcp2",
|
||||
"brotli",
|
||||
"libnghttp3"
|
||||
]
|
||||
build = [ "gnutls", "nettle", "patchelf" ]
|
||||
|
||||
[package]
|
||||
description = "utility and a library used for transferring files with URL syntax"
|
||||
homepage = "https://curl.se/"
|
||||
license = "MIT"
|
||||
name = "curl"
|
||||
version = "8.19.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "sha256:4eb41489790d19e190d7ac7e18e82857cdd68af8f4e66b292ced562d333f11df"
|
||||
url = "https://curl.se/download/curl-$version.tar.xz"
|
||||
@@ -0,0 +1,37 @@
|
||||
[package]
|
||||
name = "dash"
|
||||
version = "0.5.13.1"
|
||||
revision = 1
|
||||
description = "modern POSIX-compliant implementation of sh"
|
||||
homepage = "https://git.kernel.org/pub/scm/utils/dash/dash.git/"
|
||||
license = "BSD-3-Clause"
|
||||
|
||||
[alternatives]
|
||||
provides = [ "sh" ]
|
||||
|
||||
[[source]]
|
||||
url = "http://gondor.apana.org.au/~herbert/dash/files/dash-$version.tar.gz"
|
||||
sha256 = "d9271bce09c127d9866e25c011582ddc75ab988958a04bc4d8553a3b8f30e370"
|
||||
extract_dir = "$name-$version"
|
||||
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [ "--with-libedit" ]
|
||||
post_install = ["ln -sf dash $DESTDIR/usr/bin/sh"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "glibc", "libedit" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "preinstall.sh"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "preremove.sh"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "preupdate.sh"
|
||||
sha256 = "skip"
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
grep -q '/bin/dash' etc/shells || echo '/bin/dash' >> etc/shells
|
||||
grep -q '/bin/sh' etc/shells || echo '/bin/sh' >> etc/shells
|
||||
@@ -0,0 +1,2 @@
|
||||
sed -i '/^\/bin\/dash/d' etc/shells
|
||||
sed -i '/^\/bin\/sh/d' etc/shells
|
||||
@@ -0,0 +1,2 @@
|
||||
grep -q '/bin/dash' etc/shells || echo '/bin/dash' >> etc/shells
|
||||
grep -q '/bin/sh' etc/shells || echo '/bin/sh' >> etc/shells
|
||||
@@ -0,0 +1,22 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"expect",
|
||||
"sh",
|
||||
]
|
||||
test = ["tcl"]
|
||||
|
||||
[package]
|
||||
description = " framework for running test suites on GNU tools"
|
||||
homepage = "https://www.gnu.org/software/dejagnu/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "dejagnu"
|
||||
version = "1.6.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "87daefacd7958b4a69f88c6856dbd1634261963c414079d0c371f589cd66a2e3"
|
||||
url = "https://mirrors.kernel.org/gnu/dejagnu/dejagnu-$version.tar.gz"
|
||||
@@ -0,0 +1,39 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
keep = "etc/**"
|
||||
configure = [ "-Dbuild-html-doc=true" ]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"meson",
|
||||
"rust",
|
||||
"cli_doc"
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"xz",
|
||||
"zlib-ng",
|
||||
"openssl",
|
||||
"sqlite",
|
||||
"libunwind",
|
||||
"zstd",
|
||||
"libgit2",
|
||||
"minisign",
|
||||
"ca-certs"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "source-based package manager designed for Linux, focuses on reproducibility, atomic installations, and ease of cross-compilation"
|
||||
homepage = "https://gitlab.com/sfg-os/depot"
|
||||
license = "MIT"
|
||||
name = "depot"
|
||||
version = "0.29.0"
|
||||
revision = 1
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://gitlab.com/sfg-os/depot.git"
|
||||
sha256 = "skip"
|
||||
@@ -0,0 +1,38 @@
|
||||
[build]
|
||||
type = "meta"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"base",
|
||||
"autoconf",
|
||||
"automake",
|
||||
"llvm",
|
||||
"bison",
|
||||
"fakeroot",
|
||||
"file",
|
||||
"findutils",
|
||||
"flex",
|
||||
"gawk",
|
||||
"clang",
|
||||
"gettext",
|
||||
"grep",
|
||||
"groff",
|
||||
"gzip",
|
||||
"libtool",
|
||||
"m4",
|
||||
"make",
|
||||
"depot",
|
||||
"patch",
|
||||
"pkgconf",
|
||||
"sed",
|
||||
"sudo",
|
||||
"texinfo",
|
||||
"which",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Basic tools to build Vertex Packages"
|
||||
homepage = "https://www.vertexlinux.net"
|
||||
license = "MIT"
|
||||
name = "development-base"
|
||||
version = "1.0.0"
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["sh", "glibc" ]
|
||||
|
||||
[package]
|
||||
description = "programs that show the differences between files or directories"
|
||||
homepage = "https://www.gnu.org/software/diffutils/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "diffutils"
|
||||
version = "3.12"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "7c8b7f9fc8609141fdea9cece85249d308624391ff61dedaf528fcb337727dfd"
|
||||
url = "https://mirrors.kernel.org/gnu/diffutils/diffutils-$version.tar.xz"
|
||||
@@ -0,0 +1,39 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--sysconfdir=/etc",
|
||||
"--enable-elf-shlibs",
|
||||
"--disable-libblkid",
|
||||
"--disable-libuuid",
|
||||
"--disable-uuidd",
|
||||
"--disable-fsck",
|
||||
]
|
||||
post_install = [
|
||||
"rm -fv $DESTDIR/usr/lib/libcom_err.a",
|
||||
"rm -fv $DESTDIR/usr/lib/libext2fs.a",
|
||||
"rm -fv $DESTDIR/usr/lib/libss.a",
|
||||
"rm -fv $DESTDIR/usr/lib/libe2p.a",
|
||||
]
|
||||
skip_tests = true # needs an ext* fs
|
||||
keep = [ "etc/mke2fs.conf" ]
|
||||
build_dir = "build"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"util-linux",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "utilities for handling the ext family of filesystems"
|
||||
homepage = "https://e2fsprogs.sourceforge.net/"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "e2fsprogs"
|
||||
version = "1.47.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "2f5164e64dd7d91eadd1e0e8a77d92c06dd7837bb19f1d9189ce1939b363d2b4"
|
||||
url = "https://downloads.sourceforge.net/project/e2fsprogs/e2fsprogs/v$version/e2fsprogs-$version.tar.gz"
|
||||
@@ -0,0 +1,22 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
# tests need bash
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "stream oriented C library for parsing XML"
|
||||
homepage = "https://github.com/libexpat/libexpat"
|
||||
license = "MIT"
|
||||
name = "expat"
|
||||
version = "2.7.4"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "9e9cabb457c1e09de91db2706d8365645792638eb3be1f94dbb2149301086ac0"
|
||||
url = "https://github.com/libexpat/libexpat/releases/download/R_2_7_4/expat-$version.tar.xz"
|
||||
@@ -0,0 +1,411 @@
|
||||
Submitted By: Xi Ruoyao <xry111@xry111.site>
|
||||
Date: 2025-04-21
|
||||
Initial Package Version: 5.45.4
|
||||
Upstream Status: The C99-compatibility part has been submitted
|
||||
for a long time, but the upstream seems inactive.
|
||||
The C23-compatibility part is not submitted.
|
||||
Origin: Fedora & Self:
|
||||
- Fedora expect-5.45.4-covscan-fixes.patch
|
||||
- Fedora expect-c99.patch
|
||||
- Fedora expect-configure-c99.patch
|
||||
- We are directly patching configure instead of
|
||||
patching configure.in like Fedora. It's
|
||||
generally not a good idea, but better than
|
||||
adding autoconf into chapter 7 or bloating this
|
||||
patch into 100+ KiB (with a full regeneration
|
||||
of the configure script).
|
||||
- Self-made C23-compatibility fixes
|
||||
- Add a parameter list for various function
|
||||
declerations.
|
||||
Description: Fix some build failure caused by the pre-C23 syntax
|
||||
no longer allowed by GCC 15 in the default C23
|
||||
mode.
|
||||
|
||||
diff --color -Naur expect5.45.4.orig/configure expect5.45.4/configure
|
||||
--- expect5.45.4.orig/configure 2018-02-04 18:43:58.000000000 +0800
|
||||
+++ expect5.45.4/configure 2025-04-22 11:16:42.221990368 +0800
|
||||
@@ -7994,7 +7994,6 @@
|
||||
{
|
||||
extern long timezone;
|
||||
timezone += 1;
|
||||
- exit (0);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
@@ -8030,7 +8029,6 @@
|
||||
{
|
||||
extern time_t timezone;
|
||||
timezone += 1;
|
||||
- exit (0);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
@@ -8791,7 +8789,7 @@
|
||||
$as_echo_n "checking for memcpy... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
-
|
||||
+#include <string.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
@@ -8831,7 +8829,7 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <sys/wait.h>
|
||||
-main() {
|
||||
+int main() {
|
||||
#ifndef WNOHANG
|
||||
return 0;
|
||||
#else
|
||||
@@ -8867,7 +8865,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/wait.h>
|
||||
-main() {
|
||||
+int main() {
|
||||
#ifdef WNOHANG
|
||||
FILE *fp = fopen("wnohang","w");
|
||||
fprintf(fp,"%d",WNOHANG);
|
||||
@@ -8935,7 +8933,9 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <signal.h>
|
||||
-#define RETSIGTYPE $retsigtype
|
||||
+#include <stdlib.h>
|
||||
+#include <unistd.h>
|
||||
+#include <sys/wait.h>
|
||||
|
||||
int signal_rearms = 0;
|
||||
|
||||
@@ -8952,7 +8952,7 @@
|
||||
signal_rearms++;
|
||||
}
|
||||
|
||||
-main()
|
||||
+int main()
|
||||
{
|
||||
signal(SIGINT,parent_sigint_handler);
|
||||
|
||||
@@ -9234,10 +9234,9 @@
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include <sgtty.h>
|
||||
-main()
|
||||
+int main()
|
||||
{
|
||||
struct sgttyb tmp;
|
||||
- exit(0);
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
@@ -9274,10 +9273,9 @@
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <termio.h>
|
||||
- main()
|
||||
+ int main()
|
||||
{
|
||||
struct termio tmp;
|
||||
- exit(0);
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
@@ -9312,10 +9310,9 @@
|
||||
# include <inttypes.h>
|
||||
# endif
|
||||
# include <termios.h>
|
||||
- main()
|
||||
+ int main()
|
||||
{
|
||||
struct termios tmp;
|
||||
- exit(0);
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
@@ -9350,7 +9347,7 @@
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <termios.h>
|
||||
-main() {
|
||||
+int main() {
|
||||
#if defined(TCGETS) || defined(TCGETA)
|
||||
return 0;
|
||||
#else
|
||||
@@ -9388,7 +9385,7 @@
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
#include <termios.h>
|
||||
-main() {
|
||||
+int main() {
|
||||
#ifdef TIOCGWINSZ
|
||||
return 0;
|
||||
#else
|
||||
@@ -9423,7 +9420,7 @@
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
-main(){
|
||||
+int main(){
|
||||
#ifdef CRAY
|
||||
return 0;
|
||||
#else
|
||||
@@ -9565,12 +9562,10 @@
|
||||
|
||||
extern char *tzname[2];
|
||||
extern int daylight;
|
||||
-main()
|
||||
+int main()
|
||||
{
|
||||
int *x = &daylight;
|
||||
char **y = tzname;
|
||||
-
|
||||
- exit(0);
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
diff --color -Naur expect5.45.4.orig/exp_chan.c expect5.45.4/exp_chan.c
|
||||
--- expect5.45.4.orig/exp_chan.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_chan.c 2025-04-22 11:16:42.222758025 +0800
|
||||
@@ -51,6 +51,8 @@
|
||||
int mask));
|
||||
static int ExpGetHandleProc _ANSI_ARGS_((ClientData instanceData,
|
||||
int direction, ClientData *handlePtr));
|
||||
+void exp_background_channelhandler _ANSI_ARGS_((ClientData,
|
||||
+ int));
|
||||
|
||||
/*
|
||||
* This structure describes the channel type structure for Expect-based IO:
|
||||
@@ -58,7 +60,7 @@
|
||||
|
||||
Tcl_ChannelType expChannelType = {
|
||||
"exp", /* Type name. */
|
||||
- ExpBlockModeProc, /* Set blocking/nonblocking mode.*/
|
||||
+ TCL_CHANNEL_VERSION_2,
|
||||
ExpCloseProc, /* Close proc. */
|
||||
ExpInputProc, /* Input proc. */
|
||||
ExpOutputProc, /* Output proc. */
|
||||
@@ -68,6 +70,7 @@
|
||||
ExpWatchProc, /* Initialize notifier. */
|
||||
ExpGetHandleProc, /* Get OS handles out of channel. */
|
||||
NULL, /* Close2 proc */
|
||||
+ ExpBlockModeProc, /* Set blocking/nonblocking mode.*/
|
||||
};
|
||||
|
||||
typedef struct ThreadSpecificData {
|
||||
diff --color -Naur expect5.45.4.orig/exp_clib.c expect5.45.4/exp_clib.c
|
||||
--- expect5.45.4.orig/exp_clib.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_clib.c 2025-04-22 11:22:35.735989675 +0800
|
||||
@@ -37,6 +37,14 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_UNISTD_H
|
||||
+# include <unistd.h>
|
||||
+#endif
|
||||
+
|
||||
+//#ifdef HAVE_SYS_WAIT_H
|
||||
+# include <sys/wait.h>
|
||||
+//#endif
|
||||
+
|
||||
#ifdef HAVE_SYS_FCNTL_H
|
||||
# include <sys/fcntl.h>
|
||||
#else
|
||||
@@ -1727,13 +1735,14 @@
|
||||
int exp_loguser = TRUE; /* if TRUE, user sees interactions on stdout */
|
||||
|
||||
|
||||
-char *exp_printify();
|
||||
+char *exp_printify(char *);
|
||||
int exp_getptymaster();
|
||||
-int exp_getptyslave();
|
||||
+int exp_getptyslave(int, int, CONST char *);
|
||||
|
||||
#define sysreturn(x) return(errno = x, -1)
|
||||
|
||||
void exp_init_pty();
|
||||
+void exp_init_tty();
|
||||
|
||||
/*
|
||||
The following functions are linked from the Tcl library. They
|
||||
@@ -2253,6 +2262,7 @@
|
||||
argv[i] = va_arg(args,char *);
|
||||
if (!argv[i]) break;
|
||||
}
|
||||
+ va_end(args);
|
||||
i = exp_spawnv(argv[0],argv+1);
|
||||
free((char *)argv);
|
||||
return(i);
|
||||
@@ -2726,6 +2736,7 @@
|
||||
/* Ultrix 4.2 compiler refuses enumerations comparison!? */
|
||||
if ((int)type < 0 || (int)type >= (int)exp_bogus) {
|
||||
fprintf(stderr,"bad type (set %d) in exp_expectl\n",i);
|
||||
+ va_end(args);
|
||||
sysreturn(EINVAL);
|
||||
}
|
||||
|
||||
@@ -2791,6 +2802,7 @@
|
||||
/* Ultrix 4.2 compiler refuses enumerations comparison!? */
|
||||
if ((int)type < 0 || (int)type >= (int)exp_bogus) {
|
||||
fprintf(stderr,"bad type (set %d) in exp_expectl\n",i);
|
||||
+ va_end(args);
|
||||
sysreturn(EINVAL);
|
||||
}
|
||||
|
||||
diff --color -Naur expect5.45.4.orig/exp_command.h expect5.45.4/exp_command.h
|
||||
--- expect5.45.4.orig/exp_command.h 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_command.h 2025-04-22 11:15:02.579293854 +0800
|
||||
@@ -222,8 +222,8 @@
|
||||
|
||||
EXTERN void exp_strftime(char *format, const struct tm *timeptr,Tcl_DString *dstring);
|
||||
|
||||
-#define exp_deleteProc (void (*)())0
|
||||
-#define exp_deleteObjProc (void (*)())0
|
||||
+#define exp_deleteProc NULL
|
||||
+#define exp_deleteObjProc NULL
|
||||
|
||||
EXTERN int expect_key;
|
||||
EXTERN int exp_configure_count; /* # of times descriptors have been closed */
|
||||
@@ -321,7 +321,7 @@
|
||||
EXTERN void exp_init_most_cmds _ANSI_ARGS_((Tcl_Interp *));
|
||||
EXTERN void exp_init_trap_cmds _ANSI_ARGS_((Tcl_Interp *));
|
||||
EXTERN void exp_init_interact_cmds _ANSI_ARGS_((Tcl_Interp *));
|
||||
-EXTERN void exp_init_tty_cmds();
|
||||
+EXTERN void exp_init_tty_cmds _ANSI_ARGS_((Tcl_Interp *));
|
||||
|
||||
EXTERN ExpState * expStateCheck _ANSI_ARGS_((Tcl_Interp *,ExpState *,int,int,char *));
|
||||
EXTERN ExpState * expStateCurrent _ANSI_ARGS_((Tcl_Interp *,int,int,int));
|
||||
diff --color -Naur expect5.45.4.orig/exp_log.c expect5.45.4/exp_log.c
|
||||
--- expect5.45.4.orig/exp_log.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_log.c 2025-04-22 11:16:42.223164242 +0800
|
||||
@@ -174,7 +174,10 @@
|
||||
force_stdout = TCL_VARARGS_START(int,arg1,args);
|
||||
fmt = va_arg(args,char *);
|
||||
|
||||
- if ((!tsdPtr->logUser) && (!force_stdout) && (!tsdPtr->logAll)) return;
|
||||
+ if ((!tsdPtr->logUser) && (!force_stdout) && (!tsdPtr->logAll)) {
|
||||
+ va_end(args);
|
||||
+ return;
|
||||
+ }
|
||||
|
||||
(void) vsprintf(bigbuf,fmt,args);
|
||||
expDiagWriteBytes(bigbuf,-1);
|
||||
diff --color -Naur expect5.45.4.orig/exp_main_sub.c expect5.45.4/exp_main_sub.c
|
||||
--- expect5.45.4.orig/exp_main_sub.c 2018-02-04 18:43:58.000000000 +0800
|
||||
+++ expect5.45.4/exp_main_sub.c 2025-04-22 11:17:05.635391610 +0800
|
||||
@@ -49,14 +49,15 @@
|
||||
#define NEED_TCL_MINOR 5
|
||||
|
||||
char *exp_argv0 = "this program"; /* default program name */
|
||||
-void (*exp_app_exit)() = 0;
|
||||
-void (*exp_event_exit)() = 0;
|
||||
+void (*exp_app_exit) _ANSI_ARGS_((Tcl_Interp *)) = 0;
|
||||
+void (*exp_event_exit) _ANSI_ARGS_((Tcl_Interp *)) = 0;
|
||||
FILE *exp_cmdfile = 0;
|
||||
char *exp_cmdfilename = 0;
|
||||
int exp_cmdlinecmds = FALSE;
|
||||
int exp_interactive = FALSE;
|
||||
int exp_buffer_command_input = FALSE;/* read in entire cmdfile at once */
|
||||
int exp_fgets();
|
||||
+int exp_tty_cooked_echo(Tcl_Interp *interp, exp_tty *tty_old, int *was_raw, int *was_echo);
|
||||
|
||||
Tcl_Interp *exp_interp; /* for use by signal handlers who can't figure out */
|
||||
/* the interpreter directly */
|
||||
@@ -920,7 +921,6 @@
|
||||
char file[200];
|
||||
char *home;
|
||||
int fd;
|
||||
- char *getenv();
|
||||
|
||||
if ((NULL != (home = getenv("DOTDIR"))) ||
|
||||
(NULL != (home = getenv("HOME")))) {
|
||||
diff --color -Naur expect5.45.4.orig/exp_pty.c expect5.45.4/exp_pty.c
|
||||
--- expect5.45.4.orig/exp_pty.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_pty.c 2025-04-22 11:17:41.627176185 +0800
|
||||
@@ -134,8 +134,8 @@
|
||||
return(cc);
|
||||
}
|
||||
|
||||
-static RETSIGTYPE (*oldAlarmHandler)();
|
||||
-static RETSIGTYPE (*oldHupHandler)();
|
||||
+static RETSIGTYPE (*oldAlarmHandler)(int);
|
||||
+static RETSIGTYPE (*oldHupHandler)(int);
|
||||
static time_t current_time; /* time when testing began */
|
||||
|
||||
/* if TRUE, begin testing, else end testing */
|
||||
diff --color -Naur expect5.45.4.orig/exp_trap.c expect5.45.4/exp_trap.c
|
||||
--- expect5.45.4.orig/exp_trap.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_trap.c 2025-04-22 11:19:10.154722359 +0800
|
||||
@@ -53,7 +53,8 @@
|
||||
|
||||
int sigchld_count = 0; /* # of sigchlds caught but not yet processed */
|
||||
|
||||
-static int eval_trap_action();
|
||||
+static int
|
||||
+eval_trap_action(Tcl_Interp *, int, struct trap *, int);
|
||||
|
||||
static int got_sig; /* this records the last signal received */
|
||||
/* it is only a hint and can be wiped out */
|
||||
diff --color -Naur expect5.45.4.orig/exp_tty.c expect5.45.4/exp_tty.c
|
||||
--- expect5.45.4.orig/exp_tty.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_tty.c 2025-04-22 11:12:33.066206967 +0800
|
||||
@@ -572,7 +572,7 @@
|
||||
char **argv)
|
||||
{
|
||||
int result = TCL_OK;
|
||||
- RETSIGTYPE (*old)(); /* save old sigalarm handler */
|
||||
+ RETSIGTYPE (*old)(int); /* save old sigalarm handler */
|
||||
#define MAX_ARGLIST 10240
|
||||
int i;
|
||||
|
||||
diff --color -Naur expect5.45.4.orig/exp_win.h expect5.45.4/exp_win.h
|
||||
--- expect5.45.4.orig/exp_win.h 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/exp_win.h 2025-04-22 11:21:03.990362077 +0800
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
#include <tcl.h> /* For _ANSI_ARGS_ */
|
||||
|
||||
-int exp_window_size_set();
|
||||
-int exp_window_size_get();
|
||||
+int exp_window_size_set _ANSI_ARGS_ ((int));
|
||||
+int exp_window_size_get _ANSI_ARGS_ ((int));
|
||||
|
||||
void exp_win_rows_set _ANSI_ARGS_ ((char* rows));
|
||||
char* exp_win_rows_get _ANSI_ARGS_ ((void));
|
||||
diff --color -Naur expect5.45.4.orig/pty_termios.c expect5.45.4/pty_termios.c
|
||||
--- expect5.45.4.orig/pty_termios.c 2018-02-03 03:15:52.000000000 +0800
|
||||
+++ expect5.45.4/pty_termios.c 2025-04-22 11:23:56.897369591 +0800
|
||||
@@ -105,6 +105,7 @@
|
||||
|
||||
void expDiagLog();
|
||||
void expDiagLogPtr();
|
||||
+char *expErrnoMsg(int errorNo);
|
||||
|
||||
#include <errno.h>
|
||||
/*extern char *sys_errlist[];*/
|
||||
@@ -189,6 +190,7 @@
|
||||
#endif /* HAVE_SCO_CLIST_PTYS */
|
||||
|
||||
#ifdef HAVE_OPENPTY
|
||||
+#include <pty.h>
|
||||
static char master_name[64];
|
||||
static char slave_name[64];
|
||||
#endif
|
||||
@@ -204,7 +206,7 @@
|
||||
{
|
||||
#define MAX_ARGLIST 10240
|
||||
char buf[MAX_ARGLIST]; /* overkill is easier */
|
||||
- RETSIGTYPE (*old)(); /* save old sigalarm handler */
|
||||
+ RETSIGTYPE (*old)(int); /* save old sigalarm handler */
|
||||
int pid;
|
||||
|
||||
old = signal(SIGCHLD, SIG_DFL);
|
||||
@@ -264,7 +266,7 @@
|
||||
{
|
||||
#define MAX_ARGLIST 10240
|
||||
char buf[MAX_ARGLIST]; /* overkill is easier */
|
||||
- RETSIGTYPE (*old)(); /* save old sigalarm handler */
|
||||
+ RETSIGTYPE (*old)(int); /* save old sigalarm handler */
|
||||
|
||||
#ifdef STTY_READS_STDOUT
|
||||
sprintf(buf,"%s %s > %s",STTY_BIN,s,name);
|
||||
@@ -0,0 +1,33 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--with-tcl=/usr/lib",
|
||||
"--enable-shared",
|
||||
"--disable-rpath",
|
||||
"--mandir=/usr/share/man",
|
||||
"--with-tclinclude=/usr/include",
|
||||
]
|
||||
post_install = ["ln -svf expect$version/libexpect$version.so $DESTDIR/usr/lib"]
|
||||
source_subdir = "expect$version"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["tcl"]
|
||||
|
||||
[package]
|
||||
description = "tools for automating, via scripted dialogues, interactive applications such as telnet, ftp, passwd, fsck, rlogin, and tip"
|
||||
homepage = "https://www.nist.gov/el/msid/expect.cfm"
|
||||
license = "custom"
|
||||
name = "expect"
|
||||
version = "5.45.4"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "md5:00fce8de158422f5ccd2666512329bd2"
|
||||
url = "https://sourceforge.net/projects/expect/files/Expect/$version/expect$version.tar.gz"
|
||||
post_extract = [ "patch -Np0 -i $DEPOT_SPECDIR/expect-5.45.4-gcc15-1.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "expect-$version-gcc15-1.patch"
|
||||
sha256 = "skip"
|
||||
@@ -0,0 +1,10 @@
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -1,6 +1,6 @@
|
||||
AUTOMAKE_OPTIONS=foreign
|
||||
ACLOCAL_AMFLAGS = -I build-aux
|
||||
-SUBDIRS=doc scripts test
|
||||
+SUBDIRS=scripts test
|
||||
|
||||
noinst_LTLIBRARIES = libcommunicate.la libmacosx.la libfakeroot_time64.la
|
||||
libcommunicate_la_SOURCES = communicate.c
|
||||
@@ -0,0 +1,41 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--with-ipc=sysv",
|
||||
]
|
||||
post_install = [
|
||||
"install -dm0755 $DESTDIR/usr/lib/ld.so.conf.d/",
|
||||
"echo '/usr/lib/libfakeroot' > $DESTDIR/usr/lib/ld.so.conf.d/fakeroot.conf",
|
||||
]
|
||||
libdir = "/usr/lib/fakeroot"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"filesystem",
|
||||
"sed",
|
||||
"sh",
|
||||
"util-linux",
|
||||
]
|
||||
test = ["sharutils"]
|
||||
|
||||
[package]
|
||||
description = "Tool for simulating superuser privileges"
|
||||
homepage = "https://tracker.debian.org/pkg/fakeroot"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "fakeroot"
|
||||
version = "1.37.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "487051a5ff55ecc631381c09474f6bf6759e79a5a887634e4d1738542836558d"
|
||||
url = "https://salsa.debian.org/clint/fakeroot/-/archive/upstream/$version/fakeroot-upstream-$version.tar.bz2"
|
||||
post_extract = ["autoreconf -fi"]
|
||||
patches = [ "fakeroot-1.37.2-no-doc-man-install.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "fakeroot-1.37.2-no-doc-man-install.patch"
|
||||
sha256 = "sha512:e975fdd19f7b475a95c4c96ae093be43fd0ffcf82ea5598d6196b91159881220113cc4904245809e96c1c87f1b40778061669d6770970b9bf97860b6e605b6e7"
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "utility for determining the type of a given file or files"
|
||||
homepage = "https://www.darwinsys.com/file/"
|
||||
license = "BSD-2-Clause"
|
||||
name = "file"
|
||||
version = "5.46"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "c9cc77c7c560c543135edc555af609d5619dbef011997e988ce40a3d75d86088"
|
||||
url = "https://astron.com/pub/file/file-$version.tar.gz"
|
||||
Executable
+271
@@ -0,0 +1,271 @@
|
||||
#!/bin/sh
|
||||
# Base filesystem package build script - creates merged-/usr directory structure
|
||||
|
||||
set -eu
|
||||
|
||||
: "${DESTDIR:?DESTDIR is not set}"
|
||||
|
||||
# Canonical merged-/usr directories
|
||||
mkdir -p \
|
||||
"$DESTDIR/usr/bin" \
|
||||
"$DESTDIR/usr/lib" \
|
||||
"$DESTDIR/usr/lib32" \
|
||||
"$DESTDIR/usr/include" \
|
||||
"$DESTDIR/usr/share/man" \
|
||||
"$DESTDIR/usr/share/info" \
|
||||
"$DESTDIR/etc" \
|
||||
"$DESTDIR/var" \
|
||||
"$DESTDIR/tmp" \
|
||||
"$DESTDIR/home" \
|
||||
"$DESTDIR/root" \
|
||||
"$DESTDIR/run" \
|
||||
"$DESTDIR/dev" \
|
||||
"$DESTDIR/mnt" \
|
||||
"$DESTDIR/proc" \
|
||||
"$DESTDIR/sys" \
|
||||
"$DESTDIR/opt" \
|
||||
"$DESTDIR/srv" \
|
||||
"$DESTDIR/boot"
|
||||
|
||||
# Common optional dirs (safe to have even if empty)
|
||||
mkdir -p \
|
||||
"$DESTDIR/usr/share" \
|
||||
"$DESTDIR/usr/libexec" \
|
||||
"$DESTDIR/usr/local" \
|
||||
"$DESTDIR/etc/profile.d" \
|
||||
"$DESTDIR/etc/skel" \
|
||||
"$DESTDIR/var/cache" \
|
||||
"$DESTDIR/var/lib/misc" \
|
||||
"$DESTDIR/var/log/old" \
|
||||
"$DESTDIR/var/empty" \
|
||||
"$DESTDIR/var/local" \
|
||||
"$DESTDIR/var/opt" \
|
||||
"$DESTDIR/var/tmp" \
|
||||
"$DESTDIR/var/spool/mail" \
|
||||
"$DESTDIR/usr/src" \
|
||||
"$DESTDIR/usr/share/misc" \
|
||||
"$DESTDIR/usr/share/pixmaps" \
|
||||
"$DESTDIR/usr/share/factory/etc"
|
||||
|
||||
chown 0:0 \
|
||||
"$DESTDIR/boot" \
|
||||
"$DESTDIR/dev" \
|
||||
"$DESTDIR/etc" \
|
||||
"$DESTDIR/etc/profile.d" \
|
||||
"$DESTDIR/etc/skel" \
|
||||
"$DESTDIR/home" \
|
||||
"$DESTDIR/mnt" \
|
||||
"$DESTDIR/opt" \
|
||||
"$DESTDIR/proc" \
|
||||
"$DESTDIR/root" \
|
||||
"$DESTDIR/run" \
|
||||
"$DESTDIR/srv" \
|
||||
"$DESTDIR/sys" \
|
||||
"$DESTDIR/tmp" \
|
||||
"$DESTDIR/usr" \
|
||||
"$DESTDIR/usr/bin" \
|
||||
"$DESTDIR/usr/include" \
|
||||
"$DESTDIR/usr/lib" \
|
||||
"$DESTDIR/usr/lib32" \
|
||||
"$DESTDIR/usr/libexec" \
|
||||
"$DESTDIR/usr/local" \
|
||||
"$DESTDIR/usr/share" \
|
||||
"$DESTDIR/usr/share/man" \
|
||||
"$DESTDIR/usr/share/info" \
|
||||
"$DESTDIR/usr/share/misc" \
|
||||
"$DESTDIR/usr/share/pixmaps" \
|
||||
"$DESTDIR/usr/share/factory/etc" \
|
||||
"$DESTDIR/usr/src" \
|
||||
"$DESTDIR/var" \
|
||||
"$DESTDIR/var/cache" \
|
||||
"$DESTDIR/var/empty" \
|
||||
"$DESTDIR/var/lib/misc" \
|
||||
"$DESTDIR/var/local" \
|
||||
"$DESTDIR/var/log/old" \
|
||||
"$DESTDIR/var/opt" \
|
||||
"$DESTDIR/var/spool/mail" \
|
||||
"$DESTDIR/var/tmp"
|
||||
|
||||
chmod 0755 \
|
||||
"$DESTDIR/boot" \
|
||||
"$DESTDIR/dev" \
|
||||
"$DESTDIR/etc" \
|
||||
"$DESTDIR/etc/profile.d" \
|
||||
"$DESTDIR/etc/skel" \
|
||||
"$DESTDIR/home" \
|
||||
"$DESTDIR/mnt" \
|
||||
"$DESTDIR/opt" \
|
||||
"$DESTDIR/run" \
|
||||
"$DESTDIR/srv" \
|
||||
"$DESTDIR/usr" \
|
||||
"$DESTDIR/usr/bin" \
|
||||
"$DESTDIR/usr/include" \
|
||||
"$DESTDIR/usr/lib" \
|
||||
"$DESTDIR/usr/libexec" \
|
||||
"$DESTDIR/usr/local" \
|
||||
"$DESTDIR/usr/share" \
|
||||
"$DESTDIR/usr/share/man" \
|
||||
"$DESTDIR/usr/share/info" \
|
||||
"$DESTDIR/usr/share/misc" \
|
||||
"$DESTDIR/usr/share/pixmaps" \
|
||||
"$DESTDIR/usr/share/factory/etc" \
|
||||
"$DESTDIR/usr/src" \
|
||||
"$DESTDIR/var" \
|
||||
"$DESTDIR/var/cache" \
|
||||
"$DESTDIR/var/empty" \
|
||||
"$DESTDIR/var/lib/misc" \
|
||||
"$DESTDIR/var/local" \
|
||||
"$DESTDIR/var/log/old" \
|
||||
"$DESTDIR/var/opt"
|
||||
|
||||
chmod 0555 "$DESTDIR/proc" "$DESTDIR/sys"
|
||||
chmod 0750 "$DESTDIR/root"
|
||||
chmod 1777 "$DESTDIR/tmp" "$DESTDIR/var/tmp" "$DESTDIR/var/spool/mail"
|
||||
|
||||
# Compatibility: make legacy top-level dirs point into /usr
|
||||
# /bin -> /usr/bin
|
||||
# /sbin -> /usr/bin (merged "one thing" behavior)
|
||||
# /lib -> /usr/lib
|
||||
if [ ! -e "$DESTDIR/bin" ]; then
|
||||
ln -s usr/bin "$DESTDIR/bin"
|
||||
fi
|
||||
|
||||
if [ ! -e "$DESTDIR/sbin" ]; then
|
||||
ln -s usr/bin "$DESTDIR/sbin"
|
||||
fi
|
||||
|
||||
if [ ! -e "$DESTDIR/lib" ]; then
|
||||
ln -s usr/lib "$DESTDIR/lib"
|
||||
fi
|
||||
|
||||
if [ ! -e "$DESTDIR/lib64" ]; then
|
||||
ln -s usr/lib "$DESTDIR/lib64"
|
||||
fi
|
||||
|
||||
if [ ! -e "$DESTDIR/usr/sbin" ]; then
|
||||
ln -s bin "$DESTDIR/usr/sbin"
|
||||
fi
|
||||
|
||||
# Default PATH for login shells
|
||||
cat > "$DESTDIR/etc/profile.d/00-path.sh" <<'EOF'
|
||||
# Default PATH for interactive shells
|
||||
export PATH=/usr/bin:/usr/sbin:$PATH
|
||||
EOF
|
||||
|
||||
# /etc/profile entrypoint to load profile.d snippets
|
||||
cat > "$DESTDIR/etc/profile" <<'EOF'
|
||||
# System-wide profile
|
||||
for f in /etc/profile.d/*.sh; do
|
||||
[ -r "$f" ] && . "$f"
|
||||
done
|
||||
EOF
|
||||
|
||||
# Non-login interactive shells (bash reads this if enabled by the distro)
|
||||
cat > "$DESTDIR/etc/bash.bashrc" <<'EOF'
|
||||
# System-wide bashrc
|
||||
for f in /etc/profile.d/*.sh; do
|
||||
[ -r "$f" ] && . "$f"
|
||||
done
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/os-release" <<'EOF'
|
||||
NAME="Vertex Linux"
|
||||
ID=vertex
|
||||
PRETTY_NAME="Vertex Linux 1.0 (Parallel Panther)"
|
||||
VERSION="1.0 (Parallel Panther)"
|
||||
VERSION_ID="1.0"
|
||||
VERSION_CODENAME=parallel_panther
|
||||
BUILD_ID=1.0
|
||||
HOME_URL="https://www.vertexlinux.net"
|
||||
SUPPORT_URL="https://www.vertexlinux.net"
|
||||
BUG_REPORT_URL="https://www.vertexlinux.net"
|
||||
ANSI_COLOR="1;35"
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/lsb-release" <<'EOF'
|
||||
DISTRIB_ID=VertexLinux
|
||||
DISTRIB_RELEASE=1.0
|
||||
DISTRIB_CODENAME=parallel_panther
|
||||
DISTRIB_DESCRIPTION="Vertex Linux 1.0 (Parallel Panther)"
|
||||
DISTRIB_URL="https://vertexlinux.net"
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/passwd" << 'EOF'
|
||||
root:x:0:0:root:/root:/bin/zsh
|
||||
bin:x:1:1:bin:/dev/null:/usr/bin/false
|
||||
daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false
|
||||
messagebus:x:18:18:D-Bus Message Daemon User:/run/dbus:/usr/bin/false
|
||||
uucp:x:14:14:UUCP User:/dev/null:/usr/bin/false
|
||||
uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/usr/bin/false
|
||||
nobody:x:65534:65534:Unprivileged User:/dev/null:/usr/bin/false
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/shadow" << 'EOF'
|
||||
root:*:14871::::::
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/shells" << 'EOF'
|
||||
# Pathnames of valid login shells.
|
||||
# See shells(5) for details.
|
||||
|
||||
/bin/sh
|
||||
/bin/dash
|
||||
/usr/bin/sh
|
||||
/usr/bin/dash
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/group" << 'EOF'
|
||||
root:x:0:
|
||||
bin:x:1:daemon
|
||||
sys:x:2:
|
||||
kmem:x:3:
|
||||
tape:x:4:
|
||||
tty:x:5:
|
||||
daemon:x:6:
|
||||
floppy:x:7:
|
||||
disk:x:8:
|
||||
lp:x:9:
|
||||
dialout:x:10:
|
||||
audio:x:11:
|
||||
video:x:12:
|
||||
utmp:x:13:
|
||||
clock:x:14:
|
||||
cdrom:x:15:
|
||||
adm:x:16:
|
||||
messagebus:x:18:
|
||||
uucp:x:19:
|
||||
input:x:24:
|
||||
mail:x:34:
|
||||
kvm:x:61:
|
||||
uuidd:x:80:
|
||||
wheel:x:97:
|
||||
users:x:999:
|
||||
nogroup:x:65534:
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/hosts" << 'EOF'
|
||||
# Static table lookup for hostnames.
|
||||
# See hosts(5) for details.
|
||||
127.0.0.1 localhost
|
||||
::1 localhost
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/issue" << 'EOF'
|
||||
\S{PRETTY_NAME} \r (\l)
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/fstab" << 'EOF'
|
||||
# Static information about the filesystems.
|
||||
# See fstab(5) for details.
|
||||
|
||||
# <file system> <dir> <type> <options> <dump> <pass>
|
||||
EOF
|
||||
|
||||
cat > "$DESTDIR/etc/resolv.conf" << 'EOF'
|
||||
# Resolver configuration file.
|
||||
# See resolv.conf(5) for details.
|
||||
EOF
|
||||
|
||||
ln -sv usr/lib32 "$DESTDIR/lib32"
|
||||
|
||||
echo "Merged-/usr filesystem directory structure created."
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "filesystem"
|
||||
version = "1.0.1"
|
||||
description = "FHS-compliant base directory structure for Vertex Linux"
|
||||
homepage = "https://gitlab.com/vertex-linux"
|
||||
license = "Unlicense"
|
||||
revision = 3
|
||||
|
||||
[[manual_sources]]
|
||||
file = "build.sh"
|
||||
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[build.flags]
|
||||
keep = [ "etc/**" ]
|
||||
@@ -0,0 +1,20 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "glibc", "sh" ]
|
||||
|
||||
[package]
|
||||
description = "programs to find files"
|
||||
homepage = "https://www.gnu.org/software/findutils/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "findutils"
|
||||
version = "4.10.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5"
|
||||
url = "https://mirrors.kernel.org/gnu/findutils/findutils-$version.tar.xz"
|
||||
|
||||
[build.flags]
|
||||
configure = [ "--localstatedir=/var/lib/locate" ]
|
||||
@@ -0,0 +1,28 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
post_install = [
|
||||
"ln -sv flex $DESTDIR/usr/bin/lex",
|
||||
"ln -sv flex.1 $DESTDIR/usr/share/man/man1/lex.1",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"m4",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Fast Lexical Analyzer"
|
||||
homepage = "https://github.com/westes/flex"
|
||||
license = "BSD-2-Clause"
|
||||
name = "flex"
|
||||
version = "2.6.4"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995"
|
||||
url = "https://github.com/westes/flex/releases/download/v$version/flex-$version.tar.gz"
|
||||
@@ -0,0 +1,25 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
"mpfr"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "programs for manipulating text files"
|
||||
homepage = "https://www.gnu.org/software/gawk/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "gawk"
|
||||
version = "5.3.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "f8c3486509de705192138b00ef2c00bbbdd0e84c30d5c07d23fc73a9dc4cc9cc"
|
||||
url = "https://mirrors.kernel.org/gnu/gawk/gawk-$version.tar.xz"
|
||||
post_extract = [ "sed -i 's/extras//' Makefile.in" ]
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--enable-libgdbm-compat",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"readline",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "GNU Database Manager"
|
||||
homepage = "https://www.gnu.org/software/gdbm/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "gdbm"
|
||||
version = "1.26"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "6a24504a14de4a744103dcb936be976df6fbe88ccff26065e54c1c47946f4a5e"
|
||||
url = "https://mirrors.kernel.org/gnu/gdbm/gdbm-$version.tar.gz"
|
||||
@@ -0,0 +1,31 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
post_install = [ "chmod -v 0755 $DESTDIR/usr/lib/preloadable_libintl.so" ]
|
||||
skip_tests = true # tests are flaky
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"acl",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "utilities for internationalization and localization"
|
||||
homepage = "https://www.gnu.org/software/gettext/"
|
||||
license = [
|
||||
"GFDL-1.2-only",
|
||||
"GPL-2.0-only",
|
||||
"GPL-2.0-or-later",
|
||||
"LGPL-2.0-only",
|
||||
]
|
||||
name = "gettext"
|
||||
version = "1.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "71132a3fb71e68245b8f2ac4e9e97137d3e5c02f415636eb508ae607bc01add7"
|
||||
url = "https://mirrors.kernel.org/gnu/gettext/gettext-$version.tar.xz"
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/sysdeps/x86/fpu/math-barriers.h
|
||||
+++ b/sysdeps/x86/fpu/math-barriers.h
|
||||
@@ -19,7 +19,7 @@
|
||||
#ifndef X86_MATH_BARRIERS_H
|
||||
#define X86_MATH_BARRIERS_H 1
|
||||
|
||||
-#ifdef __SSE2_MATH__
|
||||
+#if defined __SSE2_MATH__ && !defined __clang__
|
||||
# define math_opt_barrier(x) \
|
||||
({ __typeof(x) __x; \
|
||||
if (sizeof (x) <= sizeof (double) \
|
||||
@@ -0,0 +1,321 @@
|
||||
diff -ruN a/Makeconfig b/Makeconfig
|
||||
--- a/Makeconfig 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/Makeconfig 2026-03-15 17:40:53.944414759 -0500
|
||||
@@ -709,38 +709,110 @@
|
||||
# makefiles to use additional libraries for linking executables and
|
||||
# shared libraries built by glibc.
|
||||
ifndef gnulib
|
||||
-ifneq ($(have-cc-with-libunwind),yes)
|
||||
- libunwind =
|
||||
-else
|
||||
- libunwind = -lunwind
|
||||
-endif
|
||||
-libgcc_eh := -Wl,--as-needed -lgcc_s $(libunwind) -Wl,--no-as-needed
|
||||
+libunwind =
|
||||
+# Preserve the configured target selection when asking the compiler for
|
||||
+# support libraries and CRT objects. For Clang, prefer
|
||||
+# compiler-rt builtins if available because libgcc lookups may resolve to a
|
||||
+# host archive.
|
||||
+cc-runtime-flags := $(filter-out -I%,$(CFLAGS)) $(sysdep-LDFLAGS) $(LDFLAGS)
|
||||
+cc-runtime-target := $(shell $(CC) $(cc-runtime-flags) -print-target-triple 2>/dev/null)
|
||||
+cc-clang-resource-dir := $(shell $(CC) $(cc-runtime-flags) --print-resource-dir 2>/dev/null)
|
||||
+cc-clang-rtlib-flags := $(shell \
|
||||
+ if test "$(have-test-clang)" = yes; then \
|
||||
+ for candidate in i686-linux-gnu i686-unknown-linux-gnu i386-unknown-linux-gnu "$(cc-runtime-target)"; do \
|
||||
+ if test -n "$$candidate"; then \
|
||||
+ rtlib=$$($(CC) $(cc-runtime-flags) --target=$$candidate \
|
||||
+ --rtlib=compiler-rt --print-libgcc-file-name 2>/dev/null); \
|
||||
+ if test "x$$rtlib" != x && test "x$$rtlib" != xlibgcc.a && test -r "$$rtlib"; then \
|
||||
+ printf '%s' "--target=$$candidate --rtlib=compiler-rt"; \
|
||||
+ exit 0; \
|
||||
+ fi; \
|
||||
+ fi; \
|
||||
+ done; \
|
||||
+ fi)
|
||||
+cc-clang-crtbegin := $(shell \
|
||||
+ if test "$(have-test-clang)" = yes; then \
|
||||
+ for path in \
|
||||
+ "$(cc-clang-resource-dir)/lib/i686-linux-gnu/clang_rt.crtbegin-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/i686-unknown-linux-gnu/clang_rt.crtbegin-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/i386-unknown-linux-gnu/clang_rt.crtbegin-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/$(cc-runtime-target)/clang_rt.crtbegin-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/linux/clang_rt.crtbegin-i386.o"; do \
|
||||
+ if test -r "$$path"; then \
|
||||
+ printf '%s' "$$path"; \
|
||||
+ exit 0; \
|
||||
+ fi; \
|
||||
+ done; \
|
||||
+ fi)
|
||||
+cc-clang-crtend := $(shell \
|
||||
+ if test "$(have-test-clang)" = yes; then \
|
||||
+ for path in \
|
||||
+ "$(cc-clang-resource-dir)/lib/i686-linux-gnu/clang_rt.crtend-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/i686-unknown-linux-gnu/clang_rt.crtend-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/i386-unknown-linux-gnu/clang_rt.crtend-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/$(cc-runtime-target)/clang_rt.crtend-i386.o" \
|
||||
+ "$(cc-clang-resource-dir)/lib/linux/clang_rt.crtend-i386.o"; do \
|
||||
+ if test -r "$$path"; then \
|
||||
+ printf '%s' "$$path"; \
|
||||
+ exit 0; \
|
||||
+ fi; \
|
||||
+ done; \
|
||||
+ fi)
|
||||
+libgcc := $(shell \
|
||||
+ lib=$$($(CC) $(cc-runtime-flags) --print-libgcc-file-name 2>/dev/null); \
|
||||
+ if test "$(have-test-clang)" = yes; then \
|
||||
+ rtlib=$$($(CC) $(cc-runtime-flags) $(cc-clang-rtlib-flags) \
|
||||
+ --print-libgcc-file-name 2>/dev/null); \
|
||||
+ if test "x$$rtlib" != x && test "x$$rtlib" != xlibgcc.a && test -r "$$rtlib"; then \
|
||||
+ lib=$$rtlib; \
|
||||
+ else \
|
||||
+ for path in \
|
||||
+ "$(cc-clang-resource-dir)/lib/i686-linux-gnu/libclang_rt.builtins.a" \
|
||||
+ "$(cc-clang-resource-dir)/lib/i686-unknown-linux-gnu/libclang_rt.builtins.a" \
|
||||
+ "$(cc-clang-resource-dir)/lib/i386-unknown-linux-gnu/libclang_rt.builtins.a" \
|
||||
+ "$(cc-clang-resource-dir)/lib/$(cc-runtime-target)/libclang_rt.builtins.a" \
|
||||
+ "$(cc-clang-resource-dir)/lib/linux/libclang_rt.builtins-i386.a"; do \
|
||||
+ if test -r "$$path"; then \
|
||||
+ lib=$$path; \
|
||||
+ break; \
|
||||
+ fi; \
|
||||
+ done; \
|
||||
+ fi; \
|
||||
+ fi; \
|
||||
+ printf '%s' "$$lib")
|
||||
+# Do not mix Clang's compiler-rt builtins with GCC crtbegin/crtend
|
||||
+# objects. If compiler-rt CRT objects are unavailable, leave these
|
||||
+# empty and let the link proceed without the GCC startup fragments.
|
||||
+cc-clang-use-rt := $(and $(filter yes,$(have-test-clang)),$(cc-clang-rtlib-flags))
|
||||
+libgcc_eh_archive := $(shell $(CC) $(cc-runtime-flags) --print-file-name=libgcc_eh.a)
|
||||
+libgcc_s := $(shell $(CC) $(cc-runtime-flags) --print-file-name=libgcc_s.so$(libgcc_s.so-version))
|
||||
+libgcc_eh := -Wl,--as-needed $(libgcc_s) $(libunwind) -Wl,--no-as-needed
|
||||
gnulib-arch =
|
||||
-gnulib = -lgcc $(gnulib-arch)
|
||||
-gnulib-tests := -lgcc $(libgcc_eh)
|
||||
-gnulib-extralibdir = $(dir $(shell $(CC) -print-file-name=libgcc_s.so$(libgcc_s.so-version)))
|
||||
+gnulib = $(libgcc) $(gnulib-arch)
|
||||
+gnulib-tests := $(libgcc) $(libgcc_eh)
|
||||
+gnulib-extralibdir = $(patsubst ./,,$(dir $(libgcc_s)))
|
||||
static-gnulib-arch =
|
||||
# By default, elf/static-stubs.o, instead of -lgcc_eh, is used to
|
||||
# statically link programs. When --disable-shared is used, we use
|
||||
# -lgcc_eh since elf/static-stubs.o isn't sufficient.
|
||||
ifeq (yes,$(build-shared))
|
||||
-static-gnulib = -lgcc $(static-gnulib-arch)
|
||||
+static-gnulib = $(libgcc) $(static-gnulib-arch)
|
||||
else
|
||||
-static-gnulib = -lgcc -lgcc_eh $(static-gnulib-arch)
|
||||
+static-gnulib = $(libgcc) $(libgcc_eh_archive) $(static-gnulib-arch)
|
||||
endif
|
||||
-static-gnulib-tests := -lgcc -lgcc_eh $(libunwind)
|
||||
-libc.so-gnulib := -lgcc
|
||||
+static-gnulib-tests := $(libgcc) $(libgcc_eh_archive) $(libunwind)
|
||||
+libc.so-gnulib := $(libgcc)
|
||||
endif
|
||||
+preinit = $(addprefix $(csu-objpfx),crti.o)
|
||||
+postinit = $(addprefix $(csu-objpfx),crtn.o)
|
||||
-+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
|
||||
-+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||
++prector = $(if $(cc-clang-use-rt),$(cc-clang-crtbegin),`$(CC) $(cc-runtime-flags) --print-file-name=crtbegin.o`)
|
||||
++postctor = $(if $(cc-clang-use-rt),$(cc-clang-crtend),`$(CC) $(cc-runtime-flags) --print-file-name=crtend.o`)
|
||||
# Variants of the two previous definitions for linking PIE programs.
|
||||
-+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
|
||||
-+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
|
||||
++prectorS = $(if $(cc-clang-use-rt),$(cc-clang-crtbegin),`$(CC) $(cc-runtime-flags) --print-file-name=crtbeginS.o`)
|
||||
++postctorS = $(if $(cc-clang-use-rt),$(cc-clang-crtend),`$(CC) $(cc-runtime-flags) --print-file-name=crtendS.o`)
|
||||
# Variants of the two previous definitions for statically linking programs.
|
||||
-static-prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginT.o`
|
||||
-static-postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o`
|
||||
+static-prector = $(if $(cc-clang-use-rt),$(cc-clang-crtbegin),`$(CC) $(cc-runtime-flags) --print-file-name=crtbeginT.o`)
|
||||
+static-postctor = $(if $(cc-clang-use-rt),$(cc-clang-crtend),`$(CC) $(cc-runtime-flags) --print-file-name=crtend.o`)
|
||||
ifeq (yes,$(enable-static-pie))
|
||||
# Static PIE must use PIE variants.
|
||||
+prectorT = $(if $($(@F)-no-pie),$(static-prector),$(+prectorS))
|
||||
diff -ruN a/Makerules b/Makerules
|
||||
--- a/Makerules 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/Makerules 2026-03-15 17:40:29.652012402 -0500
|
||||
@@ -543,7 +543,7 @@
|
||||
$(call after-link,$@)
|
||||
|
||||
define build-shlib-helper
|
||||
-$(LINK.o) -shared -static-libgcc -Wl,-O1 $(sysdep-LDFLAGS) \
|
||||
+$(LINK.o) -shared $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-rtlib-flags)),-nostartfiles $(cc-clang-rtlib-flags),-static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
|
||||
$(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) $(rtld-LDFLAGS) \
|
||||
$(if $($(@F)-no-dt-relr),$(no-dt-relr-ldflag),$(dt-relr-ldflag)) \
|
||||
$(extra-B-$(@F:lib%.so=%).so) -B$(csu-objpfx) \
|
||||
@@ -555,11 +555,13 @@
|
||||
|
||||
define build-shlib
|
||||
$(build-shlib-helper) -o $@ \
|
||||
- $(csu-objpfx)abi-note.o $(build-shlib-objlist)
|
||||
+ $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-crtbegin)),$(if $(filter c.so,$(@F)),,$(+preinit)) $(+prectorS)) \
|
||||
+ $(csu-objpfx)abi-note.o $(build-shlib-objlist) \
|
||||
+ $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-crtend)),$(+postctorS) $(if $(filter c.so,$(@F)),,$(+postinit)))
|
||||
endef
|
||||
|
||||
define build-module-helper
|
||||
-$(LINK.o) -shared -static-libgcc $(sysdep-LDFLAGS) $(rtld-LDFLAGS) \
|
||||
+$(LINK.o) -shared $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-rtlib-flags)),-nostartfiles $(cc-clang-rtlib-flags),-static-libgcc) $(sysdep-LDFLAGS) $(rtld-LDFLAGS) \
|
||||
$(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \
|
||||
$(if $($(@F)-no-dt-relr),$(no-dt-relr-ldflag),$(dt-relr-ldflag)) \
|
||||
-B$(csu-objpfx) $(load-map-file) \
|
||||
@@ -574,14 +576,18 @@
|
||||
# not for shared objects
|
||||
define build-module
|
||||
$(build-module-helper) -o $@ \
|
||||
- $(csu-objpfx)abi-note.o $(build-module-objlist) $(link-libc-args)
|
||||
+ $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-crtbegin)),$(+preinit) $(+prectorS)) \
|
||||
+ $(csu-objpfx)abi-note.o $(build-module-objlist) $(link-libc-args) \
|
||||
+ $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-crtend)),$(+postctorS) $(+postinit))
|
||||
$(call after-link,$@)
|
||||
endef
|
||||
define build-module-asneeded
|
||||
$(build-module-helper) -o $@ \
|
||||
+ $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-crtbegin)),$(+preinit) $(+prectorS)) \
|
||||
$(csu-objpfx)abi-note.o \
|
||||
-Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed \
|
||||
- $(link-libc-args)
|
||||
+ $(link-libc-args) \
|
||||
+ $(if $(and $(filter yes,$(have-test-clang)),$(cc-clang-crtend)),$(+postctorS) $(+postinit))
|
||||
$(call after-link,$@)
|
||||
endef
|
||||
|
||||
diff -ruN a/configure b/configure
|
||||
--- a/configure 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/configure 2026-03-15 17:40:29.652602103 -0500
|
||||
@@ -9328,18 +9328,28 @@
|
||||
config_vars="$config_vars
|
||||
enable-static-pie = $libc_cv_static_pie"
|
||||
|
||||
-# Check if we can link support functionality against libgcc_s.
|
||||
+# Check if the compiler reports usable support functionality from libgcc_s.
|
||||
# Must not be used for linking installed binaries, to produce the
|
||||
# same binaries for bootstrapped and bootstrapping builds (the latter
|
||||
# with a GCC that does not build libgcc_s).
|
||||
-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC can link against -lgcc_s" >&5
|
||||
-printf %s "checking whether $CC can link against -lgcc_s... " >&6; }
|
||||
+#
|
||||
+# The compiler-reported runtime may be an absolute path rather than a bare
|
||||
+# library name, for example when using llvm-libgcc. Include the configured
|
||||
+# target-selection flags so multilib and compiler-rt builds query the
|
||||
+# matching runtime.
|
||||
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC reports a usable libgcc_s" >&5
|
||||
+printf %s "checking whether $CC reports a usable libgcc_s... " >&6; }
|
||||
if test ${libc_cv_have_libgcc_s+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else case e in #(
|
||||
e) old_LIBS="$LIBS"
|
||||
- LIBS="$LIBS -lgcc_s"
|
||||
+ libc_cv_libgcc_s=`$CC $CFLAGS $LDFLAGS -print-file-name=libgcc_s.so 2>/dev/null`
|
||||
+ if test "x$libc_cv_libgcc_s" = "xlibgcc_s.so"
|
||||
+ then :
|
||||
+ libc_cv_have_libgcc_s=no
|
||||
+ else case e in #(
|
||||
+ e) LIBS="$LIBS $libc_cv_libgcc_s"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
@@ -9360,6 +9370,9 @@
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
+ ;;
|
||||
+esac
|
||||
+ fi
|
||||
LIBS="$old_LIBS" ;;
|
||||
esac
|
||||
fi
|
||||
@@ -11002,5 +11015,3 @@
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
|
||||
printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
|
||||
fi
|
||||
-
|
||||
-
|
||||
diff -ruN a/configure.ac b/configure.ac
|
||||
--- a/configure.ac 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/configure.ac 2026-03-15 17:40:29.653053992 -0500
|
||||
@@ -2122,15 +2122,24 @@
|
||||
fi
|
||||
LIBC_CONFIG_VAR([enable-static-pie], [$libc_cv_static_pie])
|
||||
|
||||
-# Check if we can link support functionality against libgcc_s.
|
||||
+# Check if the compiler reports usable support functionality from libgcc_s.
|
||||
# Must not be used for linking installed binaries, to produce the
|
||||
# same binaries for bootstrapped and bootstrapping builds (the latter
|
||||
# with a GCC that does not build libgcc_s).
|
||||
-AC_CACHE_CHECK([whether $CC can link against -lgcc_s], libc_cv_have_libgcc_s, [dnl
|
||||
+# The compiler-reported runtime may be an absolute path rather than a bare
|
||||
+# library name, for example when using llvm-libgcc. Include the configured
|
||||
+# target-selection flags so multilib and compiler-rt builds query the
|
||||
+# matching runtime.
|
||||
+AC_CACHE_CHECK([whether $CC reports a usable libgcc_s], libc_cv_have_libgcc_s, [dnl
|
||||
old_LIBS="$LIBS"
|
||||
- LIBS="$LIBS -lgcc_s"
|
||||
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||
- [libc_cv_have_libgcc_s=yes], [libc_cv_have_libgcc_s=no])
|
||||
+ libc_cv_libgcc_s=`$CC $CFLAGS $LDFLAGS -print-file-name=libgcc_s.so 2>/dev/null`
|
||||
+ if test "x$libc_cv_libgcc_s" = "xlibgcc_s.so"; then
|
||||
+ libc_cv_have_libgcc_s=no
|
||||
+ else
|
||||
+ LIBS="$LIBS $libc_cv_libgcc_s"
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
|
||||
+ [libc_cv_have_libgcc_s=yes], [libc_cv_have_libgcc_s=no])
|
||||
+ fi
|
||||
LIBS="$old_LIBS"])
|
||||
LIBC_CONFIG_VAR([have-libgcc_s], [$libc_cv_have_libgcc_s])
|
||||
|
||||
diff -ruN a/dlfcn/Makefile b/dlfcn/Makefile
|
||||
--- a/dlfcn/Makefile 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/dlfcn/Makefile 2026-03-15 17:40:29.653172707 -0500
|
||||
@@ -187,7 +187,7 @@
|
||||
$(objpfx)bug-atexit2.out: $(objpfx)bug-atexit2-lib.so
|
||||
|
||||
ifneq (,$(CXX))
|
||||
-LDLIBS-bug-atexit3-lib.so = -lstdc++ -lgcc_eh
|
||||
+LDLIBS-bug-atexit3-lib.so = -lstdc++ $(libgcc_eh_archive)
|
||||
$(objpfx)bug-atexit3-lib.so: $(libsupport)
|
||||
$(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so
|
||||
endif
|
||||
diff -ruN a/elf/Makefile b/elf/Makefile
|
||||
--- a/elf/Makefile 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/elf/Makefile 2026-03-15 17:40:29.653314888 -0500
|
||||
@@ -1514,7 +1514,7 @@
|
||||
echo ".globl $$symbol"; \
|
||||
echo "$$symbol:"; \
|
||||
done | $(CC) -o $@T.o $(ASFLAGS) -c -x assembler -
|
||||
- $(reloc-link) -o $@.o $@T.o '-Wl,-(' $^ -lgcc '-Wl,-)' -Wl,-Map,$@T
|
||||
+ $(reloc-link) -o $@.o $@T.o '-Wl,-(' $^ $(libgcc) '-Wl,-)' -Wl,-Map,$@T
|
||||
rm -f %@T.o $@.o
|
||||
mv -f $@T $@
|
||||
|
||||
@@ -1544,7 +1544,7 @@
|
||||
$(MAKE) -f $< -f rtld-Rules
|
||||
|
||||
$(objpfx)librtld.os: $(objpfx)dl-allobjs.os $(objpfx)rtld-libc.a
|
||||
- $(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ -lgcc '-Wl,-)' \
|
||||
+ $(LINK.o) -nostdlib -nostartfiles -r -o $@ '-Wl,-(' $^ $(libgcc) '-Wl,-)' \
|
||||
-Wl,-Map,$@.map
|
||||
|
||||
generated += librtld.map librtld.mk rtld-libc.a librtld.os.map
|
||||
diff -ruN a/support/Makefile b/support/Makefile
|
||||
--- a/support/Makefile 2026-01-23 14:54:00.000000000 -0600
|
||||
+++ b/support/Makefile 2026-03-15 17:40:29.653481645 -0500
|
||||
@@ -284,14 +284,14 @@
|
||||
|
||||
ifeq (,$(CXX))
|
||||
LINKS_DSO_PROGRAM = links-dso-program-c
|
||||
-LDLIBS-links-dso-program-c = -lgcc
|
||||
+LDLIBS-links-dso-program-c = $(libgcc)
|
||||
ifeq ($(have-libgcc_s),yes)
|
||||
CFLAGS-links-dso-program-c.c += -fexceptions
|
||||
-LDLIBS-links-dso-program-c += -lgcc_s $(libunwind)
|
||||
+LDLIBS-links-dso-program-c += $(libgcc_s) $(libunwind)
|
||||
endif
|
||||
else
|
||||
LINKS_DSO_PROGRAM = links-dso-program
|
||||
-LDLIBS-links-dso-program = -lstdc++ -lgcc -lgcc_s $(libunwind)
|
||||
+LDLIBS-links-dso-program = -lstdc++ $(libgcc) $(libgcc_s) $(libunwind)
|
||||
endif
|
||||
|
||||
ifeq (yes,$(have-selinux))
|
||||
@@ -0,0 +1,72 @@
|
||||
Submitted By: Armin K. <krejzi at email dot com>
|
||||
Date: 2013-02-11
|
||||
Initial Package Version: 2.17
|
||||
Upstream Status: Not Applicable
|
||||
Origin: Self
|
||||
Description: This patch removes references to /var/db directory which is not part
|
||||
of FHS and replaces them with more suitable directories in /var
|
||||
hierarchy - /var/cache/nscd for nscd and /var/lib/nss_db for nss_db.
|
||||
|
||||
--- a/Makeconfig 2012-12-25 04:02:13.000000000 +0100
|
||||
+++ b/Makeconfig 2013-02-11 01:32:32.500667439 +0100
|
||||
@@ -250,7 +250,7 @@
|
||||
|
||||
# Directory for the database files and Makefile for nss_db.
|
||||
ifndef vardbdir
|
||||
-vardbdir = $(localstatedir)/db
|
||||
+vardbdir = $(localstatedir)/lib/nss_db
|
||||
endif
|
||||
inst_vardbdir = $(install_root)$(vardbdir)
|
||||
|
||||
--- a/nscd/nscd.h 2012-12-25 04:02:13.000000000 +0100
|
||||
+++ b/nscd/nscd.h 2013-02-11 01:32:32.500667439 +0100
|
||||
@@ -112,11 +112,11 @@
|
||||
|
||||
|
||||
/* Paths of the file for the persistent storage. */
|
||||
-#define _PATH_NSCD_PASSWD_DB "/var/db/nscd/passwd"
|
||||
-#define _PATH_NSCD_GROUP_DB "/var/db/nscd/group"
|
||||
-#define _PATH_NSCD_HOSTS_DB "/var/db/nscd/hosts"
|
||||
-#define _PATH_NSCD_SERVICES_DB "/var/db/nscd/services"
|
||||
-#define _PATH_NSCD_NETGROUP_DB "/var/db/nscd/netgroup"
|
||||
+#define _PATH_NSCD_PASSWD_DB "/var/cache/nscd/passwd"
|
||||
+#define _PATH_NSCD_GROUP_DB "/var/cache/nscd/group"
|
||||
+#define _PATH_NSCD_HOSTS_DB "/var/cache/nscd/hosts"
|
||||
+#define _PATH_NSCD_SERVICES_DB "/var/cache/nscd/services"
|
||||
+#define _PATH_NSCD_NETGROUP_DB "/var/cache/nscd/netgroup"
|
||||
|
||||
/* Path used when not using persistent storage. */
|
||||
#define _PATH_NSCD_XYZ_DB_TMP "/var/run/nscd/dbXXXXXX"
|
||||
--- a/nss/db-Makefile 2012-12-25 04:02:13.000000000 +0100
|
||||
+++ b/nss/db-Makefile 2013-02-11 01:32:32.500667439 +0100
|
||||
@@ -22,7 +22,7 @@
|
||||
/etc/rpc /etc/services /etc/shadow /etc/gshadow \
|
||||
/etc/netgroup)
|
||||
|
||||
-VAR_DB = /var/db
|
||||
+VAR_DB = /var/lib/nss_db
|
||||
|
||||
AWK = awk
|
||||
MAKEDB = makedb --quiet
|
||||
--- a/sysdeps/generic/paths.h 2012-12-25 04:02:13.000000000 +0100
|
||||
+++ b/sysdeps/generic/paths.h 2013-02-11 01:32:32.500667439 +0100
|
||||
@@ -68,7 +68,7 @@
|
||||
/* Provide trailing slash, since mostly used for building pathnames. */
|
||||
#define _PATH_DEV "/dev/"
|
||||
#define _PATH_TMP "/tmp/"
|
||||
-#define _PATH_VARDB "/var/db/"
|
||||
+#define _PATH_VARDB "/var/lib/nss_db/"
|
||||
#define _PATH_VARRUN "/var/run/"
|
||||
#define _PATH_VARTMP "/var/tmp/"
|
||||
|
||||
--- a/sysdeps/unix/sysv/linux/paths.h 2012-12-25 04:02:13.000000000 +0100
|
||||
+++ b/sysdeps/unix/sysv/linux/paths.h 2013-02-11 01:32:32.504000831 +0100
|
||||
@@ -68,7 +68,7 @@
|
||||
/* Provide trailing slash, since mostly used for building pathnames. */
|
||||
#define _PATH_DEV "/dev/"
|
||||
#define _PATH_TMP "/tmp/"
|
||||
-#define _PATH_VARDB "/var/db/"
|
||||
+#define _PATH_VARDB "/var/lib/nss_db/"
|
||||
#define _PATH_VARRUN "/var/run/"
|
||||
#define _PATH_VARTMP "/var/tmp/"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
--- a/sysdeps/unix/sysv/linux/x86/longjmp.c
|
||||
+++ b/sysdeps/unix/sysv/linux/x86/longjmp.c
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
/* Assert that the priv field in struct pthread_unwind_buf has space
|
||||
to store shadow stack pointer. */
|
||||
+#if defined SHADOW_STACK_POINTER_OFFSET && SHADOW_STACK_POINTER_OFFSET > 0
|
||||
_Static_assert ((offsetof (struct pthread_unwind_buf, priv)
|
||||
<= SHADOW_STACK_POINTER_OFFSET)
|
||||
&& ((offsetof (struct pthread_unwind_buf, priv)
|
||||
@@ -37,3 +38,4 @@
|
||||
+ SHADOW_STACK_POINTER_SIZE)),
|
||||
"Shadow stack pointer is not within private storage "
|
||||
"of pthread_unwind_buf.");
|
||||
+#endif
|
||||
@@ -0,0 +1,154 @@
|
||||
--- a/sysdeps/x86/fpu/sfp-machine.h
|
||||
+++ b/sysdeps/x86/fpu/sfp-machine.h
|
||||
@@ -2,6 +2,7 @@
|
||||
libgcc, with soft-float and other irrelevant parts removed. */
|
||||
|
||||
#include <math-inline-asm.h>
|
||||
+#include <fenv.h>
|
||||
|
||||
#if HAVE_X86_LIBGCC_CMP_RETURN_ATTR
|
||||
/* The type of the result of a floating point comparison. This must
|
||||
@@ -65,76 +66,82 @@
|
||||
# define _FP_WS_TYPE signed long int
|
||||
# define _FP_I_TYPE long int
|
||||
|
||||
+# ifdef __clang__
|
||||
+# define __SFP_REG(x) (x)
|
||||
+# else
|
||||
+# define __SFP_REG(x) ((USItype) (x))
|
||||
+# endif
|
||||
+
|
||||
# define __FP_FRAC_ADD_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \
|
||||
__asm__ ("add{l} {%11,%3|%3,%11}\n\t" \
|
||||
"adc{l} {%9,%2|%2,%9}\n\t" \
|
||||
"adc{l} {%7,%1|%1,%7}\n\t" \
|
||||
"adc{l} {%5,%0|%0,%5}" \
|
||||
- : "=r" ((USItype) (r3)), \
|
||||
- "=&r" ((USItype) (r2)), \
|
||||
- "=&r" ((USItype) (r1)), \
|
||||
- "=&r" ((USItype) (r0)) \
|
||||
- : "%0" ((USItype) (x3)), \
|
||||
- "g" ((USItype) (y3)), \
|
||||
- "%1" ((USItype) (x2)), \
|
||||
- "g" ((USItype) (y2)), \
|
||||
- "%2" ((USItype) (x1)), \
|
||||
- "g" ((USItype) (y1)), \
|
||||
- "%3" ((USItype) (x0)), \
|
||||
- "g" ((USItype) (y0)))
|
||||
+ : "=r" (__SFP_REG (r3)), \
|
||||
+ "=&r" (__SFP_REG (r2)), \
|
||||
+ "=&r" (__SFP_REG (r1)), \
|
||||
+ "=&r" (__SFP_REG (r0)) \
|
||||
+ : "%0" (__SFP_REG (x3)), \
|
||||
+ "g" (__SFP_REG (y3)), \
|
||||
+ "%1" (__SFP_REG (x2)), \
|
||||
+ "g" (__SFP_REG (y2)), \
|
||||
+ "%2" (__SFP_REG (x1)), \
|
||||
+ "g" (__SFP_REG (y1)), \
|
||||
+ "%3" (__SFP_REG (x0)), \
|
||||
+ "g" (__SFP_REG (y0)))
|
||||
# define __FP_FRAC_ADD_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
|
||||
__asm__ ("add{l} {%8,%2|%2,%8}\n\t" \
|
||||
"adc{l} {%6,%1|%1,%6}\n\t" \
|
||||
"adc{l} {%4,%0|%0,%4}" \
|
||||
- : "=r" ((USItype) (r2)), \
|
||||
- "=&r" ((USItype) (r1)), \
|
||||
- "=&r" ((USItype) (r0)) \
|
||||
- : "%0" ((USItype) (x2)), \
|
||||
- "g" ((USItype) (y2)), \
|
||||
- "%1" ((USItype) (x1)), \
|
||||
- "g" ((USItype) (y1)), \
|
||||
- "%2" ((USItype) (x0)), \
|
||||
- "g" ((USItype) (y0)))
|
||||
+ : "=r" (__SFP_REG (r2)), \
|
||||
+ "=&r" (__SFP_REG (r1)), \
|
||||
+ "=&r" (__SFP_REG (r0)) \
|
||||
+ : "%0" (__SFP_REG (x2)), \
|
||||
+ "g" (__SFP_REG (y2)), \
|
||||
+ "%1" (__SFP_REG (x1)), \
|
||||
+ "g" (__SFP_REG (y1)), \
|
||||
+ "%2" (__SFP_REG (x0)), \
|
||||
+ "g" (__SFP_REG (y0)))
|
||||
# define __FP_FRAC_SUB_4(r3,r2,r1,r0,x3,x2,x1,x0,y3,y2,y1,y0) \
|
||||
__asm__ ("sub{l} {%11,%3|%3,%11}\n\t" \
|
||||
"sbb{l} {%9,%2|%2,%9}\n\t" \
|
||||
"sbb{l} {%7,%1|%1,%7}\n\t" \
|
||||
"sbb{l} {%5,%0|%0,%5}" \
|
||||
- : "=r" ((USItype) (r3)), \
|
||||
- "=&r" ((USItype) (r2)), \
|
||||
- "=&r" ((USItype) (r1)), \
|
||||
- "=&r" ((USItype) (r0)) \
|
||||
- : "0" ((USItype) (x3)), \
|
||||
- "g" ((USItype) (y3)), \
|
||||
- "1" ((USItype) (x2)), \
|
||||
- "g" ((USItype) (y2)), \
|
||||
- "2" ((USItype) (x1)), \
|
||||
- "g" ((USItype) (y1)), \
|
||||
- "3" ((USItype) (x0)), \
|
||||
- "g" ((USItype) (y0)))
|
||||
+ : "=r" (__SFP_REG (r3)), \
|
||||
+ "=&r" (__SFP_REG (r2)), \
|
||||
+ "=&r" (__SFP_REG (r1)), \
|
||||
+ "=&r" (__SFP_REG (r0)) \
|
||||
+ : "0" (__SFP_REG (x3)), \
|
||||
+ "g" (__SFP_REG (y3)), \
|
||||
+ "1" (__SFP_REG (x2)), \
|
||||
+ "g" (__SFP_REG (y2)), \
|
||||
+ "2" (__SFP_REG (x1)), \
|
||||
+ "g" (__SFP_REG (y1)), \
|
||||
+ "3" (__SFP_REG (x0)), \
|
||||
+ "g" (__SFP_REG (y0)))
|
||||
# define __FP_FRAC_SUB_3(r2,r1,r0,x2,x1,x0,y2,y1,y0) \
|
||||
__asm__ ("sub{l} {%8,%2|%2,%8}\n\t" \
|
||||
"sbb{l} {%6,%1|%1,%6}\n\t" \
|
||||
"sbb{l} {%4,%0|%0,%4}" \
|
||||
- : "=r" ((USItype) (r2)), \
|
||||
- "=&r" ((USItype) (r1)), \
|
||||
- "=&r" ((USItype) (r0)) \
|
||||
- : "0" ((USItype) (x2)), \
|
||||
- "g" ((USItype) (y2)), \
|
||||
- "1" ((USItype) (x1)), \
|
||||
- "g" ((USItype) (y1)), \
|
||||
- "2" ((USItype) (x0)), \
|
||||
- "g" ((USItype) (y0)))
|
||||
+ : "=r" (__SFP_REG (r2)), \
|
||||
+ "=&r" (__SFP_REG (r1)), \
|
||||
+ "=&r" (__SFP_REG (r0)) \
|
||||
+ : "0" (__SFP_REG (x2)), \
|
||||
+ "g" (__SFP_REG (y2)), \
|
||||
+ "1" (__SFP_REG (x1)), \
|
||||
+ "g" (__SFP_REG (y1)), \
|
||||
+ "2" (__SFP_REG (x0)), \
|
||||
+ "g" (__SFP_REG (y0)))
|
||||
# define __FP_FRAC_ADDI_4(x3,x2,x1,x0,i) \
|
||||
__asm__ ("add{l} {%4,%3|%3,%4}\n\t" \
|
||||
"adc{l} {$0,%2|%2,0}\n\t" \
|
||||
"adc{l} {$0,%1|%1,0}\n\t" \
|
||||
"adc{l} {$0,%0|%0,0}" \
|
||||
- : "+r" ((USItype) (x3)), \
|
||||
- "+&r" ((USItype) (x2)), \
|
||||
- "+&r" ((USItype) (x1)), \
|
||||
- "+&r" ((USItype) (x0)) \
|
||||
- : "g" ((USItype) (i)))
|
||||
+ : "+r" (__SFP_REG (x3)), \
|
||||
+ "+&r" (__SFP_REG (x2)), \
|
||||
+ "+&r" (__SFP_REG (x1)), \
|
||||
+ "+&r" (__SFP_REG (x0)) \
|
||||
+ : "g" (__SFP_REG (i)))
|
||||
|
||||
|
||||
# define _FP_MUL_MEAT_S(R,X,Y) \
|
||||
@@ -210,12 +217,10 @@
|
||||
(FP_EX_INVALID | FP_EX_DENORM | FP_EX_DIVZERO | FP_EX_OVERFLOW \
|
||||
| FP_EX_UNDERFLOW | FP_EX_INEXACT)
|
||||
|
||||
-void __sfp_handle_exceptions (int);
|
||||
-
|
||||
#define FP_HANDLE_EXCEPTIONS \
|
||||
do { \
|
||||
if (__builtin_expect (_fex, 0)) \
|
||||
- __sfp_handle_exceptions (_fex); \
|
||||
+ __feraiseexcept (_fex & FE_ALL_EXCEPT); \
|
||||
} while (0);
|
||||
|
||||
#define FP_TRAPPING_EXCEPTIONS ((~_fcw >> FP_EX_SHIFT) & FP_EX_ALL)
|
||||
@@ -0,0 +1,127 @@
|
||||
[package]
|
||||
name = "glibc"
|
||||
version = "2.43"
|
||||
revision = 4
|
||||
description = "GNU C Library"
|
||||
homepage = "https://sourceware.org/glibc"
|
||||
license = "LGPL-2.1-or-later"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "nsswitch.conf"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "ld.so.conf"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "locale-gen"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "locale.gen.txt"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "glibc-longjmp-ssp-fix.patch"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "glibc-sfp-handle-exceptions-fix.patch"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "glibc-2.43-use-compiler-reported-libgcc.patch"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "ldd"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "lib32-postinstall.sh"
|
||||
sha256 = "skip"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "glibc-2.43-clang-math-barriers.patch"
|
||||
sha256 = "skip"
|
||||
|
||||
[[source]]
|
||||
url = "https://mirrors.kernel.org/gnu/glibc/glibc-$version.tar.xz"
|
||||
sha256 = "d9c86c6b5dbddb43a3e08270c5844fc5177d19442cf5b8df4be7c07cd5fa3831"
|
||||
extract_dir = "$name-$version"
|
||||
patches = ["glibc-fhs-1.patch","glibc-longjmp-ssp-fix.patch","glibc-sfp-handle-exceptions-fix.patch","glibc-2.43-use-compiler-reported-libgcc.patch", "glibc-2.43-clang-math-barriers.patch" ]
|
||||
post_extract = ["mkdir -p build", "echo 'rootsbindir=/usr/sbin' > build/configparms"]
|
||||
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
|
||||
prefix = "/usr"
|
||||
|
||||
configure = [
|
||||
"--disable-werror",
|
||||
"--disable-nscd",
|
||||
"libc_cv_slibdir=/usr/lib",
|
||||
"--enable-stack-protector=strong",
|
||||
"--enable-kernel=5.4",
|
||||
]
|
||||
|
||||
post_compile = [
|
||||
"sed '/test-installation/s@$(PERL)@echo not running@' -i Makefile",
|
||||
"touch ./locale/programs/charmap-kw.h",
|
||||
"touch ./locale/programs/locfile-kw.h"
|
||||
]
|
||||
|
||||
post_install = [
|
||||
"mkdir -p $DESTDIR/etc",
|
||||
"cp -rv $DEPOT_SPECDIR/ld.so.conf $DEPOT_SPECDIR/nsswitch.conf $DESTDIR/etc",
|
||||
"rm -f ${DESTDIR}/etc/ld.so.cache",
|
||||
|
||||
"install -dm755 \"${DESTDIR}\"/usr/share/i18n",
|
||||
"install -dm755 \"${DESTDIR}\"/usr/lib/locale",
|
||||
|
||||
"install -m644 posix/gai.conf \"${DESTDIR}\"/etc/gai.conf",
|
||||
"install -m755 \"${DEPOT_SPECDIR}\"/locale-gen \"${DESTDIR}\"/usr/bin",
|
||||
"install -m644 \"${DEPOT_SPECDIR}\"/locale.gen.txt \"${DESTDIR}\"/etc/locale.gen",
|
||||
|
||||
"sed -e '1,3d' -e 's|/| |g' -e 's|\\\\| |g' -e 's|^|#|g' localedata/SUPPORTED >> \"${DESTDIR}\"/etc/locale.gen",
|
||||
"sed -e '1,3d' -e 's|/| |g' -e 's| \\\\||g' localedata/SUPPORTED > \"${DESTDIR}\"/usr/share/i18n/SUPPORTED",
|
||||
|
||||
"sed -i '/#C\\.UTF-8 /d' \"${DESTDIR}\"/etc/locale.gen",
|
||||
"rm $DESTDIR/usr/bin/ldd",
|
||||
"install -m 0755 $DEPOT_SPECDIR/ldd $DESTDIR/usr/bin/ldd"
|
||||
]
|
||||
|
||||
use_lto = false
|
||||
|
||||
keep = [ "etc/locale.gen", "etc/ld.so.conf", "etc/nsswitch.conf", "etc/gai.conf" ]
|
||||
|
||||
# you can do the tests if you want, not me though...
|
||||
skip_tests = true
|
||||
|
||||
no_delete_static = true
|
||||
|
||||
build_32 = true
|
||||
|
||||
configure_lib32 = [
|
||||
"--disable-werror",
|
||||
"--disable-nscd",
|
||||
"libc_cv_slibdir=/usr/lib32",
|
||||
"libc_cv_cc_with_libunwind=no",
|
||||
"--enable-stack-protector=strong",
|
||||
"--enable-kernel=5.4",
|
||||
]
|
||||
|
||||
post_install_lib32 = [ "mkdir -p $DESTDIR/usr/include/gnu/", "install -vm644 destdir/usr/include/gnu/stubs-32.h destdir/usr/include/gnu/lib-names-32.h $DESTDIR/usr/include/gnu/" ]
|
||||
ldflags-lib32 += [ "-L/usr/lib32 -Wl,-rpath-link,/usr/lib32" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["filesystem", "tzdata", "linux-headers"]
|
||||
build = [ "python" ]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = ["filesystem", "tzdata", "linux-headers"]
|
||||
build = [ "python" ]
|
||||
@@ -0,0 +1,3 @@
|
||||
/usr/local/lib
|
||||
/opt/lib
|
||||
include /etc/ld.so.conf.d/*.conf
|
||||
+176
@@ -0,0 +1,176 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 1996-2026 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
# The GNU C Library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with the GNU C Library; if not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
# This is the `ldd' command, which lists what shared libraries are
|
||||
# used by given dynamically-linked executables. It works by invoking the
|
||||
# run-time dynamic linker as a command and setting the environment
|
||||
# variable LD_TRACE_LOADED_OBJECTS to a non-empty value.
|
||||
|
||||
RTLDLIST="/lib64/ld-linux-x86-64.so.2 /lib/ld-linux.so.2 /libx32/ld-linux-x32.so.2"
|
||||
warn=
|
||||
bind_now=
|
||||
verbose=
|
||||
unused=
|
||||
|
||||
while test $# -gt 0; do
|
||||
case "$1" in
|
||||
--vers | --versi | --versio | --version)
|
||||
echo 'ldd (GNU libc) 2.43'
|
||||
printf "Copyright (C) %s Free Software Foundation, Inc.\n\
|
||||
This is free software; see the source for copying conditions. There is NO\n\
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" "2024"
|
||||
printf "Written by %s and %s.\n" "Roland McGrath" "Ulrich Drepper"
|
||||
exit 0
|
||||
;;
|
||||
--h | --he | --hel | --help)
|
||||
echo "Usage: ldd [OPTION]... FILE...
|
||||
--help print this help and exit
|
||||
--version print version information and exit
|
||||
-d, --data-relocs process data relocations
|
||||
-r, --function-relocs process data and function relocations
|
||||
-u, --unused print unused direct dependencies
|
||||
-v, --verbose print all information
|
||||
"
|
||||
printf "For bug reporting instructions, please see:\\n%s.\\n" \
|
||||
"<https://www.gnu.org/software/libc/bugs.html>"
|
||||
exit 0
|
||||
;;
|
||||
-d | --d | --da | --dat | --data | --data- | --data-r | --data-re | \
|
||||
--data-rel | --data-relo | --data-reloc | --data-relocs)
|
||||
warn=yes
|
||||
shift
|
||||
;;
|
||||
-r | --f | --fu | --fun | --func | --funct | --functi | --functio | \
|
||||
--function | --function- | --function-r | --function-re | --function-rel | \
|
||||
--function-relo | --function-reloc | --function-relocs)
|
||||
warn=yes
|
||||
bind_now=yes
|
||||
shift
|
||||
;;
|
||||
-v | --verb | --verbo | --verbos | --verbose)
|
||||
verbose=yes
|
||||
shift
|
||||
;;
|
||||
-u | --u | --un | --unu | --unus | --unuse | --unused)
|
||||
unused=yes
|
||||
shift
|
||||
;;
|
||||
--v | --ve | --ver)
|
||||
echo >&2 "ldd: option \`$1' is ambiguous"
|
||||
exit 1
|
||||
;;
|
||||
--) # Stop option processing.
|
||||
shift; break
|
||||
;;
|
||||
-*)
|
||||
echo >&2 'ldd:' "unrecognized option" "\`$1'"
|
||||
echo >&2 "Try \`ldd --help' for more information."
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
nonelf ()
|
||||
{
|
||||
# Maybe extra code for non-ELF binaries.
|
||||
return 1;
|
||||
}
|
||||
|
||||
add_env="LD_TRACE_LOADED_OBJECTS=1 LD_WARN=$warn LD_BIND_NOW=$bind_now"
|
||||
add_env="$add_env LD_VERBOSE=$verbose"
|
||||
if test "$unused" = yes; then
|
||||
add_env="$add_env LD_DEBUG=\"$LD_DEBUG${LD_DEBUG:+,}unused\""
|
||||
fi
|
||||
|
||||
try_trace() (
|
||||
output=$(eval $add_env '"$@"' 2>&1; rc=$?; printf 'x'; exit $rc)
|
||||
rc=$?
|
||||
printf '%s' "${output%x}"
|
||||
return $rc
|
||||
)
|
||||
|
||||
case $# in
|
||||
0)
|
||||
echo >&2 'ldd:' "missing file arguments"
|
||||
echo >&2 "Try \`ldd --help' for more information."
|
||||
exit 1
|
||||
;;
|
||||
1)
|
||||
single_file=t
|
||||
;;
|
||||
*)
|
||||
single_file=f
|
||||
;;
|
||||
esac
|
||||
|
||||
result=0
|
||||
for file do
|
||||
test $single_file = t || echo "${file}:"
|
||||
case $file in
|
||||
*/*) : ;;
|
||||
*) file=./$file ;;
|
||||
esac
|
||||
if test ! -e "$file"; then
|
||||
echo "ldd: ${file}:" "No such file or directory" >&2
|
||||
result=1
|
||||
elif test ! -f "$file"; then
|
||||
echo "ldd: ${file}:" "not regular file" >&2
|
||||
result=1
|
||||
elif test -r "$file"; then
|
||||
test -x "$file" || echo 'ldd:' "\
|
||||
warning: you do not have execution permission for" "\`$file'" >&2
|
||||
RTLD=
|
||||
ret=1
|
||||
for rtld in ${RTLDLIST}; do
|
||||
if test -x $rtld; then
|
||||
verify_out=`${rtld} --verify "$file"`
|
||||
ret=$?
|
||||
case $ret in
|
||||
[02]) RTLD=${rtld}; break;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
case $ret in
|
||||
1)
|
||||
nonelf "$file" || {
|
||||
echo " not a dynamic executable" >&2
|
||||
result=1
|
||||
}
|
||||
;;
|
||||
0|2)
|
||||
try_trace "$RTLD" "$file" || result=1
|
||||
;;
|
||||
*)
|
||||
echo 'ldd:' ${RTLD} "exited with unknown exit code" "($ret)" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
echo 'ldd:' "error: you do not have read permission for" "\`$file'" >&2
|
||||
result=1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $result
|
||||
# Local Variables:
|
||||
# mode:sh
|
||||
# End:
|
||||
@@ -0,0 +1 @@
|
||||
echo "/usr/lib32" >> etc/ld.so.conf
|
||||
@@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
LOCALEGEN=/etc/locale.gen
|
||||
LOCALES=/usr/share/i18n/locales
|
||||
LOCALES_OVERRIDES=/usr/local/share/i18n/locales
|
||||
|
||||
if [ -n "$POSIXLY_CORRECT" ]; then
|
||||
unset POSIXLY_CORRECT
|
||||
fi
|
||||
|
||||
|
||||
[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0;
|
||||
|
||||
# Remove all old locale dir and locale-archive before generating new
|
||||
# locale data.
|
||||
rm -rf /usr/lib/locale/locale-archive || true
|
||||
|
||||
umask 022
|
||||
|
||||
is_entry_ok() {
|
||||
if [ -z "$locale" ] || [ -z "$charset" ]; then
|
||||
echo "error: Bad entry '$locale $charset'"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
echo "Generating locales..."
|
||||
while read -r locale charset; do
|
||||
if [ -z "$locale" ] || [ "${locale#\#}" != "$locale" ]; then continue; fi
|
||||
is_entry_ok || continue
|
||||
|
||||
# strip charmap and at-suffix for locale base
|
||||
locale_base="${locale%%.*}"
|
||||
locale_base="${locale_base%%@*}"
|
||||
|
||||
# optional at-suffix
|
||||
locale_at="${locale#*@}"
|
||||
[ "$locale_at" = "$locale" ] && locale_at= || locale_at="@$locale_at"
|
||||
|
||||
printf " %s.%s%s..." "$locale_base" "$charset" "$locale_at"
|
||||
|
||||
# fully matching override locale
|
||||
if [ -e "$LOCALES_OVERRIDES/$locale" ]; then
|
||||
input="$LOCALES_OVERRIDES/$locale"
|
||||
# fully matching vendor locale
|
||||
elif [ -e "$LOCALES/$locale" ]; then
|
||||
input="$locale"
|
||||
# fallback to partial matches
|
||||
else
|
||||
# locale base with optional at-suffix
|
||||
input="$locale_base$locale_at"
|
||||
# override partial locale
|
||||
if [ -e "$LOCALES_OVERRIDES/$input" ]; then
|
||||
input="$LOCALES_OVERRIDES/$input"
|
||||
fi
|
||||
fi
|
||||
|
||||
localedef -i "$input" -c -f "$charset" -A /usr/share/locale/locale.alias "$locale" || :
|
||||
echo ' done'
|
||||
done < $LOCALEGEN
|
||||
echo "Generation complete."
|
||||
@@ -0,0 +1,17 @@
|
||||
# Configuration file for locale-gen
|
||||
#
|
||||
# lists of locales that are to be generated by the locale-gen command.
|
||||
#
|
||||
# Each line is of the form:
|
||||
#
|
||||
# <locale> <charset>
|
||||
#
|
||||
# where <locale> is one of the locales given in /usr/share/i18n/locales
|
||||
# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
|
||||
#
|
||||
# The locale-gen command will generate all the locales,
|
||||
# placing them in /usr/lib/locale.
|
||||
#
|
||||
# A list of supported locales is given in /usr/share/i18n/SUPPORTED
|
||||
# and is included in this file. Uncomment the needed locales below.
|
||||
#
|
||||
@@ -0,0 +1,11 @@
|
||||
passwd: files
|
||||
group: files
|
||||
shadow: files
|
||||
|
||||
hosts: files dns
|
||||
networks: files
|
||||
|
||||
protocols: files
|
||||
services: files
|
||||
ethers: files
|
||||
rpc: files
|
||||
@@ -0,0 +1,42 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--enable-cxx",
|
||||
"--disable-static",
|
||||
"--enable-fat"
|
||||
]
|
||||
build_32 = true
|
||||
configure-lib32 = [
|
||||
"--enable-cxx",
|
||||
"--disable-static",
|
||||
"--enable-fat",
|
||||
"--includedir=/usr/lib32/gmp",
|
||||
"ABI=32"
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
"libcxx"
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [ "lib32-glibc", "lib32-libunwind", "lib32-libcxx" ]
|
||||
|
||||
[package]
|
||||
description = "arbitrary precision arithmetic math libs"
|
||||
homepage = "https://www.gnu.org/software/gmp/"
|
||||
license = [
|
||||
"GPL-2.0-or-later",
|
||||
"LGPL-3.0-or-later",
|
||||
]
|
||||
name = "gmp"
|
||||
version = "6.3.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "a3c2b80201b89e68616f4ad30bc66aee4927c3ce50e33929ca819d5c43538898"
|
||||
url = "https://gmplib.org/download/gmp/gmp-$version.tar.xz"
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "glibc", "libunwind" ]
|
||||
|
||||
[package]
|
||||
description = "generates a perfect hash function from a key set"
|
||||
homepage = "https://www.gnu.org/software/gperf/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "gperf"
|
||||
version = "3.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "fd87e0aba7e43ae054837afd6cd4db03a3f2693deb3619085e6ed9d8d9604ad8"
|
||||
url = "https://mirrors.kernel.org/gnu/gperf/gperf-$version.tar.gz"
|
||||
@@ -0,0 +1,21 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "glibc", "pcre2" ]
|
||||
|
||||
[package]
|
||||
description = "programs for searching through the contents of files"
|
||||
homepage = "https://www.gnu.org/software/grep/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "grep"
|
||||
version = "3.12"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "sha512:c54b4db5a8b9afe098c088decd94977746305284d716666a60bac82b4edc0fae4acf828970b5b6fc7d58ecd549f638e17e6958f33a71fedcc7d7415b9228b161"
|
||||
url = "https://mirrors.kernel.org/gnu/grep/grep-$version.tar.xz"
|
||||
post_extract = [ "sed -i 's/echo/#echo/' src/egrep.sh" ]
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["PAGE=letter"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"perl",
|
||||
"glibc",
|
||||
"libunwind"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "programs for processing and formatting text and images"
|
||||
homepage = "https://www.gnu.org/software/groff/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "groff"
|
||||
version = "1.23.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
|
||||
url = "https://mirrors.kernel.org/gnu/groff/groff-$version.tar.gz"
|
||||
@@ -0,0 +1,23 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "programs for compressing and decompressing files"
|
||||
homepage = "https://www.gnu.org/software/gzip/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "gzip"
|
||||
version = "1.14"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "01a7b881bd220bfdf615f97b8718f80bdfd3f6add385b993dcf6efd14e8c0ac6"
|
||||
url = "https://mirrors.kernel.org/gnu/gzip/gzip-$version.tar.xz"
|
||||
@@ -0,0 +1,2 @@
|
||||
mkdir -p $DESTDIR/etc
|
||||
cp -v services protocols $DESTDIR/etc
|
||||
@@ -0,0 +1,20 @@
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[build.flags]
|
||||
keep = [ "etc/protocols", "etc/services" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["filesystem"]
|
||||
|
||||
[package]
|
||||
description = "data for network services and protocols"
|
||||
homepage = "https://www.iana.org/protocols"
|
||||
license = "custom:none"
|
||||
name = "iana-etc"
|
||||
version = "20260202"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "32f1d8fb403b0afd8b2649dbdb3f5137ac5dd1262c72ec670249f54cc87e2900"
|
||||
url = "https://github.com/Mic92/iana-etc/releases/download/$version/iana-etc-$version.tar.gz"
|
||||
@@ -0,0 +1,62 @@
|
||||
diff --git a/icu/source/test/intltest/ssearch.cpp b/icu/source/test/intltest/ssearch.cpp
|
||||
index a13df7f..615ea53 100644
|
||||
--- a/icu/source/test/intltest/ssearch.cpp
|
||||
+++ b/icu/source/test/intltest/ssearch.cpp
|
||||
@@ -531,12 +531,26 @@ static char *printOffsets(char *buffer, size_t n, OrderList &list)
|
||||
|
||||
for(int32_t i = 0; i < size; i += 1) {
|
||||
const Order *order = list.get(i);
|
||||
+ size_t remaining = n - static_cast<size_t>(s - buffer);
|
||||
+
|
||||
+ if (remaining == 0) {
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
if (i != 0) {
|
||||
- s += snprintf(s, n, ", ");
|
||||
+ int32_t written = snprintf(s, remaining, ", ");
|
||||
+ if (written < 0 || static_cast<size_t>(written) >= remaining) {
|
||||
+ break;
|
||||
+ }
|
||||
+ s += written;
|
||||
+ remaining -= written;
|
||||
}
|
||||
|
||||
- s += snprintf(s, n, "(%d, %d)", order->lowOffset, order->highOffset);
|
||||
+ int32_t written = snprintf(s, remaining, "(%d, %d)", order->lowOffset, order->highOffset);
|
||||
+ if (written < 0 || static_cast<size_t>(written) >= remaining) {
|
||||
+ break;
|
||||
+ }
|
||||
+ s += written;
|
||||
}
|
||||
|
||||
return buffer;
|
||||
@@ -549,12 +563,26 @@ static char *printOrders(char *buffer, size_t n, OrderList &list)
|
||||
|
||||
for(int32_t i = 0; i < size; i += 1) {
|
||||
const Order *order = list.get(i);
|
||||
+ size_t remaining = n - static_cast<size_t>(s - buffer);
|
||||
+
|
||||
+ if (remaining == 0) {
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
if (i != 0) {
|
||||
- s += snprintf(s, n, ", ");
|
||||
+ int32_t written = snprintf(s, remaining, ", ");
|
||||
+ if (written < 0 || static_cast<size_t>(written) >= remaining) {
|
||||
+ break;
|
||||
+ }
|
||||
+ s += written;
|
||||
+ remaining -= written;
|
||||
}
|
||||
|
||||
- s += snprintf(s, n, "%8.8X", order->order);
|
||||
+ int32_t written = snprintf(s, remaining, "%8.8X", order->order);
|
||||
+ if (written < 0 || static_cast<size_t>(written) >= remaining) {
|
||||
+ break;
|
||||
+ }
|
||||
+ s += written;
|
||||
}
|
||||
|
||||
return buffer;
|
||||
@@ -0,0 +1,43 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
source_subdir = "icu/source"
|
||||
build_32 = true
|
||||
host_build = true
|
||||
configure_lib32 = [ "--with-cross-build=$DEPOT_BUILD_HOST_DIR" ]
|
||||
|
||||
[dependencies]
|
||||
build = ["python"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
"libunwind",
|
||||
"libcxx"
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
build = ["python"]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
"lib32-libunwind",
|
||||
"lib32-libcxx"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "International Components for Unicode, version 78"
|
||||
homepage = "https://icu.unicode.org/"
|
||||
license = "Unicode-3.0"
|
||||
name = "icu78"
|
||||
version = "78.2"
|
||||
revision = 2
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "3e99687b5c435d4b209630e2d2ebb79906c984685e78635078b672e03c89df35"
|
||||
url = "https://github.com/unicode-org/icu/releases/download/release-$version/icu4c-$version-sources.tgz"
|
||||
patches = [ "icu-78.2-fix-ssearch-fortify-overflow.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "icu-78.2-fix-ssearch-fortify-overflow.patch"
|
||||
sha256 = "b2:7de580c89edfdef1d191d9ffd796f5182ecd7b495a192f0280b0fddedb53fec7a9c7df28c4dbc86d1492db3fa6ff1fcd39c8363d7737710693e61bba2661d410"
|
||||
@@ -0,0 +1,39 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--bindir=/usr/bin",
|
||||
"--localstatedir=/var",
|
||||
"--disable-logger",
|
||||
"--disable-whois",
|
||||
"--disable-rcp",
|
||||
"--disable-rexec",
|
||||
"--disable-rlogin",
|
||||
"--disable-rsh",
|
||||
"--disable-servers",
|
||||
"--disable-hostname"
|
||||
]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"readline",
|
||||
"ncurses",
|
||||
"libcap",
|
||||
"pam",
|
||||
"libxcrypt"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "collection of common network programs"
|
||||
homepage = "https://www.gnu.org/software/inetutils/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "inetutils"
|
||||
version = "2.7"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "a156be1cde3c5c0ffefc262180d9369a60484087907aa554c62787d2f40ec086"
|
||||
url = "https://mirrors.kernel.org/gnu/inetutils/inetutils-$version.tar.gz"
|
||||
@@ -0,0 +1,18 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["perl-xml-parser"]
|
||||
|
||||
[package]
|
||||
description = "The internationalization tool collection"
|
||||
homepage = "https://launchpad.net/intltool"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "intltool"
|
||||
version = "0.51.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
|
||||
url = "https://launchpad.net/intltool/trunk/$version/+download/intltool-$version.tar.gz"
|
||||
post_extract = ['''sed -i 's:\\\${:\\\$\\{:' intltool-update.in''']
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -56,7 +56,7 @@
|
||||
#options for NETROM
|
||||
ADDLIB+=netrom_ntop.o
|
||||
|
||||
-CC := gcc
|
||||
+CC ?= gcc
|
||||
HOSTCC ?= $(CC)
|
||||
DEFINES += -D_GNU_SOURCE
|
||||
# Turn on transparent support for LFS
|
||||
@@ -0,0 +1,34 @@
|
||||
[build]
|
||||
type = "makefile"
|
||||
|
||||
[build.flags]
|
||||
makefile_commands = ["make NETNS_RUN_DIR=/run/netns"]
|
||||
makefile_install_commands = ["make SBINDIR=/usr/bin DESTDIR=$DESTDIR install"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"zlib-ng",
|
||||
"libelf",
|
||||
"libcap",
|
||||
"coreutils",
|
||||
"sh",
|
||||
]
|
||||
build = [ "linux-headers" ]
|
||||
|
||||
[package]
|
||||
description = "programs for basic and advanced IPV4-based networking"
|
||||
homepage = "https://git.kernel.org/pub/scm/network/iproute2/iproute2.git"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "iproute2"
|
||||
version = "6.19.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = [
|
||||
"sed -i /ARPD/d Makefile",
|
||||
"rm -fv man/man8/arpd.8",
|
||||
]
|
||||
sha256 = "9332213d35480b647086a70c302de8568de83455a98774d35de216c4ce191006"
|
||||
url = "https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-$version.tar.xz"
|
||||
patches = [ "clang.patch" ]
|
||||
@@ -0,0 +1,250 @@
|
||||
Submitted By: Matt Burgess
|
||||
Date: 2008-12-06
|
||||
Initial Package Version: 1.15
|
||||
Upstream Status: Not submitted, possibly incomplete
|
||||
Description: Makes Backspace and Delete keys consistent in all i386 keymaps.
|
||||
Makes the Backspace key send character code 127, and Delete send a well known
|
||||
escape sequence. Obsoletes the /etc/kbd/bs-sends-del file for i386.
|
||||
|
||||
Original patch for 1.12 by Alexander Patrakov.
|
||||
Updated for 1.13 (drop ru.map, the change is upstream, and add ru_win.map,
|
||||
ru-cp1251.map) by Ken Moffat <ken at linuxfromscratch dot org>.
|
||||
Re-diffed against 1.15 by Matt Burgess <matthew at linuxfromscratch.org>.
|
||||
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-l.map kbd-1.15/data/keymaps/i386/dvorak/dvorak-l.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-l.map 2008-06-20 12:36:01.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/dvorak/dvorak-l.map 2008-12-03 22:27:55.000000000 +0000
|
||||
@@ -43,7 +43,7 @@
|
||||
keycode 11 = three numbersign
|
||||
keycode 12 = two at
|
||||
keycode 13 = one exclam
|
||||
- keycode 14 = BackSpace Delete
|
||||
+ keycode 14 = Delete Delete
|
||||
! --------------------------------------------------------------------------
|
||||
! Row 3
|
||||
! --------------------------------------------------------------------------
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-r.map kbd-1.15/data/keymaps/i386/dvorak/dvorak-r.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/dvorak/dvorak-r.map 2008-06-20 12:36:01.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/dvorak/dvorak-r.map 2008-12-03 22:28:13.000000000 +0000
|
||||
@@ -43,7 +43,7 @@
|
||||
keycode 11 = slash question
|
||||
keycode 12 = bracketleft braceleft
|
||||
keycode 13 = bracketright braceright
|
||||
- keycode 14 = BackSpace Delete
|
||||
+ keycode 14 = Delete Delete
|
||||
! --------------------------------------------------------------------------
|
||||
! Row 3
|
||||
! --------------------------------------------------------------------------
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map kbd-1.15/data/keymaps/i386/fgGIod/tr_f-latin5.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/fgGIod/tr_f-latin5.map 2008-10-23 20:03:58.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/fgGIod/tr_f-latin5.map 2008-12-03 22:40:32.000000000 +0000
|
||||
@@ -51,7 +51,7 @@
|
||||
alt keycode 12 = Meta_minus
|
||||
keycode 13 = minus underscore
|
||||
alt keycode 13 = Meta_equal
|
||||
-keycode 14 = BackSpace Delete
|
||||
+keycode 14 = Delete Delete
|
||||
alt keycode 14 = Meta_Delete
|
||||
keycode 15 = Tab Meta_Tab
|
||||
alt keycode 15 = Meta_Tab
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/lt.l4.map kbd-1.15/data/keymaps/i386/qwerty/lt.l4.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/lt.l4.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/lt.l4.map 2008-12-03 22:42:14.000000000 +0000
|
||||
@@ -205,7 +205,7 @@
|
||||
# edit this if you want the key above <Enter> to delete symbols above
|
||||
# cursor, not before.
|
||||
keycode 14 = \
|
||||
- BackSpace BackSpace BackSpace BackSpace \
|
||||
+ Delete Delete Delete Delete \
|
||||
Delete Delete Delete Delete \
|
||||
Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
|
||||
Meta_Delete Meta_Delete Meta_Delete Meta_Delete
|
||||
@@ -506,7 +506,7 @@
|
||||
|
||||
# Edit this if you want strict VT100 emulation.
|
||||
string F111 = "\033[3$"
|
||||
-keycode 111 = Delete F111 Delete F111 \
|
||||
+keycode 111 = Remove F111 Remove F111 \
|
||||
Remove Remove Remove Remove \
|
||||
Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
|
||||
Boot Boot Boot Boot
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/lt.map kbd-1.15/data/keymaps/i386/qwerty/lt.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/lt.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/lt.map 2008-12-03 22:42:58.000000000 +0000
|
||||
@@ -204,7 +204,7 @@
|
||||
# edit this if you want the key above <Enter> to delete symbols above
|
||||
# cursor, not before.
|
||||
keycode 14 = \
|
||||
- BackSpace BackSpace BackSpace BackSpace \
|
||||
+ Delete Delete Delete Delete \
|
||||
Delete Delete Delete Delete \
|
||||
Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
|
||||
Meta_Delete Meta_Delete Meta_Delete Meta_Delete
|
||||
@@ -505,7 +505,7 @@
|
||||
|
||||
# Edit this if you want strict VT100 emulation.
|
||||
string F111 = "\033[3$"
|
||||
-keycode 111 = Delete F111 Delete F111 \
|
||||
+keycode 111 = Remove F111 Remove F111 \
|
||||
Remove Remove Remove Remove \
|
||||
Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
|
||||
Boot Boot Boot Boot
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/no-latin1.map kbd-1.15/data/keymaps/i386/qwerty/no-latin1.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/no-latin1.map 2008-06-20 12:36:00.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/no-latin1.map 2008-12-03 22:44:25.000000000 +0000
|
||||
@@ -3,7 +3,7 @@
|
||||
# Send comments to Kjetil T. Homme <kjetilho@ifi.uio.no>
|
||||
include "linux-with-alt-and-altgr"
|
||||
plain keycode 83 = KP_Comma
|
||||
- plain keycode 111 = Delete # "Remove" originally, weird...
|
||||
+ plain keycode 111 = Remove
|
||||
strings as usual
|
||||
|
||||
keycode 1 = Escape
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru1.map kbd-1.15/data/keymaps/i386/qwerty/ru1.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru1.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ru1.map 2008-12-03 22:45:32.000000000 +0000
|
||||
@@ -143,8 +143,8 @@
|
||||
|
||||
# The keycode "0xFF" is too dangerous for many programs (including emacs).
|
||||
# So let it be bracket instead of Hard Sign.
|
||||
-# altgr keycode 27 = +0xDF
|
||||
-# altgr shift keycode 27 = +0xFF
|
||||
+altgr keycode 27 = +0xDF
|
||||
+altgr shift keycode 27 = +0xFF
|
||||
control keycode 27 = Control_bracketright
|
||||
altgr control keycode 27 = Control_bracketright
|
||||
alt keycode 27 = Meta_bracketright
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru2.map kbd-1.15/data/keymaps/i386/qwerty/ru2.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru2.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ru2.map 2008-12-03 22:46:15.000000000 +0000
|
||||
@@ -46,7 +46,7 @@
|
||||
alt keycode 12 = Meta_minus
|
||||
keycode 13 = equal plus equal plus
|
||||
alt keycode 13 = Meta_equal
|
||||
- keycode 14 = BackSpace BackSpace BackSpace BackSpace
|
||||
+ keycode 14 = Delete Delete Delete Delete
|
||||
alt keycode 14 = Meta_Delete
|
||||
keycode 15 = Tab Tab Tab Tab
|
||||
alt keycode 15 = Meta_Tab
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru-cp1251.map kbd-1.15/data/keymaps/i386/qwerty/ru-cp1251.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru-cp1251.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ru-cp1251.map 2008-12-03 22:47:12.000000000 +0000
|
||||
@@ -39,7 +39,7 @@
|
||||
alt keycode 12 = Meta_minus
|
||||
keycode 13 = equal plus equal plus
|
||||
alt keycode 13 = Meta_equal
|
||||
- keycode 14 = BackSpace
|
||||
+ keycode 14 = Delete
|
||||
alt keycode 14 = Meta_Delete
|
||||
keycode 15 = Tab
|
||||
alt keycode 15 = Meta_Tab
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru-ms.map kbd-1.15/data/keymaps/i386/qwerty/ru-ms.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru-ms.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ru-ms.map 2008-12-03 22:48:10.000000000 +0000
|
||||
@@ -89,8 +89,8 @@
|
||||
altgr alt keycode 13 = Meta_equal
|
||||
shift alt keycode 13 = Meta_plus
|
||||
altgr shift alt keycode 13 = Meta_plus
|
||||
- keycode 14 = BackSpace BackSpace BackSpace BackSpace
|
||||
-# keycode 14 = Delete Delete Delete Delete
|
||||
+# keycode 14 = BackSpace BackSpace BackSpace BackSpace
|
||||
+ keycode 14 = Delete Delete Delete Delete
|
||||
alt keycode 14 = Meta_Delete
|
||||
altgr alt keycode 14 = Meta_Delete
|
||||
keycode 15 = Tab Tab Tab Tab
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ru_win.map kbd-1.15/data/keymaps/i386/qwerty/ru_win.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ru_win.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ru_win.map 2008-12-03 22:49:17.000000000 +0000
|
||||
@@ -42,7 +42,7 @@
|
||||
alt keycode 12 = Meta_minus
|
||||
keycode 13 = equal plus equal plus
|
||||
alt keycode 13 = Meta_equal
|
||||
- keycode 14 = BackSpace BackSpace BackSpace BackSpace
|
||||
+ keycode 14 = Delete Delete Delete Delete
|
||||
alt keycode 14 = Meta_Delete
|
||||
keycode 15 = Tab Tab Tab Tab
|
||||
alt keycode 15 = Meta_Tab
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/se-ir209.map kbd-1.15/data/keymaps/i386/qwerty/se-ir209.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/se-ir209.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/se-ir209.map 2008-12-03 22:50:18.000000000 +0000
|
||||
@@ -345,7 +345,7 @@
|
||||
keycode 109 = Next Scroll_Forward
|
||||
keycode 110 = Insert
|
||||
|
||||
- keycode 111 = Delete # "Remove" originally, weird...
|
||||
+ keycode 111 = Remove
|
||||
control alt keycode 111 = Boot
|
||||
control altgr keycode 111 = Boot
|
||||
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/se-lat6.map kbd-1.15/data/keymaps/i386/qwerty/se-lat6.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/se-lat6.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/se-lat6.map 2008-12-03 22:50:44.000000000 +0000
|
||||
@@ -374,6 +374,6 @@
|
||||
keycode 109 = Next Scroll_Forward
|
||||
keycode 110 = Insert
|
||||
|
||||
- keycode 111 = Delete # "Remove" originally, weird...
|
||||
+ keycode 111 = Remove
|
||||
control alt keycode 111 = Boot
|
||||
control altgr keycode 111 = Boot
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/tr_q-latin5.map kbd-1.15/data/keymaps/i386/qwerty/tr_q-latin5.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/tr_q-latin5.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/tr_q-latin5.map 2008-12-03 22:52:09.000000000 +0000
|
||||
@@ -49,7 +49,7 @@
|
||||
alt keycode 12 = Meta_minus
|
||||
keycode 13 = minus underscore
|
||||
alt keycode 13 = Meta_equal
|
||||
-keycode 14 = BackSpace Delete
|
||||
+keycode 14 = Delete Delete
|
||||
alt keycode 14 = Meta_Delete
|
||||
keycode 15 = Tab Meta_Tab
|
||||
alt keycode 15 = Meta_Tab
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua.map kbd-1.15/data/keymaps/i386/qwerty/ua.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ua.map 2008-12-03 22:52:52.000000000 +0000
|
||||
@@ -249,7 +249,7 @@
|
||||
shift ctrll ctrlr keycode 13 = plus
|
||||
alt ctrll ctrlr keycode 13 = Meta_equal
|
||||
shift alt ctrll ctrlr keycode 13 = Meta_plus
|
||||
-keycode 14 = BackSpace Delete
|
||||
+keycode 14 = Delete Delete
|
||||
control keycode 14 = BackSpace
|
||||
alt keycode 14 = Meta_Delete
|
||||
ctrlr keycode 14 = BackSpace
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf.map kbd-1.15/data/keymaps/i386/qwerty/ua-utf.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ua-utf.map 2008-12-03 22:53:36.000000000 +0000
|
||||
@@ -250,7 +250,7 @@
|
||||
shift ctrll ctrlr keycode 13 = plus
|
||||
alt ctrll ctrlr keycode 13 = Meta_equal
|
||||
shift alt ctrll ctrlr keycode 13 = Meta_plus
|
||||
-keycode 14 = BackSpace Delete
|
||||
+keycode 14 = Delete Delete
|
||||
control keycode 14 = BackSpace
|
||||
alt keycode 14 = Meta_Delete
|
||||
ctrlr keycode 14 = BackSpace
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf-ws.map kbd-1.15/data/keymaps/i386/qwerty/ua-utf-ws.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua-utf-ws.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ua-utf-ws.map 2008-12-03 22:54:06.000000000 +0000
|
||||
@@ -260,7 +260,7 @@
|
||||
shift ctrll ctrlr keycode 13 = plus
|
||||
alt ctrll ctrlr keycode 13 = Meta_equal
|
||||
shift alt ctrll ctrlr keycode 13 = Meta_plus
|
||||
-keycode 14 = BackSpace Delete
|
||||
+keycode 14 = Delete Delete
|
||||
control keycode 14 = BackSpace
|
||||
alt keycode 14 = Meta_Delete
|
||||
ctrlr keycode 14 = BackSpace
|
||||
diff -Naur kbd-1.15.orig/data/keymaps/i386/qwerty/ua-ws.map kbd-1.15/data/keymaps/i386/qwerty/ua-ws.map
|
||||
--- kbd-1.15.orig/data/keymaps/i386/qwerty/ua-ws.map 2008-10-23 20:03:59.000000000 +0100
|
||||
+++ kbd-1.15/data/keymaps/i386/qwerty/ua-ws.map 2008-12-03 22:54:23.000000000 +0000
|
||||
@@ -260,7 +260,7 @@
|
||||
shift ctrll ctrlr keycode 13 = plus
|
||||
alt ctrll ctrlr keycode 13 = Meta_equal
|
||||
shift alt ctrll ctrlr keycode 13 = Meta_plus
|
||||
-keycode 14 = BackSpace Delete
|
||||
+keycode 14 = Delete Delete
|
||||
control keycode 14 = BackSpace
|
||||
alt keycode 14 = Meta_Delete
|
||||
ctrlr keycode 14 = BackSpace
|
||||
@@ -0,0 +1,29 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-vlock"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"sh",
|
||||
"glibc",
|
||||
"coreutils",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "key-table files, console fonts, and keyboard utilities"
|
||||
homepage = "http://www.kbd-project.org"
|
||||
license = "GPL-2.0-or-later"
|
||||
name = "kbd"
|
||||
version = "2.9.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = ["kbd-2.9.0-backspace-1.patch"]
|
||||
post_extract = [
|
||||
"sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure",
|
||||
"sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in",
|
||||
]
|
||||
sha256 = "fb3197f17a99eb44d22a3a1a71f755f9622dd963e66acfdea1a45120951b02ed"
|
||||
url = "https://www.kernel.org/pub/linux/utils/kbd/kbd-$version.tar.xz"
|
||||
@@ -0,0 +1,38 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"--buildtype=release",
|
||||
"-Dmanpages=false",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"meson",
|
||||
"ninja",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"xz",
|
||||
"zlib-ng",
|
||||
"openssl",
|
||||
"zstd"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "libraries and utilities for loading kernel modules"
|
||||
homepage = "https://github.com/kmod-project/kmod"
|
||||
license = "LGPL-2.1-or-Later"
|
||||
name = "kmod"
|
||||
version = "34.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "5a5d5073070cc7e0c7a7a3c6ec2a0e1780850c8b47b3e3892226b93ffcb9cb54"
|
||||
url = "https://www.kernel.org/pub/linux/utils/kernel/kmod/kmod-$version.tar.xz"
|
||||
post_extract = [
|
||||
'''sed -i 's/\bstatic inline const char \*basename(/static inline const char *kmod_basename(/' shared/missing.h''',
|
||||
'''sed -i 's/\bbasename(/kmod_basename(/g' shared/util.c tools/depmod.c libkmod/libkmod-config.c testsuite/testsuite.c'''
|
||||
]
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--sysconfdir=/etc"]
|
||||
skip_tests = true
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"ncurses",
|
||||
"pcre2",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "terminal based program for viewing text files"
|
||||
homepage = "https://www.greenwoodsoftware.com/less/"
|
||||
license = "GPL-3.0-or-later OR LicenseRef-Less"
|
||||
name = "less"
|
||||
version = "692"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "61300f603798ecf1d7786570789f0ff3f5a1acf075a6fb9f756837d166e37d14"
|
||||
url = "https://www.greenwoodsoftware.com/less/less-$version.tar.gz"
|
||||
@@ -0,0 +1,54 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[alternatives]
|
||||
provides = [ "unzip" ]
|
||||
|
||||
[build.flags]
|
||||
configure = [ "-DBUILD_SHARED_LIBS=ON", "-G Ninja" ]
|
||||
post_install = ["ln -sfv bsdunzip $DESTDIR/usr/bin/unzip || true"]
|
||||
build_32 = true
|
||||
configure-lib32 = ["-DBUILD_SHARED_LIBS=ON", "-DENABLE_TEST=OFF", "-DENABLE_TAR=OFF", "-DENABLE_CPIO=OFF", "-DENABLE_CAT=OFF", "-DENABLE_UNZIP=OFF", "-G Ninja"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"acl",
|
||||
"bzip2",
|
||||
"openssl",
|
||||
"libxml215",
|
||||
"lz4",
|
||||
"xz",
|
||||
"zlib-ng",
|
||||
"zstd",
|
||||
]
|
||||
build = [ "cmake", "ninja" ]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
"lib32-acl",
|
||||
"lib32-bzip2",
|
||||
"lib32-openssl",
|
||||
"lib32-libxml215",
|
||||
"lib32-lz4",
|
||||
"lib32-xz",
|
||||
"lib32-zlib-ng",
|
||||
"lib32-zstd",
|
||||
]
|
||||
build = [ "cmake", "ninja" ]
|
||||
|
||||
[package]
|
||||
description = "Multi-format archive and compression library"
|
||||
homepage = "http://www.libarchive.org/"
|
||||
license = [
|
||||
"BSD-3-Clause",
|
||||
"BSD-2-Clause",
|
||||
]
|
||||
name = "libarchive"
|
||||
version = "3.8.6"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "sha256:8ac57c1f5e99550948d1fe755c806d26026e71827da228f36bef24527e372e6f"
|
||||
url = "https://github.com/libarchive/libarchive/releases/download/v$version/libarchive-$version.tar.xz"
|
||||
@@ -0,0 +1,29 @@
|
||||
[build]
|
||||
type = "makefile"
|
||||
|
||||
[build.flags]
|
||||
makefile_commands = ["make PREFIX=/usr LIBDIR=/usr/lib"]
|
||||
makefile_install_commands = ['make DESTDIR="$DESTDIR" PREFIX=/usr LIBDIR=/usr/lib install']
|
||||
build_32 = true
|
||||
no-remove-static = true
|
||||
build_dir = "build"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = ["lib32-glibc"]
|
||||
|
||||
[alternatives]
|
||||
provides = [ "libatomic" ]
|
||||
|
||||
[package]
|
||||
description = "replacement for GCC libatomic"
|
||||
homepage = "https://github.com/chimera-linux/libatomic-chimera"
|
||||
license = "Apache-2.0"
|
||||
name = "libatomic-chimera"
|
||||
version = "1.0.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/chimera-linux/libatomic-chimera.git"
|
||||
@@ -0,0 +1,12 @@
|
||||
diff '--color=auto' -ruN libcap-2.77.orig/Make.Rules libcap-2.77/Make.Rules
|
||||
--- libcap-2.77.orig/Make.Rules 2025-10-26 13:29:03.000000000 -0500
|
||||
+++ libcap-2.77/Make.Rules 2026-03-15 23:30:24.030620424 -0500
|
||||
@@ -85,7 +85,7 @@
|
||||
CPPFLAGS += -Dlinux $(DEFINES) $(LIBCAP_INCLUDES)
|
||||
LDFLAGS ?= # -g
|
||||
|
||||
-BUILD_CC ?= $(CC)
|
||||
+BUILD_CC ?= cc
|
||||
BUILD_LD ?= $(BUILD_CC) -Wl,-x -shared
|
||||
BUILD_COPTS ?= $(COPTS)
|
||||
BUILD_CFLAGS ?= $(BUILD_COPTS)
|
||||
@@ -0,0 +1,40 @@
|
||||
[build]
|
||||
type = "makefile"
|
||||
|
||||
[build.flags]
|
||||
makefile_commands = [
|
||||
"make prefix=/usr lib=lib CC=\"$CC\"",
|
||||
]
|
||||
build_32 = true
|
||||
|
||||
makefile_install_commands = [
|
||||
"make DESTDIR=\"$DESTDIR\" prefix=/usr lib=lib install CC=\"$CC\"",
|
||||
"mkdir -pv \"$DESTDIR/etc/security\"",
|
||||
"install -v -m644 pam_cap/capability.conf \"$DESTDIR/etc/security\"",
|
||||
]
|
||||
|
||||
keep = [ "etc/security/*" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "glibc", "pam" ]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [ "lib32-glibc", "lib32-pam" ]
|
||||
|
||||
[package]
|
||||
description = "userspace interface to the POSIX 1003.1e capabilities available in Linux kernels"
|
||||
homepage = "https://sites.google.com/site/fullycapable"
|
||||
license = "BSD-3-Clause OR GPL-2.0-only"
|
||||
name = "libcap"
|
||||
version = "2.77"
|
||||
revision = 3
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["sed -i '/install -m.*STA/d' libcap/Makefile"]
|
||||
sha256 = "5e339f5ab434bf5b7979f65437ca24942ddcd6e6a3e57347370cd791bc0ea51c"
|
||||
url = "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/snapshot/libcap-$version.tar.gz"
|
||||
patches = [ "no-bash.patch", "libcap-2.77-host-build-cc.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "postinstall.sh", "postupdate.sh", "libcap-2.77-host-build-cc.patch", "no-bash.patch" ]
|
||||
@@ -0,0 +1,211 @@
|
||||
From 364684d498f1679b12db03e1baa954b30e2640ad Mon Sep 17 00:00:00 2001
|
||||
From: q66 <q66@chimera-linux.org>
|
||||
Date: Sat, 30 Jul 2022 03:37:01 +0200
|
||||
Subject: [PATCH] ditch bash were possible
|
||||
|
||||
---
|
||||
contrib/sucap/su.c | 2 +-
|
||||
distcheck.sh | 4 ++--
|
||||
doc/capsh.1 | 2 +-
|
||||
doc/mkmd.sh | 4 +++-
|
||||
go/cgo-required.sh | 2 +-
|
||||
gomods.sh | 6 +++---
|
||||
progs/capsh.c | 2 +-
|
||||
progs/mkcapshdoc.sh | 10 +++++-----
|
||||
progs/quicktest.sh | 6 +++---
|
||||
tests/uns_test.c | 4 ++--
|
||||
10 files changed, 22 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/contrib/sucap/su.c b/contrib/sucap/su.c
|
||||
index c8cc05f..41062fc 100644
|
||||
--- a/contrib/sucap/su.c
|
||||
+++ b/contrib/sucap/su.c
|
||||
@@ -22,7 +22,7 @@
|
||||
#endif /* ndef PAM_APP_NAME */
|
||||
|
||||
#define DEFAULT_HOME "/"
|
||||
-#define DEFAULT_SHELL "/bin/bash"
|
||||
+#define DEFAULT_SHELL "/bin/sh"
|
||||
#define SLEEP_TO_KILL_CHILDREN 3 /* seconds to wait after SIGTERM before
|
||||
SIGKILL */
|
||||
#define SU_FAIL_DELAY 2000000 /* usec on authentication failure */
|
||||
diff --git a/distcheck.sh b/distcheck.sh
|
||||
index 3360e31..bfb8b9e 100755
|
||||
--- a/distcheck.sh
|
||||
+++ b/distcheck.sh
|
||||
@@ -1,9 +1,9 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
actual=$(wget -o/dev/null -O/dev/stdout https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/plain/include/uapi/linux/capability.h | grep "#define.CAP_LAST_CAP"|awk '{print $3}')
|
||||
working=$(grep "#define.CAP_LAST_CAP" libcap/include/uapi/linux/capability.h|awk '{print $3}')
|
||||
|
||||
-if [[ ${actual} = ${working} ]]; then
|
||||
+if [ "${actual}" = "${working}" ]; then
|
||||
echo "up to date with officially named caps"
|
||||
exit 0
|
||||
fi
|
||||
diff --git a/doc/capsh.1 b/doc/capsh.1
|
||||
index 4f3aaae..117fd76 100644
|
||||
--- a/doc/capsh.1
|
||||
+++ b/doc/capsh.1
|
||||
@@ -26,7 +26,7 @@ Display prevailing capability state, 1e capabilities and IAB vector.
|
||||
.TP
|
||||
.BI \-\- " [args]"
|
||||
Execute
|
||||
-.B /bin/bash
|
||||
+.B /bin/sh
|
||||
with trailing arguments. Note, you can use
|
||||
.B \-c 'command to execute'
|
||||
for specific commands.
|
||||
diff --git a/doc/mkmd.sh b/doc/mkmd.sh
|
||||
index 39beac9..11b8dc6 100755
|
||||
--- a/doc/mkmd.sh
|
||||
+++ b/doc/mkmd.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Handy script to rebuild the markdown version of the man pages.
|
||||
# This uses pandoc if it is installed.
|
||||
@@ -7,6 +7,8 @@
|
||||
#
|
||||
# cd md; for x in *.md ; do pandoc -s $x --metadata pagetitle="${x%.md}" -o ${x%.md}.html --lua-filter=../md2html.lua ; done
|
||||
|
||||
+exit 0
|
||||
+
|
||||
if [[ -z "$(which pandoc)" ]]; then
|
||||
echo "pandoc not found - skipping conversion"
|
||||
exit 0
|
||||
diff --git a/go/cgo-required.sh b/go/cgo-required.sh
|
||||
index f9afa52..00e7328 100755
|
||||
--- a/go/cgo-required.sh
|
||||
+++ b/go/cgo-required.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Runtime check for whether or not syscall.AllThreadsSyscall is
|
||||
# available to the working go runtime or not. If it isn't we always
|
||||
diff --git a/gomods.sh b/gomods.sh
|
||||
index 890cccd..392c9eb 100755
|
||||
--- a/gomods.sh
|
||||
+++ b/gomods.sh
|
||||
@@ -1,11 +1,11 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
version="${1}"
|
||||
-if [[ -z "${version}" ]]; then
|
||||
+if [ -z "${version}" ]; then
|
||||
echo "usage: supply a cap/psx module version to target"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for x in $(find . -name 'go.mod'); do
|
||||
- sed -i -e 's@kernel.org/\([^ ]*\) v.*$@kernel.org/\1 '"${version}@" "${x}"
|
||||
+ sed -i '' -e 's@kernel.org/\([^ ]*\) v.*$@kernel.org/\1 '"${version}@" "${x}"
|
||||
done
|
||||
diff --git a/progs/capsh.c b/progs/capsh.c
|
||||
index f753291..31909d1 100644
|
||||
--- a/progs/capsh.c
|
||||
+++ b/progs/capsh.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#ifndef SHELL
|
||||
-#define SHELL "/bin/bash"
|
||||
+#define SHELL "/bin/sh"
|
||||
#endif /* ndef SHELL */
|
||||
|
||||
#include "./capshdoc.h"
|
||||
diff --git a/progs/mkcapshdoc.sh b/progs/mkcapshdoc.sh
|
||||
index 8421685..47303b8 100755
|
||||
--- a/progs/mkcapshdoc.sh
|
||||
+++ b/progs/mkcapshdoc.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
# This script generates some C code for inclusion in the capsh binary.
|
||||
# The Makefile generally only generates the .c code and compares it
|
||||
# with the checked in code in the progs directory.
|
||||
@@ -13,12 +13,12 @@ cat<<EOF
|
||||
*/
|
||||
EOF
|
||||
|
||||
-let x=0
|
||||
+x=0
|
||||
while [ -f "../doc/values/${x}.txt" ]; do
|
||||
name=$(grep -F ",${x}}" ../libcap/cap_names.list.h|sed -e 's/{"//' -e 's/",/ = /' -e 's/},//')
|
||||
echo "static const char *explanation${x}[] = { /* ${name} */"
|
||||
sed -e 's/"/\\"/g' -e 's/^/ "/' -e 's/$/",/' "../doc/values/${x}.txt"
|
||||
- let x=1+${x}
|
||||
+ x=$(($x+1))
|
||||
echo " NULL"
|
||||
echo "};"
|
||||
done
|
||||
@@ -26,10 +26,10 @@ done
|
||||
cat<<EOF
|
||||
const char **explanations[] = {
|
||||
EOF
|
||||
-let y=0
|
||||
+y=0
|
||||
while [ "${y}" -lt "${x}" ]; do
|
||||
echo " explanation${y},"
|
||||
- let y=1+${y}
|
||||
+ y=$(($y+1))
|
||||
done
|
||||
cat<<EOF
|
||||
};
|
||||
diff --git a/progs/quicktest.sh b/progs/quicktest.sh
|
||||
index 776b175..cf6838e 100755
|
||||
--- a/progs/quicktest.sh
|
||||
+++ b/progs/quicktest.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Run through a series of tests to try out the various capability
|
||||
# manipulations possible through exec.
|
||||
@@ -157,7 +157,7 @@ pass_capsh --secbits=47 --inh=cap_setuid,cap_setgid --drop=cap_setuid \
|
||||
|
||||
# test that we do not support capabilities on setuid shell-scripts
|
||||
/bin/cat > hack.sh <<EOF
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
/usr/bin/id
|
||||
mypid=\$\$
|
||||
caps=\$(./getpcaps \$mypid 2>&1 | /usr/bin/cut -d: -f2)
|
||||
@@ -201,7 +201,7 @@ if [ $? -eq 0 ]; then
|
||||
|
||||
# test that shell scripts can inherit through ambient capabilities
|
||||
/bin/cat > hack.sh <<EOF
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
/usr/bin/id
|
||||
mypid=\$\$
|
||||
caps=\$(./getpcaps \$mypid 2>&1 | /usr/bin/cut -d: -f2)
|
||||
diff --git a/tests/uns_test.c b/tests/uns_test.c
|
||||
index 3fe73af..603daf9 100644
|
||||
--- a/tests/uns_test.c
|
||||
+++ b/tests/uns_test.c
|
||||
@@ -25,7 +25,7 @@ struct my_pipe {
|
||||
|
||||
static int child(void *data) {
|
||||
struct my_pipe *fdsp = data;
|
||||
- static const char * const args[] = {"bash", NULL};
|
||||
+ static const char * const args[] = {"sh", NULL};
|
||||
|
||||
close(fdsp->to[1]);
|
||||
close(fdsp->from[0]);
|
||||
@@ -48,7 +48,7 @@ static int child(void *data) {
|
||||
|
||||
setsid();
|
||||
|
||||
- execv("/bin/bash", (const void *) args);
|
||||
+ execv("/bin/sh", (const void *) args);
|
||||
perror("execv failed");
|
||||
exit(1);
|
||||
}
|
||||
--
|
||||
2.37.1
|
||||
@@ -0,0 +1,3 @@
|
||||
cat >> etc/pam.d/system-auth << "EOF"
|
||||
auth optional pam_cap.so
|
||||
EOF
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
file=etc/pam.d/system-auth
|
||||
line='auth optional pam_cap.so'
|
||||
|
||||
if [ -f "$file" ]; then
|
||||
if ! grep -F -x -q "$line" "$file"; then
|
||||
printf '%s\n' "$line" >> "$file"
|
||||
fi
|
||||
else
|
||||
printf '%s\n' "$line" > "$file"
|
||||
fi
|
||||
@@ -0,0 +1,29 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"ncurses",
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
"lib32-ncurses",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Command line editor library providing generic line editing, history, and tokenization functions"
|
||||
homepage = "https://thrysoee.dk/editline/"
|
||||
license = "BSD-3-Clause"
|
||||
name = "libedit"
|
||||
version = "20251016-3.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "21362b00653bbfc1c71f71a7578da66b5b5203559d43134d2dd7719e313ce041"
|
||||
url = "https://thrysoee.dk/editline/libedit-$version.tar.gz"
|
||||
@@ -0,0 +1,34 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-debuginfod",
|
||||
"--enable-libdebuginfod=dummy",
|
||||
]
|
||||
make_dirs = [ "lib", "libelf" ]
|
||||
make_install_dirs = [ "libelf" ]
|
||||
post_install = [ "mkdir -p $DESTDIR/usr/lib/pkgconfig", "install -vm644 config/libelf.pc $DESTDIR/usr/lib/pkgconfig", "rm $DESTDIR/usr/lib/libelf.a" ]
|
||||
# the tests fail with glibc 2.43
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"xz",
|
||||
"bzip2",
|
||||
"zlib-ng",
|
||||
"zstd"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Library to read, modify and create ELF files "
|
||||
homepage = "https://sourceware.org/elfutils/"
|
||||
license = "GPL-3.0-or-later AND ( GPL-2.0-or-later OR LGPL-3.0-or-later )"
|
||||
name = "libelf"
|
||||
version = "0.194"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "09e2ff033d39baa8b388a2d7fbc5390bfde99ae3b7c67c7daaf7433fbcf0f01e"
|
||||
url = "https://sourceware.org/elfutils/ftp/$version/elfutils-$version.tar.bz2"
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [ "--disable-static" ]
|
||||
build_32 = true
|
||||
configure-lib32 = [ "--disable-static" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
test = ["dejagnu"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [ "lib32-glibc" ]
|
||||
|
||||
[package]
|
||||
description = "portable, high level programming interface to various calling conventions"
|
||||
homepage = "https://sourceware.org/libffi/"
|
||||
license = "MIT"
|
||||
name = "libffi"
|
||||
version = "3.5.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc"
|
||||
url = "https://github.com/libffi/libffi/releases/download/v$version/libffi-$version.tar.gz"
|
||||
@@ -0,0 +1,39 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DREGEX_BACKEND=pcre2",
|
||||
"-DUSE_SSH=ON",
|
||||
"-Wno-dev",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"openssl",
|
||||
"libssh2",
|
||||
"pcre2",
|
||||
"python",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
"zlib-ng",
|
||||
"pcre2",
|
||||
"openssl",
|
||||
"libssh2"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "linkable library for Git"
|
||||
homepage = "https://github.com/libgit2/libgit2"
|
||||
license = "LicenseRef-GPL-2.0-only-with-linking-exception"
|
||||
name = "libgit2"
|
||||
version = "1.9.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "6f097c82fc06ece4f40539fb17e9d41baf1a5a2fc26b1b8562d21b89bc355fe6"
|
||||
url = "https://github.com/libgit2/libgit2/archive/refs/tags/v$version.tar.gz"
|
||||
@@ -0,0 +1,31 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
skip_tests = true
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunistring",
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
"lib32-libunistring",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "package designed for internationalized string handling based on standards from the Internet Engineering Task Force (IETF)'s IDN working group, designed for internationalized domain names"
|
||||
homepage = "https://www.gnu.org/software/libidn/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "libidn2"
|
||||
version = "2.3.8"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://mirrors.kernel.org/gnu/libidn/libidn2-$version.tar.gz"
|
||||
sha256 = "f557911bf6171621e1f72ff35f5b1825bb35b52ed45325dcdee931e5d3c0787a"
|
||||
@@ -0,0 +1,33 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--enable-lib-only",
|
||||
"--docdir=/usr/share/doc/nghttp2",
|
||||
]
|
||||
build_32 = true
|
||||
|
||||
configure-lib32 = [
|
||||
"--disable-static",
|
||||
"--enable-lib-only",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = ["lib32-glibc"]
|
||||
|
||||
[package]
|
||||
description = "implementation of HTTP/2 and its header compression algorithm, HPACK"
|
||||
homepage = "https://nghttp2.org/"
|
||||
license = "MIT"
|
||||
name = "libnghttp2"
|
||||
version = "1.68.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "5511d3128850e01b5b26ec92bf39df15381c767a63441438b25ad6235def902c"
|
||||
url = "https://github.com/nghttp2/nghttp2/releases/download/v$version/nghttp2-$version.tar.xz"
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [ "lib32-glibc", "lib32-libcxx" ]
|
||||
|
||||
[package]
|
||||
description = "HTTP/3 library written in C"
|
||||
homepage = "https://github.com/ngtcp2/nghttp3"
|
||||
license = "MIT"
|
||||
name = "libnghttp3"
|
||||
version = "1.15.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "6da0cd06b428d32a54c58137838505d9dc0371a900bb8070a46b29e1ceaf2e0f"
|
||||
url = "https://github.com/ngtcp2/nghttp3/releases/download/v$version/nghttp3-$version.tar.xz"
|
||||
post_extract = [ "autoreconf -i" ]
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "library for manipulating pipelines of subprocesses in a flexible and convenient way"
|
||||
homepage = "https://libpipeline.nongnu.org/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "libpipeline"
|
||||
version = "1.5.8"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "1b1203ca152ccd63983c3f2112f7fe6fa5afd453218ede5153d1b31e11bb8405"
|
||||
url = "https://download.savannah.nongnu.org/releases/libpipeline/libpipeline-$version.tar.gz"
|
||||
@@ -0,0 +1,36 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-Dc_args=-fvisibility=default",
|
||||
"-Dc_link_args=-fvisibility=default",
|
||||
]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
build = [ "python", "meson" ]
|
||||
runtime = [
|
||||
"libidn2",
|
||||
"libunistring",
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
build = [ "python", "meson" ]
|
||||
runtime = [
|
||||
"lib32-libidn2",
|
||||
"lib32-libunistring",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "library for accessing and resolving information from the Public Suffix List"
|
||||
homepage = "https://github.com/rockdaboot/libpsl/"
|
||||
license = "MIT"
|
||||
name = "libpsl"
|
||||
version = "0.21.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "1dcc9ceae8b128f3c0b3f654decd0e1e891afc6ff81098f227ef260449dae208"
|
||||
url = "https://github.com/rockdaboot/libpsl/releases/download/$version/libpsl-$version.tar.gz"
|
||||
@@ -0,0 +1,25 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [ "--disable-static" ]
|
||||
build_32 = true
|
||||
configure-lib32 = [ "--disable-static" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [ "lib32-glibc" ]
|
||||
|
||||
[package]
|
||||
description = "modern, portable, easy to use crypto library"
|
||||
homepage = "https://github.com/jedisct1/libsodium"
|
||||
license = "ISC"
|
||||
name = "libsodium"
|
||||
version = "1.0.21"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "sha256:9e4285c7a419e82dedb0be63a72eea357d6943bc3e28e6735bf600dd4883feaf"
|
||||
url = "https://github.com/jedisct1/libsodium/releases/download/$version-RELEASE/libsodium-$version.tar.gz"
|
||||
@@ -0,0 +1,31 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [ "--disable-docker-tests", "--with-crypto=openssl" ]
|
||||
build_32 = true
|
||||
configure-lib32 = [ "--disable-docker-tests", "--with-crypto=openssl" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"openssl",
|
||||
"zlib-ng",
|
||||
]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = [
|
||||
"lib32-openssl",
|
||||
"lib32-zlib-ng",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "library implementing the SSH2 protocol as defined by Internet Drafts"
|
||||
homepage = "https://www.libssh2.org/"
|
||||
license = "BSD-3-Clause"
|
||||
name = "libssh2"
|
||||
version = "1.11.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "9954cb54c4f548198a7cbebad248bdc87dd64bd26185708a294b2b50771e3769"
|
||||
url = "https://libssh2.org/download/libssh2-$version.tar.xz"
|
||||
@@ -0,0 +1,20 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "highly portable C library that encodes and decodes DER/BER data following an ASN.1 schema"
|
||||
homepage = "https://www.gnu.org/software/libtasn1/"
|
||||
license = "LGPL-2.1-or-Later"
|
||||
name = "libtasn1"
|
||||
version = "4.21.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "1d8a444a223cc5464240777346e125de51d8e6abf0b8bac742ac84609167dc87"
|
||||
url = "https://mirrors.kernel.org/gnu/libtasn1/libtasn1-$version.tar.gz"
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
"coreutils",
|
||||
]
|
||||
test = ["findutils"]
|
||||
|
||||
[package]
|
||||
description = "GNU generic library support script"
|
||||
homepage = "https://www.gnu.org/software/libtool/"
|
||||
license = "GPL-2.0-or-Later"
|
||||
name = "libtool"
|
||||
version = "2.5.4"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675"
|
||||
url = "https://mirrors.kernel.org/gnu/libtool/libtool-$version.tar.xz"
|
||||
|
||||
[build.flags]
|
||||
post_install = [ "rm -fv $DESTDIR/usr/lib/libltdl.a" ]
|
||||
skip_tests = true
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
skip_tests = true
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = ["lib32-glibc"]
|
||||
|
||||
[package]
|
||||
description = "library that provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard"
|
||||
homepage = "https://www.gnu.org/software/libunistring/"
|
||||
license = "GPL-2.0-or-later OR LGPL-3.0-or-later"
|
||||
name = "libunistring"
|
||||
version = "1.4.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "67d88430892527861903788868c77802a217b0959990f7449f2976126a307763"
|
||||
url = "https://mirrors.kernel.org/gnu/libunistring/libunistring-1.4.1.tar.xz"
|
||||
post_extract = [ '''sed -r '/_GL_EXTERN_C/s/w?memchr|bsearch/(&)/' -i $(find -name \*.in.h)''' ]
|
||||
@@ -0,0 +1,35 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--enable-hashes=strong,glibc",
|
||||
"--enable-obsolete-api=no",
|
||||
"--disable-static",
|
||||
"--disable-failure-tokens",
|
||||
"--disable-symvers"
|
||||
]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[dependencies.lib32]
|
||||
runtime = ["lib32-glibc"]
|
||||
|
||||
[package]
|
||||
description = "modern library for one-way hashing of passwords"
|
||||
homepage = "https://github.com/besser82/libxcrypt"
|
||||
license = "LGPL-2.1-or-Later"
|
||||
name = "libxcrypt"
|
||||
version = "4.5.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "71513a31c01a428bccd5367a32fd95f115d6dac50fb5b60c779d5c7942aec071"
|
||||
url = "https://github.com/besser82/libxcrypt/releases/download/v$version/libxcrypt-$version.tar.xz"
|
||||
post_extract = [
|
||||
"printf '#ifdef __clang__\\n#pragma clang diagnostic ignored \"-Wgnu-statement-expression-from-macro-expansion\"\\n#endif\\n' > /tmp/_pragma.h",
|
||||
"cat /tmp/_pragma.h lib/alg-yescrypt-opt.c > /tmp/_tmp.c && mv /tmp/_tmp.c lib/alg-yescrypt-opt.c",
|
||||
"sed -i '/strchr/s/const//' lib/crypt-sm3-yescrypt.c lib/crypt-gost-yescrypt.c"
|
||||
]
|
||||
@@ -0,0 +1,25 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
||||
Date: Wed, 4 Mar 2026 19:08:16 +0100
|
||||
Subject: [PATCH] catalog: Free xmlCatalogResolveCache on cleanup
|
||||
|
||||
Otherwise the `tstLastError.py` test will complain about a memory leak.
|
||||
|
||||
Fixes: b706c5c5b7ce11d002a5b77ff938aa3693931c12 (Add xmlCatalogResolveCache)
|
||||
Fixes: https://gitlab.gnome.org/GNOME/libxml2/-/issues/1069
|
||||
---
|
||||
catalog.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/catalog.c b/catalog.c
|
||||
index 8a5ca77a6ae1..bfaf099f47a4 100644
|
||||
--- a/catalog.c
|
||||
+++ b/catalog.c
|
||||
@@ -3338,6 +3338,7 @@ xmlCatalogCleanup(void) {
|
||||
if (xmlDebugCatalogs)
|
||||
xmlCatalogPrintDebug(
|
||||
"Catalogs cleanup\n");
|
||||
+ xmlResetCatalogResolveCache();
|
||||
if (xmlCatalogXMLFiles != NULL)
|
||||
xmlHashFree(xmlCatalogXMLFiles, xmlFreeCatalogHashEntryList);
|
||||
xmlCatalogXMLFiles = NULL;
|
||||
@@ -0,0 +1,62 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-Dhistory=enabled",
|
||||
"-Dicu=enabled",
|
||||
"-Dc_args=-D_GNU_SOURCE",
|
||||
]
|
||||
post_install = [
|
||||
'test -f $DESTDIR/usr/bin/xml2-config && sed "s/--static/--shared/" -i $DESTDIR/usr/bin/xml2-config || true',
|
||||
'test -f libxml.m4 && install -Dm644 libxml.m4 -t $DESTDIR/usr/share/aclocal || true',
|
||||
]
|
||||
build_32 = true
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python",
|
||||
"meson",
|
||||
"ninja",
|
||||
]
|
||||
runtime = [
|
||||
"sh",
|
||||
"glibc",
|
||||
"icu78",
|
||||
"readline",
|
||||
"zlib-ng",
|
||||
]
|
||||
optional = [ "python" ]
|
||||
|
||||
[dependencies.lib32]
|
||||
build = [
|
||||
"python",
|
||||
"meson",
|
||||
"ninja",
|
||||
]
|
||||
runtime = [
|
||||
"lib32-glibc",
|
||||
"lib32-icu78",
|
||||
"lib32-readline",
|
||||
"lib32-zlib-ng",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "libraries and utilities used for parsing XML files"
|
||||
homepage = "https://gitlab.gnome.org/GNOME/libxml2"
|
||||
license = "MIT"
|
||||
name = "libxml215"
|
||||
version = "2.15.2"
|
||||
revision = 1
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["""sed -i "/'git'/,+3d" meson.build"""]
|
||||
sha256 = "b2:e8adec751b6c8c8fd8358bee0c33159813601f6306b318314ffbf85324fa3ebeee2e838608a7fe365ffe4b82c4700f328fc27ae9a75cd7ed67cf256067542c2e"
|
||||
url = "https://download.gnome.org/sources/libxml2/2.15/libxml2-$version.tar.xz"
|
||||
patches = [ "0001-catalog-Free-xmlCatalogResolveCache-on-cleanup.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "0001-catalog-Free-xmlCatalogResolveCache-on-cleanup.patch" ]
|
||||
sha256 = "skip"
|
||||
@@ -0,0 +1,29 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"nasm",
|
||||
"mtools",
|
||||
"llvm",
|
||||
"clang",
|
||||
"git"
|
||||
]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[build.flags]
|
||||
no_flags = true
|
||||
configure = [ "--enable-all" ]
|
||||
|
||||
[package]
|
||||
description = "advanced, portable, multiprotocol bootloader"
|
||||
homepage = "https://limine-bootloader.org/"
|
||||
license = "BSD-2-Clause"
|
||||
name = "limine"
|
||||
version = "10.8.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://codeberg.org/Limine/limine.git#v$version"
|
||||
sha256 = "skip"
|
||||
post_extract = [ "./bootstrap" ]
|
||||
@@ -0,0 +1,255 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
other_destdir() {
|
||||
printf '%s\n' "${DEPOT_SUBDESTDIR_LINUX_FIRMWARE_OTHER:?build.sh: DEPOT_SUBDESTDIR_LINUX_FIRMWARE_OTHER is not set}"
|
||||
}
|
||||
|
||||
require_destdir() {
|
||||
printf '%s\n' "${DESTDIR:?build.sh: DESTDIR is not set}"
|
||||
}
|
||||
|
||||
move_from_other() {
|
||||
pkg=$1
|
||||
shift
|
||||
|
||||
srcroot=$(other_destdir)
|
||||
destroot=$(require_destdir)
|
||||
moved=0
|
||||
|
||||
for pattern in "$@"; do
|
||||
set -- "$srcroot"/$pattern
|
||||
for src in "$@"; do
|
||||
[ -e "$src" ] || [ -L "$src" ] || continue
|
||||
|
||||
rel=${src#$srcroot/}
|
||||
dst=$destroot/$rel
|
||||
|
||||
mkdir -p "$(dirname "$dst")"
|
||||
rm -rf "$dst"
|
||||
mv "$src" "$dst"
|
||||
moved=1
|
||||
done
|
||||
done
|
||||
|
||||
[ "$moved" -eq 1 ] || {
|
||||
echo "build.sh: no matches moved from linux-firmware-other for $pkg" >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
dedup_current_firmware() {
|
||||
destdir=$(require_destdir)
|
||||
|
||||
[ -d "$destdir/usr/lib/firmware" ] || return 0
|
||||
|
||||
make -C . \
|
||||
DESTDIR="$destdir" \
|
||||
FIRMWAREDIR=/usr/lib/firmware \
|
||||
dedup
|
||||
}
|
||||
|
||||
build_amd_ucode_img() {
|
||||
mkdir -p kernel/x86/microcode
|
||||
rm -f kernel/x86/microcode/AuthenticAMD.bin amd-ucode.img
|
||||
|
||||
find amd-ucode -maxdepth 1 -type f -name 'microcode_amd*.bin' | LC_ALL=C sort |
|
||||
while IFS= read -r blob; do
|
||||
cat "$blob" >> kernel/x86/microcode/AuthenticAMD.bin
|
||||
done
|
||||
|
||||
[ -s kernel/x86/microcode/AuthenticAMD.bin ] || {
|
||||
echo "build.sh: failed to assemble AuthenticAMD.bin" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
printf '%s\0' 'kernel/x86/microcode/AuthenticAMD.bin' |
|
||||
cpio --null -o -H newc --quiet > amd-ucode.img
|
||||
}
|
||||
|
||||
install_whence_payload() {
|
||||
destdir=$(require_destdir)
|
||||
|
||||
mkdir -p "$destdir/usr/share/licenses/linux-firmware"
|
||||
for file in WHENCE LICENSE* LICENCE* COPYING*; do
|
||||
[ -e "$file" ] || continue
|
||||
install -m644 "$file" "$destdir/usr/share/licenses/linux-firmware/${file##*/}"
|
||||
done
|
||||
}
|
||||
|
||||
depot_build() {
|
||||
build_amd_ucode_img
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_whence() {
|
||||
install_whence_payload
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_other() {
|
||||
destdir=$(require_destdir)
|
||||
|
||||
env ZSTD_CLEVEL=19 MAKEFLAGS= \
|
||||
make -C . \
|
||||
DESTDIR="$destdir" \
|
||||
FIRMWAREDIR=/usr/lib/firmware \
|
||||
install-zst
|
||||
}
|
||||
|
||||
depot_install_amd_ucode() {
|
||||
destdir=$(require_destdir)
|
||||
|
||||
move_from_other amd-ucode \
|
||||
'usr/lib/firmware/amd-ucode' \
|
||||
'usr/lib/firmware/amd-ucode/*'
|
||||
|
||||
dedup_current_firmware
|
||||
install -Dm644 amd-ucode.img "$destdir/boot/amd-ucode.img"
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_amdgpu() {
|
||||
move_from_other linux-firmware-amdgpu \
|
||||
'usr/lib/firmware/amdgpu' \
|
||||
'usr/lib/firmware/amdgpu/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_atheros() {
|
||||
move_from_other linux-firmware-atheros \
|
||||
'usr/lib/firmware/ar[0-9]*' \
|
||||
'usr/lib/firmware/ath*' \
|
||||
'usr/lib/firmware/carl9170*' \
|
||||
'usr/lib/firmware/htc_*' \
|
||||
'usr/lib/firmware/qca' \
|
||||
'usr/lib/firmware/qca/*' \
|
||||
'usr/lib/firmware/wil6210*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_broadcom() {
|
||||
move_from_other linux-firmware-broadcom \
|
||||
'usr/lib/firmware/bnx2*' \
|
||||
'usr/lib/firmware/brcm' \
|
||||
'usr/lib/firmware/brcm/*' \
|
||||
'usr/lib/firmware/cypress' \
|
||||
'usr/lib/firmware/cypress/*' \
|
||||
'usr/lib/firmware/tigon'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_cirrus() {
|
||||
move_from_other linux-firmware-cirrus \
|
||||
'usr/lib/firmware/cirrus' \
|
||||
'usr/lib/firmware/cirrus/*' \
|
||||
'usr/lib/firmware/cs42l43*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_intel() {
|
||||
move_from_other linux-firmware-intel \
|
||||
'usr/lib/firmware/e100' \
|
||||
'usr/lib/firmware/e100/*' \
|
||||
'usr/lib/firmware/hfi1_*' \
|
||||
'usr/lib/firmware/i915' \
|
||||
'usr/lib/firmware/i915/*' \
|
||||
'usr/lib/firmware/intel' \
|
||||
'usr/lib/firmware/intel/*' \
|
||||
'usr/lib/firmware/isci' \
|
||||
'usr/lib/firmware/isci/*' \
|
||||
'usr/lib/firmware/iwlwifi*' \
|
||||
'usr/lib/firmware/ixp4xx' \
|
||||
'usr/lib/firmware/ixp4xx/*' \
|
||||
'usr/lib/firmware/qat_*' \
|
||||
'usr/lib/firmware/xe' \
|
||||
'usr/lib/firmware/xe/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_liquidio() {
|
||||
move_from_other linux-firmware-liquidio \
|
||||
'usr/lib/firmware/liquidio' \
|
||||
'usr/lib/firmware/liquidio/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_marvell() {
|
||||
move_from_other linux-firmware-marvell \
|
||||
'usr/lib/firmware/libertas' \
|
||||
'usr/lib/firmware/libertas/*' \
|
||||
'usr/lib/firmware/mwl8k' \
|
||||
'usr/lib/firmware/mwl8k/*' \
|
||||
'usr/lib/firmware/mwlwifi' \
|
||||
'usr/lib/firmware/mwlwifi/*' \
|
||||
'usr/lib/firmware/mrvl' \
|
||||
'usr/lib/firmware/mrvl/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_mediatek() {
|
||||
move_from_other linux-firmware-mediatek \
|
||||
'usr/lib/firmware/mediatek' \
|
||||
'usr/lib/firmware/mediatek/*' \
|
||||
'usr/lib/firmware/mt7*' \
|
||||
'usr/lib/firmware/vpu_*' \
|
||||
'usr/lib/firmware/rt[237]*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_mellanox() {
|
||||
move_from_other linux-firmware-mellanox \
|
||||
'usr/lib/firmware/mellanox' \
|
||||
'usr/lib/firmware/mellanox/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_nfp() {
|
||||
move_from_other linux-firmware-nfp \
|
||||
'usr/lib/firmware/netronome' \
|
||||
'usr/lib/firmware/netronome/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_nvidia() {
|
||||
move_from_other linux-firmware-nvidia \
|
||||
'usr/lib/firmware/nvidia' \
|
||||
'usr/lib/firmware/nvidia/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_qcom() {
|
||||
move_from_other linux-firmware-qcom \
|
||||
'usr/lib/firmware/qcom' \
|
||||
'usr/lib/firmware/qcom/*' \
|
||||
'usr/lib/firmware/a300_*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_qlogic() {
|
||||
move_from_other linux-firmware-qlogic \
|
||||
'usr/lib/firmware/qlogic' \
|
||||
'usr/lib/firmware/qlogic/*' \
|
||||
'usr/lib/firmware/qed' \
|
||||
'usr/lib/firmware/qed/*' \
|
||||
'usr/lib/firmware/ql2???_*' \
|
||||
'usr/lib/firmware/cbfw-*' \
|
||||
'usr/lib/firmware/ctfw-*' \
|
||||
'usr/lib/firmware/ct2fw-*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_radeon() {
|
||||
move_from_other linux-firmware-radeon \
|
||||
'usr/lib/firmware/radeon' \
|
||||
'usr/lib/firmware/radeon/*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
|
||||
depot_install_linux_firmware_realtek() {
|
||||
move_from_other linux-firmware-realtek \
|
||||
'usr/lib/firmware/realtek' \
|
||||
'usr/lib/firmware/realtek/*' \
|
||||
'usr/lib/firmware/rtlwifi' \
|
||||
'usr/lib/firmware/rtlwifi/*' \
|
||||
'usr/lib/firmware/rtw8*' \
|
||||
'usr/lib/firmware/rtl_*'
|
||||
dedup_current_firmware
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
diff --git a/copy-firmware.sh b/copy-firmware.sh
|
||||
index 6a32127..7c1821e 100755
|
||||
--- a/copy-firmware.sh
|
||||
+++ b/copy-firmware.sh
|
||||
@@ -164,9 +164,10 @@ if [ "$num_jobs" -gt 1 ]; then
|
||||
parallel -j"$num_jobs" -a "$parallel_args_file"
|
||||
fi
|
||||
|
||||
-# Verify no broken symlinks
|
||||
-if test "$(find "$destdir" -xtype l | wc -l)" -ne 0 ; then
|
||||
- err "Broken symlinks found:\n$(find "$destdir" -xtype l)"
|
||||
+# Verify no broken symlinks without relying on non-portable find -xtype.
|
||||
+broken_links=$(find "$destdir" -type l ! -exec test -e {} \; -print)
|
||||
+if test -n "$broken_links"; then
|
||||
+ err "Broken symlinks found:\n$broken_links"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
@@ -0,0 +1,245 @@
|
||||
[package]
|
||||
name = "linux-firmware"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Default set"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "CC0-1.0"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-whence"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - WHENCE file (vendor licenses)"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-WHENCE"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-other"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Unsorted firmware for various devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-WHENCE"
|
||||
|
||||
[[packages]]
|
||||
name = "amd-ucode"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Microcode update image for AMD CPUs"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-amd-ucode"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-amdgpu"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for AMD Radeon GPUs"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = ["LicenseRef-amdgpu", "MIT"]
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-atheros"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Qualcomm Atheros WiFi and Bluetooth adapters"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = ["GPL-2.0-only", "LicenseRef-atheros"]
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-broadcom"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Broadcom and Cypress network adapters"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-broadcom"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-cirrus"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Cirrus Logic audio devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-cirrus"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-intel"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Intel devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = ["Apache-2.0", "GPL-2.0-only", "LicenseRef-intel"]
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-liquidio"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Cavium LiquidIO server adapters"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-liquidio"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-marvell"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Marvell devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-marvell"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-mediatek"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for MediaTek and Ralink devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-mediatek"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-mellanox"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Mellanox Spectrum switches"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-WHENCE"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-nfp"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Netronome Flow Processors"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-netronome"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-nvidia"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-nvidia"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-qcom"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Qualcomm SoCs"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = ["BSD-3-Clause", "LicenseRef-qcom"]
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-qlogic"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for QLogic devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-qlogic"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-radeon"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for ATI Radeon GPUs"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-radeon"
|
||||
|
||||
[[packages]]
|
||||
name = "linux-firmware-realtek"
|
||||
version = "20260309"
|
||||
revision = 1
|
||||
description = "Firmware files for Linux - Firmware for Realtek devices"
|
||||
homepage = "https://gitlab.com/kernel-firmware/linux-firmware"
|
||||
license = "LicenseRef-realtek"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "build.sh"
|
||||
|
||||
[[source]]
|
||||
url = "https://gitlab.com/kernel-firmware/linux-firmware.git#$version"
|
||||
sha256 = "skip"
|
||||
extract_dir = "$name"
|
||||
patches = ["linux-firmware-20260309-portable-find-symlink-check.patch"]
|
||||
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[build.flags]
|
||||
no_strip = true
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cpio",
|
||||
"git",
|
||||
"parallel",
|
||||
"python",
|
||||
"rdfind",
|
||||
]
|
||||
runtime = [
|
||||
"linux-firmware-amdgpu",
|
||||
"linux-firmware-atheros",
|
||||
"linux-firmware-broadcom",
|
||||
"linux-firmware-cirrus",
|
||||
"linux-firmware-intel",
|
||||
"linux-firmware-mediatek",
|
||||
"linux-firmware-nvidia",
|
||||
"linux-firmware-other",
|
||||
"linux-firmware-radeon",
|
||||
"linux-firmware-realtek",
|
||||
]
|
||||
optional = [
|
||||
"linux-firmware-liquidio",
|
||||
"linux-firmware-marvell",
|
||||
"linux-firmware-mellanox",
|
||||
"linux-firmware-nfp",
|
||||
"linux-firmware-qcom",
|
||||
"linux-firmware-qlogic",
|
||||
]
|
||||
|
||||
[package_dependencies.linux-firmware-amdgpu]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-atheros]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-broadcom]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-cirrus]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-intel]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-liquidio]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-marvell]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-mediatek]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-mellanox]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-nfp]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-nvidia]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-qcom]
|
||||
runtime = ["linux-firmware-atheros", "linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-qlogic]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-radeon]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_dependencies.linux-firmware-realtek]
|
||||
runtime = ["linux-firmware-whence"]
|
||||
|
||||
[package_alternatives.linux-firmware-broadcom]
|
||||
provides = ["linux-firmware-bnx2x"]
|
||||
conflicts = ["linux-firmware-bnx2x"]
|
||||
replaces = ["linux-firmware-bnx2x<=20250613.12fe085f-4"]
|
||||
@@ -0,0 +1,31 @@
|
||||
[package]
|
||||
name = "linux-headers"
|
||||
version = "6.19.3"
|
||||
revision = 1
|
||||
description = "Kernel headers sanitized for use in userspace"
|
||||
homepage = "https://www.kernel.org"
|
||||
license = "GPL-2.0-only"
|
||||
|
||||
[[source]]
|
||||
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$version.tar.xz"
|
||||
sha256 = "0e474968adfcbee32916fd01a89d8ccfd1168d8d32569e76a5c664c793198ebe"
|
||||
extract_dir = "$name-$version"
|
||||
patches = []
|
||||
|
||||
[build]
|
||||
type = "makefile"
|
||||
|
||||
[build.flags]
|
||||
makefile_commands = [
|
||||
"LLVM=1 make mrproper",
|
||||
"LLVM=1 make ARCH=$CARCH headers",
|
||||
]
|
||||
|
||||
makefile_install_commands = [
|
||||
"find usr/include -type f ! -name '*.h' -delete",
|
||||
"mkdir -p \"$DESTDIR/usr\"",
|
||||
"cp -rv usr/include \"$DESTDIR/usr\"",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "filesystem" ]
|
||||
@@ -0,0 +1,11 @@
|
||||
cp ../config.$CARCH .config
|
||||
LLVM=1 make olddefconfig
|
||||
LLVM=1 make -s kernelrelease > version
|
||||
LLVM=1 make all
|
||||
echo "Installing Kernel..."
|
||||
install -Dm644 "$(make -s image_name)" "$DESTDIR/boot/vmlinuz-linux-vertex"
|
||||
echo "Installing modules..."
|
||||
ZSTD_CLEVEL=22 LLVM=1 make INSTALL_MOD_PATH="$DESTDIR/usr" INSTALL_MOD_STRIP=1 DEPMOD=/doesnt/exist modules_install
|
||||
find "$DESTDIR/usr/lib/modules" -mindepth 2 -maxdepth 2 \( -name build -o -name source \) -exec rm -rf -- {} +
|
||||
kver="$(LLVM=1 make -s kernelrelease)"
|
||||
ln -sfn "../../../../boot/vmlinuz-linux-vertex" "$DESTDIR/usr/lib/modules/$kver/vmlinuz"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,46 @@
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[build.flags]
|
||||
no_strip = true
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"bc",
|
||||
"cpio",
|
||||
"gettext",
|
||||
"perl",
|
||||
"python",
|
||||
"libelf",
|
||||
"rust",
|
||||
"rust-bindgen",
|
||||
"tar",
|
||||
"xz",
|
||||
"zstd",
|
||||
"openssl",
|
||||
]
|
||||
optional = [
|
||||
"linux-firmware",
|
||||
"linux-headers",
|
||||
]
|
||||
runtime = [
|
||||
"coreutils",
|
||||
"kmod",
|
||||
"initramfs",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "The Linux Kernel + Modules"
|
||||
homepage = "https://www.kernel.org"
|
||||
license = "GPL-2.0-Only"
|
||||
name = "linux"
|
||||
version = "6.19.5"
|
||||
revision = 3
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "95ae05c8c709e353c0e8506c072efc5598d85b8b7b564a1ebac7ee8345042ffa"
|
||||
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-$version.tar.xz"
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "build.sh", "config.$CARCH" ]
|
||||
@@ -0,0 +1,51 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "The LLVM Project, LLVM-Libgcc, Clang, and Libc++"
|
||||
homepage = "https://llvm.org/"
|
||||
license = "Apache-2.0"
|
||||
name = "llvm"
|
||||
version = "21.1.8"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "sha256:4633a23617fa31a3ea51242586ea7fb1da7140e426bd62fc164261fe036aa142"
|
||||
url = "https://github.com/llvm/llvm-project/releases/download/llvmorg-$version/llvm-project-$version.src.tar.xz"
|
||||
|
||||
[build.flags]
|
||||
source_subdir = "llvm"
|
||||
configure = [
|
||||
"-DCMAKE_C_COMPILER=$CC",
|
||||
"-DCMAKE_CXX_COMPILER=$CXX",
|
||||
"-DCMAKE_INSTALL_PREFIX=/usr",
|
||||
"-DLLVM_ENABLE_PROJECTS=clang;lld",
|
||||
"-DLLVM_ENABLE_LIBCXX=ON",
|
||||
"-DLLVM_ENABLE_ZSTD=OFF",
|
||||
"-DLLVM_USE_LINKER=lld",
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-sfg-linux-gnu",
|
||||
"-DLLVM_TARGETS_TO_BUILD=X86",
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
|
||||
"-DCLANG_DEFAULT_CXX_STDLIB=libc++",
|
||||
"-DCLANG_DEFAULT_UNWINDLIB=libunwind",
|
||||
"-DLLVM_INSTALL_BINUTILS_SYMLINKS=ON",
|
||||
"-DCMAKE_SYSROOT=$DEPOT_ROOTFS",
|
||||
"-DCMAKE_FIND_ROOT_PATH=$DEPOT_ROOTFS",
|
||||
"-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY",
|
||||
"-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY",
|
||||
"-DCMAKE_CXX_FLAGS='--stdlib=libc++'",
|
||||
"-DCMAKE_FIND_ROOT_PATH_MODE_PACKAGE=ONLY",
|
||||
"-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER",
|
||||
"-DCMAKE_INSTALL_RPATH=/usr/lib;/lib",
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=OFF",
|
||||
"-DLLVM_TABLEGEN=/mnt/nvme/tools/bin/llvm-tblgen",
|
||||
"-DCLANG_TABLEGEN=/mnt/nvme/tools/bin/clang-tblgen",
|
||||
"-DLLVM_CONFIG_PATH=/mnt/nvme/tools/bin/llvm-config",
|
||||
"-DLLVM_NATIVE_TOOL_DIR=/mnt/nvme/tools/bin",
|
||||
"-DPKG_CONFIG_EXECUTABLE=/mnt/nvme/tools/bin/pkg-config",
|
||||
"-G Ninja"
|
||||
]
|
||||
@@ -0,0 +1,37 @@
|
||||
From 9779b878973501138a7ac60671ea791dde0ea029 Mon Sep 17 00:00:00 2001
|
||||
From: q66 <q66@chimera-linux.org>
|
||||
Date: Sat, 4 Nov 2023 08:44:01 +0100
|
||||
Subject: [PATCH 01/29] llvm: always set a larger stack size explicitly
|
||||
|
||||
---
|
||||
llvm/lib/Support/Threading.cpp | 14 --------------
|
||||
1 file changed, 14 deletions(-)
|
||||
|
||||
diff --git a/llvm/lib/Support/Threading.cpp b/llvm/lib/Support/Threading.cpp
|
||||
index 693de0e64..dd3e76fb8 100644
|
||||
--- a/llvm/lib/Support/Threading.cpp
|
||||
+++ b/llvm/lib/Support/Threading.cpp
|
||||
@@ -75,21 +75,7 @@ unsigned llvm::ThreadPoolStrategy::compute_thread_count() const {
|
||||
// keyword.
|
||||
#include "llvm/Support/thread.h"
|
||||
|
||||
-#if defined(__APPLE__)
|
||||
- // Darwin's default stack size for threads except the main one is only 512KB,
|
||||
- // which is not enough for some/many normal LLVM compilations. This implements
|
||||
- // the same interface as std::thread but requests the same stack size as the
|
||||
- // main thread (8MB) before creation.
|
||||
const std::optional<unsigned> llvm::thread::DefaultStackSize = 8 * 1024 * 1024;
|
||||
-#elif defined(_AIX)
|
||||
- // On AIX, the default pthread stack size limit is ~192k for 64-bit programs.
|
||||
- // This limit is easily reached when doing link-time thinLTO. AIX library
|
||||
- // developers have used 4MB, so we'll do the same.
|
||||
-const std::optional<unsigned> llvm::thread::DefaultStackSize = 4 * 1024 * 1024;
|
||||
-#else
|
||||
-const std::optional<unsigned> llvm::thread::DefaultStackSize;
|
||||
-#endif
|
||||
-
|
||||
|
||||
#endif
|
||||
|
||||
--
|
||||
2.51.1
|
||||
@@ -0,0 +1,230 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
jobs() {
|
||||
if command -v nproc >/dev/null 2>&1; then
|
||||
nproc
|
||||
else
|
||||
getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1
|
||||
fi
|
||||
}
|
||||
|
||||
target_triple() {
|
||||
printf '%s\n' "${CHOST:-x86_64-sfg-linux-gnu}"
|
||||
}
|
||||
|
||||
assert_destdir() {
|
||||
[ "${DESTDIR:-}" != "" ] || {
|
||||
echo "build.sh: DESTDIR is not set" >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
haul_from_primary() {
|
||||
pkg=$1
|
||||
shift
|
||||
old_destdir=$DESTDIR
|
||||
DESTDIR=$DEPOT_PRIMARY_DESTDIR
|
||||
export DESTDIR
|
||||
haul "$pkg" "$@"
|
||||
DESTDIR=$old_destdir
|
||||
export DESTDIR
|
||||
}
|
||||
|
||||
depot_build() {
|
||||
j=$(jobs)
|
||||
triple=$(target_triple)
|
||||
|
||||
cmake -G Ninja llvm \
|
||||
-B build-clang-llvm \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER="$CC" \
|
||||
-DCMAKE_CXX_COMPILER="$CXX" \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_SKIP_INSTALL_RPATH=ON \
|
||||
-DLLVM_ENABLE_PROJECTS=clang\;lld\;flang \
|
||||
-DLLVM_ENABLE_RUNTIMES=compiler-rt \
|
||||
-DLLVM_USE_LINKER=lld \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE="$triple" \
|
||||
-DLLVM_BUILD_LLVM_DYLIB=ON \
|
||||
-DLLVM_LINK_LLVM_DYLIB=ON \
|
||||
-DCLANG_LINK_CLANG_DYLIB=ON \
|
||||
-DLLVM_ENABLE_RTTI=ON \
|
||||
-DLLVM_ENABLE_FFI=ON \
|
||||
-DCLANG_DEFAULT_PIE_ON_LINUX=ON \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF \
|
||||
-DCLANG_DEFAULT_CXX_STDLIB=libc++ \
|
||||
-DCOMPILER_RT_BUILD_GWP_ASAN=OFF \
|
||||
-DLLVM_INCLUDE_UTILS=ON \
|
||||
-DLLVM_BUILD_UTILS=ON \
|
||||
-DSANITIZER_CXX_ABI=libcxxabi \
|
||||
-DLLVM_INSTALL_BINUTILS_SYMLINKS=ON \
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_ONLY=OFF \
|
||||
-DCOMPILER_RT_BUILD_BUILTINS=ON \
|
||||
-DLLVM_INSTALL_UTILS=ON \
|
||||
-DCLANG_DEFAULT_UNWINDLIB="none" \
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS=ON \
|
||||
-DCOMPILER_RT_BUILD_XRAY=ON \
|
||||
-DCOMPILER_RT_BUILD_LIBFUZZER=ON \
|
||||
-DCOMPILER_RT_BUILD_PROFILE=ON \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=ON \
|
||||
-DCOMPILER_RT_BUILD_ORC=ON \
|
||||
-DCOMPILER_RT_BUILD_CRT=ON \
|
||||
-DLLVM_BUILD_DOCS=ON \
|
||||
-DCMAKE_INSTALL_DOCDIR=share/doc \
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
-DLLVM_ENABLE_SPHINX=ON \
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_ARCH="i686;x86_64" \
|
||||
-DCLANG_DEFAULT_RTLIB=compiler-rt \
|
||||
-DLLVM_INCLUDE_TESTS=ON
|
||||
|
||||
ninja -C build-clang-llvm -j"$j"
|
||||
|
||||
cmake -G Ninja runtimes/ \
|
||||
-B build-libcxx \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_COMPILER="$CC" \
|
||||
-DCMAKE_CXX_COMPILER="$CXX" \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DLLVM_ENABLE_RUNTIMES=libcxx\;libcxxabi\;libunwind \
|
||||
-DCMAKE_C_COMPILER_TARGET="$triple" \
|
||||
-DCMAKE_CXX_COMPILER_TARGET="$triple" \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE="$triple" \
|
||||
-DLLVM_ENABLE_LTO=Thin \
|
||||
-DLLVM_ENABLE_SPHINX=ON \
|
||||
-DLIBCXX_INCLUDE_DOCS=ON \
|
||||
-DCMAKE_INSTALL_DOCDIR=share/doc \
|
||||
-DSPHINX_WARNINGS_AS_ERRORS=OFF \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -unwindlib=libunwind -rtlib=compiler-rt" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -unwindlib=libunwind -rtlib=compiler-rt"
|
||||
|
||||
ninja -C build-libcxx -j"$j"
|
||||
|
||||
cmake -G Ninja llvm-libgcc \
|
||||
-DCMAKE_C_COMPILER="$CC" \
|
||||
-DCMAKE_CXX_COMPILER="$CXX" \
|
||||
-B build-llvm-libgcc \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=lib \
|
||||
-DCOMPILER_RT_BUILD_BUILTINS=ON \
|
||||
-DCOMPILER_RT_BUILD_LIBUNWIND=ON \
|
||||
-DCOMPILER_RT_BUILD_XRAY=OFF \
|
||||
-DCOMPILER_RT_BUILD_PROFILE=OFF \
|
||||
-DLLVM_LIBGCC_EXPLICIT_OPT_IN=Yes \
|
||||
-DCMAKE_C_COMPILER_TARGET="$triple" \
|
||||
-DCMAKE_CXX_COMPILER_TARGET="$triple" \
|
||||
-DLLVM_DEFAULT_TARGET_TRIPLE="$triple" \
|
||||
-DCOMPILER_RT_BUILD_CRT=ON \
|
||||
-DCOMPILER_RT_BUILD_ORC=OFF \
|
||||
-DCOMPILER_RT_BAREMETAL_BUILD=OFF \
|
||||
-DCOMPILER_RT_USE_LLVM_UNWINDER=ON \
|
||||
-DCOMPILER_RT_ENABLE_STATIC_UNWINDER=ON \
|
||||
-DCOMPILER_RT_BUILD_SANITIZERS=OFF \
|
||||
-DCOMPILER_RT_BUILD_MEMPROF=OFF \
|
||||
-DCOMPILER_RT_BUILD_CTX_PROFILE=OFF \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -unwindlib=libunwind -rtlib=compiler-rt" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -unwindlib=libunwind -rtlib=compiler-rt"
|
||||
ninja -C build-llvm-libgcc -j"$j"
|
||||
}
|
||||
|
||||
depot_install() {
|
||||
# Primary package: install the big LLVM/Clang/Flang tree once, then split from it.
|
||||
assert_destdir
|
||||
DESTDIR="$DESTDIR" cmake --install build-clang-llvm
|
||||
|
||||
ln -snf clang "$DESTDIR/usr/bin/cc"
|
||||
ln -snf clang++ "$DESTDIR/usr/bin/c++"
|
||||
ln -snf flang "$DESTDIR/usr/bin/f95"
|
||||
ln -snf ld.lld "$DESTDIR/usr/bin/ld"
|
||||
ln -snf linux/clang_rt.crtbegin-x86_64.o "$DESTDIR/usr/lib/crtbeginS.o"
|
||||
ln -snf linux/clang_rt.crtend-x86_64.o "$DESTDIR/usr/lib/crtendS.o"
|
||||
ln -snf linux/clang_rt.crtbegin-x86_64.o "$DESTDIR/usr/lib/crtbeginT.o"
|
||||
ln -snf linux/clang_rt.crtend-x86_64.o "$DESTDIR/usr/lib/crtendT.o"
|
||||
ln -snf linux/clang_rt.crtbegin-x86_64.o "$DESTDIR/usr/lib/crtbegin.o"
|
||||
ln -snf linux/clang_rt.crtend-x86_64.o "$DESTDIR/usr/lib/crtend.o"
|
||||
|
||||
|
||||
if [ -f "$DESTDIR/usr/share/clang/bash-autocomplete.sh" ]; then
|
||||
mkdir -p "$DESTDIR/usr/share/bash-completion/completions"
|
||||
mv "$DESTDIR/usr/share/clang/bash-autocomplete.sh" \
|
||||
"$DESTDIR/usr/share/bash-completion/completions/clang"
|
||||
fi
|
||||
}
|
||||
|
||||
depot_install_llvm_libs() {
|
||||
# Split shared LLVM libraries out of the primary LLVM install tree.
|
||||
haul_from_primary llvm-libs 'usr/lib/libLLVM*.so*'
|
||||
haul_from_primary llvm-libs 'usr/lib/libLTO.so*'
|
||||
haul_from_primary llvm-libs 'usr/lib/libRemarks.so*'
|
||||
}
|
||||
|
||||
depot_install_clang() {
|
||||
haul_from_primary clang 'usr/bin/analyze-build'
|
||||
haul_from_primary clang 'usr/bin/amdgpu-arch'
|
||||
haul_from_primary clang 'usr/bin/c-index-test'
|
||||
haul_from_primary clang 'usr/bin/clang*'
|
||||
haul_from_primary clang 'usr/bin/diagtool'
|
||||
haul_from_primary clang 'usr/bin/git-clang-format'
|
||||
haul_from_primary clang 'usr/bin/hmaptool'
|
||||
haul_from_primary clang 'usr/bin/intercept-build'
|
||||
haul_from_primary clang 'usr/bin/nvptx-arch'
|
||||
haul_from_primary clang 'usr/bin/scan-build*'
|
||||
haul_from_primary clang 'usr/bin/scan-view'
|
||||
haul_from_primary clang 'usr/bin/cc'
|
||||
haul_from_primary clang 'usr/bin/c++'
|
||||
haul_from_primary clang 'usr/include/clang*'
|
||||
haul_from_primary clang 'usr/lib/clang'
|
||||
haul_from_primary clang 'usr/lib/cmake/clang'
|
||||
haul_from_primary clang 'usr/lib/libclang*.so*'
|
||||
haul_from_primary clang 'usr/share/clang*'
|
||||
haul_from_primary clang 'usr/share/scan-build'
|
||||
haul_from_primary clang 'usr/share/scan-view'
|
||||
haul_from_primary clang 'usr/share/bash-completion/completions/clang'
|
||||
haul_from_primary clang 'usr/lib/crt*'
|
||||
haul_from_primary clang 'usr/share/doc/clang*'
|
||||
haul_from_primary clang 'usr/share/man/man1/clang*'
|
||||
}
|
||||
|
||||
depot_install_libcxx() {
|
||||
assert_destdir
|
||||
DESTDIR="$DESTDIR" cmake --install build-libcxx
|
||||
|
||||
# Keep libcxx package focused (libunwind belongs to llvm-libgcc in this split).
|
||||
rm -f "$DESTDIR/usr/include/__libunwind_config.h" \
|
||||
"$DESTDIR/usr/include/libunwind.h" \
|
||||
"$DESTDIR/usr/include/libunwind.modulemap" \
|
||||
"$DESTDIR/usr/include/unwind.h" \
|
||||
"$DESTDIR/usr/include/unwind_itanium.h" \
|
||||
"$DESTDIR/usr/include/unwind_arm_ehabi.h" \
|
||||
"$DESTDIR/usr/include/mach-o/compact_unwind_encoding.h"
|
||||
rm -f "$DESTDIR/usr/lib/libunwind.so" \
|
||||
"$DESTDIR/usr/lib/libunwind.so.1" \
|
||||
"$DESTDIR/usr/lib/libunwind.so.1.0" \
|
||||
"$DESTDIR/usr/lib/libunwind.a"
|
||||
rm -rf "$DESTDIR/usr/lib/cmake/libunwind"
|
||||
rmdir "$DESTDIR/usr/include/mach-o" 2>/dev/null || true
|
||||
}
|
||||
|
||||
depot_install_llvm_libgcc() {
|
||||
assert_destdir
|
||||
DESTDIR="$DESTDIR" cmake --install build-llvm-libgcc
|
||||
}
|
||||
|
||||
depot_install_flang() {
|
||||
haul_from_primary flang 'usr/bin/flang*'
|
||||
haul_from_primary flang 'usr/bin/tco'
|
||||
haul_from_primary flang 'usr/bin/fir-*'
|
||||
haul_from_primary flang 'usr/bin/f95'
|
||||
haul_from_primary flang 'usr/include/flang*'
|
||||
haul_from_primary flang 'usr/lib/cmake/flang*'
|
||||
haul_from_primary flang 'usr/lib/libFIR*'
|
||||
haul_from_primary flang 'usr/lib/libFortran*'
|
||||
haul_from_primary flang 'usr/lib/libFlang*'
|
||||
haul_from_primary flang 'usr/lib/libflang*'
|
||||
haul_from_primary flang 'usr/lib/libCUFAttrs.a'
|
||||
haul_from_primary flang 'usr/lib/libCUFDialect.a'
|
||||
haul_from_primary flang 'usr/share/man/man1/flang*'
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
--- a/compiler-rt/lib/builtins/CMakeLists.txt
|
||||
+++ b/compiler-rt/lib/builtins/CMakeLists.txt
|
||||
@@ -362,6 +362,7 @@
|
||||
|
||||
set(i386_SOURCES
|
||||
${GENERIC_SOURCES}
|
||||
+ ${GENERIC_TF_SOURCES}
|
||||
${x86_ARCH_SOURCES}
|
||||
i386/ashldi3.S
|
||||
i386/ashrdi3.S
|
||||
@@ -1012,9 +1013,9 @@
|
||||
list(APPEND BUILTIN_CFLAGS_${arch} -fomit-frame-pointer -DCOMPILER_RT_ARMHF_TARGET)
|
||||
endif()
|
||||
|
||||
- # For RISCV32 and 32-bit SPARC, we must force enable int128 for compiling long
|
||||
- # double routines.
|
||||
- if (COMPILER_RT_ENABLE_SOFTWARE_INT128 OR ("${arch}" MATCHES "riscv32|sparc$"
|
||||
+ # For i386, RISCV32 and 32-bit SPARC, we must force enable int128 for
|
||||
+ # compiling long double routines.
|
||||
+ if (COMPILER_RT_ENABLE_SOFTWARE_INT128 OR ("${arch}" MATCHES "i386|riscv32|sparc$"
|
||||
AND NOT CMAKE_COMPILER_IS_GNUCC))
|
||||
list(APPEND BUILTIN_CFLAGS_${arch} -fforce-enable-int128)
|
||||
endif()
|
||||
|
||||
--- a/compiler-rt/lib/builtins/extendxftf2.c
|
||||
+++ b/compiler-rt/lib/builtins/extendxftf2.c
|
||||
@@ -12,7 +12,8 @@
|
||||
#define QUAD_PRECISION
|
||||
#include "fp_lib.h"
|
||||
|
||||
-#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && defined(__x86_64__)
|
||||
+#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && \
|
||||
+ (defined(__x86_64__) || defined(__i386__))
|
||||
#define SRC_80
|
||||
#define DST_QUAD
|
||||
#include "fp_extend_impl.inc"
|
||||
|
||||
--- a/compiler-rt/lib/builtins/trunctfxf2.c
|
||||
+++ b/compiler-rt/lib/builtins/trunctfxf2.c
|
||||
@@ -12,7 +12,8 @@
|
||||
#define QUAD_PRECISION
|
||||
#include "fp_lib.h"
|
||||
|
||||
-#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && defined(__x86_64__)
|
||||
+#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && \
|
||||
+ (defined(__x86_64__) || defined(__i386__))
|
||||
|
||||
#define SRC_QUAD
|
||||
#define DST_80
|
||||
|
||||
--- a/compiler-rt/lib/builtins/truncxfbf2.c
|
||||
+++ b/compiler-rt/lib/builtins/truncxfbf2.c
|
||||
@@ -6,7 +6,8 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
-#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && defined(__x86_64__)
|
||||
+#if defined(CRT_HAS_TF_MODE) && __LDBL_MANT_DIG__ == 64 && \
|
||||
+ (defined(__x86_64__) || defined(__i386__))
|
||||
#define SRC_80
|
||||
#define DST_BFLOAT
|
||||
#include "fp_trunc_impl.inc"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user