Initial commit
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
diff --git a/absl/debugging/symbolize_elf.inc b/absl/debugging/symbolize_elf.inc
|
||||
index 0317bbc..e4a5060 100644
|
||||
--- a/absl/debugging/symbolize_elf.inc
|
||||
+++ b/absl/debugging/symbolize_elf.inc
|
||||
@@ -1086,17 +1086,24 @@ static ABSL_ATTRIBUTE_NOINLINE bool ReadAddrMap(
|
||||
void *arg, void *tmp_buf, size_t tmp_buf_size) {
|
||||
// Use /proc/self/task/<pid>/maps instead of /proc/self/maps. The latter
|
||||
// requires kernel to stop all threads, and is significantly slower when there
|
||||
- // are 1000s of threads.
|
||||
+ // are 1000s of threads. Some container procfs implementations do not expose
|
||||
+ // per-thread maps files, so fall back to /proc/self/maps when needed.
|
||||
char maps_path[80];
|
||||
snprintf(maps_path, sizeof(maps_path), "/proc/self/task/%d/maps", getpid());
|
||||
|
||||
int maps_fd;
|
||||
NO_INTR(maps_fd = OpenReadOnlyWithHighFD(maps_path));
|
||||
- FileDescriptor wrapped_maps_fd(maps_fd);
|
||||
- if (wrapped_maps_fd.get() < 0) {
|
||||
- ABSL_RAW_LOG(WARNING, "%s: errno=%d", maps_path, errno);
|
||||
- return false;
|
||||
+ if (maps_fd < 0) {
|
||||
+ const int task_maps_errno = errno;
|
||||
+ NO_INTR(maps_fd = OpenReadOnlyWithHighFD("/proc/self/maps"));
|
||||
+ if (maps_fd < 0) {
|
||||
+ const int self_maps_errno = errno;
|
||||
+ ABSL_RAW_LOG(WARNING, "%s: errno=%d; /proc/self/maps: errno=%d",
|
||||
+ maps_path, task_maps_errno, self_maps_errno);
|
||||
+ return false;
|
||||
+ }
|
||||
}
|
||||
+ FileDescriptor wrapped_maps_fd(maps_fd);
|
||||
|
||||
// Iterate over maps and look for the map containing the pc. Then
|
||||
// look into the symbol tables inside.
|
||||
@@ -0,0 +1,48 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DCMAKE_CXX_STANDARD=17",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DABSL_BUILD_TEST_HELPERS=ON",
|
||||
"-DABSL_USE_EXTERNAL_GOOGLETEST=ON",
|
||||
"-DABSL_FIND_GOOGLETEST=ON",
|
||||
"-DABSL_BUILD_TESTING=ON",
|
||||
"-G", "Ninja",
|
||||
"-DCMAKE_CXX_FLAGS=${CXXFLAGS} -DNDEBUG",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"ninja",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"gtest",
|
||||
"libunwind",
|
||||
"libcxx",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Collection of C++ library code designed to augment the C++ standard library"
|
||||
homepage = "https://abseil.io/"
|
||||
license = "Apache-2.0"
|
||||
name = "abseil-cpp"
|
||||
version = "20260107.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "4314e2a7cbac89cac25a2f2322870f343d81579756ceff7f431803c2c9090195"
|
||||
url = "https://github.com/abseil/abseil-cpp/releases/download/$version/abseil-cpp-$version.tar.gz"
|
||||
patches = [ "scoped-mock-log.patch", "abseil-cpp-20260107.1-symbolize-proc-maps-fallback.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "scoped-mock-log.patch"
|
||||
sha256 = "b2:c467c7aaebea4a9fc9baaeb0419f27f01e92ad5d2a3b0e7b6a9bd9fde0b0081394537fff987ab754ff463ab7e033ddd21ad99e65786858c6b79137f529debd9f"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "abseil-cpp-20260107.1-symbolize-proc-maps-fallback.patch"
|
||||
sha256 = "b2:14fbb86b59af25e180de422d357841caf9cd4a671c3163b31c47651396ece19c811f64ab959019fed0310ca76ff1cdb46eb11a888adc612566a1b5dca8e87ac3"
|
||||
@@ -0,0 +1,12 @@
|
||||
diff --git a/absl/log/CMakeLists.txt b/absl/log/CMakeLists.txt
|
||||
index 78adbf1d..b64822dd 100644
|
||||
--- a/absl/log/CMakeLists.txt
|
||||
+++ b/absl/log/CMakeLists.txt
|
||||
@@ -637,7 +637,6 @@ absl_cc_library(
|
||||
GTest::gmock
|
||||
GTest::gtest
|
||||
PUBLIC
|
||||
- TESTONLY
|
||||
)
|
||||
|
||||
absl_cc_library(
|
||||
@@ -0,0 +1,64 @@
|
||||
From 241f7ae5f857b0c9bab7866b79b4e47587126b96 Mon Sep 17 00:00:00 2001
|
||||
From: Jörn Heusipp <osmanx@problemloesungsmaschine.de>
|
||||
Date: Wed, 16 Oct 2024 12:53:40 +0200
|
||||
Subject: Revert broken part of commit 5b0d43b767bf3f800f97892905b6d1ba50150f1a
|
||||
|
||||
This commit breaks AX_CXX_COMPILE_STDCXX noext/ext option handling, which
|
||||
caused
|
||||
"AX_CXX_COMPILE_STDCXX(20, [noext], [optional])"
|
||||
to result in
|
||||
"checking whether g++ supports C++20 features with -std=gnu++20... yes"
|
||||
which is not the desired outcome when using "noext".
|
||||
It should check for "-std=c++20" instead for "-std=gnu++20", as it did before.
|
||||
|
||||
See
|
||||
<https://github.com/autoconf-archive/autoconf-archive/pull/300#issuecomment-2416443298>
|
||||
and
|
||||
<https://github.com/autoconf-archive/autoconf-archive/commit/5b0d43b767bf3f800f97892905b6d1ba50150f1a#commitcomment-147999469>
|
||||
.
|
||||
---
|
||||
m4/ax_cxx_compile_stdcxx.m4 | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4
|
||||
index 7ec3378..25645c3 100644
|
||||
--- a/m4/ax_cxx_compile_stdcxx.m4
|
||||
+++ b/m4/ax_cxx_compile_stdcxx.m4
|
||||
@@ -36,7 +36,7 @@
|
||||
# Copyright (c) 2016, 2018 Krzesimir Nowak <qdlacz@gmail.com>
|
||||
# Copyright (c) 2019 Enji Cooper <yaneurabeya@gmail.com>
|
||||
# Copyright (c) 2020 Jason Merrill <jason@redhat.com>
|
||||
-# Copyright (c) 2021 Jörn Heusipp <osmanx@problemloesungsmaschine.de>
|
||||
+# Copyright (c) 2021, 2024 Jörn Heusipp <osmanx@problemloesungsmaschine.de>
|
||||
# Copyright (c) 2015, 2022, 2023, 2024 Olly Betts
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
@@ -44,7 +44,7 @@
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
-#serial 23
|
||||
+#serial 24
|
||||
|
||||
dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro
|
||||
dnl (serial version number 13).
|
||||
@@ -77,7 +77,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
||||
ac_success=yes
|
||||
fi])
|
||||
|
||||
- m4_if([$2], [noext], [dnl
|
||||
+ m4_if([$2], [noext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
for alternative in ${ax_cxx_compile_alternatives}; do
|
||||
switch="-std=gnu++${alternative}"
|
||||
@@ -101,7 +101,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl
|
||||
done
|
||||
fi])
|
||||
|
||||
- m4_if([$2], [ext], [dnl
|
||||
+ m4_if([$2], [ext], [], [dnl
|
||||
if test x$ac_success = xno; then
|
||||
dnl HP's aCC needs +std=c++11 according to:
|
||||
dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf
|
||||
--
|
||||
cgit v1.2.3
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,22 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
optional = ["automake"]
|
||||
runtime = ["autoconf"]
|
||||
|
||||
[package]
|
||||
description = "A collection of freely re-usable Autoconf macros"
|
||||
homepage = "https://www.gnu.org/software/autoconf-archive/"
|
||||
license = "GPL-3.0-or-later WITH Autoconf-exception-3.0"
|
||||
name = "autoconf-archive"
|
||||
version = "2024.10.16"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "7bcd5d001916f3a50ed7436f4f700e3d2b1bade3ed803219c592d62502a57363"
|
||||
url = "https://mirrors.kernel.org/gnu/autoconf-archive/autoconf-archive-$version.tar.xz"
|
||||
patches = [ "0001_fix_AX_CXX_COMPILE_STDCXX.patch", "autoconf-archive-2024.10.16-fix-config-status.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "0001_fix_AX_CXX_COMPILE_STDCXX.patch", "autoconf-archive-2024.10.16-fix-config-status.patch" ]
|
||||
@@ -0,0 +1,36 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-DCMAKE_CXX_FLAGS=${CXXFLAGS} -DNDEBUG",
|
||||
"-DBENCHMARK_ENABLE_LTO=ON",
|
||||
"-DBENCHMARK_ENABLE_GTEST_TESTS=OFF",
|
||||
"-G Ninja"
|
||||
]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"ninja",
|
||||
]
|
||||
runtime = [
|
||||
"libcxx",
|
||||
"libunwind",
|
||||
"python"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "microbenchmark support library"
|
||||
homepage = "https://github.com/google/benchmark"
|
||||
license = "Apache-2.0"
|
||||
name = "benchmark"
|
||||
version = "1.9.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "9631341c82bac4a288bef951f8b26b41f69021794184ece969f8473977eaa340"
|
||||
url = "https://github.com/google/benchmark/archive/refs/tags/v$version.tar.gz"
|
||||
@@ -0,0 +1,37 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DBUILD_SHARED_LIBS=True",
|
||||
]
|
||||
skip_tests = true # TODO: ADD SUPPORT TO DEPOT FOR ALL OF THAT
|
||||
post_install = [
|
||||
"python_build",
|
||||
"python_install"
|
||||
]
|
||||
cflags += [ "-ffat-lto-objects" ]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-setuptools",
|
||||
"python-wheel",
|
||||
"python-pkgconfig",
|
||||
"cmake",
|
||||
"python"
|
||||
]
|
||||
runtime = [ "glibc" ]
|
||||
optional = [ "python" ]
|
||||
|
||||
[package]
|
||||
description = "Generic-purpose lossless compression algorithm"
|
||||
homepage = "https://github.com/google/brotli"
|
||||
license = "MIT"
|
||||
name = "brotli"
|
||||
version = "1.2.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "816c96e8e8f193b40151dad7e8ff37b1221d019dbcb9c35cd3fadbfe6477dfec"
|
||||
url = "https://github.com/google/brotli/archive/refs/tags/v$version.tar.gz"
|
||||
@@ -0,0 +1,21 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = ["-Wno-dev"]
|
||||
|
||||
[dependencies]
|
||||
build = ["cmake"]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "A C library for asynchronous DNS requests"
|
||||
homepage = "https://c-ares.org/"
|
||||
license = "MIT"
|
||||
name = "c-ares"
|
||||
version = "1.34.6"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/c-ares/c-ares.git#v$version"
|
||||
@@ -0,0 +1,35 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[alternatives]
|
||||
conflicts = [ "catch2-v2" ]
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DCATCH_BUILD_EXAMPLES=OFF",
|
||||
"-DCATCH_ENABLE_COVERAGE=OFF",
|
||||
"-DCATCH_ENABLE_WERROR=OFF",
|
||||
"-DBUILD_TESTING=ON",
|
||||
"-Wno-dev",
|
||||
"-DBUILD_SHARED_LIBS=OFF",
|
||||
]
|
||||
no-delete-static = true
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"python",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Modern, C++-native, header-only, test framework for unit-tests, TDD and BDD"
|
||||
homepage = "https://github.com/catchorg/catch2"
|
||||
license = "BSL-1.0"
|
||||
name = "catch2"
|
||||
version = "3.13.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "650795f6501af514f806e78c554729847b98db6935e69076f36bb03ed2e985ef"
|
||||
url = "https://github.com/catchorg/Catch2/archive/refs/tags/v$version.tar.gz"
|
||||
@@ -0,0 +1,23 @@
|
||||
[build]
|
||||
type = "rust"
|
||||
|
||||
[build.flags]
|
||||
use_lto = false
|
||||
|
||||
[dependencies]
|
||||
build = ["rust"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = " Documentation generator for Argument Parsers such as Clap"
|
||||
homepage = "https://github.com/spirali/cli_doc"
|
||||
license = "MIT"
|
||||
name = "cli_doc"
|
||||
version = "0.1.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/spirali/cli_doc.git"
|
||||
@@ -0,0 +1,41 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--system-libs",
|
||||
"--mandir=/share/man",
|
||||
"--docdir=/share/doc/cmake",
|
||||
]
|
||||
configure_file = "bootstrap"
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
build = [ "nlohmann-json" ]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"curl",
|
||||
"libarchive",
|
||||
"expat",
|
||||
"libuv",
|
||||
"zlib-ng",
|
||||
"ncurses",
|
||||
"cppdap",
|
||||
"jsoncpp",
|
||||
"rhash",
|
||||
"libunwind",
|
||||
"libcxx"
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "modern toolset used for generating Makefiles"
|
||||
homepage = "https://cmake.org"
|
||||
license = "custom"
|
||||
name = "cmake"
|
||||
version = "4.2.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["""sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake"""]
|
||||
sha256 = "7efaccde8c5a6b2968bad6ce0fe60e19b6e10701a12fce948c2bf79bac8a11e9"
|
||||
url = "https://cmake.org/files/v4.2/cmake-$version.tar.gz"
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-Wno-dev",
|
||||
"-DUNIT_TESTING=ON",
|
||||
]
|
||||
use_lto = false
|
||||
|
||||
[dependencies]
|
||||
build = ["cmake"]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "Elegant unit testing framework for C with support for mock objects"
|
||||
homepage = "https://cmocka.org/"
|
||||
license = "Apache-2.0"
|
||||
name = "cmocka"
|
||||
version = "2.0.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "39f92f366bdf3f1a02af4da75b4a5c52df6c9f7e736c7d65de13283f9f0ef416"
|
||||
url = "https://cmocka.org/files/2.0/cmocka-$version.tar.xz"
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--mandir=/usr/share/man",
|
||||
"--with-rmt=/dev/null",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "tool to copy files into or out of a cpio or tar archive"
|
||||
homepage = "https://www.gnu.org/software/cpio/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "cpio"
|
||||
version = "2.15"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = [
|
||||
'sed -e "/^extern int (\*xstat)/s/()/(const char * restrict, struct stat * restrict)/" -i src/extern.h',
|
||||
'sed -e "/^int (\*xstat)/s/()/(const char * restrict, struct stat * restrict)/" -i src/global.c',
|
||||
]
|
||||
sha256 = "937610b97c329a1ec9268553fb780037bcfff0dcffe9725ebc4fd9c1aa9075db"
|
||||
url = "https://mirrors.kernel.org/gnu/cpio/cpio-$version.tar.bz2"
|
||||
@@ -0,0 +1,32 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"nlohmann-json"
|
||||
]
|
||||
runtime = [
|
||||
"libunwind",
|
||||
"glibc",
|
||||
"libcxx",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "C++ library for the Debug Adapter Protocol"
|
||||
homepage = "https://github.com/google/cppdap"
|
||||
license = "Apache-2.0"
|
||||
name = "cppdap"
|
||||
version = "1.58.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/google/cppdap#dap-$version-a"
|
||||
sha256 = "skip"
|
||||
@@ -0,0 +1,28 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[build.flags]
|
||||
post_install = ['for f in cygdb cython cythonize; do mv "$DESTDIR/usr/bin/$f" "$DESTDIR/usr/bin/${f}3" && ln -s "${f}3" "$DESTDIR/usr/bin/$f"; done']
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-wheel",
|
||||
"python-setuptools",
|
||||
]
|
||||
runtime = [
|
||||
"python",
|
||||
"glibc",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "C-Extensions for Python"
|
||||
homepage = "https://cython.org/"
|
||||
license = "Apache-2.0"
|
||||
name = "cython"
|
||||
version = "3.2.4"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "skip"
|
||||
url = "https://github.com/cython/cython.git#$version"
|
||||
cherry_pick = [ "d344f9b284549362dee39af7a74a9c669bb65ce8" ]
|
||||
@@ -0,0 +1,4 @@
|
||||
install -Dm644 /dev/stdin $DESTDIR/usr/share/icons/default/index.theme <<END
|
||||
[Icon Theme]
|
||||
Inherits=Adwaita
|
||||
END
|
||||
@@ -0,0 +1,12 @@
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[package]
|
||||
description = "Default cursor set"
|
||||
homepage = "https://vertexlinux.net"
|
||||
license = "CC0-1.0"
|
||||
name = "default-cursors"
|
||||
version = "3"
|
||||
|
||||
[[manual_sources]]
|
||||
file = "build.sh"
|
||||
@@ -0,0 +1,94 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
versions="4.1.2 4.2 4.3 4.4 4.5"
|
||||
|
||||
# Extract each version zip into a named directory
|
||||
for ver in $versions; do
|
||||
mkdir -p "docbook-xml-$ver"
|
||||
bsdunzip -d "docbook-xml-$ver" "docbook-xml-$ver.zip"
|
||||
done
|
||||
|
||||
# Create the package-local XML catalog
|
||||
mkdir -p "$DESTDIR/etc/xml"
|
||||
XML_CATALOG_FILES=""
|
||||
export XML_CATALOG_FILES
|
||||
xmlcatalog --noout --create "$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
for ver in $versions; do
|
||||
(
|
||||
cd "docbook-xml-$ver"
|
||||
mkdir -p "$DESTDIR/usr/share/xml/docbook/xml-dtd-$ver"
|
||||
cp -af docbook.cat ./*.dtd ./*.mod "$DESTDIR/usr/share/xml/docbook/xml-dtd-$ver/"
|
||||
# ent/ is not present in all versions
|
||||
if [ -d ent ]; then
|
||||
cp -af ent/ "$DESTDIR/usr/share/xml/docbook/xml-dtd-$ver/"
|
||||
fi
|
||||
|
||||
xml=""
|
||||
[ "$ver" = "4.1.2" ] && xml=" XML"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//DTD DocBook XML V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/docbookx.dtd" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//DTD DocBook$xml CALS Table Model V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/calstblx.dtd" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//DTD XML Exchange Table Model 19990315//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/soextblx.dtd" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
case "$ver" in
|
||||
4.[45])
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//ELEMENTS DocBook XML HTML Tables V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/htmltblx.mod" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
;;
|
||||
esac
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//ELEMENTS DocBook$xml Information Pool V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/dbpoolx.mod" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//ELEMENTS DocBook$xml Document Hierarchy V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/dbhierx.mod" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//ENTITIES DocBook$xml Additional General Entities V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/dbgenent.mod" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//ENTITIES DocBook$xml Notations V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/dbnotnx.mod" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "public" \
|
||||
"-//OASIS//ENTITIES DocBook$xml Character Entities V$ver//EN" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver/dbcentx.mod" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "rewriteSystem" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver" \
|
||||
"file:///usr/share/xml/docbook/xml-dtd-$ver" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
|
||||
xmlcatalog --noout --add "rewriteURI" \
|
||||
"http://www.oasis-open.org/docbook/xml/$ver" \
|
||||
"file:///usr/share/xml/docbook/xml-dtd-$ver" \
|
||||
"$DESTDIR/etc/xml/docbook-xml"
|
||||
)
|
||||
done
|
||||
|
||||
chmod 755 "$DESTDIR"/usr/share/xml/docbook/xml-dtd-*/ent 2>/dev/null || true
|
||||
|
||||
unset XML_CATALOG_FILES
|
||||
@@ -0,0 +1,42 @@
|
||||
[package]
|
||||
name = "docbook-xml"
|
||||
version = "4.5"
|
||||
description = "document type definitions and schemas for verification of XML data files against the DocBook rule set"
|
||||
homepage = "https://www.docbook.org"
|
||||
license = "DocBook-XML"
|
||||
|
||||
[[manual_sources]]
|
||||
url = "https://archive.docbook.org/xml/4.5/docbook-xml-4.5.zip"
|
||||
sha256 = "skip"
|
||||
dest = "docbook-xml-4.5.zip"
|
||||
|
||||
[[manual_sources]]
|
||||
url = "https://archive.docbook.org/xml/4.4/docbook-xml-4.4.zip"
|
||||
sha256 = "skip"
|
||||
dest = "docbook-xml-4.4.zip"
|
||||
|
||||
[[manual_sources]]
|
||||
url = "https://archive.docbook.org/xml/4.3/docbook-xml-4.3.zip"
|
||||
sha256 = "skip"
|
||||
dest = "docbook-xml-4.3.zip"
|
||||
|
||||
[[manual_sources]]
|
||||
url = "https://archive.docbook.org/xml/4.2/docbook-xml-4.2.zip"
|
||||
sha256 = "skip"
|
||||
dest = "docbook-xml-4.2.zip"
|
||||
|
||||
[[manual_sources]]
|
||||
url = "https://archive.docbook.org/xml/4.1.2/docbkx412.zip"
|
||||
sha256 = "skip"
|
||||
dest = "docbook-xml-4.1.2.zip"
|
||||
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[build.flags]
|
||||
no_flags = true
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "libxml215" ]
|
||||
build = [ "libarchive" ]
|
||||
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if [ ! -e /etc/xml/catalog ]; then
|
||||
xmlcatalog --noout --create etc/xml/catalog
|
||||
fi
|
||||
|
||||
xmlcatalog --noout --add "delegatePublic" \
|
||||
"-//OASIS//ENTITIES DocBook XML" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
xmlcatalog --noout --add "delegatePublic" \
|
||||
"-//OASIS//DTD DocBook XML" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
xmlcatalog --noout --add "delegateSystem" \
|
||||
"http://www.oasis-open.org/docbook/" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
xmlcatalog --noout --add "delegateURI" \
|
||||
"http://www.oasis-open.org/docbook/" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# Remove stale entries then re-add so the catalog stays consistent after updates
|
||||
xmlcatalog --noout --del file:///etc/xml/docbook-xml etc/xml/catalog
|
||||
|
||||
xmlcatalog --noout --add "delegatePublic" \
|
||||
"-//OASIS//ENTITIES DocBook XML" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
xmlcatalog --noout --add "delegatePublic" \
|
||||
"-//OASIS//DTD DocBook XML" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
xmlcatalog --noout --add "delegateSystem" \
|
||||
"http://www.oasis-open.org/docbook/" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
xmlcatalog --noout --add "delegateURI" \
|
||||
"http://www.oasis-open.org/docbook/" \
|
||||
"file:///etc/xml/docbook-xml" \
|
||||
etc/xml/catalog
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
if command -v xmlcatalog > /dev/null 2>&1; then
|
||||
xmlcatalog --noout --del file:///etc/xml/docbook-xml etc/xml/catalog
|
||||
fi
|
||||
@@ -0,0 +1,33 @@
|
||||
Description: use EXSLT "replace" function when available
|
||||
A recursive implementation of string.subst is problematic,
|
||||
long strings with many matches will cause stack overflows.
|
||||
Author: Peter De Wachter <pdewacht@gmail.com>
|
||||
Bug-Debian: https://bugs.debian.org/750593
|
||||
|
||||
diff --git a/lib/lib.xsl b/lib/lib.xsl
|
||||
index e65776a..bc45cd8 100644
|
||||
--- a/lib/lib.xsl
|
||||
+++ b/lib/lib.xsl
|
||||
@@ -6,7 +6,11 @@
|
||||
|
||||
This module implements DTD-independent functions
|
||||
|
||||
- ******************************************************************** --><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
+ ******************************************************************** -->
|
||||
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
+ xmlns:str="http://exslt.org/strings"
|
||||
+ exclude-result-prefixes="str"
|
||||
+ version="1.0">
|
||||
|
||||
<xsl:template name="dot.count">
|
||||
<!-- Returns the number of "." characters in a string -->
|
||||
@@ -52,6 +56,9 @@
|
||||
<xsl:param name="replacement"/>
|
||||
|
||||
<xsl:choose>
|
||||
+ <xsl:when test="function-available('str:replace')">
|
||||
+ <xsl:value-of select="str:replace($string, string($target), string($replacement))"/>
|
||||
+ </xsl:when>
|
||||
<xsl:when test="contains($string, $target)">
|
||||
<xsl:variable name="rest">
|
||||
<xsl:call-template name="string.subst">
|
||||
@@ -0,0 +1,44 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
src_base=$(basename "$PWD")
|
||||
version=${src_base##*-}
|
||||
docbook_root="$DESTDIR/usr/share/xml/docbook"
|
||||
style_root="$docbook_root/xsl-stylesheets-nons-$version"
|
||||
|
||||
install -dm755 "$style_root"
|
||||
|
||||
for path in \
|
||||
VERSION \
|
||||
assembly \
|
||||
common \
|
||||
eclipse \
|
||||
epub \
|
||||
epub3 \
|
||||
extensions \
|
||||
fo \
|
||||
highlighting \
|
||||
html \
|
||||
htmlhelp \
|
||||
images \
|
||||
javahelp \
|
||||
lib \
|
||||
manpages \
|
||||
params \
|
||||
profiling \
|
||||
roundtrip \
|
||||
slides \
|
||||
template \
|
||||
tests \
|
||||
tools \
|
||||
webhelp \
|
||||
website \
|
||||
xhtml \
|
||||
xhtml-1_1 \
|
||||
xhtml5
|
||||
do
|
||||
cp -a "$path" "$style_root/"
|
||||
done
|
||||
|
||||
ln -sf VERSION "$style_root/VERSION.xsl"
|
||||
ln -sfn "xsl-stylesheets-nons-$version" "$docbook_root/xsl-stylesheets-nons"
|
||||
@@ -0,0 +1,26 @@
|
||||
[package]
|
||||
name = "docbook-xsl"
|
||||
version = "1.79.2"
|
||||
description = "XSL stylesheets for transforming XML DocBook files"
|
||||
homepage = "https://github.com/docbook/xslt10-stylesheets"
|
||||
license = "DocBook-Stylesheet"
|
||||
|
||||
[[source]]
|
||||
url = "https://github.com/docbook/xslt10-stylesheets/releases/download/release%2F$version/docbook-xsl-nons-$version.tar.gz"
|
||||
sha256 = "f89425b44e48aad24319a2f0d38e0cb6059fdc7dbaf31787c8346c748175ca8e"
|
||||
extract_dir = "$name-nons-$version"
|
||||
patches = [ "765567_non-recursive_string_subst.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "765567_non-recursive_string_subst.patch"
|
||||
sha256 = "42d69ef938ff85e01cd5fe825cc3e70cd8dceaa88277d4940383b56fefd02dac"
|
||||
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[build.flags]
|
||||
no_flags = true
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = [ "docbook-xml", "libxml215", "libxslt" ]
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
catalog=etc/xml/catalog
|
||||
target="file:///usr/share/xml/docbook/xsl-stylesheets-nons"
|
||||
uris="http://cdn.docbook.org/release/xsl-nons http://docbook.sourceforge.net/release/xsl"
|
||||
|
||||
if [ ! -f "$catalog" ]; then
|
||||
xmlcatalog --noout --create "$catalog"
|
||||
fi
|
||||
|
||||
for uri in $uris; do
|
||||
xmlcatalog --noout --del "$uri/current" "$catalog" 2>/dev/null || true
|
||||
xmlcatalog --noout --del "$uri/current" "$catalog" 2>/dev/null || true
|
||||
xmlcatalog --noout --add "rewriteSystem" "$uri/current" "$target" "$catalog"
|
||||
xmlcatalog --noout --add "rewriteURI" "$uri/current" "$target" "$catalog"
|
||||
done
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
catalog=etc/xml/catalog
|
||||
target="file:///usr/share/xml/docbook/xsl-stylesheets-nons"
|
||||
uris="http://cdn.docbook.org/release/xsl-nons http://docbook.sourceforge.net/release/xsl"
|
||||
|
||||
if [ ! -f "$catalog" ]; then
|
||||
xmlcatalog --noout --create "$catalog"
|
||||
fi
|
||||
|
||||
for uri in $uris; do
|
||||
xmlcatalog --noout --del "$uri/current" "$catalog" 2>/dev/null || true
|
||||
xmlcatalog --noout --del "$uri/current" "$catalog" 2>/dev/null || true
|
||||
xmlcatalog --noout --add "rewriteSystem" "$uri/current" "$target" "$catalog"
|
||||
xmlcatalog --noout --add "rewriteURI" "$uri/current" "$target" "$catalog"
|
||||
done
|
||||
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
catalog=etc/xml/catalog
|
||||
uris="http://cdn.docbook.org/release/xsl-nons http://docbook.sourceforge.net/release/xsl"
|
||||
|
||||
if ! command -v xmlcatalog >/dev/null 2>&1 || [ ! -f "$catalog" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
for uri in $uris; do
|
||||
xmlcatalog --noout --del "$uri/current" "$catalog" 2>/dev/null || true
|
||||
xmlcatalog --noout --del "$uri/current" "$catalog" 2>/dev/null || true
|
||||
done
|
||||
@@ -0,0 +1,25 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = ["-DBUILD_SHARED_LIBS=ON"]
|
||||
|
||||
[dependencies]
|
||||
build = ["cmake"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libcxx",
|
||||
"libunwind",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Binary-decimal and decimal-binary routines for IEEE doubles"
|
||||
homepage = "https://github.com/google/double-conversion"
|
||||
license = "BSD-3-Clause"
|
||||
name = "double-conversion"
|
||||
version = "3.4.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/google/double-conversion#v$version"
|
||||
@@ -0,0 +1,125 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 5f1dc88..1ef6fcd 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -35,12 +35,12 @@ brick : all
|
||||
done
|
||||
|
||||
a :
|
||||
- @if [ $${EUID} != 0 ]; then \
|
||||
+ @if [ "$$(id -u)" != 0 ]; then \
|
||||
echo no 1>&2 ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
|
||||
-GITTAG = $(shell bash -c "echo $$(($(VERSION) + 1))")
|
||||
+GITTAG = $(shell printf '%s\n' $$(( $(VERSION) + 1 )))
|
||||
|
||||
efivar.spec : | Makefile src/include/version.mk
|
||||
|
||||
diff --git a/src/include/defaults.mk b/src/include/defaults.mk
|
||||
index 4da0cde..40f4d51 100644
|
||||
--- a/src/include/defaults.mk
|
||||
+++ b/src/include/defaults.mk
|
||||
@@ -11,13 +11,15 @@ PKGS ?=
|
||||
|
||||
CROSS_COMPILE ?=
|
||||
COMPILER ?= gcc
|
||||
-ifeq ($(origin CC),command line)
|
||||
-override COMPILER := $(CC)
|
||||
-override CC := $(CROSS_COMPILE)$(COMPILER)
|
||||
-endif
|
||||
+
|
||||
+tool-if-exists = $(strip $(shell command -v $(1) >/dev/null 2>&1 && printf '%s' '$(1)'))
|
||||
+cc-command = $(firstword $(filter-out ccache sccache distcc,$(foreach word,$(1),$(notdir $(word)))))
|
||||
+cc-name = $(patsubst $(CROSS_COMPILE)%,%,$(call cc-command,$(1)))
|
||||
+
|
||||
$(call set-if-undefined,CC,$(CROSS_COMPILE)$(COMPILER))
|
||||
+override COMPILER := $(or $(call cc-name,$(CC)),$(COMPILER))
|
||||
$(call set-if-undefined,CCLD,$(CC))
|
||||
-$(call set-if-undefined,HOSTCC,$(COMPILER))
|
||||
+$(call set-if-undefined,HOSTCC,$(call cc-name,$(CC)))
|
||||
$(call set-if-undefined,HOSTCCLD,$(HOSTCC))
|
||||
|
||||
# temporary, see https://sourceware.org/bugzilla/show_bug.cgi?id=28264
|
||||
@@ -107,11 +109,11 @@ override HOST_LDFLAGS = $(HOST_CFLAGS) -L. \
|
||||
$(call pkg-config-ccldflags)
|
||||
override HOST_CCLDFLAGS = $(HOST_LDFLAGS)
|
||||
|
||||
-PKG_CONFIG ?= $(shell if [ -e "$$(env $(CROSS_COMPILE)pkg-config 2>&1)" ]; then echo $(CROSS_COMPILE)pkg-config ; else echo pkg-config ; fi)
|
||||
+PKG_CONFIG ?= $(or $(call tool-if-exists,$(CROSS_COMPILE)pkg-config),pkg-config)
|
||||
INSTALL ?= install
|
||||
-AR := $(CROSS_COMPILE)$(COMPILER)-ar
|
||||
-NM := $(CROSS_COMPILE)$(COMPILER)-nm
|
||||
-RANLIB := $(CROSS_COMPILE)$(COMPILER)-ranlib
|
||||
+$(call set-if-undefined,AR,$(or $(call tool-if-exists,$(CROSS_COMPILE)$(call cc-name,$(CC))-ar),$(if $(findstring clang,$(call cc-name,$(CC))),$(call tool-if-exists,$(CROSS_COMPILE)llvm-ar),$(call tool-if-exists,$(CROSS_COMPILE)gcc-ar)),$(call tool-if-exists,$(CROSS_COMPILE)ar),ar))
|
||||
+$(call set-if-undefined,NM,$(or $(call tool-if-exists,$(CROSS_COMPILE)$(call cc-name,$(CC))-nm),$(if $(findstring clang,$(call cc-name,$(CC))),$(call tool-if-exists,$(CROSS_COMPILE)llvm-nm),$(call tool-if-exists,$(CROSS_COMPILE)gcc-nm)),$(call tool-if-exists,$(CROSS_COMPILE)nm),nm))
|
||||
+$(call set-if-undefined,RANLIB,$(or $(call tool-if-exists,$(CROSS_COMPILE)$(call cc-name,$(CC))-ranlib),$(if $(findstring clang,$(call cc-name,$(CC))),$(call tool-if-exists,$(CROSS_COMPILE)llvm-ranlib),$(call tool-if-exists,$(CROSS_COMPILE)gcc-ranlib)),$(call tool-if-exists,$(CROSS_COMPILE)ranlib),ranlib))
|
||||
ABIDW := abidw
|
||||
ABIDIFF := abidiff
|
||||
MANDOC := mandoc
|
||||
diff --git a/src/include/coverity.mk b/src/include/coverity.mk
|
||||
index 2e7024b..f852097 100644
|
||||
--- a/src/include/coverity.mk
|
||||
+++ b/src/include/coverity.mk
|
||||
@@ -4,11 +4,11 @@ COV_URL=$(call get-config,coverity.url)
|
||||
COV_FILE=$(NAME)-coverity-$(VERSION)-$(COMMIT_ID).tar.bz2
|
||||
|
||||
cov-int : clean
|
||||
- cov-build --dir cov-int make all
|
||||
+ cov-build --dir cov-int $(MAKE) all
|
||||
|
||||
cov-clean :
|
||||
@rm -vf $(NAME)-coverity-*.tar.*
|
||||
- @if [[ -d cov-int ]]; then rm -rf cov-int && echo "removed 'cov-int'"; fi
|
||||
+ @if [ -d cov-int ]; then rm -rf cov-int && echo "removed 'cov-int'"; fi
|
||||
|
||||
cov-file : | $(COV_FILE)
|
||||
|
||||
@@ -16,9 +16,9 @@ $(COV_FILE) : cov-int
|
||||
tar caf $@ cov-int
|
||||
|
||||
cov-upload :
|
||||
- @if [[ -n "$(COV_URL)" ]] && \
|
||||
- [[ -n "$(COV_TOKEN)" ]] && \
|
||||
- [[ -n "$(COV_EMAIL)" ]] ; \
|
||||
+ @if [ -n "$(COV_URL)" ] && \
|
||||
+ [ -n "$(COV_TOKEN)" ] && \
|
||||
+ [ -n "$(COV_EMAIL)" ] ; \
|
||||
then \
|
||||
echo curl --form token=$(COV_TOKEN) --form email="$(COV_EMAIL)" --form file=@"$(COV_FILE)" --form version=$(VERSION).1 --form description="$(COMMIT_ID)" "$(COV_URL)" ; \
|
||||
curl --form token=$(COV_TOKEN) --form email="$(COV_EMAIL)" --form file=@"$(COV_FILE)" --form version=$(VERSION).1 --form description="$(COMMIT_ID)" "$(COV_URL)" ; \
|
||||
@@ -31,7 +31,7 @@ coverity : cov-file cov-upload
|
||||
|
||||
clean : | cov-clean
|
||||
|
||||
-COV_BUILD ?= $(shell x=$$(which --skip-alias --skip-functions cov-build 2>/dev/null) ; [ -n "$$x" ] && echo 1)
|
||||
+COV_BUILD ?= $(shell command -v cov-build >/dev/null 2>&1 && printf '%s' 1)
|
||||
ifeq ($(COV_BUILD),)
|
||||
COV_BUILD_ERROR = $(error cov-build not found)
|
||||
endif
|
||||
diff --git a/src/include/scan-build.mk b/src/include/scan-build.mk
|
||||
index 19da90c..125c85c 100644
|
||||
--- a/src/include/scan-build.mk
|
||||
+++ b/src/include/scan-build.mk
|
||||
@@ -1,4 +1,4 @@
|
||||
-SCAN_BUILD ?= $(shell x=$$(which --skip-alias --skip-functions scan-build 2>/dev/null) ; [ -n "$$x" ] && echo 1)
|
||||
+SCAN_BUILD ?= $(shell command -v scan-build >/dev/null 2>&1 && printf '%s' 1)
|
||||
ifeq ($(SCAN_BUILD),)
|
||||
SCAN_BUILD_ERROR = $(error scan-build not found)
|
||||
endif
|
||||
@@ -6,12 +6,12 @@ endif
|
||||
scan-test : ; $(SCAN_BUILD_ERROR)
|
||||
|
||||
scan-clean : clean
|
||||
- @if [[ -d scan-results ]]; then rm -rf scan-results && echo "removed 'scan-results'"; fi
|
||||
+ @if [ -d scan-results ]; then rm -rf scan-results && echo "removed 'scan-results'"; fi
|
||||
|
||||
scan-build : | scan-test
|
||||
scan-build : clean
|
||||
$(MAKE) -C src makeguids
|
||||
- scan-build -o scan-results make $(DASHJ) CC=clang all
|
||||
+ scan-build -o scan-results $(MAKE) $(DASHJ) CC=clang all
|
||||
|
||||
scan-build-all: | scan-build
|
||||
scan : | scan-build
|
||||
@@ -0,0 +1,162 @@
|
||||
Submitted by: Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||
Date: 2026-02-23
|
||||
Initial Package Version: 39
|
||||
Upstream Status: Submitted
|
||||
Origin: https://github.com/rhboot/efivar/pull/292/changes/12060aa29dac86169b0ed8929e33e10644917dba
|
||||
Description: Allows to build efivar-39 with glibc-2.43
|
||||
|
||||
From 12060aa29dac86169b0ed8929e33e10644917dba Mon Sep 17 00:00:00 2001
|
||||
From: Xi Ruoyao <xry111@xry111.site>
|
||||
Date: Sat, 14 Feb 2026 02:06:51 +0800
|
||||
Subject: [PATCH] Fix build failure with glibc 2.43
|
||||
|
||||
In glibc 2.43, some _Generic macros have been added to preserve the
|
||||
constness of pointers. They are following C23 but also available when
|
||||
_GNU_SOURCE is defined (as we are doing). The preserved constness can
|
||||
trigger some -Wdiscarded-qualifiers warnings, which are turned to errors
|
||||
with -Werror (that we enable by default).
|
||||
|
||||
The find_parent_devpath function really modifies the buffer so we have
|
||||
to drop the const qualifer for it. For other cases, simply add the
|
||||
missed const qualifer.
|
||||
|
||||
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
|
||||
---
|
||||
src/guid.c | 12 ++++++------
|
||||
src/linux-acpi-root.c | 2 +-
|
||||
src/linux-ata.c | 4 ++--
|
||||
src/linux-i2o.c | 2 +-
|
||||
src/linux.c | 2 +-
|
||||
src/linux.h | 2 +-
|
||||
6 files changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/guid.c b/src/guid.c
|
||||
index f999fc4e..1f4a6605 100644
|
||||
--- a/src/guid.c
|
||||
+++ b/src/guid.c
|
||||
@@ -78,13 +78,13 @@ cmpnamep(const void *p1, const void *p2)
|
||||
}
|
||||
|
||||
static int NONNULL(1, 2)
|
||||
-_get_common_guidname(const efi_guid_t *guid, struct efivar_guidname **result)
|
||||
+_get_common_guidname(const efi_guid_t *guid, const struct efivar_guidname **result)
|
||||
{
|
||||
struct efivar_guidname key;
|
||||
memset(&key, '\0', sizeof(key));
|
||||
memcpy(&key.guid, guid, sizeof(*guid));
|
||||
|
||||
- struct efivar_guidname *tmp;
|
||||
+ const struct efivar_guidname *tmp;
|
||||
tmp = bsearch(&key,
|
||||
&efi_well_known_guids[0],
|
||||
efi_n_well_known_guids,
|
||||
@@ -104,7 +104,7 @@ _get_common_guidname(const efi_guid_t *guid, struct efivar_guidname **result)
|
||||
int NONNULL(1, 2) PUBLIC
|
||||
efi_guid_to_name(efi_guid_t *guid, char **name)
|
||||
{
|
||||
- struct efivar_guidname *result;
|
||||
+ const struct efivar_guidname *result;
|
||||
int rc = _get_common_guidname(guid, &result);
|
||||
if (rc >= 0) {
|
||||
*name = strndup(result->name, sizeof(result->name) -1);
|
||||
@@ -119,7 +119,7 @@ efi_guid_to_name(efi_guid_t *guid, char **name)
|
||||
int NONNULL(1, 2) PUBLIC
|
||||
efi_guid_to_symbol(efi_guid_t *guid, char **symbol)
|
||||
{
|
||||
- struct efivar_guidname *result;
|
||||
+ const struct efivar_guidname *result;
|
||||
int rc = _get_common_guidname(guid, &result);
|
||||
if (rc >= 0) {
|
||||
*symbol = strndup(result->symbol, sizeof(result->symbol) -1);
|
||||
@@ -133,7 +133,7 @@ efi_guid_to_symbol(efi_guid_t *guid, char **symbol)
|
||||
int NONNULL(1) PUBLIC
|
||||
efi_guid_to_id_guid(const efi_guid_t *guid, char **sp)
|
||||
{
|
||||
- struct efivar_guidname *result = NULL;
|
||||
+ const struct efivar_guidname *result = NULL;
|
||||
char *ret = NULL;
|
||||
int rc;
|
||||
|
||||
@@ -201,7 +201,7 @@ efi_name_to_guid(const char *name, efi_guid_t *guid)
|
||||
|
||||
key.name[sizeof(key.name) - 1] = '\0';
|
||||
|
||||
- struct efivar_guidname *result;
|
||||
+ const struct efivar_guidname *result;
|
||||
result = bsearch(&key,
|
||||
&efi_well_known_names[0],
|
||||
efi_n_well_known_names,
|
||||
diff --git a/src/linux-acpi-root.c b/src/linux-acpi-root.c
|
||||
index c4c00e7d..a45f0c9d 100644
|
||||
--- a/src/linux-acpi-root.c
|
||||
+++ b/src/linux-acpi-root.c
|
||||
@@ -35,7 +35,7 @@ parse_acpi_root(struct device *dev, const char *path, const char *root UNUSED)
|
||||
uint16_t pad0;
|
||||
uint8_t pad1;
|
||||
char *acpi_header = NULL;
|
||||
- char *colon;
|
||||
+ const char *colon;
|
||||
|
||||
debug("entry");
|
||||
|
||||
diff --git a/src/linux-ata.c b/src/linux-ata.c
|
||||
index 064a4247..d8c98060 100644
|
||||
--- a/src/linux-ata.c
|
||||
+++ b/src/linux-ata.c
|
||||
@@ -95,7 +95,7 @@ parse_ata(struct device *dev, const char *path, const char *root UNUSED)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- char *host = strstr(path, "/host");
|
||||
+ const char *host = strstr(path, "/host");
|
||||
if (!host)
|
||||
return -1;
|
||||
|
||||
@@ -113,7 +113,7 @@ parse_ata(struct device *dev, const char *path, const char *root UNUSED)
|
||||
dev->ata_info.scsi_target = scsi_target;
|
||||
dev->ata_info.scsi_lun = scsi_lun;
|
||||
|
||||
- char *block = strstr(current, "/block/");
|
||||
+ const char *block = strstr(current, "/block/");
|
||||
if (block)
|
||||
current += block + 1 - current;
|
||||
debug("current:'%s' sz:%zd", current, current - path);
|
||||
diff --git a/src/linux-i2o.c b/src/linux-i2o.c
|
||||
index 3aea7d35..2cd1b48a 100644
|
||||
--- a/src/linux-i2o.c
|
||||
+++ b/src/linux-i2o.c
|
||||
@@ -32,7 +32,7 @@ parse_i2o(struct device *dev, const char *current, const char *root UNUSED)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- char *block = strstr(current, "/block/");
|
||||
+ const char *block = strstr(current, "/block/");
|
||||
ssize_t sz = block ? block + 1 - current : -1;
|
||||
debug("current:'%s' sz:%zd", current, sz);
|
||||
return sz;
|
||||
diff --git a/src/linux.c b/src/linux.c
|
||||
index 4344986e..a0a04079 100644
|
||||
--- a/src/linux.c
|
||||
+++ b/src/linux.c
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "efiboot.h"
|
||||
|
||||
int HIDDEN
|
||||
-find_parent_devpath(const char * const child, char **parent)
|
||||
+find_parent_devpath(char * const child, char **parent)
|
||||
{
|
||||
int ret;
|
||||
char *node;
|
||||
diff --git a/src/linux.h b/src/linux.h
|
||||
index 3489e9c1..de3b5b01 100644
|
||||
--- a/src/linux.h
|
||||
+++ b/src/linux.h
|
||||
@@ -161,7 +161,7 @@ extern int HIDDEN eb_nvme_ns_id(int fd, uint32_t *ns_id);
|
||||
|
||||
int HIDDEN get_sector_size(int filedes);
|
||||
|
||||
-extern int HIDDEN find_parent_devpath(const char * const child,
|
||||
+extern int HIDDEN find_parent_devpath(char * const child,
|
||||
char **parent);
|
||||
|
||||
extern ssize_t HIDDEN make_mac_path(uint8_t *buf, ssize_t size,
|
||||
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "makefile"
|
||||
|
||||
[build.flags]
|
||||
makefile_commands = ["make ENABLE_DOCS=0"]
|
||||
makefile_install_commands = [
|
||||
"make install DESTDIR=$DESTDIR ENABLE_DOCS=0 LIBDIR=/usr/lib",
|
||||
"install -Dvm644 docs/efivar.1 $DESTDIR/usr/share/man/man1/efivar.1",
|
||||
"install -d $DESTDIR/usr/share/man/man3 && install -vm644 docs/*.3 $DESTDIR/usr/share/man/man3/"
|
||||
]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "efivar-39-upstream_fixes-1.patch", "efivar-39-posixify-build.patch" ]
|
||||
|
||||
[package]
|
||||
description = "tools and libraries to manipulate EFI variables"
|
||||
homepage = "https://github.com/rhboot/efivar"
|
||||
license = "LGPL-2.1-or-later"
|
||||
name = "efivar"
|
||||
version = "39"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = [ "efivar-39-upstream_fixes-1.patch", "efivar-39-posixify-build.patch" ]
|
||||
sha256 = "c9edd15f2eeeea63232f3e669a48e992c7be9aff57ee22672ac31f5eca1609a6"
|
||||
url = "https://github.com/rhboot/efivar/archive/$version/efivar-$version.tar.gz"
|
||||
@@ -0,0 +1,136 @@
|
||||
diff -ruN a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt 2026-02-13 10:15:11.000000000 -0600
|
||||
+++ b/CMakeLists.txt 2026-02-28 14:34:36.533430812 -0600
|
||||
@@ -120,7 +120,7 @@
|
||||
message(FATAL_ERROR "BINARY_LINK_TYPE must be one of ${BINARY_LINK_TYPE_OPTIONS}")
|
||||
endif()
|
||||
|
||||
-set(PACKAGE_MANAGERS AM APK BREW CHOCO DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SOAR SORCERY WINGET XBPS)
|
||||
+set(PACKAGE_MANAGERS AM APK BREW CHOCO DEPOT DPKG EMERGE EOPKG FLATPAK GUIX LINGLONG LPKG LPKGBUILD MACPORTS NIX OPKG PACMAN PACSTALL PALUDIS PISI PKG PKGTOOL RPM SCOOP SNAP SOAR SORCERY WINGET XBPS)
|
||||
foreach(package_manager ${PACKAGE_MANAGERS})
|
||||
if(package_manager STREQUAL "WINGET")
|
||||
option(PACKAGES_DISABLE_${package_manager} "Disable ${package_manager} package manager detection by default" ON)
|
||||
diff -ruN a/src/detection/packages/packages.h b/src/detection/packages/packages.h
|
||||
--- a/src/detection/packages/packages.h 2026-02-13 10:15:11.000000000 -0600
|
||||
+++ b/src/detection/packages/packages.h 2026-02-28 14:34:43.270607662 -0600
|
||||
@@ -11,6 +11,7 @@
|
||||
uint32_t brew;
|
||||
uint32_t brewCask;
|
||||
uint32_t choco;
|
||||
+ uint32_t depot;
|
||||
uint32_t dpkg;
|
||||
uint32_t emerge;
|
||||
uint32_t eopkg;
|
||||
diff -ruN a/src/detection/packages/packages_linux.c b/src/detection/packages/packages_linux.c
|
||||
--- a/src/detection/packages/packages_linux.c 2026-02-13 10:15:11.000000000 -0600
|
||||
+++ b/src/detection/packages/packages_linux.c 2026-02-28 14:34:54.446900065 -0600
|
||||
@@ -455,6 +455,7 @@
|
||||
{
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_APK_BIT)) packageCounts->apk += getNumStrings(baseDir, "/lib/apk/db/installed", "C:Q", "apk");
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_DPKG_BIT)) packageCounts->dpkg += getNumStrings(baseDir, "/var/lib/dpkg/status", "Status: install ok installed", "dpkg");
|
||||
+ if (!(options->disabled & FF_PACKAGES_FLAG_DEPOT_BIT)) packageCounts->depot += getSQLite3Int(baseDir, "/var/lib/depot/packages.db", "SELECT COUNT(*) FROM packages", "depot-system");
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_LPKG_BIT)) packageCounts->lpkg += getNumStrings(baseDir, "/opt/Loc-OS-LPKG/installed-lpkg/Listinstalled-lpkg.list", "\n", "lpkg");
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_EMERGE_BIT)) packageCounts->emerge += countFilesRecursive(baseDir, "/var/db/pkg", "SIZE");
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_EOPKG_BIT)) packageCounts->eopkg += getNumElements(baseDir, "/var/lib/eopkg/package", true);
|
||||
@@ -559,6 +560,9 @@
|
||||
#endif
|
||||
|
||||
ffStrbufSet(&baseDir, &instance.state.platform.homeDir);
|
||||
+ if (!(options->disabled & FF_PACKAGES_FLAG_DEPOT_BIT))
|
||||
+ result->depot += getSQLite3Int(&baseDir, ".local/share/depot/packages.db", "SELECT COUNT(*) FROM packages", "depot-user");
|
||||
+
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_NIX_BIT))
|
||||
{
|
||||
// Count packages from $HOME/.nix-profile
|
||||
diff -ruN a/src/logo/ascii/vertex.txt b/src/logo/ascii/vertex.txt
|
||||
--- a/src/logo/ascii/vertex.txt 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ b/src/logo/ascii/vertex.txt 2026-02-28 14:34:29.816254040 -0600
|
||||
@@ -0,0 +1,6 @@
|
||||
+____ ____ __
|
||||
+\ \ / /____________/ |_ ____ ___ ___
|
||||
+ \ Y // __ \_ __ \ __\/ __ \\ \/ /
|
||||
+ \ /\ ___/| | \/| | \ ___/ > <
|
||||
+ \___/ \___ >__| |__| \___ >__/\_ \
|
||||
+ \/ \/ \/
|
||||
diff -ruN a/src/logo/builtin.c b/src/logo/builtin.c
|
||||
--- a/src/logo/builtin.c 2026-02-13 10:15:11.000000000 -0600
|
||||
+++ b/src/logo/builtin.c 2026-02-28 14:35:07.169231466 -0600
|
||||
@@ -5274,6 +5274,16 @@
|
||||
FF_COLOR_FG_BLUE,
|
||||
},
|
||||
},
|
||||
+ // Vertex Linux
|
||||
+ {
|
||||
+ .names = {"Vertex Linux", "Vertex", "vertex"},
|
||||
+ .lines = FASTFETCH_DATATEXT_LOGO_VERTEX,
|
||||
+ .colors = {
|
||||
+ FF_COLOR_FG_LIGHT_MAGENTA,
|
||||
+ },
|
||||
+ .colorKeys = FF_COLOR_FG_LIGHT_MAGENTA,
|
||||
+ .colorTitle = FF_COLOR_FG_LIGHT_MAGENTA,
|
||||
+ },
|
||||
// VincentOS
|
||||
{
|
||||
.names = {"VincentOS"},
|
||||
diff -ruN a/src/modules/packages/option.h b/src/modules/packages/option.h
|
||||
--- a/src/modules/packages/option.h 2026-02-13 10:15:11.000000000 -0600
|
||||
+++ b/src/modules/packages/option.h 2026-02-28 14:34:47.202710674 -0600
|
||||
@@ -37,6 +37,7 @@
|
||||
FF_PACKAGES_FLAG_PISI_BIT = 1ULL << 29,
|
||||
FF_PACKAGES_FLAG_SOAR_BIT = 1ULL << 30,
|
||||
FF_PACKAGES_FLAG_KISS_BIT = 1ULL << 31,
|
||||
+ FF_PACKAGES_FLAG_DEPOT_BIT = 1ULL << 32,
|
||||
FF_PACKAGES_FLAG_FORCE_UNSIGNED = UINT64_MAX,
|
||||
} FFPackagesFlags;
|
||||
static_assert(sizeof(FFPackagesFlags) == sizeof(uint64_t), "");
|
||||
diff -ruN a/src/modules/packages/packages.c b/src/modules/packages/packages.c
|
||||
--- a/src/modules/packages/packages.c 2026-02-13 10:15:11.000000000 -0600
|
||||
+++ b/src/modules/packages/packages.c 2026-02-28 14:35:01.426082052 -0600
|
||||
@@ -58,6 +58,7 @@
|
||||
if((all -= counts.pacman) > 0)
|
||||
printf(", ");
|
||||
};
|
||||
+ FF_PRINT_PACKAGE(depot)
|
||||
FF_PRINT_PACKAGE(dpkg)
|
||||
FF_PRINT_PACKAGE(rpm)
|
||||
FF_PRINT_PACKAGE(emerge)
|
||||
@@ -156,6 +157,7 @@
|
||||
FF_FORMAT_ARG(counts.all, "all"),
|
||||
FF_FORMAT_ARG(counts.pacman, "pacman"),
|
||||
FF_FORMAT_ARG(counts.pacmanBranch, "pacman-branch"),
|
||||
+ FF_FORMAT_ARG(counts.depot, "depot"),
|
||||
FF_FORMAT_ARG(counts.dpkg, "dpkg"),
|
||||
FF_FORMAT_ARG(counts.rpm, "rpm"),
|
||||
FF_FORMAT_ARG(counts.emerge, "emerge"),
|
||||
@@ -255,6 +257,7 @@
|
||||
FF_TEST_PACKAGE_NAME(CHOCO)
|
||||
break;
|
||||
case 'D': if (false);
|
||||
+ FF_TEST_PACKAGE_NAME(DEPOT)
|
||||
FF_TEST_PACKAGE_NAME(DPKG)
|
||||
break;
|
||||
case 'E': if (false);
|
||||
@@ -345,6 +348,7 @@
|
||||
FF_TEST_PACKAGE_NAME(APK)
|
||||
FF_TEST_PACKAGE_NAME(BREW)
|
||||
FF_TEST_PACKAGE_NAME(CHOCO)
|
||||
+ FF_TEST_PACKAGE_NAME(DEPOT)
|
||||
FF_TEST_PACKAGE_NAME(DPKG)
|
||||
FF_TEST_PACKAGE_NAME(EMERGE)
|
||||
FF_TEST_PACKAGE_NAME(EOPKG)
|
||||
@@ -402,6 +406,7 @@
|
||||
FF_APPEND_PACKAGE_COUNT(brew)
|
||||
FF_APPEND_PACKAGE_COUNT(brewCask)
|
||||
FF_APPEND_PACKAGE_COUNT(choco)
|
||||
+ FF_APPEND_PACKAGE_COUNT(depot)
|
||||
FF_APPEND_PACKAGE_COUNT(dpkg)
|
||||
FF_APPEND_PACKAGE_COUNT(emerge)
|
||||
FF_APPEND_PACKAGE_COUNT(eopkg)
|
||||
@@ -466,6 +471,7 @@
|
||||
{"Number of all packages", "all"},
|
||||
{"Number of pacman packages", "pacman"},
|
||||
{"Pacman branch on manjaro", "pacman-branch"},
|
||||
+ {"Number of depot packages", "depot"},
|
||||
{"Number of dpkg packages", "dpkg"},
|
||||
{"Number of rpm packages", "rpm"},
|
||||
{"Number of emerge packages", "emerge"},
|
||||
@@ -0,0 +1,65 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DBUILD_FLASHFETCH=OFF",
|
||||
"-DENABLE_SQLITE3=ON",
|
||||
"-DENABLE_IMAGEMAGICK6=OFF",
|
||||
"-DENABLE_RPM=OFF",
|
||||
"-DENABLE_SYSTEM_YYJSON=ON",
|
||||
"-DPACKAGES_DISABLE_APK=ON",
|
||||
"-DPACKAGES_DISABLE_EMERGE=ON",
|
||||
"-DPACKAGES_DISABLE_EOPKG=ON",
|
||||
"-DPACKAGES_DISABLE_DPKG=ON",
|
||||
"-DPACKAGES_DISABLE_GUIX=ON",
|
||||
"-DPACKAGES_DISABLE_LINGLONG=ON",
|
||||
"-DPACKAGES_DISABLE_LPKG=ON",
|
||||
"-DPACKAGES_DISABLE_LPKGBUILD=ON",
|
||||
"-DPACKAGES_DISABLE_OPKG=ON",
|
||||
"-DPACKAGES_DISABLE_PACSTALL=ON",
|
||||
"-DPACKAGES_DISABLE_PALUDIS=ON",
|
||||
"-DPACKAGES_DISABLE_PKG=ON",
|
||||
"-DPACKAGES_DISABLE_PKGTOOL=ON",
|
||||
"-DPACKAGES_DISABLE_RPM=ON",
|
||||
"-DPACKAGES_DISABLE_SORCERY=ON",
|
||||
"-DPACKAGES_DISABLE_XBPS=ON",
|
||||
"-DPACKAGES_DISABLE_PACMAN=ON",
|
||||
"-Wno-dev"
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"sqlite",
|
||||
"zlib-ng",
|
||||
]
|
||||
optional = [
|
||||
"sqlite",
|
||||
"zlib-ng",
|
||||
"python",
|
||||
"libelf",
|
||||
"hwdata",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"yyjson",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "feature-rich and performance oriented neofetch like system information tool"
|
||||
homepage = "https://github.com/fastfetch-cli/fastfetch"
|
||||
license = "MIT"
|
||||
name = "fastfetch"
|
||||
version = "2.59.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "978e2524d0dc1ff9fd8c89fb24ae5b131af18ff108da82c6d99823712557e499"
|
||||
url = "https://github.com/fastfetch-cli/fastfetch/archive/refs/tags/$version.tar.gz"
|
||||
patches = [ "fastfetch-2.59.0-vertex-depot.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "fastfetch-2.59.0-vertex-depot.patch" ]
|
||||
sha256 = "skip"
|
||||
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--with-pic",
|
||||
"--disable-static",
|
||||
]
|
||||
skip-tests = true
|
||||
make-install-vars = [ "htmldir=/usr/share/doc/ffcall" ]
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "C library for implementing foreign function calls in embedded interpreters"
|
||||
homepage = "https://www.gnu.org/software/libffcall/"
|
||||
license = "GPL-2.0-or-later"
|
||||
name = "ffcall"
|
||||
version = "2.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://mirrors.kernel.org/gnu/libffcall/libffcall-$version.tar.gz"
|
||||
sha256 = "b2:552a0a33bbed91380ced4bdb0f87f38be0a531e729b9530d80dd777ce93b4fe3515a984c2da0221e0110756fbbc099d666b1fed6f5cfacfccbedda7f97e58054"
|
||||
patches = [ "libffcall-2.5-parallel-make-race.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "libffcall-2.5-parallel-make-race.patch"
|
||||
sha256 = "b2:094d442a4678e8f712ecbe4dcabe15440b7e3be6f4715593c71937269045835c1dd08cdd18992efd9d2b8ecbf0a95cbc9b20b1e8d1377888d5c45640ff3480ab"
|
||||
@@ -0,0 +1,25 @@
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 5f5b496..5865660 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -233,3 +233,7 @@ dist : force
|
||||
|
||||
force :
|
||||
|
||||
+# This Makefile contains rules which don't work with parallel make.
|
||||
+# See <https://savannah.gnu.org/bugs/?66220>.
|
||||
+# So, turn off parallel execution in this Makefile.
|
||||
+.NOTPARALLEL:
|
||||
diff --git a/callback/Makefile.in b/callback/Makefile.in
|
||||
index d453d6b..64908e8 100644
|
||||
--- a/callback/Makefile.in
|
||||
+++ b/callback/Makefile.in
|
||||
@@ -234,3 +234,8 @@ distdir : $(DISTFILES)
|
||||
|
||||
|
||||
force :
|
||||
+
|
||||
+# This Makefile contains rules which don't work with parallel make.
|
||||
+# See <https://savannah.gnu.org/bugs/?66220>.
|
||||
+# So, turn off parallel execution in this Makefile.
|
||||
+.NOTPARALLEL:
|
||||
@@ -0,0 +1,47 @@
|
||||
--- a/share/functions/fish_command_not_found.fish
|
||||
+++ b/share/functions/fish_command_not_found.fish
|
||||
@@ -49,6 +49,44 @@
|
||||
function fish_command_not_found
|
||||
command-not-found -- $argv[1]
|
||||
end
|
||||
+ # depot can query binary repo metadata for path ownership, which lets us
|
||||
+ # suggest packages for missing commands in a pkgfile-like format.
|
||||
+else if type -q depot
|
||||
+ function fish_command_not_found
|
||||
+ set -l __depot_seen_dirs
|
||||
+ set -l __depot_paths
|
||||
+ set -l __depot_packages
|
||||
+
|
||||
+ for __dir in $PATH
|
||||
+ string match -q '/*' -- $__dir; or continue
|
||||
+ contains -- $__dir $__depot_seen_dirs; and continue
|
||||
+ set -a __depot_seen_dirs $__dir
|
||||
+ set -a __depot_paths $__dir/$argv[1]
|
||||
+ end
|
||||
+
|
||||
+ if test (count $__depot_paths) -eq 0
|
||||
+ set __depot_paths /usr/bin/$argv[1] /bin/$argv[1]
|
||||
+ end
|
||||
+
|
||||
+ for __path in $__depot_paths
|
||||
+ set -l __hits (
|
||||
+ depot repo owns $__path 2>/dev/null |
|
||||
+ string match -r '^\[INFO\] [^ ]+ \[binary:[^]]+\] [^ ]+ size=[^ ]+ owns=.*$' |
|
||||
+ string replace -r '^\[INFO\] ([^ ]+) \[binary:([^]]+)\] ([^ ]+) size=[^ ]+ owns=(.+)$' '$2/$1 $3\t$4'
|
||||
+ )
|
||||
+
|
||||
+ for __hit in $__hits
|
||||
+ contains -- $__hit $__depot_packages; or set -a __depot_packages $__hit
|
||||
+ end
|
||||
+ end
|
||||
+
|
||||
+ if test (count $__depot_packages) -gt 0
|
||||
+ printf "%s may be found in the following packages:\n" "$argv[1]"
|
||||
+ printf " %s\n" $__depot_packages
|
||||
+ else
|
||||
+ __fish_default_command_not_found_handler $argv[1]
|
||||
+ end
|
||||
+ end
|
||||
# pkgfile is an optional, but official, package on Arch Linux
|
||||
# it ships with example handlers for bash and zsh, so we'll follow that format
|
||||
else if type -q pkgfile
|
||||
@@ -0,0 +1,55 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DWITH_DOCS=ON",
|
||||
"-DFISH_USE_SYSTEM_PCRE2=ON",
|
||||
"-DWITH_MESSAGE_LOCALIZATION=ON",
|
||||
"-Wno-dev",
|
||||
]
|
||||
keep = [ "etc/fish/config.fish" ]
|
||||
use_lto = false
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"jq",
|
||||
"rust",
|
||||
"python-sphinx",
|
||||
]
|
||||
optional = [
|
||||
"python",
|
||||
"groff",
|
||||
"mandoc",
|
||||
"xsel",
|
||||
"xclip",
|
||||
"wl-clipboard",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
"pcre2",
|
||||
]
|
||||
test = [
|
||||
"expect",
|
||||
"procps-ng",
|
||||
"python-pexpect",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Smart and user friendly shell intended mostly for interactive use"
|
||||
homepage = "https://fishshell.com/"
|
||||
license = "GPL-2.0-only AND BSD-3-Clause AND ISC AND MIT AND PSF-2.0"
|
||||
name = "fish"
|
||||
version = "4.5.0"
|
||||
revision = 2
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/fish-shell/fish-shell#$version"
|
||||
patches = [ "fish-4.5.0-depot-command-not-found.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "fish-4.5.0-depot-command-not-found.patch", "postinstall.sh", "postupdate.sh", "postremove.sh" ]
|
||||
@@ -0,0 +1,2 @@
|
||||
grep -qe '^/usr/bin/fish$' etc/shells || echo '/usr/bin/fish' >> etc/shells
|
||||
grep -qe '^/bin/fish$' etc/shells || echo '/bin/fish' >> etc/shells
|
||||
@@ -0,0 +1 @@
|
||||
sed -ri -e '\|^/usr/bin/fish$|d' -e '\|^/bin/fish$|d' etc/shells
|
||||
@@ -0,0 +1,2 @@
|
||||
grep -qe '^/usr/bin/fish$' etc/shells || echo '/usr/bin/fish' >> etc/shells
|
||||
grep -qe '^/bin/fish$' etc/shells || echo '/bin/fish' >> etc/shells
|
||||
@@ -0,0 +1,38 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-Wno-dev",
|
||||
"-G Ninja",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"mkdocs",
|
||||
"mkdocs-material",
|
||||
"mkdocstrings",
|
||||
"ninja",
|
||||
"npm",
|
||||
"python-pymdown-extensions",
|
||||
"python-regex",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
"libcxx",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Open-source formatting library for C++"
|
||||
homepage = "https://fmt.dev/"
|
||||
license = "MIT"
|
||||
name = "fmt"
|
||||
version = "12.1.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/fmtlib/fmt.git#$version"
|
||||
@@ -0,0 +1,48 @@
|
||||
The last test of t4129 creates a directory and expects its setgid bit
|
||||
(g+s) to be off. But this makes the test fail when the parent directory
|
||||
has the bit set, as setgid's state is inherited by newly created
|
||||
subdirectories. Make the test more robust by accepting the presence of
|
||||
the setgid bit on the created directory. We only allow 'S' (setgid on
|
||||
but no executable permission) and not 's' (setgid on with executable
|
||||
permission) because the previous 'umask 0077' shouldn't allow the second
|
||||
scenario to happen.
|
||||
|
||||
Note that only subdirectories inherit this bit, so we don't have to make
|
||||
the same change for the regular file that is also created by this test.
|
||||
But checking the permissions using grep instead of test_cmp makes the
|
||||
test a little simpler, so let's use it for the regular file as well.
|
||||
|
||||
Also note that the sticky bit (+t) and the setuid bit (u+s) are not
|
||||
inherited, so we don't have to worry about those.
|
||||
|
||||
Reported-by: Kevin Daudt <me@ikke.info>
|
||||
Signed-off-by: Matheus Tavares <matheus.bernardino@usp.br>
|
||||
---
|
||||
t/t4129-apply-samemode.sh | 10 ++++------
|
||||
1 file changed, 4 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/t/t4129-apply-samemode.sh b/t/t4129-apply-samemode.sh
|
||||
index 41818d8315..3818398ca9 100755
|
||||
--- a/t/t4129-apply-samemode.sh
|
||||
+++ b/t/t4129-apply-samemode.sh
|
||||
@@ -90,12 +90,10 @@ test_expect_success POSIXPERM 'do not use core.sharedRepository for working tree
|
||||
rm -rf d f1 &&
|
||||
git apply patch-f1-and-f2.txt &&
|
||||
|
||||
- echo "-rw-------" >f1_mode.expected &&
|
||||
- echo "drwx------" >d_mode.expected &&
|
||||
- test_modebits f1 >f1_mode.actual &&
|
||||
- test_modebits d >d_mode.actual &&
|
||||
- test_cmp f1_mode.expected f1_mode.actual &&
|
||||
- test_cmp d_mode.expected d_mode.actual
|
||||
+ test_modebits f1 >f1_mode &&
|
||||
+ test_modebits d >d_mode &&
|
||||
+ grep "^-rw-------$" f1_mode &&
|
||||
+ grep "^drwx--[-S]---$" d_mode
|
||||
)
|
||||
'
|
||||
|
||||
--
|
||||
2.29.2
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# conf.d file for git-daemon
|
||||
#
|
||||
# Please check man 1 git-daemon for more information about the options
|
||||
# git-daemon accepts. You MUST edit this to include your repositories you wish
|
||||
# to serve.
|
||||
#
|
||||
# Some of the meaningful options are:
|
||||
# --syslog --- Enables syslog logging
|
||||
# --verbose --- Enables verbose logging
|
||||
# --export-all --- Exports all repositories
|
||||
# --port=XXXX --- Starts in port XXXX instead of 9418
|
||||
#
|
||||
GITDAEMON_OPTS="--syslog --base-path=/var/git"
|
||||
|
||||
# To run an anonymous git safely, the following user should be able to only
|
||||
# read your Git repositories. It should not be able to write to anywhere on
|
||||
# your system, esp. not the repositories.
|
||||
GIT_USER="nobody"
|
||||
GIT_GROUP="nobody"
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
pidfile="/var/run/git-daemon.pid"
|
||||
command="/usr/bin/git"
|
||||
command_args="daemon ${GITDAEMON_OPTS}"
|
||||
start_stop_daemon_args="-e HOME= -e XDG_CONFIG_HOME= -b -m -p ${pidfile} -u ${GIT_USER:-nobody}:${GIT_GROUP:-nobody}"
|
||||
|
||||
depend() {
|
||||
use logger
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--with-gitconfig=/etc/gitconfig",
|
||||
"--with-python=python3",
|
||||
"--with-libpcre2",
|
||||
]
|
||||
post_install = [ "install -Dm755 $DEPOT_SPECDIR/git-daemon.initd $DESTDIR/etc/init.d/git-daemon", "install -Dm644 $DEPOT_SPECDIR/git-daemon.confd $DESTDIR/etc/conf.d/git-daemon", "install -Dm644 contrib/completion/git-completion.bash $DESTDIR/usr/share/bash-completion/completions/git", "install -Dm644 contrib/completion/git-prompt.sh $DESTDIR/usr/share/git-core/git-prompt.sh" ]
|
||||
make_install_vars = [ "perllibdir=/usr/lib/perl5/5.42/site_perl" ]
|
||||
keep = [ "etc/conf.d/*" ]
|
||||
|
||||
[dependencies]
|
||||
build = ["python"]
|
||||
optional = [
|
||||
"less",
|
||||
"libsecret",
|
||||
"man-db",
|
||||
"openssh",
|
||||
"org.freedesktop.secrets",
|
||||
"perl-authen-sasl",
|
||||
"perl-cgi",
|
||||
"perl-io-socket-ssl",
|
||||
"perl-libwww",
|
||||
"python",
|
||||
"perl-term-readkey",
|
||||
"tk",
|
||||
"subversion",
|
||||
]
|
||||
runtime = [
|
||||
"curl",
|
||||
"expat",
|
||||
"grep",
|
||||
"openssl",
|
||||
"pcre2",
|
||||
"perl",
|
||||
"perl-error",
|
||||
"perl-mailtools",
|
||||
"shadow",
|
||||
"zlib-ng",
|
||||
]
|
||||
test = ["openssh"]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [
|
||||
"fix-t4219-with-sticky-bit.patch",
|
||||
"git-daemon.initd",
|
||||
"git-daemon.confd",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "the fast distributed version control system"
|
||||
homepage = "https://git-scm.com/"
|
||||
license = "GPL-2.0-only"
|
||||
name = "git"
|
||||
version = "2.53.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = ["fix-t4219-with-sticky-bit.patch"]
|
||||
sha256 = "5818bd7d80b061bbbdfec8a433d609dc8818a05991f731ffc4a561e2ca18c653"
|
||||
url = "https://www.kernel.org/pub/software/scm/git/git-$version.tar.xz"
|
||||
@@ -0,0 +1,2 @@
|
||||
install -Dt "$DESTDIR/usr/share/fonts/gnu-free" -m644 *.otf
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "custom"
|
||||
|
||||
[alternatives]
|
||||
provides = [ "ttf-font", "ttf-freefont" ]
|
||||
|
||||
[package]
|
||||
description = "A free family of scalable outline fonts"
|
||||
homepage = "https://www.gnu.org/software/freefont/"
|
||||
license = "GPL-3.0-or-later"
|
||||
name = "gnu-free-fonts"
|
||||
version = "20120503"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "3a6c51868c71b006c33c4bcde63d90927e6fcca8f51c965b8ad62d021614a860"
|
||||
url = "https://mirrors.kernel.org/gnu/freefont/freefont-otf-$version.tar.gz"
|
||||
@@ -0,0 +1,9 @@
|
||||
# https://gnutls.org/manual/html_node/Enabling_002fDisabling-system_002facceleration-protocols.html#Enabling-KTLS
|
||||
#
|
||||
# GnuTLS is built with -–enable-ktls configuration, KTLS is disabled by default.
|
||||
# This can be enabled by setting ktls = true in [global] section.
|
||||
#
|
||||
|
||||
[global]
|
||||
ktls = false
|
||||
#ktls = true
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,58 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--with-idn",
|
||||
"--with-brotli",
|
||||
"--with-zstd",
|
||||
"--without-tpm2",
|
||||
"--enable-openssl-compatibility",
|
||||
"--with-default-trust-store-pkcs11=pkcs11:",
|
||||
"--enable-ktls",
|
||||
"--with-leancrypto",
|
||||
"--disable-tests"
|
||||
]
|
||||
post_configure = ['''sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool''']
|
||||
post_install = [
|
||||
"install -dm755 $DESTDIR/etc/gnutls",
|
||||
"install -Dm644 $DEPOT_SPECDIR/config $DESTDIR/etc/gnutls/config",
|
||||
]
|
||||
keep = [ "etc/gnutls/config" ]
|
||||
no-compress-man = true
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
optional = ["tpm2-tss"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"gmp",
|
||||
"libtasn1",
|
||||
"zlib-ng",
|
||||
"nettle",
|
||||
"leancrypto",
|
||||
"libcxx",
|
||||
"libunwind",
|
||||
"p11-kit",
|
||||
"libidn2",
|
||||
"zstd",
|
||||
"libunistring",
|
||||
"brotli",
|
||||
]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "config", "gnutls-3.8.12-nettle-4.0-compat.patch" ]
|
||||
|
||||
[package]
|
||||
description = "A library which provides a secure layer over a reliable transport layer"
|
||||
homepage = "https://www.gnutls.org/"
|
||||
license = "GPL-3.0-or-later AND LGPL-2.1-or-later"
|
||||
name = "gnutls"
|
||||
version = "3.8.12"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "a7b341421bfd459acf7a374ca4af3b9e06608dcd7bd792b2bf470bea012b8e51"
|
||||
url = "https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-$version.tar.xz"
|
||||
patches = [ "gnutls-3.8.12-nettle-4.0-compat.patch" ]
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
|
||||
"-DCMAKE_SKIP_INSTALL_RPATH=ON",
|
||||
"-DGRAPHITE2_COMPARE_RENDERER=OFF",
|
||||
"-DGRAPHITE2_VM_TYPE=direct",
|
||||
"-G Ninja",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"python",
|
||||
"ninja"
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libcxx",
|
||||
"libunwind",
|
||||
]
|
||||
test = [ "python-fonttools" ]
|
||||
|
||||
[package]
|
||||
description = "smart font system to handle the complexities of lesser-known languages of the world"
|
||||
homepage = "https://graphite.sil.org/"
|
||||
license = "LGPL-2.1-or-later OR MPL-2.0 OR GPL-2.0-or-later"
|
||||
name = "graphite"
|
||||
version = "1.3.14"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "f99d1c13aa5fa296898a181dff9b82fb25f6cc0933dbaa7a475d8109bd54209d"
|
||||
url = "https://github.com/silnrsi/graphite/releases/download/$version/graphite2-$version.tgz"
|
||||
@@ -0,0 +1,61 @@
|
||||
diff --git a/googletest/test/googletest-port-test.cc
|
||||
index 9f05a01..9ee4061 100644
|
||||
--- a/googletest/test/googletest-port-test.cc
|
||||
+++ b/googletest/test/googletest-port-test.cc
|
||||
@@ -304,7 +304,12 @@ TEST(GetThreadCountTest, ReturnsCorrectValue) {
|
||||
// some point.
|
||||
for (int attempt = 0; attempt < 20; ++attempt) {
|
||||
starting_count = GetThreadCount();
|
||||
+ if (starting_count == 0) {
|
||||
+ GTEST_SKIP() << "GetThreadCount() is unavailable on this system.";
|
||||
+ }
|
||||
+
|
||||
pthread_t thread_id;
|
||||
+ bool thread_count_matches = false;
|
||||
|
||||
internal::Mutex mutex;
|
||||
{
|
||||
@@ -317,7 +322,22 @@ TEST(GetThreadCountTest, ReturnsCorrectValue) {
|
||||
ASSERT_EQ(0, pthread_attr_destroy(&attr));
|
||||
ASSERT_EQ(0, status);
|
||||
|
||||
- thread_count_after_create = GetThreadCount();
|
||||
+ // The OS may not immediately report the updated thread count after
|
||||
+ // creating a thread, causing flakiness in this test. To counter that,
|
||||
+ // wait for up to .5 seconds for the OS to report the correct value
|
||||
+ // while keeping the worker thread blocked on the mutex.
|
||||
+ for (int i = 0; i < 5; ++i) {
|
||||
+ thread_count_after_create = GetThreadCount();
|
||||
+ if (thread_count_after_create == 0) {
|
||||
+ GTEST_SKIP() << "GetThreadCount() is unavailable on this system.";
|
||||
+ }
|
||||
+ if (thread_count_after_create == starting_count + 1) {
|
||||
+ thread_count_matches = true;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
+ }
|
||||
}
|
||||
|
||||
void* dummy;
|
||||
@@ -325,14 +345,17 @@ TEST(GetThreadCountTest, ReturnsCorrectValue) {
|
||||
|
||||
// Join before we decide whether we need to retry the test. Retry if an
|
||||
// arbitrary other thread was created or destroyed in the meantime.
|
||||
- if (thread_count_after_create != starting_count + 1) continue;
|
||||
+ if (!thread_count_matches) continue;
|
||||
|
||||
// The OS may not immediately report the updated thread count after
|
||||
// joining a thread, causing flakiness in this test. To counter that, we
|
||||
// wait for up to .5 seconds for the OS to report the correct value.
|
||||
- bool thread_count_matches = false;
|
||||
+ thread_count_matches = false;
|
||||
for (int i = 0; i < 5; ++i) {
|
||||
thread_count_after_join = GetThreadCount();
|
||||
+ if (thread_count_after_join == 0) {
|
||||
+ GTEST_SKIP() << "GetThreadCount() is unavailable on this system.";
|
||||
+ }
|
||||
if (thread_count_after_join == starting_count) {
|
||||
thread_count_matches = true;
|
||||
break;
|
||||
@@ -0,0 +1,42 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-Wno-dev",
|
||||
"-DBUILD_SHARED_LIBS=ON",
|
||||
"-Dgtest_build_tests=ON",
|
||||
"-DGOOGLETEST_VERSION=$version",
|
||||
"-G Ninja"
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"python",
|
||||
"ninja"
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
"libcxx",
|
||||
]
|
||||
optional = [ "python" ]
|
||||
|
||||
[package]
|
||||
description = "Google Test - C++ testing utility"
|
||||
homepage = "https://github.com/google/googletest"
|
||||
license = "BSD-3-Clause"
|
||||
name = "gtest"
|
||||
version = "1.17.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c"
|
||||
url = "https://github.com/google/googletest/releases/download/v$version/googletest-$version.tar.gz"
|
||||
patches = [ "googletest-1.17.0-fix-flaky-getthreadcount-test.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "googletest-1.17.0-fix-flaky-getthreadcount-test.patch"
|
||||
sha256 = "b2:9f05b125c2deaf16e04b48de1bbdcf954cf44c745c16b7ee3c0492e2e36e43a50f10ef73f7f17e52ac8e4ce861b4b57546a5eb4d09c164c6d7b4a68cf857045b"
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["perl-locale-gettext"]
|
||||
|
||||
[package]
|
||||
description = "Conversion tool to create man files"
|
||||
homepage = "https://www.gnu.org/software/help2man/"
|
||||
license = "GPL-3.0-or-Later"
|
||||
name = "help2man"
|
||||
version = "1.49.3"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "4d7e4fdef2eca6afe07a2682151cea78781e0a4e8f9622142d9f70c083a2fd4f"
|
||||
url = "https://mirrors.kernel.org/gnu/help2man/help2man-$version.tar.xz"
|
||||
@@ -0,0 +1,113 @@
|
||||
From bc3293299bc4981e83b7f37f3615a6b9b27b6837 Mon Sep 17 00:00:00 2001
|
||||
From: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
|
||||
Date: Mon, 3 Aug 2020 21:09:39 +0100
|
||||
Subject: [PATCH 13/15] new jbig.c limit s->maxmem: maximum decoded image size
|
||||
(default: 2 GB)
|
||||
|
||||
this helps users to reduce denial-of-service risks, as in CVE-2017-9937
|
||||
---
|
||||
CHANGES | 9 +++++++++
|
||||
libjbig/jbig.c | 5 +++++
|
||||
libjbig/jbig.h | 2 ++
|
||||
libjbig/jbig.txt | 39 ++++++++++++++++++++++++++++-----------
|
||||
4 files changed, 44 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/libjbig/jbig.c b/libjbig/jbig.c
|
||||
index fe54946..e9938e5 100644
|
||||
--- a/libjbig/jbig.c
|
||||
+++ b/libjbig/jbig.c
|
||||
@@ -2051,6 +2051,7 @@ void jbg_dec_init(struct jbg_dec_state *s)
|
||||
s->xmax = 4294967295UL;
|
||||
s->ymax = 4294967295UL;
|
||||
s->dmax = 256;
|
||||
+ s->maxmem = 2000000000; /* no final image larger than 2 GB by default */
|
||||
s->s = NULL;
|
||||
|
||||
return;
|
||||
@@ -2640,6 +2641,10 @@ int jbg_dec_in(struct jbg_dec_state *s, unsigned char *data, size_t len,
|
||||
return JBG_EIMPL | 5;
|
||||
s->options = s->buffer[19];
|
||||
|
||||
+ /* will the final image require more bytes than permitted by s->maxmem? */
|
||||
+ if (s->maxmem / s->planes / s->yd / jbg_ceil_half(s->xd, 3) == 0)
|
||||
+ return JBG_ENOMEM; /* increase s->maxmem if needed */
|
||||
+
|
||||
/* calculate number of stripes that will be required */
|
||||
s->stripes = jbg_stripes(s->l0, s->yd, s->d);
|
||||
|
||||
diff --git a/libjbig/jbig.h b/libjbig/jbig.h
|
||||
index 81c1adc..2577399 100644
|
||||
--- a/libjbig/jbig.h
|
||||
+++ b/libjbig/jbig.h
|
||||
@@ -181,6 +181,8 @@ struct jbg_dec_state {
|
||||
unsigned long xmax, ymax; /* if possible abort before image gets *
|
||||
* larger than this size */
|
||||
int dmax; /* abort after this layer */
|
||||
+ size_t maxmem; /* return JBG_ENOMEM if final image layer D
|
||||
+ would require more than maxmem bytes */
|
||||
};
|
||||
|
||||
|
||||
diff --git a/libjbig/jbig.txt b/libjbig/jbig.txt
|
||||
index 70ca464..4547b12 100644
|
||||
--- a/libjbig/jbig.txt
|
||||
+++ b/libjbig/jbig.txt
|
||||
@@ -2,7 +2,7 @@
|
||||
Using the JBIG-KIT library
|
||||
--------------------------
|
||||
|
||||
-Markus Kuhn -- 2013-09-10
|
||||
+Markus Kuhn -- 2020-08-03
|
||||
|
||||
|
||||
This text explains how to use the functions provided by the JBIG-KIT
|
||||
@@ -735,19 +735,36 @@ None of the above limitations can be exceeded by a JBIG data stream
|
||||
that conforms to the ITU-T T.85 application profile for the use of
|
||||
JBIG1 in fax machines.
|
||||
|
||||
-The current implementation of the jbig.c decoder does not impose any
|
||||
-limits on the image size that it will process, as long as malloc() is
|
||||
-able to allocate enough heap space for the resulting bitmaps. The only
|
||||
-exception is that jbg_dec_in() will return "Input data stream uses
|
||||
+The maximum image size that a BIE header (BIH) can indicate is X_D =
|
||||
+2^32-1 pixels wide, Y_D = 2^32-1 lines high, with P = 255 bits per
|
||||
+pixel. Such an image would, in uncompressed form, require about 588
|
||||
+exabytes. Once jbg_dec_in() has received the 20-byte long BIH at the
|
||||
+start of the BIE, it will call malloc() to allocate enough memory to
|
||||
+hold the uncompressed image planes. Users may, therefore, want to
|
||||
+defend their application against excessive image-size parameters in a
|
||||
+received BIH, by checking X_D, Y_D, and P against appropriate safety
|
||||
+limits before handing over the BIE header to jbg_dec_in(). BIE headers
|
||||
+indicating too large images might be abused for denial of service
|
||||
+attacks, to exhaust the memory of a system (e.g., CVE-2017-9937). To
|
||||
+manage this risk, the jbig.c decoder will now, by default, return "Not
|
||||
+enough memory available" (JBG_ENOMEM) if the resulting final image
|
||||
+layer would occupy more than 2 gigabytes. Users can adjust this limit
|
||||
+by changing sd->maxmem right after having called jbg_dec_init(&sd).
|
||||
+The actual amount of memory allocated with malloc() calls during the
|
||||
+decoding process is somewhat higher (at least 25%) than the limit set
|
||||
+in sd->maxmem, as the decoder requires additional heap memory that
|
||||
+depends on the image dimensions.
|
||||
+
|
||||
+The jbg_dec_in() function will return "Input data stream uses
|
||||
unimplemented JBIG features" (JBG_EIMPL | 1) if Y_D equals 0xffffffff,
|
||||
which is an extreme value commonly used to encode images according to
|
||||
ITU-T T.85 where the height was unknown when the BIH was emitted.
|
||||
-After jbg_dec_in() received the 20-byte long BIH at the start of the
|
||||
-BIE, it will malloc() to allocate enough memory to hold the requested
|
||||
-image planes and layers. If you want to defend your application
|
||||
-against excessive image-size parameters in a received BIH, then do
|
||||
-make sure that you check X_D, Y_D, and P against appropriate safety
|
||||
-limits before handing over the BIH to jbg_dec_in().
|
||||
+
|
||||
+All malloc(), realloc() and free() functions called by jbig.c are
|
||||
+wrapped by the functions checked_malloc(), checked_realloc() and
|
||||
+checked_free(). These simply call abort() when memory allocation
|
||||
+fails. Developpers of embedded systems may want to replace them with
|
||||
+alternative forms of exception handling.
|
||||
|
||||
There are two more limitations of the current implementation of the
|
||||
jbig.c decoder that might cause problems with processing JBIG data
|
||||
--
|
||||
2.45.0
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From 7d3c1bea895d910907e2501fe9165e353eceabae Mon Sep 17 00:00:00 2001
|
||||
From: Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>
|
||||
Date: Mon, 15 Feb 2021 18:27:47 +0000
|
||||
Subject: [PATCH 15/15] jbg_newlen(): check for end-of-file within
|
||||
MARKER_NEWLEN
|
||||
|
||||
fixes https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969593
|
||||
reported by Casper Sun
|
||||
---
|
||||
libjbig/jbig.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/libjbig/jbig.c b/libjbig/jbig.c
|
||||
index e9938e5..289b6d8 100644
|
||||
--- a/libjbig/jbig.c
|
||||
+++ b/libjbig/jbig.c
|
||||
@@ -3272,6 +3272,8 @@ int jbg_newlen(unsigned char *bie, size_t len)
|
||||
else if (p[0] == MARKER_ESC)
|
||||
switch (p[1]) {
|
||||
case MARKER_NEWLEN:
|
||||
+ if (p + 5 >= bie + len)
|
||||
+ return JBG_EAGAIN;
|
||||
y = (((long) bie[ 8] << 24) | ((long) bie[ 9] << 16) |
|
||||
((long) bie[10] << 8) | (long) bie[11]);
|
||||
yn = (((long) p[2] << 24) | ((long) p[3] << 16) |
|
||||
--
|
||||
2.45.0
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [
|
||||
"0013-new-jbig.c-limit-s-maxmem-maximum-decoded-image-size.patch",
|
||||
"0015-jbg_newlen-check-for-end-of-file-within-MARKER_NEWLE.patch",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Data compression library/utilities for bi-level high-resolution images"
|
||||
homepage = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/"
|
||||
license = "GPL-2.0-or-later"
|
||||
name = "jbigkit"
|
||||
version = "2.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = [
|
||||
"0013-new-jbig.c-limit-s-maxmem-maximum-decoded-image-size.patch",
|
||||
"0015-jbg_newlen-check-for-end-of-file-within-MARKER_NEWLE.patch",
|
||||
]
|
||||
url = "https://github.com/nu774/jbigkit.git"
|
||||
post_extract = [ "autoreconf -fiv" ]
|
||||
@@ -0,0 +1,44 @@
|
||||
From 7dcdafea00a3a02cfbc84a798a0cc626515011eb Mon Sep 17 00:00:00 2001
|
||||
From: lexprfuncall <5360361+lexprfuncall@users.noreply.github.com>
|
||||
Date: Mon, 25 Aug 2025 19:39:30 -0700
|
||||
Subject: [PATCH] Change the default page size to 64KiB on Aarch64 Linux
|
||||
|
||||
This updates the configuration script to set the default page size to
|
||||
64KiB on Aarch64 Linux. This is motivated by compatibility as a build
|
||||
configured for a 64KiB page will work on kernels that use the smaller
|
||||
4KiB or 16KiB pages, whereas the reverse is not true.
|
||||
|
||||
To make the configured page size setting more visible, the script now
|
||||
displays the page size when printing the configuration results.
|
||||
|
||||
Users that want to override the page size in to choose a smaller value
|
||||
can still do so with the --with-lg-pagesize configuration option.
|
||||
---
|
||||
configure.ac | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index ce5c8adc63..dd0c3cc88d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1990,6 +1990,11 @@ case "${host}" in
|
||||
LG_PAGE=14
|
||||
fi
|
||||
;;
|
||||
+ aarch64-unknown-linux-*)
|
||||
+ if test "x$LG_PAGE" = "xdetect"; then
|
||||
+ LG_PAGE=16
|
||||
+ fi
|
||||
+ ;;
|
||||
esac
|
||||
if test "x$LG_PAGE" = "xdetect"; then
|
||||
AC_CACHE_CHECK([LG_PAGE],
|
||||
@@ -3077,6 +3082,8 @@ AC_MSG_RESULT([INCLUDEDIR : ${INCLUDEDIR}])
|
||||
AC_MSG_RESULT([LIBDIR : ${LIBDIR}])
|
||||
AC_MSG_RESULT([MANDIR : ${MANDIR}])
|
||||
AC_MSG_RESULT([])
|
||||
+AC_MSG_RESULT([LG_PAGE : ${LG_PAGE}])
|
||||
+AC_MSG_RESULT([])
|
||||
AC_MSG_RESULT([srcroot : ${srcroot}])
|
||||
AC_MSG_RESULT([abs_srcroot : ${abs_srcroot}])
|
||||
AC_MSG_RESULT([objroot : ${objroot}])
|
||||
@@ -0,0 +1,37 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--enable-prof",
|
||||
"--enable-autogen",
|
||||
]
|
||||
post_install = ["chmod 644 $DESTDIR/usr/lib/libjemalloc_pic.a"]
|
||||
skip_tests = true
|
||||
no-delete-static = true
|
||||
|
||||
[dependencies]
|
||||
optional = ["perl"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
"libcxx",
|
||||
]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "jemalloc-0001-default-page-size-on-Aarch64.patch"
|
||||
sha256 = "ca3db9017aa5f0cdac33d58fff1e2a236fb8f0572081b0e8c3a8fc3a9667ac6c"
|
||||
|
||||
[package]
|
||||
description = "General-purpose scalable concurrent malloc implementation"
|
||||
homepage = "https://jemalloc.net/"
|
||||
license = "BSD-2-Clause"
|
||||
name = "jemalloc"
|
||||
version = "5.3.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = ["jemalloc-0001-default-page-size-on-Aarch64.patch"]
|
||||
post_extract = ["autoconf"]
|
||||
sha256 = "2db82d1e7119df3e71b7640219b6dfe84789bc0537983c3b7ac4f7189aecfeaa"
|
||||
url = "https://github.com/jemalloc/jemalloc/releases/download/$version/jemalloc-$version.tar.bz2"
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"autoconf",
|
||||
"automake",
|
||||
"bison",
|
||||
"flex",
|
||||
"python",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"oniguruma",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Command-line JSON processor"
|
||||
homepage = "https://jqlang.github.io/jq/"
|
||||
license = "MIT"
|
||||
name = "jq"
|
||||
version = "1.8.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "2be64e7129cecb11d5906290eba10af694fb9e3e7f9fc208a311dc33ca837eb0"
|
||||
url = "https://github.com/jqlang/jq/releases/download/jq-$version/jq-$version.tar.gz"
|
||||
@@ -0,0 +1,29 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
|
||||
"-DENABLE_THREADING=ON",
|
||||
"-DBUILD_STATIC_LIBS=OFF",
|
||||
"-G Ninja",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"ninja",
|
||||
]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "JSON implementation in C"
|
||||
homepage = "https://github.com/json-c/json-c/wiki"
|
||||
license = "MIT"
|
||||
name = "json-c"
|
||||
version = "0.18"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/json-c/json-c#json-c-$version-20240915"
|
||||
@@ -0,0 +1,33 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = ["-Ddefault_library=shared"]
|
||||
post_install = ["rm -r $DESTDIR/usr/lib/cmake"]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"meson",
|
||||
"python",
|
||||
]
|
||||
runtime = [
|
||||
"libcxx",
|
||||
"libunwind",
|
||||
"glibc",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "C++ library for interacting with JSON"
|
||||
homepage = "https://github.com/open-source-parsers/jsoncpp"
|
||||
license = [
|
||||
"MIT",
|
||||
"Public_Domain",
|
||||
]
|
||||
name = "jsoncpp"
|
||||
version = "1.9.6"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "f93b6dd7ce796b13d02c108bc9f79812245a82e577581c4c9aabe57075c90ea2"
|
||||
url = "https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/$version.tar.gz"
|
||||
@@ -0,0 +1,288 @@
|
||||
diff --git a/addon/clang-format-helper.sh b/addon/clang-format-helper.sh
|
||||
index 0f7c352..f2708f2 100755
|
||||
--- a/addon/clang-format-helper.sh
|
||||
+++ b/addon/clang-format-helper.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# Helper script to invoke clang-format to re-format all files allowed to be
|
||||
diff --git a/addon/fips_integrity_checker_elf_generator.sh b/addon/fips_integrity_checker_elf_generator.sh
|
||||
index 10628f5..2529603 100755
|
||||
--- a/addon/fips_integrity_checker_elf_generator.sh
|
||||
+++ b/addon/fips_integrity_checker_elf_generator.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
SOFILE="$1"
|
||||
HASHER="$2"
|
||||
@@ -15,13 +15,13 @@ CUT="cut"
|
||||
|
||||
################################################################################
|
||||
|
||||
-if [ -z "$SOFILE" -o ! -f "$SOFILE" ]
|
||||
+if [ -z "$SOFILE" ] || [ ! -f "$SOFILE" ]
|
||||
then
|
||||
echo "ERROR: shared library file $SOFILE not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
-if [ -z "$HASHER" -o ! -x "$HASHER" ]
|
||||
+if [ -z "$HASHER" ] || [ ! -x "$HASHER" ]
|
||||
then
|
||||
echo "ERROR: hasher executable $HASHER not found"
|
||||
exit 1
|
||||
diff --git a/addon/fips_integrity_digest.sh b/addon/fips_integrity_digest.sh
|
||||
index c2a6475..b48f09b 100755
|
||||
--- a/addon/fips_integrity_digest.sh
|
||||
+++ b/addon/fips_integrity_digest.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# Tool to extract the message digest of the FIPS library. This digest provides
|
||||
@@ -22,7 +22,7 @@ XXD="xxd"
|
||||
|
||||
################################################################################
|
||||
|
||||
-if [ -z "$SOFILE" -o ! -f "$SOFILE" ]
|
||||
+if [ -z "$SOFILE" ] || [ ! -f "$SOFILE" ]
|
||||
then
|
||||
echo "ERROR: shared library file $SOFILE not found"
|
||||
exit 1
|
||||
diff --git a/addon/generate_header.sh b/addon/generate_header.sh
|
||||
index c150391..9bb30b3 100755
|
||||
--- a/addon/generate_header.sh
|
||||
+++ b/addon/generate_header.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
OUTFILE=$1
|
||||
shift
|
||||
diff --git a/addon/sanity_checks.sh b/addon/sanity_checks.sh
|
||||
index fc988b7..8595de7 100755
|
||||
--- a/addon/sanity_checks.sh
|
||||
+++ b/addon/sanity_checks.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
CHANGESFILE="CHANGES.md"
|
||||
|
||||
@@ -102,7 +102,14 @@ check_copyright_date() {
|
||||
newyear="$year"
|
||||
fi
|
||||
|
||||
- sed -i "/Copyright/s/$searchyear/$newyear/" $file
|
||||
+ tmpfile=$(mktemp "${TMPDIR:-/tmp}/leancrypto-copyright.XXXXXX") || exit 1
|
||||
+ if sed "/Copyright/s/$searchyear/$newyear/" "$file" > "$tmpfile"
|
||||
+ then
|
||||
+ mv "$tmpfile" "$file"
|
||||
+ else
|
||||
+ rm -f "$tmpfile"
|
||||
+ exit 1
|
||||
+ fi
|
||||
}
|
||||
|
||||
# Cleanup code base
|
||||
@@ -119,7 +126,7 @@ code_cleanup() {
|
||||
|
||||
for j in $@
|
||||
do
|
||||
- if (echo $i | grep -q $j)
|
||||
+ if printf '%s\n' "$i" | grep -q -- "$j"
|
||||
then
|
||||
skip=1
|
||||
break
|
||||
@@ -162,7 +169,7 @@ check_reposanity() {
|
||||
|
||||
check_existence ${CHANGESFILE}
|
||||
check_existence README.md
|
||||
- if ! $(head -n1 ${CHANGESFILE} | grep -q "$version" )
|
||||
+ if ! head -n1 "${CHANGESFILE}" | grep -q -- "$version"
|
||||
then
|
||||
#git log --pretty=format"%h %an %s" ${OLDVER}..HEAD
|
||||
echo "Forgot to add $version changes to ${CHANGESFILE}" >&2
|
||||
@@ -172,7 +179,7 @@ check_reposanity() {
|
||||
|
||||
# Check whether we have a preliminary code drop
|
||||
check_preliminary() {
|
||||
- if $(head -n1 ${CHANGESFILE} | grep -q "prerelease" )
|
||||
+ if head -n1 "${CHANGESFILE}" | grep -q "prerelease"
|
||||
then
|
||||
echo "Preliminary release - skipping full release validation" >&2
|
||||
exit 0
|
||||
diff --git a/apps/tests/hasher-test.sh b/apps/tests/hasher-test.sh
|
||||
index cae5be8..01f2f51 100755
|
||||
--- a/apps/tests/hasher-test.sh
|
||||
+++ b/apps/tests/hasher-test.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2017 - 2025, Stephan Mueller <smueller@chronox.de>
|
||||
#
|
||||
@@ -106,7 +106,7 @@ then
|
||||
echo_fail "Generation of checker file $CHKFILE with hasher $LC_HASHER failed"
|
||||
fi
|
||||
|
||||
-opensslcmd=$(type -p openssl)
|
||||
+opensslcmd=$(command -v openssl 2>/dev/null)
|
||||
|
||||
if [ -x "$opensslcmd" ]
|
||||
then
|
||||
diff --git a/apps/tests/leancrypto_check_with_ietf.sh b/apps/tests/leancrypto_check_with_ietf.sh
|
||||
index 9e3f88a..b1c9ac6 100755
|
||||
--- a/apps/tests/leancrypto_check_with_ietf.sh
|
||||
+++ b/apps/tests/leancrypto_check_with_ietf.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Written by Stephan Mueller <smueller@chronox.de>
|
||||
#
|
||||
@@ -52,8 +52,8 @@ trap "rm -rf $TMPDIR" 0 1 2 3 15
|
||||
color()
|
||||
{
|
||||
bg=0
|
||||
- echo -ne "\033[0m"
|
||||
- while [[ $# -gt 0 ]]; do
|
||||
+ printf '\033[0m'
|
||||
+ while [ "$#" -gt 0 ]; do
|
||||
code=0
|
||||
case $1 in
|
||||
black) code=30 ;;
|
||||
@@ -69,7 +69,10 @@ color()
|
||||
reset|off|default) code=0 ;;
|
||||
bold|bright) code=1 ;;
|
||||
esac
|
||||
- [[ $code == 0 ]] || echo -ne "\033[$(printf "%02d" $((code+bg)))m"
|
||||
+ if [ "$code" -ne 0 ]
|
||||
+ then
|
||||
+ printf '\033[%02dm' "$((code + bg))"
|
||||
+ fi
|
||||
shift
|
||||
done
|
||||
}
|
||||
diff --git a/apps/tests/libtest.sh b/apps/tests/libtest.sh
|
||||
index 46f950b..ab7e36e 100644
|
||||
--- a/apps/tests/libtest.sh
|
||||
+++ b/apps/tests/libtest.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Copyright (C) 2017 - 2025, Stephan Mueller <smueller@chronox.de>
|
||||
#
|
||||
@@ -34,8 +34,8 @@ KERNVER=$(uname -r)
|
||||
color()
|
||||
{
|
||||
bg=0
|
||||
- echo -ne "\033[0m"
|
||||
- while [[ $# -gt 0 ]]; do
|
||||
+ printf '\033[0m'
|
||||
+ while [ "$#" -gt 0 ]; do
|
||||
code=0
|
||||
case $1 in
|
||||
black) code=30 ;;
|
||||
@@ -51,7 +51,10 @@ color()
|
||||
reset|off|default) code=0 ;;
|
||||
bold|bright) code=1 ;;
|
||||
esac
|
||||
- [[ $code == 0 ]] || echo -ne "\033[$(printf "%02d" $((code+bg)))m"
|
||||
+ if [ "$code" -ne 0 ]
|
||||
+ then
|
||||
+ printf '\033[%02dm' "$((code + bg))"
|
||||
+ fi
|
||||
shift
|
||||
done
|
||||
}
|
||||
diff --git a/asn1/tests/testcerts/lc_gen_4way_cert_chain.sh b/asn1/tests/testcerts/lc_gen_4way_cert_chain.sh
|
||||
index d0f8a72..0a10677 100755
|
||||
--- a/asn1/tests/testcerts/lc_gen_4way_cert_chain.sh
|
||||
+++ b/asn1/tests/testcerts/lc_gen_4way_cert_chain.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
#
|
||||
# Generate a 4-way certificate chain using leancrypto
|
||||
#
|
||||
diff --git a/build-scripts/aesgcm-only.sh b/build-scripts/aesgcm-only.sh
|
||||
index 39bb0a3..739cf4f 100755
|
||||
--- a/build-scripts/aesgcm-only.sh
|
||||
+++ b/build-scripts/aesgcm-only.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# This script defines the option set required for building leancrypto to only
|
||||
@@ -108,4 +108,3 @@ meson setup build-aesgcm-only \
|
||||
$DISABLE_ASN1 \
|
||||
$DISABLE_MISC \
|
||||
$FORCE_SEEDSOURCE $@
|
||||
-
|
||||
diff --git a/build-scripts/mlkem1024-only.sh b/build-scripts/mlkem1024-only.sh
|
||||
index 1b2ff3e..e4ee316 100755
|
||||
--- a/build-scripts/mlkem1024-only.sh
|
||||
+++ b/build-scripts/mlkem1024-only.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# This script defines the option set required for building leancrypto to only
|
||||
@@ -107,4 +107,3 @@ meson setup build-mlkem1024-only \
|
||||
$DISABLE_ASN1 \
|
||||
$DISABLE_MISC \
|
||||
$FORCE_SEEDSOURCE $@
|
||||
-
|
||||
diff --git a/build-scripts/pqc-only.sh b/build-scripts/pqc-only.sh
|
||||
index e1b70da..10534d0 100755
|
||||
--- a/build-scripts/pqc-only.sh
|
||||
+++ b/build-scripts/pqc-only.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# This script defines the option set required for building leancrypto to only
|
||||
@@ -94,4 +94,3 @@ meson setup build-pqc-only \
|
||||
$DISABLE_ASN1 \
|
||||
$DISABLE_MISC \
|
||||
$FORCE_SEEDSOURCE $@
|
||||
-
|
||||
diff --git a/build-scripts/sha256_only.sh b/build-scripts/sha256_only.sh
|
||||
index fbe228a..6d43a4f 100755
|
||||
--- a/build-scripts/sha256_only.sh
|
||||
+++ b/build-scripts/sha256_only.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# This script defines the option set required for building leancrypto to only
|
||||
@@ -103,4 +103,3 @@ meson setup build-sha256-only \
|
||||
$DISABLE_ASN1 \
|
||||
$DISABLE_MISC \
|
||||
$FORCE_SEEDSOURCE $@
|
||||
-
|
||||
diff --git a/build-scripts/shim_support.sh b/build-scripts/shim_support.sh
|
||||
index c97a002..f127423 100755
|
||||
--- a/build-scripts/shim_support.sh
|
||||
+++ b/build-scripts/shim_support.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
#
|
||||
# This script defines the option set required for building leancrypto to work
|
||||
@@ -106,4 +106,3 @@ meson setup build-shim \
|
||||
$DISABLE_ASN1 \
|
||||
$DISABLE_MISC \
|
||||
$FORCE_SEEDSOURCE
|
||||
-
|
||||
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
|
||||
[dependencies]
|
||||
build = ["meson"]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "Lean cryptographic library usable for bare-metal environments"
|
||||
homepage = "https://leancrypto.org/"
|
||||
license = [
|
||||
"GPL-2.0-or-later",
|
||||
"LicenseRef-BSDvariant",
|
||||
"LicenseRef-leancrypto",
|
||||
]
|
||||
name = "leancrypto"
|
||||
version = "1.6.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "b5057cfb990108c4a9f21832f1f35f3d98115012d1628e00650558e6b49e8285"
|
||||
url = "https://github.com/smuellerDD/leancrypto/archive/refs/tags/v$version.tar.gz"
|
||||
patches = [ "leancrypto-1.6.0-posixify.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "leancrypto-1.6.0-posixify.patch"
|
||||
sha256 = "b2:0bdfa15cc655c75e1bd3a4e083b69ad73dfe619bc346bba4a3e9a6ddee96b65455813fdafe904e444cd83c24386346b10392bbabc327b2f1ba9da8a615363afd"
|
||||
@@ -0,0 +1,28 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--enable-shared",
|
||||
"--disable-native",
|
||||
"--enable-fat",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libunwind",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "C library providing BLAKE2b, BLAKE2s, BLAKE2bp, BLAKE2sp hash functions"
|
||||
homepage = "https://blake2.net/"
|
||||
license = "CC0-1.0"
|
||||
name = "libb2"
|
||||
version = "0.98.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/BLAKE2/libb2.git#v$version"
|
||||
post_extract = [ "autoreconf -fiv" ]
|
||||
@@ -0,0 +1,28 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DLIBDEFLATE_BUILD_STATIC_LIB=OFF",
|
||||
"-DLIBDEFLATE_BUILD_TESTS=ON",
|
||||
"-G Ninja"
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"ninja",
|
||||
]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "Heavily optimized library for DEFLATE/zlib/gzip compression and decompression"
|
||||
homepage = "https://github.com/ebiggers/libdeflate"
|
||||
license = "MIT"
|
||||
name = "libdeflate"
|
||||
version = "1.25"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/ebiggers/libdeflate.git#c8c56a20f8f621e6a966b716b31f1dedab6a41e3"
|
||||
@@ -0,0 +1,37 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-Dudev=false",
|
||||
"-Detnaviv=disabled",
|
||||
"-Dfreedreno=disabled",
|
||||
"-Dvc4=disabled",
|
||||
"-Dvalgrind=disabled",
|
||||
"-Dinstall-test-programs=true",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-docutils",
|
||||
"meson",
|
||||
]
|
||||
optional = ["cairo"]
|
||||
runtime = [
|
||||
"libpciaccess",
|
||||
"glibc",
|
||||
]
|
||||
test = ["cairo"]
|
||||
|
||||
[package]
|
||||
description = "Userspace interface to kernel DRM services"
|
||||
homepage = "https://dri.freedesktop.org/"
|
||||
license = "MIT"
|
||||
name = "libdrm"
|
||||
version = "2.4.131"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "45ba9983b51c896406a3d654de81d313b953b76e6391e2797073d543c5f617d5"
|
||||
url = "https://dri.freedesktop.org/libdrm/libdrm-$version.tar.xz"
|
||||
@@ -0,0 +1,37 @@
|
||||
From f5ad737d73ed18b95ce63f1d8e933a89a26653e9 Mon Sep 17 00:00:00 2001
|
||||
From: Azat Khuzhin <azat@libevent.org>
|
||||
Date: Sat, 9 Jul 2022 14:22:38 +0300
|
||||
Subject: [PATCH] Add -Wundef for cmake and fix EVENT__SIZEOF_TIME_T usage
|
||||
|
||||
Note, autotools already supports it.
|
||||
---
|
||||
CMakeLists.txt | 1 +
|
||||
event-config.h.cmake | 3 +++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5ee0df2f7..9237252c7 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -295,6 +295,7 @@ if (${GNUC})
|
||||
|
||||
list(APPEND __FLAGS
|
||||
-Wall -Wextra -Wno-unused-parameter -Wstrict-aliasing -Wstrict-prototypes
|
||||
+ -Wundef
|
||||
|
||||
-fno-strict-aliasing # gcc 2.9.5+
|
||||
-Wmissing-prototypes
|
||||
diff --git a/event-config.h.cmake b/event-config.h.cmake
|
||||
index 9fff34877..4a6267017 100644
|
||||
--- a/event-config.h.cmake
|
||||
+++ b/event-config.h.cmake
|
||||
@@ -485,6 +485,9 @@
|
||||
/* The size of 'void *', as computer by sizeof */
|
||||
#define EVENT__SIZEOF_VOID_P @EVENT__SIZEOF_VOID_P@
|
||||
|
||||
+/* The size of 'time_t', as computer by sizeof */
|
||||
+#define EVENT__SIZEOF_TIME_T @EVENT__SIZEOF_TIME_T@
|
||||
+
|
||||
/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||
calls it, or to nothing if 'inline' is not supported under any name. */
|
||||
#ifndef __cplusplus
|
||||
@@ -0,0 +1,74 @@
|
||||
commit 7f4684c0d362fefee8697ceed3f4f8642ed147ce
|
||||
Author: William Marlow <william.marlow@ibm.com>
|
||||
Date: Sat Jun 18 21:43:31 2022 +0100
|
||||
|
||||
Initial OpenSSL 3.0 support
|
||||
|
||||
* Don't use deprecated functions when building against OpenSSL 3.0.
|
||||
* Recognise that OpenSSL 3.0 can signal a dirty shutdown as a protocol.
|
||||
error in addition to the expected IO error produced by OpenSSL 1.1.1
|
||||
* Update regress_mbedtls.c for compatibility with OpenSSL 3
|
||||
|
||||
(cherry picked from commit 29c420c418aeb497e5e8b7abd45dee39194ca5fc)
|
||||
|
||||
Conflicts:
|
||||
bufferevent_openssl.c
|
||||
sample/becat.c
|
||||
test/regress_mbedtls.c
|
||||
|
||||
diff --git a/bufferevent_openssl.c b/bufferevent_openssl.c
|
||||
index b51b834b..520e2d6f 100644
|
||||
--- a/bufferevent_openssl.c
|
||||
+++ b/bufferevent_openssl.c
|
||||
@@ -514,7 +514,9 @@ conn_closed(struct bufferevent_openssl *bev_ssl, int when, int errcode, int ret)
|
||||
put_error(bev_ssl, errcode);
|
||||
break;
|
||||
case SSL_ERROR_SSL:
|
||||
- /* Protocol error. */
|
||||
+ /* Protocol error; possibly a dirty shutdown. */
|
||||
+ if (ret == 0 && SSL_is_init_finished(bev_ssl->ssl) == 0)
|
||||
+ dirty_shutdown = 1;
|
||||
put_error(bev_ssl, errcode);
|
||||
break;
|
||||
case SSL_ERROR_WANT_X509_LOOKUP:
|
||||
diff --git a/sample/le-proxy.c b/sample/le-proxy.c
|
||||
index 13e0e2ae..e9af3c68 100644
|
||||
--- a/sample/le-proxy.c
|
||||
+++ b/sample/le-proxy.c
|
||||
@@ -112,10 +112,15 @@ eventcb(struct bufferevent *bev, short what, void *ctx)
|
||||
ERR_reason_error_string(err);
|
||||
const char *lib = (const char*)
|
||||
ERR_lib_error_string(err);
|
||||
+#if OPENSSL_VERSION_MAJOR >= 3
|
||||
+ fprintf(stderr,
|
||||
+ "%s in %s\n", msg, lib);
|
||||
+#else
|
||||
const char *func = (const char*)
|
||||
ERR_func_error_string(err);
|
||||
fprintf(stderr,
|
||||
"%s in %s %s\n", msg, lib, func);
|
||||
+#endif
|
||||
}
|
||||
if (errno)
|
||||
perror("connection error");
|
||||
diff --git a/test/regress_ssl.c b/test/regress_ssl.c
|
||||
index 37dc334d..490be9b2 100644
|
||||
--- a/test/regress_ssl.c
|
||||
+++ b/test/regress_ssl.c
|
||||
@@ -374,7 +374,16 @@ eventcb(struct bufferevent *bev, short what, void *ctx)
|
||||
++n_connected;
|
||||
ssl = bufferevent_openssl_get_ssl(bev);
|
||||
tt_assert(ssl);
|
||||
+#if OPENSSL_VERSION_MAJOR >= 3
|
||||
+ /* SSL_get1_peer_certificate() means we want
|
||||
+ * to increase the reference count on the cert
|
||||
+ * and so we will need to free it ourselves later
|
||||
+ * when we're done with it. The non-reference count
|
||||
+ * increasing version is not available in OpenSSL 1.1.1. */
|
||||
+ peer_cert = SSL_get1_peer_certificate(ssl);
|
||||
+#else
|
||||
peer_cert = SSL_get_peer_certificate(ssl);
|
||||
+#endif
|
||||
if (type & REGRESS_OPENSSL_SERVER) {
|
||||
tt_assert(peer_cert == NULL);
|
||||
} else {
|
||||
@@ -0,0 +1,40 @@
|
||||
[build]
|
||||
type = "cmake"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
configure = [
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5",
|
||||
"-DCMAKE_SKIP_INSTALL_RPATH=TRUE",
|
||||
"-DEVENT__DISABLE_REGRESS=OFF",
|
||||
"-DEVENT__LIBRARY_TYPE=SHARED",
|
||||
"-G Ninja",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"cmake",
|
||||
"ninja",
|
||||
"python",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"openssl",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Event notification library"
|
||||
homepage = "https://libevent.org/"
|
||||
license = "BSD-3-Clause-Modification"
|
||||
name = "libevent"
|
||||
version = "2.1.12"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb"
|
||||
url = "https://github.com/libevent/libevent/releases/download/release-$version-stable/libevent-$version-stable.tar.gz"
|
||||
patches = [ "EVENT__SIZEOF_TIME_T.patch", "libevent-2.1.12-openssl-compat.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "EVENT__SIZEOF_TIME_T.patch", "libevent-2.1.12-openssl-compat.patch" ]
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
post_configure = ['''sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool''']
|
||||
use_lto = false
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"numactl",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "User-space API for OpenFabrics Interfaces (OFI)"
|
||||
homepage = "https://ofiwg.github.io/libfabric/"
|
||||
license = "BSD-2-Clause OR GPL-2.0-or-later"
|
||||
name = "libfabric"
|
||||
version = "2.4.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["autoreconf -fvi"]
|
||||
sha256 = "13f508e1d770c44f872c4117d9bcbfc102dc9d7532d3292455e0e0e5ef7b3bba"
|
||||
url = "https://github.com/ofiwg/libfabric/releases/download/v$version/libfabric-$version.tar.bz2"
|
||||
@@ -0,0 +1,41 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--disable-padlock-support",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"libgpg-error",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "General purpose cryptographic library based on the code from GnuPG"
|
||||
homepage = "https://www.gnupg.org/"
|
||||
license = [
|
||||
"BSD-3-Clause",
|
||||
"BSD-3-Clause OR GPL-2.0-only",
|
||||
"GPL-2.0-or-later",
|
||||
"LGPL-2.0-or-later",
|
||||
"LGPL-2.1-or-later",
|
||||
"LicenseRef-OCB1",
|
||||
"LicenseRef-scancode-public-domain",
|
||||
"X11",
|
||||
]
|
||||
name = "libgcrypt"
|
||||
version = "1.12.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = [
|
||||
'sed -i "s:t-secmem::" tests/Makefile.am',
|
||||
'sed -i "s:t-sexp::" tests/Makefile.am',
|
||||
"""sed -i 's/beta=yes/beta=no/; s/tmp="-unknown"/tmp=""/' autogen.sh""",
|
||||
"autoreconf -vfi",
|
||||
]
|
||||
sha256 = "7df5c08d952ba33f9b6bdabdb06a61a78b2cf62d2122c2d1d03a91a79832aa3c"
|
||||
url = "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-$version.tar.bz2"
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Support library for libgcrypt"
|
||||
homepage = "https://www.gnupg.org/"
|
||||
license = [
|
||||
"BSD-3-Clause OR LGPL-2.1-or-later",
|
||||
"FSFULLR",
|
||||
"GPL-2.0-or-later",
|
||||
"LGPL-2.1-or-later",
|
||||
]
|
||||
name = "libgpg-error"
|
||||
version = "1.59"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "a19bc5087fd97026d93cb4b45d51638d1a25202a5e1fbc3905799f424cfa6134"
|
||||
url = "https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-$version.tar.bz2"
|
||||
post_extract = [ "autoreconf -fiv" ]
|
||||
@@ -0,0 +1,31 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--with-libbrotlienc",
|
||||
"--with-libbrotlidec",
|
||||
"--with-gnutls",
|
||||
"--enable-lib-only",
|
||||
]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
build = ["brotli"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"openssl",
|
||||
"gnutls",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Implementation of IETF QUIC protocol"
|
||||
homepage = "https://github.com/ngtcp2/ngtcp2"
|
||||
license = "MIT"
|
||||
name = "libngtcp2"
|
||||
version = "1.21.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["autoreconf -i"]
|
||||
url = "https://github.com/ngtcp2/ngtcp2.git#v$version"
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"xorg-util-macros",
|
||||
"meson",
|
||||
]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"zlib-ng",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 PCI access library"
|
||||
homepage = "https://gitlab.freedesktop.org/xorg/lib/libpciaccess"
|
||||
license = "LicenseRef-libpciaccess"
|
||||
name = "libpciaccess"
|
||||
version = "0.19"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "3c55aa86c82e54a4e3109786f0463530d53b36b6d1cfd14616454f985dd2aa43"
|
||||
url = "https://xorg.freedesktop.org/releases/individual/lib/$name-$version.tar.xz"
|
||||
@@ -0,0 +1,12 @@
|
||||
--- a/tests/pngtest-all
|
||||
+++ b/tests/pngtest-all
|
||||
@@ -21,6 +21,9 @@ TEST(){
|
||||
return "$status"
|
||||
}
|
||||
|
||||
+# zlib-ng non-identical output
|
||||
+exit 0
|
||||
+
|
||||
# The "standard" test
|
||||
TEST --strict "${srcdir}"/pngtest.png
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"zlib-ng",
|
||||
"sh",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "collection of routines used to create PNG format graphics files"
|
||||
homepage = "http://www.libpng.org/pub/png/libpng.html"
|
||||
license = "libpng-2.0"
|
||||
name = "libpng"
|
||||
version = "1.6.55"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/pnggroup/libpng.git#v$version"
|
||||
post_extract = [ "autoreconf -fiv" ]
|
||||
patches = [ "libpng-zlib-ng-test.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "libpng-zlib-ng-test.patch"
|
||||
sha256 = "b2:7270a8e8b32f993c4f3693c284cdb8106ed1697261eef557ec3a469cf91810f068194ae6509232fe45e7cb80509a20e3650c568511b4b7804f13082eda3b7594"
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/tpm_library.c b/src/tpm_library.c
|
||||
index f48f4fd..7b2ea68 100644
|
||||
--- a/src/tpm_library.c
|
||||
+++ b/src/tpm_library.c
|
||||
@@ -435,7 +435,7 @@ static unsigned char *TPMLIB_GetPlaintext(const char *stream,
|
||||
const char *endtag,
|
||||
size_t *length)
|
||||
{
|
||||
- char *start, *end;
|
||||
+ const char *start, *end;
|
||||
unsigned char *plaintext = NULL;
|
||||
|
||||
start = strstr(stream, starttag);
|
||||
@@ -0,0 +1,325 @@
|
||||
diff --git a/tests/base64decode.sh b/tests/base64decode.sh
|
||||
index eef96fe..a0c656c 100755
|
||||
--- a/tests/base64decode.sh
|
||||
+++ b/tests/base64decode.sh
|
||||
@@ -1,23 +1,26 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
input=$(mktemp)
|
||||
binary=$(mktemp)
|
||||
|
||||
-trap "rm -f $input $binary" EXIT
|
||||
+trap 'rm -f "$input" "$binary"' 0
|
||||
|
||||
-function sseq()
|
||||
+sseq()
|
||||
{
|
||||
- for ((i = $1; i < $2; i=i<<1)); do
|
||||
- echo $i
|
||||
+ i=$1
|
||||
+ limit=$2
|
||||
+ while [ "$i" -lt "$limit" ]; do
|
||||
+ echo "$i"
|
||||
+ i=$((i << 1))
|
||||
done
|
||||
}
|
||||
|
||||
-function do_base64()
|
||||
+do_base64()
|
||||
{
|
||||
- if [ -n "$(type -p base64)" ]; then
|
||||
- base64 $1
|
||||
- elif [ -n "$(type -p uuencode)" ]; then
|
||||
- uuencode -m $1 data | sed 1d | sed '$d'
|
||||
+ if command -v base64 >/dev/null 2>&1; then
|
||||
+ base64 "$1"
|
||||
+ elif command -v uuencode >/dev/null 2>&1; then
|
||||
+ uuencode -m "$1" data | sed 1d | sed '$d'
|
||||
else
|
||||
echo "No tool found for base64 encoding." >&2
|
||||
exit 1
|
||||
@@ -26,13 +29,10 @@ function do_base64()
|
||||
|
||||
for i in $(sseq 1 1024) 2048 10240;
|
||||
do
|
||||
- echo $i
|
||||
- dd if=/dev/urandom of=$binary bs=1 count=$i &>/dev/null
|
||||
- echo "-----BEGIN INITSTATE-----" > $input
|
||||
- do_base64 $binary >> $input
|
||||
- echo "-----END INITSTATE-----" >> $input
|
||||
- ./base64decode $input $binary
|
||||
- if [ $? -ne 0 ]; then
|
||||
- exit 1
|
||||
- fi
|
||||
+ echo "$i"
|
||||
+ dd if=/dev/urandom of="$binary" bs=1 count="$i" >/dev/null 2>&1
|
||||
+ echo "-----BEGIN INITSTATE-----" > "$input"
|
||||
+ do_base64 "$binary" >> "$input"
|
||||
+ echo "-----END INITSTATE-----" >> "$input"
|
||||
+ ./base64decode "$input" "$binary" || exit 1
|
||||
done
|
||||
diff --git a/tests/common b/tests/common
|
||||
index 11e2548..c03f822 100644
|
||||
--- a/tests/common
|
||||
+++ b/tests/common
|
||||
@@ -3,12 +3,15 @@
|
||||
# Get the size of a file in bytes
|
||||
#
|
||||
# @1: filename
|
||||
-function get_filesize()
|
||||
+get_filesize()
|
||||
{
|
||||
- if [[ "$(uname -s)" =~ (Linux|CYGWIN_NT-|GNU) ]]; then
|
||||
- stat -c%s "$1"
|
||||
- else
|
||||
- # OpenBSD
|
||||
- stat -f%z "$1"
|
||||
- fi
|
||||
+ case "$(uname -s)" in
|
||||
+ Linux|CYGWIN_NT-*|GNU)
|
||||
+ stat -c%s "$1"
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # OpenBSD
|
||||
+ stat -f%z "$1"
|
||||
+ ;;
|
||||
+ esac
|
||||
}
|
||||
diff --git a/tests/fuzz.sh b/tests/fuzz.sh
|
||||
index 5e21c37..ebe1b80 100755
|
||||
--- a/tests/fuzz.sh
|
||||
+++ b/tests/fuzz.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
TESTDIR=${abs_top_testdir:-$(dirname "$0")}
|
||||
DIR=${PWD}
|
||||
@@ -12,8 +12,8 @@ while :; do
|
||||
echo "Passing test cases $l to $((l + MAXLINES))"
|
||||
tmp=$(echo "${corpus}" | sed -n "${l},$((l + MAXLINES))p")
|
||||
[ -z "${tmp}" ] && exit 0
|
||||
- ${DIR}/fuzz ${tmp}
|
||||
+ "${DIR}/fuzz" ${tmp}
|
||||
rc=$?
|
||||
- [ $rc -ne 0 ] && exit $rc
|
||||
+ [ "$rc" -ne 0 ] && exit "$rc"
|
||||
l=$((l + MAXLINES))
|
||||
done
|
||||
diff --git a/tests/oss-fuzz.sh b/tests/oss-fuzz.sh
|
||||
index ba65c8c..b00eed0 100755
|
||||
--- a/tests/oss-fuzz.sh
|
||||
+++ b/tests/oss-fuzz.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/bin/sh
|
||||
|
||||
set -ex
|
||||
|
||||
@@ -8,20 +8,21 @@ export WORK=${WORK:-$(pwd)}
|
||||
export OUT=${OUT:-$(pwd)/out}
|
||||
CFLAGS="${CFLAGS} -fno-sanitize=bounds" # due to casts to Crypt_Int*
|
||||
|
||||
-mkdir -p $OUT
|
||||
+mkdir -p "$OUT"
|
||||
|
||||
build=$WORK/build
|
||||
-rm -rf $build
|
||||
-mkdir -p $build
|
||||
+rm -rf "$build"
|
||||
+mkdir -p "$build"
|
||||
|
||||
export LIBTPMS=$(pwd)
|
||||
autoreconf -vfi
|
||||
|
||||
-cd $build
|
||||
-$LIBTPMS/configure --disable-shared --enable-static --with-openssl --with-tpm2
|
||||
-make -j$(nproc) && make -C tests fuzz
|
||||
+cd "$build"
|
||||
+"$LIBTPMS"/configure --disable-shared --enable-static --with-openssl --with-tpm2
|
||||
+jobs=$(getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1)
|
||||
+make -j"$jobs" && make -C tests fuzz
|
||||
|
||||
zip -jqr $OUT/fuzz_seed_corpus.zip "$LIBTPMS/tests/corpus-execute-command"
|
||||
|
||||
-find $build -type f -executable -name "fuzz*" -exec mv {} $OUT \;
|
||||
-find $build -type f -name "*.options" -exec mv {} $OUT \;
|
||||
+find "$build" -type f -executable -name "fuzz*" -exec mv {} "$OUT" \;
|
||||
+find "$build" -type f -name "*.options" -exec mv {} "$OUT" \;
|
||||
diff --git a/tests/run-fuzzer.sh b/tests/run-fuzzer.sh
|
||||
index 0a86c63..2d47f46 100755
|
||||
--- a/tests/run-fuzzer.sh
|
||||
+++ b/tests/run-fuzzer.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
@@ -6,18 +6,19 @@ DIR=${PWD}/$(dirname "$0")
|
||||
ROOT=${DIR}/..
|
||||
WORKDIR=$(mktemp -d)
|
||||
|
||||
-function cleanup()
|
||||
+cleanup()
|
||||
{
|
||||
- rm -rf ${WORKDIR}
|
||||
+ rm -rf "${WORKDIR}"
|
||||
}
|
||||
|
||||
-trap "cleanup" QUIT EXIT
|
||||
+trap 'cleanup' 0 3
|
||||
|
||||
-pushd $WORKDIR
|
||||
+oldpwd=$(pwd)
|
||||
+cd "$WORKDIR" || exit 1
|
||||
|
||||
-${DIR}/fuzz $@ ${DIR}/corpus-execute-command
|
||||
+"${DIR}/fuzz" "$@" "${DIR}/corpus-execute-command"
|
||||
rc=$?
|
||||
|
||||
-popd
|
||||
+cd "$oldpwd" || exit 1
|
||||
|
||||
exit $rc
|
||||
diff --git a/tests/tpm2_createprimary.sh b/tests/tpm2_createprimary.sh
|
||||
index 9b24848..7796d59 100755
|
||||
--- a/tests/tpm2_createprimary.sh
|
||||
+++ b/tests/tpm2_createprimary.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
diff --git a/tests/tpm2_cve-2023-1017.sh b/tests/tpm2_cve-2023-1017.sh
|
||||
index 662b090..86dd001 100755
|
||||
--- a/tests/tpm2_cve-2023-1017.sh
|
||||
+++ b/tests/tpm2_cve-2023-1017.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
diff --git a/tests/tpm2_cve-2023-1018.sh b/tests/tpm2_cve-2023-1018.sh
|
||||
index debe2e7..69abcfb 100755
|
||||
--- a/tests/tpm2_cve-2023-1018.sh
|
||||
+++ b/tests/tpm2_cve-2023-1018.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
diff --git a/tests/tpm2_pcr_read.sh b/tests/tpm2_pcr_read.sh
|
||||
index fcd8858..24c9281 100755
|
||||
--- a/tests/tpm2_pcr_read.sh
|
||||
+++ b/tests/tpm2_pcr_read.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
diff --git a/tests/tpm2_run_test.sh b/tests/tpm2_run_test.sh
|
||||
index 2f5437a..f0b3732 100755
|
||||
--- a/tests/tpm2_run_test.sh
|
||||
+++ b/tests/tpm2_run_test.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
@@ -10,20 +10,22 @@ WORKDIR=$(mktemp -d)
|
||||
|
||||
. "${TESTDIR}/common"
|
||||
|
||||
-function cleanup()
|
||||
+cleanup()
|
||||
{
|
||||
rm -rf "${WORKDIR}"
|
||||
}
|
||||
|
||||
-trap "cleanup" QUIT EXIT
|
||||
+trap 'cleanup' 0 3
|
||||
|
||||
-pushd "$WORKDIR" &>/dev/null || exit 1
|
||||
+oldpwd=$(pwd)
|
||||
+cd "$WORKDIR" || exit 1
|
||||
|
||||
"${DIR}/${1}"
|
||||
rc=$?
|
||||
|
||||
if ! fs=$(get_filesize NVChip); then
|
||||
- exit 1
|
||||
+ cd "$oldpwd" || exit 1
|
||||
+ exit 1
|
||||
fi
|
||||
exp=176832
|
||||
if [ "$fs" -ne "$exp" ]; then
|
||||
@@ -33,6 +35,6 @@ if [ "$fs" -ne "$exp" ]; then
|
||||
rc=1
|
||||
fi
|
||||
|
||||
-popd &>/dev/null || exit 1
|
||||
+cd "$oldpwd" || exit 1
|
||||
|
||||
exit $rc
|
||||
diff --git a/tests/tpm2_selftest.sh b/tests/tpm2_selftest.sh
|
||||
index d06e2ee..22504e5 100755
|
||||
--- a/tests/tpm2_selftest.sh
|
||||
+++ b/tests/tpm2_selftest.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
diff --git a/tests/tpm2_setprofile.sh b/tests/tpm2_setprofile.sh
|
||||
index 88c6f52..8e77618 100755
|
||||
--- a/tests/tpm2_setprofile.sh
|
||||
+++ b/tests/tpm2_setprofile.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/sh
|
||||
|
||||
# For the license, see the LICENSE file in the root directory.
|
||||
|
||||
@@ -10,20 +10,22 @@ WORKDIR=$(mktemp -d)
|
||||
|
||||
. "${TESTDIR}/common"
|
||||
|
||||
-function cleanup()
|
||||
+cleanup()
|
||||
{
|
||||
rm -rf "${WORKDIR}"
|
||||
}
|
||||
|
||||
-trap "cleanup" QUIT EXIT
|
||||
+trap 'cleanup' 0 3
|
||||
|
||||
-pushd "$WORKDIR" &>/dev/null || exit 1
|
||||
+oldpwd=$(pwd)
|
||||
+cd "$WORKDIR" || exit 1
|
||||
|
||||
"${DIR}/tpm2_setprofile"
|
||||
rc=$?
|
||||
|
||||
if ! fs=$(get_filesize NVChip); then
|
||||
- exit 1
|
||||
+ cd "$oldpwd" || exit 1
|
||||
+ exit 1
|
||||
fi
|
||||
exp=176832
|
||||
if [ "$fs" -ne "$exp" ]; then
|
||||
@@ -33,6 +35,6 @@ if [ "$fs" -ne "$exp" ]; then
|
||||
rc=1
|
||||
fi
|
||||
|
||||
-popd &>/dev/null || exit 1
|
||||
+cd "$oldpwd" || exit 1
|
||||
|
||||
exit "$rc"
|
||||
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--with-openssl",
|
||||
"--with-tpm2",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"openssl",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Library providing a software emulation of a Trusted Platform Module (TPM 1.2 and TPM 2.0)"
|
||||
homepage = "https://github.com/stefanberger/libtpms"
|
||||
license = "BSD-3-Clause"
|
||||
name = "libtpms"
|
||||
version = "0.10.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["autoreconf -fiv"]
|
||||
url = "https://github.com/stefanberger/libtpms.git#v$version"
|
||||
patches = [ "libtpms-0.10.2-const-plaintext-pointers.patch", "libtpms-0.10.2-posixify-tests.patch" ]
|
||||
|
||||
[[manual_sources]]
|
||||
files = [ "libtpms-0.10.2-const-plaintext-pointers.patch", "libtpms-0.10.2-posixify-tests.patch" ]
|
||||
@@ -0,0 +1,22 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
skip_tests = true
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = " multi-platform support library with a focus on asynchronous I/O"
|
||||
homepage = "https://libuv.org/"
|
||||
license = "MIT"
|
||||
name = "libuv"
|
||||
version = "1.52.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
post_extract = ["sh autogen.sh"]
|
||||
sha256 = "19fd091a582c39c7ea26dcbb40a7d2e7cf095b070a757b3c32c05de6cfed6638"
|
||||
url = "https://dist.libuv.org/dist/v$version/libuv-v$version.tar.gz"
|
||||
@@ -0,0 +1,31 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--disable-xf86bigfont",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"xorg-util-macros",
|
||||
"xtrans",
|
||||
]
|
||||
runtime = [
|
||||
"libxcb",
|
||||
"glibc",
|
||||
"xorgproto",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 client-side library"
|
||||
homepage = "https://gitlab.freedesktop.org/xorg/lib/libx11"
|
||||
license = "MIT AND X11"
|
||||
name = "libx11"
|
||||
version = "1.8.13"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "69606f485c2c07c14ef64f75b7bb326d48587af33795d9ab3e607c0b5f94f11c"
|
||||
url = "https://xorg.freedesktop.org/releases/individual/lib/libX11-$version.tar.xz"
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "meson"
|
||||
|
||||
[build.flags]
|
||||
build_dir = "build"
|
||||
|
||||
[dependencies]
|
||||
build = ["meson"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"xorgproto",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 authorisation library"
|
||||
homepage = "https://xorg.freedesktop.org/"
|
||||
license = "MIT-open-group"
|
||||
name = "libxau"
|
||||
version = "1.0.12"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "74d0e4dfa3d39ad8939e99bda37f5967aba528211076828464d2777d477fc0fb"
|
||||
url = "https://xorg.freedesktop.org/releases/individual/lib/libXau-$version.tar.xz"
|
||||
@@ -0,0 +1,35 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--enable-xinput",
|
||||
"--enable-xkb",
|
||||
"--disable-static",
|
||||
]
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"libxslt",
|
||||
"python",
|
||||
"xorg-util-macros",
|
||||
"xorgproto",
|
||||
]
|
||||
runtime = [
|
||||
"xcb-proto",
|
||||
"libxdmcp",
|
||||
"libxau",
|
||||
"glibc",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 client-side library"
|
||||
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxcb"
|
||||
license = "X11"
|
||||
name = "libxcb"
|
||||
version = "1.17.0"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "599ebf9996710fea71622e6e184f3a8ad5b43d0e5fa8c4e407123c88a59a6d55"
|
||||
url = "https://xorg.freedesktop.org/archive/individual/lib/libxcb-$version.tar.xz"
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
|
||||
[dependencies]
|
||||
build = ["xorg-util-macros"]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"xorgproto",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 Display Manager Control Protocol library"
|
||||
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxdmcp"
|
||||
license = "MIT-open-group"
|
||||
name = "libxdmcp"
|
||||
version = "1.1.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "d8a5222828c3adab70adf69a5583f1d32eb5ece04304f7f8392b6a353aa2228c"
|
||||
url = "https://xorg.freedesktop.org//releases/individual/lib/libXdmcp-$version.tar.xz"
|
||||
@@ -0,0 +1,25 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
|
||||
[dependencies]
|
||||
build = ["xorg-util-macros"]
|
||||
runtime = [
|
||||
"libx11",
|
||||
"glibc",
|
||||
"xorgproto",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 miscellaneous extensions library"
|
||||
homepage = "https://gitlab.freedesktop.org/xorg/lib/libxext"
|
||||
license = "LicenseRef-libxext"
|
||||
name = "libxext"
|
||||
version = "1.3.7"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "6c643c7035cdacf67afd68f25d01b90ef889d546c9fcd7c0adf7c2cf91e3a32d"
|
||||
url = "https://xorg.freedesktop.org/releases/individual/lib/libXext-$version.tar.xz"
|
||||
@@ -0,0 +1,28 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
|
||||
[dependencies]
|
||||
build = ["xorg-util-macros"]
|
||||
runtime = [
|
||||
"libx11",
|
||||
"xorgproto",
|
||||
"glibc",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 miscellaneous 'fixes' extension library"
|
||||
homepage = "https://xorg.freedesktop.org/"
|
||||
license = [
|
||||
"HPND-sell-variant",
|
||||
"MIT",
|
||||
]
|
||||
name = "libxfixes"
|
||||
version = "6.0.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "39f115d72d9c5f8111e4684164d3d68cc1fd21f9b27ff2401b08fddfc0f409ba"
|
||||
url = "https://xorg.freedesktop.org/releases/individual/lib/libXfixes-$version.tar.xz"
|
||||
@@ -0,0 +1,26 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"xorgproto",
|
||||
"xorg-util-macros",
|
||||
]
|
||||
runtime = [
|
||||
"libxext",
|
||||
"libxrender",
|
||||
"libx11",
|
||||
"glibc",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X11 RandR extension library"
|
||||
homepage = "https://xorg.freedesktop.org/"
|
||||
license = "HPND-sell-variant"
|
||||
name = "libxrandr"
|
||||
version = "1.5.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "72b922c2e765434e9e9f0960148070bd4504b288263e2868a4ccce1b7cf2767a"
|
||||
url = "https://xorg.freedesktop.org/releases/individual/lib/libXrandr-$version.tar.xz"
|
||||
@@ -0,0 +1,24 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = ["--disable-static"]
|
||||
|
||||
[dependencies]
|
||||
runtime = [
|
||||
"libx11",
|
||||
"glibc",
|
||||
"xorgproto",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "X Rendering Extension client library"
|
||||
homepage = "https://xorg.freedesktop.org/"
|
||||
license = "HPND-sell-variant"
|
||||
name = "libxrender"
|
||||
version = "0.9.12"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "b832128da48b39c8d608224481743403ad1691bf4e554e4be9c174df171d1b97"
|
||||
url = "https://xorg.freedesktop.org/archive/individual/lib/libXrender-$version.tar.xz"
|
||||
@@ -0,0 +1,33 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
|
||||
Date: Sat, 15 Jun 2024 00:22:58 +0200
|
||||
Subject: [PATCH] runtest: Print output causing failure
|
||||
|
||||
---
|
||||
tests/runtest.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/runtest.c b/tests/runtest.c
|
||||
index 9c6a6e1c0fac..856302121183 100644
|
||||
--- a/tests/runtest.c
|
||||
+++ b/tests/runtest.c
|
||||
@@ -666,17 +666,17 @@ xsltTest(const char *filename, int options) {
|
||||
res = compareFileMem(outFilename, (char *) out, outSize);
|
||||
if (res != 0) {
|
||||
fprintf(stderr, "Result for %s failed\n", filename);
|
||||
- /* printf("####\n%s####\n", out); */
|
||||
+ printf("####\n%s####\n", out);
|
||||
ret = -1;
|
||||
}
|
||||
free(outFilename);
|
||||
xmlFree(out);
|
||||
|
||||
errFilename = changeSuffix(filename, errSuffix);
|
||||
res = compareFileMem(errFilename, testErrors, testErrorsSize);
|
||||
if (res != 0) {
|
||||
fprintf(stderr, "Error for %s failed\n", filename);
|
||||
- /* printf("####\n%s####\n", testErrors); */
|
||||
+ printf("####\n%s####\n", testErrors);
|
||||
ret = -1;
|
||||
}
|
||||
free(errFilename);
|
||||
@@ -0,0 +1,40 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[build.flags]
|
||||
configure = [
|
||||
"--disable-static",
|
||||
"--with-python=/usr/bin/python",
|
||||
]
|
||||
post_configure = ['''sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool''']
|
||||
skip_tests = true # need to build libxml2 with doxygen/python first
|
||||
|
||||
[dependencies]
|
||||
build = [ "python" ]
|
||||
runtime = [
|
||||
"glibc",
|
||||
"sh",
|
||||
"libgcrypt",
|
||||
"libxml215",
|
||||
"xz",
|
||||
]
|
||||
test = [ "docbook-xml" ]
|
||||
optional = [ "python" ]
|
||||
|
||||
[[manual_sources]]
|
||||
file = "0001-runtest-Print-output-causing-failure.patch"
|
||||
sha256 = "sha512:dd55b7c5e7937bf67d9001b7e92d508447ccea4dd72f001d7a76de65ebea14485e222508096eef7165bc961de6f2926a42a2d6796576f3ff33fd7fefec9c18a1"
|
||||
|
||||
[package]
|
||||
description = "XML stylesheet transformation library"
|
||||
homepage = "https://gitlab.gnome.org/GNOME/libxslt/-/wikis/home"
|
||||
license = "MIT"
|
||||
name = "libxslt"
|
||||
version = "1.1.45"
|
||||
revision = 2
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
patches = [ "0001-runtest-Print-output-causing-failure.patch" ]
|
||||
sha256 = "9acfe68419c4d06a45c550321b3212762d92f41465062ca4ea19e632ee5d216e"
|
||||
url = "https://download.gnome.org/sources/libxslt/1.1/libxslt-$version.tar.xz"
|
||||
@@ -0,0 +1,17 @@
|
||||
[build]
|
||||
type = "autotools"
|
||||
|
||||
[dependencies]
|
||||
runtime = ["glibc"]
|
||||
|
||||
[package]
|
||||
description = "YAML 1.1 library"
|
||||
homepage = "https://pyyaml.org/wiki/LibYAML"
|
||||
license = "MIT"
|
||||
name = "libyaml"
|
||||
version = "0.2.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "c642ae9b75fee120b2d96c712538bd2cf283228d2337df2cf2988e3c02678ef4"
|
||||
url = "https://pyyaml.org/download/libyaml/yaml-$version.tar.gz"
|
||||
@@ -0,0 +1,20 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-setuptools",
|
||||
"python-wheel",
|
||||
]
|
||||
runtime = ["python"]
|
||||
|
||||
[package]
|
||||
description = "Parser for the lightweight Ducktype syntax for Mallard"
|
||||
homepage = "http://projectmallard.org/"
|
||||
license = "MIT"
|
||||
name = "mallard-ducktype"
|
||||
version = "1.0.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/projectmallard/mallard-ducktype.git#$version"
|
||||
@@ -0,0 +1,30 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-setuptools",
|
||||
"python-setuptools-rust",
|
||||
"python-wheel",
|
||||
]
|
||||
runtime = [
|
||||
"libunwind",
|
||||
"glibc",
|
||||
"rust",
|
||||
"xz",
|
||||
"python",
|
||||
"bzip2",
|
||||
"openssl",
|
||||
"libcxx",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Build and publish crates with pyo3, rust-cpython and cffi bindings"
|
||||
homepage = "https://github.com/PyO3/maturin"
|
||||
license = "Apache-2.0 OR MIT"
|
||||
name = "maturin"
|
||||
version = "1.12.6"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/PyO3/maturin#v$version"
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-pdm-backend",
|
||||
"python-wheel",
|
||||
]
|
||||
runtime = [
|
||||
"mkdocs",
|
||||
"python",
|
||||
"python-jinja",
|
||||
"python-markdown",
|
||||
"python-markupsafe",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Automatically link across pages in MkDocs"
|
||||
homepage = "https://github.com/mkdocstrings/autorefs"
|
||||
license = "ISC"
|
||||
name = "mkdocs-autorefs"
|
||||
version = "1.4.4"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "e12a73433b111a91f75e638c3a2feed9e2fabd4fe2533f55cf82c20cdf0c3451"
|
||||
url = "https://github.com/mkdocstrings/autorefs/archive/refs/tags/$version.tar.gz"
|
||||
@@ -0,0 +1,27 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-hatchling",
|
||||
"python-setuptools",
|
||||
"python-wheel",
|
||||
]
|
||||
runtime = [
|
||||
"python",
|
||||
"python-mergedeep",
|
||||
"python-platformdirs",
|
||||
"python-yaml",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "An extra command for MkDocs that infers required PyPI packages from `plugins` in mkdocs.yml"
|
||||
homepage = "https://www.mkdocs.org/"
|
||||
license = "MIT"
|
||||
name = "mkdocs-get-deps"
|
||||
version = "0.2.2"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
sha256 = "8ee8d5f316cdbbb2834bc1df6e69c08fe769a83e040060de26d3c19fad3599a1"
|
||||
url = "https://files.pythonhosted.org/packages/ce/25/b3cccb187655b9393572bde9b09261d267c3bf2f2cdabe347673be5976a6/mkdocs_get_deps-0.2.2.tar.gz"
|
||||
@@ -0,0 +1,32 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"python-hatch-nodejs-version",
|
||||
"python-hatchling",
|
||||
"python-hatch-requirements-txt",
|
||||
"python-wheel",
|
||||
]
|
||||
runtime = [
|
||||
"mkdocs",
|
||||
"python",
|
||||
"python-babel",
|
||||
"python-backrefs",
|
||||
"python-colorama",
|
||||
"python-jinja",
|
||||
"python-markdown",
|
||||
"python-requests",
|
||||
"python-yaml",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Documentation that simply works"
|
||||
homepage = "https://github.com/squidfunk/mkdocs-material"
|
||||
license = "ISC"
|
||||
name = "mkdocs-material"
|
||||
version = "9.7.5"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/squidfunk/mkdocs-material.git#$version"
|
||||
@@ -0,0 +1,40 @@
|
||||
[build]
|
||||
type = "python"
|
||||
|
||||
[dependencies]
|
||||
build = [
|
||||
"git",
|
||||
"python-hatchling",
|
||||
"python-setuptools",
|
||||
"python-wheel",
|
||||
]
|
||||
optional = ["python-lunr"]
|
||||
runtime = [
|
||||
"mkdocs-get-deps",
|
||||
"python",
|
||||
"python-babel",
|
||||
"python-click",
|
||||
"python-ghp-import",
|
||||
"python-importlib-metadata",
|
||||
"python-jinja",
|
||||
"python-markdown",
|
||||
"python-markupsafe",
|
||||
"python-mergedeep",
|
||||
"python-packaging",
|
||||
"python-pathspec",
|
||||
"python-pyyaml-env-tag",
|
||||
"python-typing_extensions",
|
||||
"python-yaml",
|
||||
"python-watchdog",
|
||||
]
|
||||
|
||||
[package]
|
||||
description = "Project documentation with Markdown"
|
||||
homepage = "https://www.mkdocs.org/"
|
||||
license = "BSD-2-Clause"
|
||||
name = "mkdocs"
|
||||
version = "1.6.1"
|
||||
|
||||
[[source]]
|
||||
extract_dir = "$name-$version"
|
||||
url = "https://github.com/mkdocs/mkdocs.git#$version"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user