aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-04-03 00:36:28 +0900
committerOphestra <cat@gensokyo.uk>2026-04-03 00:36:28 +0900
commit3b221c3e7759a4507b698cbba1eb9140290f7d64 (patch)
tree46018600459e7dc0a18b922e9b1091742f1b2b61
parentff3b385b12d8f3d7155bfe5ed727280ba48ea418 (diff)
internal/rosa/gnu: gnutls artifact
Incredibly ugly and expensive package, but unfortunately required by some packages. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/gnu.go168
2 files changed, 169 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index f3d9a97f..bf2ac566 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -63,6 +63,7 @@ const (
GenInitCPIO
Gettext
Git
+ GnuTLS
Go
Gperf
Grep
diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go
index 72328365..f4f09b4d 100644
--- a/internal/rosa/gnu.go
+++ b/internal/rosa/gnu.go
@@ -837,6 +837,174 @@ func init() {
}
}
+func (t Toolchain) newGnuTLS() (pkg.Artifact, string) {
+ const (
+ version = "3.8.12"
+ checksum = "VPdP-nRydQQRJcnma-YA7CJYA_kzTJ2rb3QFeP6D27emSyInJ8sQ-Wzn518I38dl"
+ )
+ return t.NewPackage("gnutls", version, t.NewViaGit(
+ "https://gitlab.com/gnutls/gnutls.git",
+ "refs/tags/"+version,
+ mustDecode(checksum),
+ ), &PackageAttr{
+ Patches: []KV{
+ {"bootstrap-remove-gtk-doc", `diff --git a/bootstrap.conf b/bootstrap.conf
+index 1c3cc61e6..32bae9387 100644
+--- a/bootstrap.conf
++++ b/bootstrap.conf
+@@ -50,7 +50,6 @@ bison 2.4
+ gettext 0.17
+ git 1.4.4
+ gperf -
+-gtkdocize -
+ perl 5.5
+ wget -
+ "
+diff --git a/configure.ac b/configure.ac
+index 5057536e5..731558a15 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -403,11 +403,6 @@ if test "$enable_fuzzer_target" != "no";then
+ AC_DEFINE([FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION], 1, [Enable fuzzer target -not for production])
+ fi
+
+-dnl
+-dnl check for gtk-doc
+-dnl
+-GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+-
+ AM_GNU_GETTEXT([external])
+ AM_GNU_GETTEXT_VERSION([0.19])
+ m4_ifdef([AM_GNU_GET][TEXT_REQUIRE_VERSION],[
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index fb1390d70..52f0ad9af 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -33,9 +33,6 @@ IMAGES = \
+ pkcs11-vision.png
+
+ SUBDIRS = examples scripts credentials latex
+-if ENABLE_GTK_DOC
+-SUBDIRS += reference
+-endif
+
+ -include $(top_srcdir)/doc/doc.mk
+
+diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
+index f10c8ed3c..b711b58ec 100644
+--- a/doc/reference/Makefile.am
++++ b/doc/reference/Makefile.am
+@@ -82,13 +82,4 @@ include $(top_srcdir)/gtk-doc.make
+ # e.g. EXTRA_DIST += version.xml.in
+ EXTRA_DIST += version.xml.in
+
+-# Comment this out if you want 'make check' to test you doc status
+-# and run some sanity checks
+-if ENABLE_GTK_DOC
+-TESTS_ENVIRONMENT = \
+- DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+- SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+-#TESTS = $(GTKDOC_CHECK)
+-endif
+-
+ -include $(top_srcdir)/git.mk
+`},
+
+ {"alpine-tests-certtool", `I think this tests is simply wrong.
+When a PIN is given, the program should run in batch mode.
+So the question for "Enter password" should _not_ be present.
+
+DO NOT REMOVE UNLESS VERIFIED IT'S NOT ACTUALLY NECESSARY ANYMORE.
+
+--- a/tests/cert-tests/certtool.sh 2019-02-07 07:33:45.960887338 +0000
++++ b/tests/cert-tests/certtool.sh 2019-02-07 07:36:14.550955051 +0000
+@@ -49,7 +49,7 @@
+
+ #check whether password is being honoured
+ #some CI runners need GNUTLS_PIN (GNUTLS_PIN=${PASS})
+- ${SETSID} "${CERTTOOL}" --generate-self-signed --load-privkey ${TMPFILE1} --template ${srcdir}/templates/template-test.tmpl --ask-pass >${TMPFILE2} 2>&1 <<EOF
++ GNUTLS_PIN=${PASS} ${SETSID} "${CERTTOOL}" --generate-self-signed --load-privkey ${TMPFILE1} --template ${srcdir}/templates/template-test.tmpl --ask-pass >${TMPFILE2} 2>&1 <<EOF
+ $PASS
+ EOF
+ if test $? != 0;then
+@@ -59,7 +59,7 @@
+ fi
+
+ grep "Enter password" ${TMPFILE2} >/dev/null 2>&1
+- if test $? != 0;then
++ if test $? != 1; then
+ cat ${TMPFILE2}
+ echo "No password was asked"
+ exit 1
+`},
+
+ {"test-kernel-version-ksh", `diff --git a/tests/scripts/common.sh b/tests/scripts/common.sh
+index 1b78b8cf1..350156a86 100644
+--- a/tests/scripts/common.sh
++++ b/tests/scripts/common.sh
+@@ -279,10 +279,6 @@ kernel_version_check() {
+ kernel_major=$(echo $kernel_version | cut -d. -f1 2>/dev/null)
+ kernel_minor=$(echo $kernel_version | cut -d. -f2 2>/dev/null)
+
+- if ! [[ "$kernel_major" =~ ^[0-9]+$ ]] || ! [[ "$kernel_minor" =~ ^[0-9]+$ ]]; then
+- return 1
+- fi
+-
+ if [ "$kernel_major" -lt "$required_major" ]; then
+ return 1
+ fi
+`},
+ },
+ }, &MakeHelper{
+ Generate: "./bootstrap --skip-po --no-git --gnulib-srcdir=gnulib",
+
+ Configure: []KV{
+ {"disable-doc"},
+
+ {"with-zlib", "link"},
+ {"with-zstd", "link"},
+ },
+ },
+ Gzip,
+ Automake,
+ Libtool,
+ Bison,
+ Gettext,
+ Gperf,
+ PkgConfig,
+
+ Python,
+ Texinfo,
+ Diffutils,
+
+ Libev,
+ Zlib,
+ Zstd,
+ P11Kit,
+ nettle3,
+ Libunistring,
+ ), version
+}
+func init() {
+ artifactsM[GnuTLS] = Metadata{
+ f: Toolchain.newGnuTLS,
+
+ Name: "gnutls",
+ Description: "a secure communications library implementing the SSL, TLS and DTLS protocols",
+ Website: "https://gnutls.org",
+
+ Dependencies: P{
+ Zlib,
+ Zstd,
+ P11Kit,
+ nettle3,
+ Libunistring,
+ },
+
+ ID: 1221,
+ }
+}
+
func (t Toolchain) newBinutils() (pkg.Artifact, string) {
const (
version = "2.46.0"