Compare commits
21 commits
edge
...
dotnet8/mo
Author | SHA1 | Date | |
---|---|---|---|
2e4bf93a80 | |||
3fdba11a27 | |||
71264fb652 | |||
d16c453065 | |||
b1f255f8ea | |||
75f30878b0 | |||
fe65ae4deb | |||
7b937d2c87 | |||
631a01616a | |||
a1416add31 | |||
1cf188e9da | |||
5fb941ecb3 | |||
2e1610df58 | |||
c33f747dcc | |||
883a51cf92 | |||
1485bcf6bc | |||
6b52269344 | |||
22aafb23ba | |||
4699666808 | |||
8b3e77ae96 | |||
e198b812dd |
55 changed files with 1313 additions and 658 deletions
177
backports/openssl1.1-compat/APKBUILD
Normal file
177
backports/openssl1.1-compat/APKBUILD
Normal file
|
@ -0,0 +1,177 @@
|
|||
# Contributor: Ariadne Conill <ariadne@dereferenced.org>
|
||||
# Maintainer: Timo Teras <timo.teras@iki.fi>
|
||||
pkgname=openssl1.1-compat
|
||||
pkgver=1.1.1w
|
||||
_abiver=${pkgver%.*}
|
||||
pkgrel=0
|
||||
pkgdesc="toolkit for transport layer security (TLS) - version 1.1"
|
||||
url="https://www.openssl.org/"
|
||||
arch="all"
|
||||
license="OpenSSL"
|
||||
replaces="libressl"
|
||||
depends_dev="!openssl-dev"
|
||||
makedepends_build="perl"
|
||||
makedepends_host="linux-headers"
|
||||
makedepends="$makedepends_host $makedepends_build"
|
||||
subpackages="$pkgname-dbg $pkgname-libs-static:_static $pkgname-dev
|
||||
libcrypto$_abiver:_libcrypto libssl$_abiver:_libssl"
|
||||
source="https://www.openssl.org/source/openssl-$pkgver.tar.gz
|
||||
man-section.patch
|
||||
ppc64.patch
|
||||
"
|
||||
builddir="$srcdir/openssl-$pkgver"
|
||||
pcprefix="openssl$_abiver:pc:"
|
||||
|
||||
# secfixes:
|
||||
# 1.1.1u-r1:
|
||||
# - CVE-2023-3446
|
||||
# 1.1.1t-r2:
|
||||
# - CVE-2023-0465
|
||||
# 1.1.1t-r1:
|
||||
# - CVE-2023-0464
|
||||
# 1.1.1t-r0:
|
||||
# - CVE-2022-4304
|
||||
# - CVE-2022-4450
|
||||
# - CVE-2023-0215
|
||||
# - CVE-2023-0286
|
||||
# 1.1.1q-r0:
|
||||
# - CVE-2022-2097
|
||||
# 1.1.1n-r0:
|
||||
# - CVE-2022-0778
|
||||
# 1.1.1l-r0:
|
||||
# - CVE-2021-3711
|
||||
# - CVE-2021-3712
|
||||
# 1.1.1k-r0:
|
||||
# - CVE-2021-3449
|
||||
# - CVE-2021-3450
|
||||
# 1.1.1j-r0:
|
||||
# - CVE-2021-23841
|
||||
# - CVE-2021-23840
|
||||
# - CVE-2021-23839
|
||||
# 1.1.1i-r0:
|
||||
# - CVE-2020-1971
|
||||
# 1.1.1g-r0:
|
||||
# - CVE-2020-1967
|
||||
# 1.1.1d-r3:
|
||||
# - CVE-2019-1551
|
||||
# 1.1.1d-r1:
|
||||
# - CVE-2019-1547
|
||||
# - CVE-2019-1549
|
||||
# - CVE-2019-1563
|
||||
# 1.1.1b-r1:
|
||||
# - CVE-2019-1543
|
||||
# 1.1.1a-r0:
|
||||
# - CVE-2018-0734
|
||||
# - CVE-2018-0735
|
||||
# 0:
|
||||
# - CVE-2022-1292
|
||||
# - CVE-2022-2068
|
||||
|
||||
build() {
|
||||
local _target _optflags
|
||||
|
||||
# openssl will prepend crosscompile always core CC et al
|
||||
CC=${CC#${CROSS_COMPILE}}
|
||||
CXX=${CXX#${CROSS_COMPILE}}
|
||||
CPP=${CPP#${CROSS_COMPILE}}
|
||||
|
||||
# determine target OS for openssl
|
||||
case "$CARCH" in
|
||||
aarch64*) _target="linux-aarch64" ;;
|
||||
arm*) _target="linux-armv4" ;;
|
||||
mips64*) _target="linux64-mips64" ;;
|
||||
# explicit _optflags is needed to prevent automatic -mips3 addition
|
||||
mips*) _target="linux-mips32"; _optflags="-mips32" ;;
|
||||
ppc) _target="linux-ppc" ;;
|
||||
ppc64) _target="linux-ppc64" ;;
|
||||
ppc64le) _target="linux-ppc64le" ;;
|
||||
x86) _target="linux-elf" ;;
|
||||
x86_64) _target="linux-x86_64"; _optflags="enable-ec_nistp_64_gcc_128" ;;
|
||||
s390x) _target="linux64-s390x";;
|
||||
riscv64) _target="linux-generic64";;
|
||||
*) msg "Unable to determine architecture from (CARCH=$CARCH)" ; return 1 ;;
|
||||
esac
|
||||
|
||||
# Configure assumes --options are for it, so can't use
|
||||
# gcc's --sysroot fake this by overriding CC
|
||||
[ -n "$CBUILDROOT" ] && CC="$CC --sysroot=$CBUILDROOT"
|
||||
|
||||
# when cross building do not enable threads as libatomic is not avaiable
|
||||
if [ "$CBUILD" != "$CHOST" ]; then
|
||||
case $CARCH in
|
||||
riscv64) _optflags="$_optflags no-threads";;
|
||||
esac
|
||||
fi
|
||||
|
||||
perl ./Configure \
|
||||
$_target \
|
||||
--prefix=/usr \
|
||||
--libdir=lib \
|
||||
--openssldir=/etc/ssl1.1 \
|
||||
shared \
|
||||
no-zlib \
|
||||
no-async \
|
||||
no-comp \
|
||||
no-idea \
|
||||
no-mdc2 \
|
||||
no-rc5 \
|
||||
no-ec2m \
|
||||
no-sm2 \
|
||||
no-sm4 \
|
||||
no-ssl2 \
|
||||
no-ssl3 \
|
||||
no-seed \
|
||||
no-weak-ssl-ciphers \
|
||||
$_optflags \
|
||||
$CPPFLAGS \
|
||||
$CFLAGS \
|
||||
$LDFLAGS -Wa,--noexecstack
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
# AFALG tests have a sporadic test failure, just delete the broken
|
||||
# test for now.
|
||||
rm -f test/recipes/30-test_afalg.t
|
||||
|
||||
make test
|
||||
}
|
||||
|
||||
package() {
|
||||
make DESTDIR="$pkgdir" install_sw install_ssldirs
|
||||
# remove the script c_rehash
|
||||
rm "$pkgdir"/usr/bin/c_rehash
|
||||
mv -f "$pkgdir"/usr/bin/openssl "$pkgdir"/usr/bin/openssl$_abiver
|
||||
}
|
||||
|
||||
_libcrypto() {
|
||||
pkgdesc="Crypto library from openssl"
|
||||
replaces="libressl2.7-libcrypto"
|
||||
mkdir -p "$subpkgdir"/lib "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/etc "$subpkgdir"/
|
||||
for i in "$pkgdir"/usr/lib/libcrypto*; do
|
||||
mv $i "$subpkgdir"/lib/
|
||||
ln -s ../../lib/${i##*/} "$subpkgdir"/usr/lib/${i##*/}
|
||||
done
|
||||
mv "$pkgdir"/usr/lib/engines-$_abiver "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
_libssl() {
|
||||
pkgdesc="SSL shared libraries"
|
||||
|
||||
mkdir -p "$subpkgdir"/lib "$subpkgdir"/usr/lib
|
||||
for i in "$pkgdir"/usr/lib/libssl*; do
|
||||
mv $i "$subpkgdir"/lib/
|
||||
ln -s ../../lib/${i##*/} "$subpkgdir"/usr/lib/${i##*/}
|
||||
done
|
||||
}
|
||||
|
||||
_static() {
|
||||
default_static
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
b4c625fe56a4e690b57b6a011a225ad0cb3af54bd8fb67af77b5eceac55cc7191291d96a660c5b568a08a2fbf62b4612818e7cca1bb95b2b6b4fc649b0552b6d openssl-1.1.1w.tar.gz
|
||||
43c3255118db6f5f340dc865c0f25ccbcafe5bf7507585244ca59b4d27daf533d6c3171aa32a8685cbb6200104bec535894b633de13feaadff87ab86739a445a man-section.patch
|
||||
e040f23770d52b988578f7ff84d77563340f37c026db7643db8e4ef18e795e27d10cb42cb8656da4d9c57a28283a2828729d70f940edc950c3422a54fea55509 ppc64.patch
|
||||
"
|
54
backports/openssl1.1-compat/man-section.patch
Normal file
54
backports/openssl1.1-compat/man-section.patch
Normal file
|
@ -0,0 +1,54 @@
|
|||
From: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org>
|
||||
Date: Sun, 5 Nov 2017 15:09:09 +0100
|
||||
Subject: man-section
|
||||
|
||||
---
|
||||
Configurations/unix-Makefile.tmpl | 6 ++++--
|
||||
util/process_docs.pl | 3 ++-
|
||||
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl
|
||||
index 1292053546f5..c034d21884d8 100644
|
||||
--- a/Configurations/unix-Makefile.tmpl
|
||||
+++ b/Configurations/unix-Makefile.tmpl
|
||||
@@ -183,7 +183,8 @@ HTMLDIR=$(DOCDIR)/html
|
||||
# MANSUFFIX is for the benefit of anyone who may want to have a suffix
|
||||
# appended after the manpage file section number. "ssl" is popular,
|
||||
# resulting in files such as config.5ssl rather than config.5.
|
||||
-MANSUFFIX=
|
||||
+MANSUFFIX=ssl
|
||||
+MANSECTION=SSL
|
||||
HTMLSUFFIX=html
|
||||
|
||||
# For "optional" echo messages, to get "real" silence
|
||||
@@ -726,7 +727,8 @@ uninstall_runtime: uninstall_programs uninstall_runtime_libs
|
||||
@[ -n "$(INSTALLTOP)" ] || (echo INSTALLTOP should not be empty; exit 1)
|
||||
@$(ECHO) "*** Installing manpages"
|
||||
$(PERL) $(SRCDIR)/util/process_docs.pl \
|
||||
- "--destdir=$(DESTDIR)$(MANDIR)" --type=man --suffix=$(MANSUFFIX)
|
||||
+ "--destdir=$(DESTDIR)$(MANDIR)" --type=man --suffix=$(MANSUFFIX) \
|
||||
+ --mansection=$(MANSECTION)
|
||||
|
||||
uninstall_man_docs:
|
||||
@$(ECHO) "*** Uninstalling manpages"
|
||||
diff --git a/util/process_docs.pl b/util/process_docs.pl
|
||||
index 30b149eb8fcc..424155ea808e 100755
|
||||
--- a/util/process_docs.pl
|
||||
+++ b/util/process_docs.pl
|
||||
@@ -37,6 +37,7 @@ GetOptions(\%options,
|
||||
'type=s', # The result type, 'man' or 'html'
|
||||
'suffix:s', # Suffix to add to the extension.
|
||||
# Only used with type=man
|
||||
+ 'mansection:s', # Section to put to manpage in
|
||||
'remove', # To remove files rather than writing them
|
||||
'dry-run|n', # Only output file names on STDOUT
|
||||
'debug|D+',
|
||||
@@ -97,7 +98,7 @@ foreach my $section (sort @{$options{section}}) {
|
||||
my $name = uc $podname;
|
||||
my $suffix = { man => ".$podinfo{section}".($options{suffix} // ""),
|
||||
html => ".html" } -> {$options{type}};
|
||||
- my $generate = { man => "pod2man --name=$name --section=$podinfo{section} --center=OpenSSL --release=$config{version} \"$podpath\"",
|
||||
+ my $generate = { man => "pod2man --name=$name --section=$podinfo{section}$options{mansection} --center=OpenSSL --release=$config{version} \"$podpath\"",
|
||||
html => "pod2html \"--podroot=$options{sourcedir}\" --htmldir=$updir --podpath=man1:man3:man5:man7 \"--infile=$podpath\" \"--title=$podname\" --quiet"
|
||||
} -> {$options{type}};
|
||||
my $output_dir = catdir($options{destdir}, "man$podinfo{section}");
|
96
backports/openssl1.1-compat/ppc64.patch
Normal file
96
backports/openssl1.1-compat/ppc64.patch
Normal file
|
@ -0,0 +1,96 @@
|
|||
From 34ab13b7d8e3e723adb60be8142e38b7c9cd382a Mon Sep 17 00:00:00 2001
|
||||
From: Andy Polyakov <appro@openssl.org>
|
||||
Date: Sun, 5 May 2019 18:25:50 +0200
|
||||
Subject: [PATCH] crypto/perlasm/ppc-xlate.pl: add linux64v2 flavour
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is a big endian ELFv2 configuration. ELFv2 was already being
|
||||
used for little endian, and big endian was traditionally ELFv1
|
||||
but there are practical configurations that use ELFv2 with big
|
||||
endian nowadays (Adélie Linux, Void Linux, possibly Gentoo, etc.)
|
||||
|
||||
Reviewed-by: Paul Dale <paul.dale@oracle.com>
|
||||
Reviewed-by: Richard Levitte <levitte@openssl.org>
|
||||
(Merged from https://github.com/openssl/openssl/pull/8883)
|
||||
---
|
||||
crypto/perlasm/ppc-xlate.pl | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/crypto/perlasm/ppc-xlate.pl b/crypto/perlasm/ppc-xlate.pl
|
||||
index e52f2f6ea62..5fcd0526dff 100755
|
||||
--- a/crypto/perlasm/ppc-xlate.pl
|
||||
+++ b/crypto/perlasm/ppc-xlate.pl
|
||||
@@ -49,7 +49,7 @@
|
||||
/osx/ && do { $name = "_$name";
|
||||
last;
|
||||
};
|
||||
- /linux.*(32|64le)/
|
||||
+ /linux.*(32|64(le|v2))/
|
||||
&& do { $ret .= ".globl $name";
|
||||
if (!$$type) {
|
||||
$ret .= "\n.type $name,\@function";
|
||||
@@ -80,7 +80,7 @@
|
||||
};
|
||||
my $text = sub {
|
||||
my $ret = ($flavour =~ /aix/) ? ".csect\t.text[PR],7" : ".text";
|
||||
- $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64le/);
|
||||
+ $ret = ".abiversion 2\n".$ret if ($flavour =~ /linux.*64(le|v2)/);
|
||||
$ret;
|
||||
};
|
||||
my $machine = sub {
|
||||
@@ -186,7 +186,7 @@
|
||||
|
||||
# Some ABIs specify vrsave, special-purpose register #256, as reserved
|
||||
# for system use.
|
||||
-my $no_vrsave = ($flavour =~ /aix|linux64le/);
|
||||
+my $no_vrsave = ($flavour =~ /aix|linux64(le|v2)/);
|
||||
my $mtspr = sub {
|
||||
my ($f,$idx,$ra) = @_;
|
||||
if ($idx == 256 && $no_vrsave) {
|
||||
@@ -318,7 +318,7 @@ sub vfour {
|
||||
if ($label) {
|
||||
my $xlated = ($GLOBALS{$label} or $label);
|
||||
print "$xlated:";
|
||||
- if ($flavour =~ /linux.*64le/) {
|
||||
+ if ($flavour =~ /linux.*64(le|v2)/) {
|
||||
if ($TYPES{$label} =~ /function/) {
|
||||
printf "\n.localentry %s,0\n",$xlated;
|
||||
}
|
||||
|
||||
From 098404128383ded87ba390dd74ecd9e2ffa6f530 Mon Sep 17 00:00:00 2001
|
||||
From: Andy Polyakov <appro@openssl.org>
|
||||
Date: Sun, 5 May 2019 18:30:55 +0200
|
||||
Subject: [PATCH] Configure: use ELFv2 ABI on some ppc64 big endian systems
|
||||
|
||||
If _CALL_ELF is defined to be 2, it's an ELFv2 system.
|
||||
Conditionally switch to the v2 perlasm scheme.
|
||||
|
||||
Reviewed-by: Paul Dale <paul.dale@oracle.com>
|
||||
Reviewed-by: Richard Levitte <levitte@openssl.org>
|
||||
(Merged from https://github.com/openssl/openssl/pull/8883)
|
||||
---
|
||||
Configure | 10 +++++++---
|
||||
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/Configure b/Configure
|
||||
index 22082deb4c7..e303d98deb3 100755
|
||||
--- a/Configure
|
||||
+++ b/Configure
|
||||
@@ -1402,8 +1402,15 @@
|
||||
my %predefined_C = compiler_predefined($config{CROSS_COMPILE}.$config{CC});
|
||||
my %predefined_CXX = $config{CXX}
|
||||
? compiler_predefined($config{CROSS_COMPILE}.$config{CXX})
|
||||
: ();
|
||||
|
||||
+unless ($disabled{asm}) {
|
||||
+ # big endian systems can use ELFv2 ABI
|
||||
+ if ($target eq "linux-ppc64") {
|
||||
+ $target{perlasm_scheme} = "linux64v2" if ($predefined_C{_CALL_ELF} == 2);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
# Check for makedepend capabilities.
|
||||
if (!$disabled{makedepend}) {
|
||||
if ($config{target} =~ /^(VC|vms)-/) {
|
|
@ -2,8 +2,8 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=authentik
|
||||
pkgver=2023.8.2
|
||||
pkgrel=1
|
||||
pkgver=2023.10.4
|
||||
pkgrel=0
|
||||
pkgdesc="An open-source Identity Provider focused on flexibility and versatility"
|
||||
url="https://github.com/goauthentik/authentik"
|
||||
# py3-xmlsec needs some work
|
||||
|
@ -98,6 +98,7 @@ depends="
|
|||
py3-prometheus-client
|
||||
py3-prompt_toolkit
|
||||
py3-psycopg
|
||||
py3-psycopg-c
|
||||
py3-pycryptodome
|
||||
py3-pydantic-scim
|
||||
py3-pynacl
|
||||
|
@ -235,7 +236,7 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
6d7422157ad5b028f78d585b80728736cc94f93a9b58ef8dee731d6d63e05a671f1ca30dd4ca4f02b3ef25bcd5824b81f187c66cd14b362a7a214fdab8efb256 authentik-2023.8.2.tar.gz
|
||||
26e69786c377b5fb24c733a6d3855f7c05f1821e66935ef1bf24964f50b09967895d5969ccd3d77e51a159879f0a32fbb3731dc28334346afc80675764624f35 authentik-2023.10.4.tar.gz
|
||||
4defb4fe3a4230f4aa517fbecd5e5b8bcef2a64e1b40615660ae9eec33597310a09df5e126f4d39ce7764bd1716c0a7040637699135c103cbc1879593c6c06f1 authentik.openrc
|
||||
5d7f28bf5a9f358a0fc3634b2bac6d070c276c3f8181d26fa7e94a17503a4d54556bf7c3207ccd6cb924b81754ed965795d5e2a8aa1af409fd9e32d390ec4cf5 authentik-worker.openrc
|
||||
351e6920d987861f8bf0d7ab2f942db716a8dbdad1f690ac662a6ef29ac0fd46cf817cf557de08f1c024703503d36bc8b46f0d9eb1ecaeb399dce4c3bb527d17 authentik-ldap.openrc
|
||||
|
|
|
@ -2,11 +2,10 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=calibre-web
|
||||
pkgver=0.6.20
|
||||
pkgver=0.6.21
|
||||
pkgrel=0
|
||||
pkgdesc="Web app for browsing, reading and downloading eBooks stored in a Calibre database"
|
||||
# blocked by py3-levenshtein
|
||||
#arch='noarch'
|
||||
arch='noarch'
|
||||
url="https://github.com/janeczku/calibre-web"
|
||||
license='GPL-3.0-only'
|
||||
depends="
|
||||
|
@ -58,7 +57,7 @@ package() {
|
|||
install -D -m 644 "$srcdir"/calibre-web.conf "$pkgdir"/etc/conf.d/calibre-web
|
||||
}
|
||||
sha512sums="
|
||||
19111905fd52421e2f62b29cb4e339ad6607d38f8d5f8b45f9a4e620132b1e487a0404aa0d2da89bfc61bb2ea5f020d38d3bf83d2be37c03d91ddd5bb841508f calibre-web-0.6.20.tar.gz
|
||||
d2f07eec0b6c9f65e68ae0b72fddd14444eb8be8b0fee997ec7caaa1feebb8a26603844752347547becde501669af5bce69e9eab466a28fd4b10624b65c9afcf calibre-web-0.6.21.tar.gz
|
||||
4aba825eb12f44eb0912cc6981b46bec9b77ad114627564c9c7585862a099c7d1ff8deec5f15d047319805e2b9a3e2d128b2d1292dd92293a7e72359009a480f calibre-web.conf
|
||||
62859a8a304216dc0dbfb7f2e8144a50d348c6621f5b292c08aa97a872ada67b52d36b567546fd0f4c439dbefe0bbe0e4fb1e1affbe507278b4a8d36ed3fa2a9 calibre-web.initd
|
||||
"
|
||||
|
|
|
@ -2,15 +2,16 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=dotnet8-runtime
|
||||
pkgver=8.0.0_pre7
|
||||
pkgrel=2
|
||||
_gittag=v8.0.0-preview.7.23375.6
|
||||
pkgver=8.0.0
|
||||
pkgrel=0
|
||||
_gittag=v8.0.0
|
||||
_giturl="https://github.com/dotnet/dotnet"
|
||||
_testtag=e1cc0f181ffd4d755756d30d985513897d592ba4
|
||||
_bunnytag=v12
|
||||
_stage0ver=8.0.0_pre7-r2
|
||||
_testtag=d3d39e7c404c6e45c3e7ab6621c5f6cabf1540b0
|
||||
_bunnytag=v15
|
||||
_stage0ver=8.0.100-r0
|
||||
_patches="
|
||||
aspnetcore_portable-build-workaround.patch
|
||||
aspire_fix-gitinfo-target.patch
|
||||
build_enable-timestamps.patch
|
||||
installer_hard-dereference-tar-gz.patch
|
||||
roslyn-analyzer_disable-apphost.patch
|
||||
|
@ -29,8 +30,9 @@ _pkgver_sdk=${pkgver/0./0.10}
|
|||
pkgdesc="The .NET $_pkgver_macro Core runtime"
|
||||
# x86: blocked by https://github.com/dotnet/runtime/issues/77667
|
||||
# armhf: blocked by https://github.com/dotnet/runtime/issues/77663
|
||||
# upgrade needed
|
||||
#arch="all !x86 !armhf"
|
||||
# riscv64: blocked by https://github.com/dotnet/runtime/issues/84834
|
||||
# s390x | ppc64le: mono-based runtime still has issues on musl
|
||||
arch="all !x86 !armhf !riscv64"
|
||||
url=https://dotnet.microsoft.com
|
||||
license="MIT"
|
||||
provides="dotnet$_pkgver_name=$pkgver-r$pkgrel"
|
||||
|
@ -203,7 +205,7 @@ build() {
|
|||
|
||||
ulimit -n 4096
|
||||
|
||||
# Disable use of LTTng as tracing on lttng <=2,13,0 is broken
|
||||
# Disable use of LTTng as tracing on lttng <=2.13.0 is broken
|
||||
# See https://github.com/dotnet/runtime/issues/57784.
|
||||
if [ -f "/usr/lib/liblttng-ust.so.1 " ]; then
|
||||
export DOTNET_LTTng=0
|
||||
|
@ -236,8 +238,21 @@ build() {
|
|||
riscv64|s390x|ppc64le) local args="$args /p:SourceBuildUseMonoRuntime=true";;
|
||||
esac
|
||||
|
||||
# Source-Build now builds using portable RID
|
||||
local args="$args /p:PortableBuild=true /p:PortableRid=linux-musl-$_dotnet_arch /p:_portableRidOverridden=true"
|
||||
# Sets TargetRid manually as dotnet cannot be trusted to reliably compute
|
||||
# the machine's runtime ID between releases.
|
||||
# shellcheck disable=SC2034
|
||||
. /etc/os-release
|
||||
local VERSION_ID_DOT="${VERSION_ID//[^.]}"
|
||||
while [ ${#VERSION_ID_DOT} -gt 1 ]; do
|
||||
local VERSION_ID="${VERSION_ID%.*}"
|
||||
local VERSION_ID_DOT="${VERSION_ID//[^.]}"
|
||||
done
|
||||
local VERSION_ID_DASH="${VERSION_ID//[^_]}"
|
||||
while [ ${#VERSION_ID_DASH} -ge 1 ]; do
|
||||
local VERSION_ID="${VERSION_ID%_*}"
|
||||
local VERSION_ID_DASH="${VERSION_ID//[^_]}"
|
||||
done
|
||||
local args="$args /p:TargetRid=$ID.$VERSION_ID-$_dotnet_arch"
|
||||
|
||||
./build.sh \
|
||||
--with-sdk "$_cli_root" \
|
||||
|
@ -252,12 +267,13 @@ check() {
|
|||
local _tests_timeout=1000
|
||||
# Test suite disable flags
|
||||
# following tests can only work after packaging step
|
||||
local _disabled_tests="man-pages distribution-package bash-completion install-location release-version-sane"
|
||||
local _disabled_tests="man-pages distribution-package bash-completion install-location release-version-sane managed-symbols-available tools-in-path"
|
||||
# test broken: permission issue on lxc / pipelines
|
||||
local _disabled_tests="$_disabled_tests createdump-aspnet workload"
|
||||
# liblttng-ust_sys-sdt.h: no 'NT_STAPSDT' on Alpine's lttng-ust package
|
||||
# lttng: known issue, see https://github.com/dotnet/runtime/issues/57784
|
||||
local _disabled_tests="$_disabled_tests liblttng-ust_sys-sdt.h lttng"
|
||||
local _disabled_tests="$_disabled_tests createdump-aspnet"
|
||||
# test broken: cannot pg_ctl can't create postgresql server
|
||||
local _disabled_tests="$_disabled_tests system-data-odbc"
|
||||
# test broken: no such file or directory bug
|
||||
local _disabled_tests="$_disabled_tests limits"
|
||||
# {bundled,system}-libunwind: use system version on all but aarch64/armv7, as broken
|
||||
# see https://github.com/redhat-developer/dotnet-regular-tests/issues/113
|
||||
# disable on mono-flavored runtime as mono does not use libunwind
|
||||
|
@ -266,14 +282,10 @@ check() {
|
|||
s390x|ppc64le|armhf) local _disabled_tests="$_disabled_tests bundled-libunwind system-libunwind";;
|
||||
*) local _disabled_tests="$_disabled_tests bundled-libunwind";;
|
||||
esac
|
||||
# test unit broken currently
|
||||
_disabled_tests="$_disabled_tests system-libunwind"
|
||||
# nativeaot is not supported on armv7
|
||||
case $CARCH in
|
||||
armv7) local _disabled_tests="$_disabled_tests nativeaot"
|
||||
esac
|
||||
# debugging-via-dotnet-dump hangs
|
||||
local _disabled_tests="$_disabled_tests debugging-via-dotnet-dump"
|
||||
|
||||
msg "Unpacking produced dotnet"
|
||||
export DOTNET_ROOT="$_checkdir/release"
|
||||
|
@ -295,7 +307,7 @@ check() {
|
|||
fi
|
||||
if [ ! -d "$_checkdir"/turkey ]; then
|
||||
cd "$_checkdir"/Turkey
|
||||
dotnet publish -bl:"$_logdir"/check/turkey.binlog -f netcoreapp3.1 -c Release -p:VersionPrefix=1 -p:VersionSuffix="$(git rev-parse --short HEAD)" -o "$_checkdir"/turkey
|
||||
dotnet publish -bl:"$_logdir"/check/turkey.binlog -f net6.0 -c Release -p:VersionPrefix=1 -p:VersionSuffix="$(git rev-parse --short HEAD)" -o "$_checkdir"/turkey
|
||||
fi
|
||||
|
||||
msg "Running test suite"
|
||||
|
@ -347,7 +359,7 @@ artifacts() {
|
|||
-C "$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk/ \
|
||||
--no-same-owner \
|
||||
--exclude '*Intermediate*' \
|
||||
--exclude '*linux-musl*'
|
||||
--exclude '*alpine*'
|
||||
}
|
||||
|
||||
bootstrap() {
|
||||
|
@ -375,7 +387,7 @@ bootstrap() {
|
|||
-C "$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk/ \
|
||||
--no-same-owner \
|
||||
--wildcards \
|
||||
'*linux-musl*'
|
||||
'*alpine*'
|
||||
|
||||
# assemble docs
|
||||
find "$builddir" -iname 'dotnet*.1' -type f -exec cp '{}' "$subpkgdir"/$_libdir/dotnet/bootstrap/$_pkgver_sdk/docs/. \;
|
||||
|
@ -500,17 +512,18 @@ aspnetcore_targeting_pack() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
06cb81a5667153a7d6ae190d169dcafea88954d1d42f9f1ae0fffe7cb4787599d7cad5428f66a6ce10af24898bd4ffbe1b9e95f1d3b698641437298055ebd10f dotnet-tarball-v8.0.0-preview.7.23375.6.tar.gz
|
||||
5598ae0b9044dd2d2b5eba10ce420cd14266bd25412b37e9766bbaf1b1ce79438a5c7db559431aa59c0b49f14187ca3f78a57065b7802df304910b00b6694bfa dotnet-release-v8.0.0-preview.7.23375.6.json
|
||||
e9f3df13d093fac214778c1137857e065f58d4e0d2a48d540d8ed7bb41e2fd73b2b3f62a0aa5b0e80fa80a5b58ba77ff19b9d10a492802f8539e3a6ed79d299d dotnet-testsuite-e1cc0f181ffd4d755756d30d985513897d592ba4.tar.gz
|
||||
0028d5d97b814b122d73137b4e0d64ca5d788aa0ae5fde500de722e23522827f2538f06e75acb17cc39b8917961ee78d1f0bbc84b2b624ae0e9bf88adca2ba6f dotnet-bunny-v12.tar.gz
|
||||
094265462d66d97b51ebfbe5fb06d4a679b97881f1f5a07a87a282a96eeaabfe97ca42061d59aac71dd8861c07f07dda16a72e29ae03167407e51d3fd2767562 dotnet-tarball-v8.0.0.tar.gz
|
||||
55f2c56f7fbed4137ebe5e81c7b86d199d7ff91c6e19fbc9a4af8cd5d0f0195273356ead8b80aedfff56a3d704a541a7c2a7395bec3fa5d6585f3afd056b1220 dotnet-release-v8.0.0.json
|
||||
8fe41ddd03c1b98dc9eec5e337ca0dcc8fbeff65b67ac1a383bd7d1e5fd3c21b820dacd498d1c2268445bb634cfb9dba3e8924e71a98f2ccd8221b17fb079044 dotnet-testsuite-d3d39e7c404c6e45c3e7ab6621c5f6cabf1540b0.tar.gz
|
||||
7f59b10878aa90a6953ee4d88d08fa932910a24018dace92b173ee87c847d14734f93dc5fc031982a3d0a5cb4ac223b83d0e548531c23c4e3326dc83510989a9 dotnet-bunny-v15.tar.gz
|
||||
c3f31956976b77198e72a3fef3427338b6b2961f8c121416040c1105de0ce8073e46f4c2e9ef22a001aee69cbe39621c2ddac988522693110071dfae42f2e2b7 dotnet.sh.in
|
||||
ad7373a112acc07a6a7bbc522d417b26d90b3e3ae9c1e66a6cc70af16af7e7111d9764e7758062d0a5e67f026cc44f2b111051c3d484bd56917f2144db88588b aspnetcore_portable-build-workaround.patch
|
||||
e5b9b947226456844f705e66f3f19d4519ce88f360e3f3413999c2867c31d9008db78f5806bfee7185d7548c6279ef6492a40ff24c20ed9d58b6ef66b167d7a8 aspire_fix-gitinfo-target.patch
|
||||
eed7a7481a967f6938de956a6df485efa6dd61bf36ae4a768493cb1f7da0296dc91e0f2f89f7c302083ba9cf0c778e28228ec1b52e902077a00072d7d9957ef3 build_enable-timestamps.patch
|
||||
ab362bdbbea8d8116b6bf7bf58e330ce6d7d171b42613ac03514f76afa2574b75d6566148d1b72047fbfe61b40ac67b3f2d8af87a7074c790bf882a5b7e73960 installer_hard-dereference-tar-gz.patch
|
||||
097db705c787501782a1b203e8c453453075dfcadc4f5282849c6ffdda4d7832f75c56089bced4542cc83704fe33842cc725084dac2ba261cacdaf54ae468b3c roslyn-analyzer_disable-apphost.patch
|
||||
d732df247c721c9f677baabdd7f36dbf4b564814ff64164361065bb1c196b767494a1d39f634eadf01a23032c7b3e64102614b7213065c81096bbf3f8022e6a0 runtime_82269-mono-thread-coop-undefine-fortify-source.patch
|
||||
c1e8a51bca47f13e60cb28fa3c58c4bdc0fd8fa19177855b6cc9a767016fc239064aced57530e227c772e302671fc91e86c718a39aecb05eb7f601c8d931de81 runtime_90251-rename-mono-cmake-host-var.patch
|
||||
3354fa721809f1b94c579408ee78004ff3ca2ba79212c1a0ecc424a9955bb5d5a80c115d4c30dd257526f356ea76f0562db6f83d8dd0b6135f8c689886b3348d runtime_90251-rename-mono-cmake-host-var.patch
|
||||
39e1b848d1ae81e4b81758522de7d3e36b11d2ab626565efb8e4cceae8da29018277709f0af8fcfa75be8da79f8d6432eb6aac49a5e82510c3aca34632df4d8e runtime_enable-system-libunwind.diff
|
||||
887112eb2b103eadd6887529ebae7f9a75df2c2cb168e84fd40cc09f9bcd20917d428bbba06968b07b0a463890da82b1b2b1d033a3dd016e6494067464ae6f74 runtime_more-clang-16-suppression.patch
|
||||
0c25319125ef5b0ad490b37a643c0c5257c796d5ed24f9ac404f698710b07de790bcbb0b6336d4a50025b94c3bff99b214951bd8f0a79a8d6f543ebaa300740f runtime_remove-usage-of-off64-t.patch
|
||||
|
|
|
@ -12,6 +12,8 @@ Please report any issues [using Gitlab](https://gitlab.alpinelinux.org/alpine/ap
|
|||
* `dotnet8-apphost-pack` (used by dotnet8-runtime)
|
||||
* `dotnet8-hostfxr` (used by dotnet-host)
|
||||
* `dotnet8-runtime`
|
||||
* `dotnet8-runtime-artifacts` (aimed for internal use as bootstrap)
|
||||
* `dotnet8-runtime-bootstrap` (aimed for internal use as bootstrap)
|
||||
* `dotnet8-targeting-pack`
|
||||
* `dotnet-host`
|
||||
|
||||
|
@ -30,13 +32,16 @@ In summary, dotnet8 is built using three different aports.
|
|||
|
||||
* `community/dotnet8-stage0`
|
||||
Builds minimum components for full build of dotnet8, and packages these in an initial
|
||||
`dotnet8-stage0-bootstrap` package that `dotnet8-build` pulls.
|
||||
* `community/dotnet8-build`
|
||||
`dotnet8-stage0-bootstrap` package that `dotnet8-runtime` pulls.
|
||||
* `community/dotnet8-runtime`
|
||||
Builds full and packages dotnet8 fully using either stage0 or previoulsy built
|
||||
dotnet8 build.
|
||||
* `community/dotnet8-runtime`
|
||||
* `community/dotnet8-sdk`
|
||||
As abuild does not allow different versions for subpackages, a different aport
|
||||
is required to package runtime bits from dotnet8-build.
|
||||
is required to package sdk bits from dotnet8-runtime. dotnet8-runtime only
|
||||
builds 8.0.1xx feature branch of SDK. Thus, when a new feature branch of sdk is
|
||||
released, the updated components are to be built on dotnet8-sdk rather than
|
||||
simply repackaging dotnet8-runtime artifacts.
|
||||
|
||||
## Crossbuilding with `stage0`
|
||||
Crossbuilding `stage0` is a three step process:
|
||||
|
@ -73,7 +78,7 @@ follow.
|
|||
2. Checkout the forked repository.
|
||||
|
||||
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
|
||||
- `cd community/dotnet8-build`
|
||||
- `cd community/dotnet8-runtime`
|
||||
|
||||
3. Make your changes. Don't forget to add a changelog.
|
||||
|
||||
|
@ -88,7 +93,7 @@ follow.
|
|||
- `git checkout -b dotnet8/<name>`
|
||||
- `git add` any new patches
|
||||
- `git remove` any now-unnecessary patches
|
||||
- `git commit -m 'community/dotnet8-build: descriptive description'`
|
||||
- `git commit -m 'community/dotnet8-runtime: descriptive description'`
|
||||
- `git push`
|
||||
|
||||
7. Create a merge request with your changes, tagging @ayakael for review.
|
||||
|
@ -103,7 +108,7 @@ follow.
|
|||
2. Checkout the forked repository.
|
||||
|
||||
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
|
||||
- `cd community/dotnet8-build`
|
||||
- `cd community/dotnet8-runtime`
|
||||
|
||||
|
||||
3. Build the new upstream source tarball. Update the versions in the
|
||||
|
@ -127,7 +132,7 @@ follow.
|
|||
- `git checkout -b dotnet8/<name>`
|
||||
- `git add` any new patches
|
||||
- `git remove` any now-unnecessary patches
|
||||
- `git commit -m 'community/dotnet8-build: upgrade to <new-version>`
|
||||
- `git commit -m 'community/dotnet8-runtime: upgrade to <new-version>`
|
||||
- `git push`
|
||||
|
||||
8. Create a merge request with your changes, tagging @ayakael for review.
|
||||
|
|
20
user/dotnet8-runtime/aspire_fix-gitinfo-target.patch
Normal file
20
user/dotnet8-runtime/aspire_fix-gitinfo-target.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
diff --git a/src/aspire/Directory.Build.targets.orig b/src/aspire/Directory.Build.targets
|
||||
index 511adb03a5d..d62a050caab 100644
|
||||
--- a/src/aspire/Directory.Build.targets.orig
|
||||
+++ b/src/aspire/Directory.Build.targets
|
||||
@@ -6,13 +6,12 @@
|
||||
<PackageReadmeFile Condition="'$(PackageReadmeFile)' == '' And '$(ReadMeExists)' == 'true'">README.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
- <Import Condition="'$(SampleProject)' == 'true' or '$(CI)' != 'true' " Project="eng\Versions.dev.targets" />
|
||||
- <Import Condition="'$(SampleProject)' != 'true' and '$(CI)' == 'true' " Project="eng\Versions.targets" />
|
||||
+ <Import Project="eng\Versions.dev.targets" />
|
||||
|
||||
<Import Project="Sdk.targets" Sdk="Microsoft.DotNet.Arcade.Sdk" />
|
||||
|
||||
<ItemGroup Condition="'$(ReadMeExists)' == 'true'">
|
||||
<None Include="$(ReadMePath)" Pack="true" PackagePath="\" />
|
||||
</ItemGroup>
|
||||
-
|
||||
+
|
||||
</Project>
|
|
@ -48,25 +48,23 @@ index e04d9e9d364..00e54a25d69 100644
|
|||
# larger than the initial committed stack size.
|
||||
add_definitions(-DENSURE_PRIMARY_STACK_SIZE)
|
||||
endif()
|
||||
diff --git a/src/runtime/src/mono/mono/mini/CMakeLists.txt b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
index d23b7985802..b5f63fc638c 100644
|
||||
--- a/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
diff --git a/src/runtime/src/mono/mono/mini/CMakeLists.txt.orig b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
index 5d6ef3d..c3e5414 100644
|
||||
--- a/src/runtime/src/mono/mono/mini/CMakeLists.txt.orig
|
||||
+++ b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
@@ -378,10 +378,10 @@ if(NOT DISABLE_SHARED_LIBS)
|
||||
add_library(monosgen-shared SHARED $<TARGET_OBJECTS:monosgen-objects>)
|
||||
target_compile_definitions(monosgen-objects PRIVATE -DMONO_DLL_EXPORT)
|
||||
@@ -400,9 +400,9 @@ if(NOT DISABLE_SHARED_LIBS)
|
||||
endif()
|
||||
- # Alpine Linux implements ucontext in a different library
|
||||
target_compile_definitions(monosgen-shared PRIVATE -DMONO_DLL_EXPORT)
|
||||
# Alpine Linux implements ucontext in a different library
|
||||
- if(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ # musl-libc implements ucontext in a different library
|
||||
+ if(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
target_link_libraries(monosgen-shared PRIVATE ucontext)
|
||||
- endif(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ endif(CLR_CMAKE_TARGET_LINUX_MUSL TARGET_S390X)
|
||||
+ endif(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
set_target_properties(monosgen-shared PROPERTIES OUTPUT_NAME ${MONO_SHARED_LIB_NAME})
|
||||
if(MONO_SET_RPATH_ORIGIN)
|
||||
set_target_properties(monosgen-shared PROPERTIES INSTALL_RPATH "$ORIGIN")
|
||||
@@ -560,10 +560,10 @@ if(NOT DISABLE_EXECUTABLES)
|
||||
@@ -601,10 +601,10 @@ if(NOT DISABLE_EXECUTABLES)
|
||||
target_link_libraries(mono-sgen PRIVATE icu_shim_objects)
|
||||
endif()
|
||||
target_link_libraries(mono-sgen PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS})
|
||||
|
@ -80,8 +78,3 @@ index d23b7985802..b5f63fc638c 100644
|
|||
if(NOT DISABLE_COMPONENTS AND STATIC_COMPONENTS AND NOT DISABLE_LINK_STATIC_COMPONENTS)
|
||||
# if components are built statically, link them into runtime.
|
||||
target_sources(mono-sgen PRIVATE "${mono-components-objects}")
|
||||
diff --git a/src/runtime/src/coreclr/pgosupport.cmake.orig b/src/runtime/src/coreclr/pgosupport.cmake
|
||||
index 719ac14..34a4278 100644
|
||||
--- a/src/runtime/src/coreclr/pgosupport.cmake.orig
|
||||
+++ b/src/runtime/src/coreclr/pgosupport.cmake
|
||||
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=dotnet8-sdk
|
||||
pkgver=8.0.100_pre7
|
||||
_bldver=8.0.0_pre7-r2
|
||||
pkgrel=2
|
||||
pkgver=8.0.100
|
||||
_bldver=8.0.0-r0
|
||||
pkgrel=0
|
||||
|
||||
# Following for dotnet build version 6.0 and up
|
||||
_pkgver_macro=${pkgver%.*}
|
||||
|
@ -14,8 +14,9 @@ _bldver_ver=${_bldver_ver/0./0.10}
|
|||
pkgdesc="The .NET $_pkgver_macro SDK"
|
||||
# x86: blocked by https://github.com/dotnet/runtime/issues/77667
|
||||
# armhf: blocked by https://github.com/dotnet/runtime/issues/77663
|
||||
# upgrade needed
|
||||
#arch="all !x86 !armhf"
|
||||
# riscv64: blocked by https://github.com/dotnet/runtime/issues/84834
|
||||
# s390x | ppc64le: mono-based runtime still has issues on musl
|
||||
arch="all !x86 !armhf !riscv64"
|
||||
url=https://dotnet.microsoft.com
|
||||
license="MIT"
|
||||
makedepends="dotnet$_pkgver_name-runtime-bootstrap=$_bldver"
|
||||
|
@ -119,7 +120,6 @@ doc() {
|
|||
default_doc
|
||||
pkgdesc="Docs for .NET"
|
||||
|
||||
|
||||
# licenses
|
||||
install -dm 755 "$subpkgdir"/usr/share/licenses/dotnet
|
||||
cp -r $_libdir/dotnet/bootstrap/$_bldver_ver/LICENSE.txt "$subpkgdir"/usr/share/licenses/dotnet/.
|
||||
|
|
|
@ -7,8 +7,6 @@ Please report any issues [using Gitlab](https://gitlab.alpinelinux.org/alpine/ap
|
|||
# Building info
|
||||
|
||||
## Generated packages
|
||||
* `dotnet8-build` (aimed for internal use as bootstrap)
|
||||
* `dotnet8-build-artifacts` (aimed for internal use as bootstrap)
|
||||
* `dotnet8-sdk`
|
||||
* `dotnet8-templates` (required by sdk)
|
||||
* `dotnet-zsh-completion`
|
||||
|
@ -31,13 +29,18 @@ In summary, dotnet8 is built using three different aports.
|
|||
|
||||
* `community/dotnet8-stage0`
|
||||
Builds minimum components for full build of dotnet8, and packages these in an initial
|
||||
`dotnet8-stage0-bootstrap` package that `dotnet8-build` pulls.
|
||||
* `community/dotnet8-build`
|
||||
`dotnet8-stage0-bootstrap` package that `dotnet8-runtime` pulls.
|
||||
* `community/dotnet8-runtime
|
||||
Builds full and packages dotnet8 fully using either stage0 or previoulsy built
|
||||
dotnet8 build.
|
||||
* `community/dotnet8-runtime`
|
||||
* `community/dotnet8-sdk`
|
||||
As abuild does not allow different versions for subpackages, a different aport
|
||||
is required to package runtime bits from dotnet8-build.
|
||||
is required to package runtime bits from dotnet8-runtime. dotnet8-runtime only
|
||||
builds 8.0.1xx feature branch of SDK. Thus, when a new feature branch of sdk is
|
||||
released, the updated components are to be built on dotnet8-sdk rather than
|
||||
simply repackaging dotnet8-runtime artifacts.
|
||||
|
||||
|
||||
|
||||
## Crossbuilding with `stage0`
|
||||
Crossbuilding `stage0` is a three step process:
|
||||
|
@ -74,7 +77,7 @@ follow.
|
|||
2. Checkout the forked repository.
|
||||
|
||||
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
|
||||
- `cd community/dotnet8-build`
|
||||
- `cd community/dotnet8-sdk`
|
||||
|
||||
3. Make your changes. Don't forget to add a changelog.
|
||||
|
||||
|
@ -89,7 +92,7 @@ follow.
|
|||
- `git checkout -b dotnet8/<name>`
|
||||
- `git add` any new patches
|
||||
- `git remove` any now-unnecessary patches
|
||||
- `git commit -m 'community/dotnet8-build: descriptive description'`
|
||||
- `git commit -m 'community/dotnet8-sdk: descriptive description'`
|
||||
- `git push`
|
||||
|
||||
7. Create a merge request with your changes, tagging @ayakael for review.
|
||||
|
@ -104,7 +107,7 @@ follow.
|
|||
2. Checkout the forked repository.
|
||||
|
||||
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
|
||||
- `cd community/dotnet8-build`
|
||||
- `cd community/dotnet8-sdk`
|
||||
|
||||
|
||||
3. Build the new upstream source tarball. Update the versions in the
|
||||
|
@ -128,7 +131,7 @@ follow.
|
|||
- `git checkout -b dotnet8/<name>`
|
||||
- `git add` any new patches
|
||||
- `git remove` any now-unnecessary patches
|
||||
- `git commit -m 'community/dotnet8-build: upgrade to <new-version>`
|
||||
- `git commit -m 'community/dotnet8-sdk: upgrade to <new-version>`
|
||||
- `git push`
|
||||
|
||||
8. Create a merge request with your changes, tagging @ayakael for review.
|
||||
|
|
|
@ -2,24 +2,26 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=dotnet8-stage0
|
||||
pkgver=8.0.0_pre7
|
||||
pkgrel=2
|
||||
pkgver=8.0.100
|
||||
pkgrel=0
|
||||
|
||||
[ "$CBUILD" != "$CHOST" ] && _cross="-$CARCH" || _cross=""
|
||||
|
||||
# Tag of tarball generator.
|
||||
_gittag=v8.0.0-preview.7.23375.6
|
||||
_gittag=v8.0.0
|
||||
|
||||
# Versions of prebuilt artifacts and bootstrap tar
|
||||
_artifactsver="8.0.100-preview.7.23376.1.centos.8-x64"
|
||||
_bootstrapver="8.0.100-preview.7.23376.3"
|
||||
_bootstraprel=2
|
||||
_installerver=${_gittag/v}
|
||||
_artifactsver="8.0.100-rtm.23551.1.centos.8-x64"
|
||||
_bootstrapver="8.0.100"
|
||||
_bootstraprel=0
|
||||
_installerver=8.0.100
|
||||
|
||||
# Patches to be used. String before '_' refers to repo to patch
|
||||
# Look for patch notes within each patch for what they fix / where they come from
|
||||
# build_* patches applies directly to $builddir
|
||||
_patches="
|
||||
build_fix-ga-versions.patch
|
||||
installer_aspire-manifest-version-fix.patch
|
||||
installer_set-crossgen2rid-using-buildarchitecture.patch
|
||||
runtime_82269-mono-thread-coop-undefine-fortify-source.patch
|
||||
runtime_83682-specify-notext-on-linux-musl-x86.patch
|
||||
|
@ -27,24 +29,19 @@ _patches="
|
|||
runtime_more-clang-16-suppression.patch
|
||||
runtime_remove-usage-of-off64-t.patch
|
||||
"
|
||||
_extra_nupkgs="
|
||||
https://globalcdn.nuget.org/packages/microsoft.netcore.app.host.linux-musl-x64.7.0.2.nupkg
|
||||
"
|
||||
|
||||
_pkgver_macro=${pkgver%.*}
|
||||
_pkgver_prior=1
|
||||
_pkgver_name="${_pkgver_macro//[.0]}"
|
||||
_pkgver_sdk=${pkgver/0./0.10}
|
||||
pkgdesc="The .NET Core stage0 bits for dotnet build"
|
||||
# x86: blocked by https://github.com/dotnet/runtime/issues/83509
|
||||
# armhf: blocked by https://github.com/dotnet/runtime/issues/77663
|
||||
# riscv64: port WIP https://github.com/dotnet/runtime/issues/36748
|
||||
# upgrade needed
|
||||
#arch="all !x86 !armhf"
|
||||
# riscv64: port WIP https://github.com/dotnet/runtime/issues/84834
|
||||
arch="all !x86 !armhf !riscv64"
|
||||
_giturl=https://github.com/dotnet/dotnet
|
||||
url=https://dotnet.microsoft.com
|
||||
license="MIT"
|
||||
options="!check" # Testsuite in main -build aport
|
||||
options="!check net" # Testsuite in main -build aport
|
||||
subpackages="
|
||||
dotnet$_pkgver_name-stage0-artifacts:artifacts:noarch
|
||||
dotnet$_pkgver_name-stage0-bootstrap
|
||||
|
@ -52,14 +49,12 @@ subpackages="
|
|||
source="
|
||||
dotnet-tarball-$_gittag.tar.gz::https://github.com/dotnet/dotnet/archive/refs/tags/$_gittag.tar.gz
|
||||
dotnet-release-$_gittag.json::https://github.com/dotnet/dotnet/releases/download/$_gittag/release.json
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-x64.noextract::https://dotnetbuilds.azureedge.net/public/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-x64.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-arm64.noextract::https://dotnetbuilds.azureedge.net/public/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-arm64.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-arm.noextract::https://dotnetbuilds.azureedge.net/public/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-arm.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-x64.noextract::https://dotnetcli.azureedge.net/dotnet/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-x64.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-arm64.noextract::https://dotnetcli.azureedge.net/dotnet/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-arm64.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-linux-musl-arm.noextract::https://dotnetcli.azureedge.net/dotnet/Sdk/$_bootstrapver/dotnet-sdk-$_bootstrapver-linux-musl-arm.tar.gz
|
||||
dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-s390x.noextract::https://lab.ilot.io/ayakael/dotnet-stage0/-/releases/$_bootstrapver-r$_bootstraprel/downloads/sdk/dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-s390x.tar.xz
|
||||
dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-ppc64le.noextract::https://lab.ilot.io/ayakael/dotnet-stage0/-/releases/$_bootstrapver-r$_bootstraprel/downloads/sdk/dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-ppc64le.tar.xz
|
||||
dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-riscv64.noextract::https://lab.ilot.io/ayakael/dotnet-stage0/-/releases/$_bootstrapver-r$_bootstraprel/downloads/sdk/dotnet-sdk-$_bootstrapver-r$_bootstraprel-linux-musl-riscv64.tar.xz
|
||||
Private.SourceBuilt.Artifacts.$_artifactsver.noextract::https://dotnetcli.azureedge.net/source-built-artifacts/assets/Private.SourceBuilt.Artifacts.$_artifactsver.tar.gz
|
||||
$_extra_nupkgs
|
||||
$_patches
|
||||
"
|
||||
|
||||
|
@ -164,12 +159,6 @@ prepare() {
|
|||
|
||||
tar -xf "$srcdir"/dotnet-sdk-$_pkgver_macro*$_dotnet_arch.noextract -C "$_cli_root" --no-same-owner
|
||||
|
||||
for i in $_extra_nupkgs; do
|
||||
local filename=${i/::*}
|
||||
local filename=${filename##*/}
|
||||
$_nuget push "$srcdir"/$filename --source="$_packagesdir"
|
||||
done
|
||||
|
||||
# adjusts sdk version and packagedir to expected
|
||||
for i in runtime sdk installer aspnetcore roslyn; do
|
||||
$_nuget add source $_packagesdir --name local --configfile "$builddir"/src/$i/NuGet.config
|
||||
|
@ -374,14 +363,14 @@ bootstrap() {
|
|||
local _iltoolsver=$(grep \<MicrosoftNETCoreILAsmVersion "$builddir"/PackageVersions.props | sed -E 's|</?MicrosoftNETCoreILAsmVersion>||g' | tr -d ' ')
|
||||
|
||||
install -dm 755 \
|
||||
"$subpkgdir"/$_libdir/dotnet/bootstrap/$_pkgver_sdk/docs \
|
||||
"$subpkgdir"/$_libdir/dotnet/bootstrap/$_pkgver_sdk/comp \
|
||||
"$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk
|
||||
"$subpkgdir"/$_libdir/dotnet/bootstrap/$pkgver/docs \
|
||||
"$subpkgdir"/$_libdir/dotnet/bootstrap/$pkgver/comp \
|
||||
"$subpkgdir"/$_libdir/dotnet/artifacts/$pkgver
|
||||
|
||||
# unpack build artifacts to bootstrap subdir for use by future builds
|
||||
tar --use-compress-program="pigz" \
|
||||
-xf "$_downloaddir"/installer/$_installerver/dotnet-sdk-$_pkgver_macro*.tar.gz \
|
||||
-C "$subpkgdir"/$_libdir/dotnet/bootstrap/$_pkgver_sdk/ \
|
||||
-C "$subpkgdir"/$_libdir/dotnet/bootstrap/$pkgver/ \
|
||||
--no-same-owner
|
||||
|
||||
local _iltoolsArray="
|
||||
|
@ -403,18 +392,13 @@ bootstrap() {
|
|||
"
|
||||
|
||||
# copies artifacts to artifacts dir for use by future dotnet builds
|
||||
for i in $_nupkgsArray; do install -Dm644 "$_packagesdir"/$i "$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk/ || true; done
|
||||
for i in $_extra_nupkgs; do
|
||||
local filename=${i/::*}
|
||||
local filename=${filename##*/}
|
||||
install -Dm644 "$srcdir"/$filename "$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk/
|
||||
done
|
||||
for i in $_nupkgsArray; do install -Dm644 "$_packagesdir"/$i "$subpkgdir"/$_libdir/dotnet/artifacts/$pkgver/ || true; done
|
||||
|
||||
msg "Changing iltools version to $_iltoolsver"
|
||||
# source-build expects a certain version of ilasm, ildasm and testhost
|
||||
# following adjusts version
|
||||
for i in $_iltoolsArray; do
|
||||
local nupath="$subpkgdir"$_libdir/dotnet/artifacts/$_pkgver_sdk/$i
|
||||
local nupath="$subpkgdir"$_libdir/dotnet/artifacts/$pkgver/$i
|
||||
local nupath=$(find $nupath || true)
|
||||
local nupkg="${nupath##*/}"
|
||||
local nuname="${nupkg/.nupkg}"
|
||||
|
@ -449,31 +433,31 @@ artifacts() {
|
|||
|
||||
# directory creation
|
||||
install -dm 755 \
|
||||
"$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk \
|
||||
"$subpkgdir"/$_libdir/dotnet/artifacts/$pkgver \
|
||||
"$subpkgdir"/usr/share/licenses
|
||||
|
||||
# extract artifacts to artifacts dir for use by future dotnet builds
|
||||
tar --use-compress-program="pigz" \
|
||||
-xf "$srcdir"/Private.SourceBuilt.Artifacts.*.noextract \
|
||||
-C "$subpkgdir"/$_libdir/dotnet/artifacts/$_pkgver_sdk/ \
|
||||
-C "$subpkgdir"/$_libdir/dotnet/artifacts/$pkgver/ \
|
||||
--no-same-owner
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
06cb81a5667153a7d6ae190d169dcafea88954d1d42f9f1ae0fffe7cb4787599d7cad5428f66a6ce10af24898bd4ffbe1b9e95f1d3b698641437298055ebd10f dotnet-tarball-v8.0.0-preview.7.23375.6.tar.gz
|
||||
5598ae0b9044dd2d2b5eba10ce420cd14266bd25412b37e9766bbaf1b1ce79438a5c7db559431aa59c0b49f14187ca3f78a57065b7802df304910b00b6694bfa dotnet-release-v8.0.0-preview.7.23375.6.json
|
||||
6b7bf38224573496eae08e3000792296de81e16a1bd5a253236427137de4a6a9d7950c99f08ad764e337aa33140db5160218f9ecea0bfbd60c6e6f301e6dd042 dotnet-sdk-8.0.100-preview.7.23376.3-linux-musl-x64.noextract
|
||||
8e5bfb89b287f6ab478e6bd9f4ce1ec482ba4d00b2241f6b4d6081c5885ac0399233bfaf983994b485ea6541a4a2ab9b362cbd582012edb09a6785a7cd7fb292 dotnet-sdk-8.0.100-preview.7.23376.3-linux-musl-arm64.noextract
|
||||
14a3c0aaedc787f9a05258138fb70effedb627cb46206bfdbb912936472b78cc3e24878b10b03e95339d3b7382b46a13a87783cb6a77a49243b75b31ecd94cb7 dotnet-sdk-8.0.100-preview.7.23376.3-linux-musl-arm.noextract
|
||||
08b520d3e671e4e1d90ddf8e965dd50124f8216d03005bdc08497f0264f7a2767a99c67e6cf45464b8a9f206028cfe513433c5a585d188617523feae5eedf10e dotnet-sdk-8.0.100-preview.7.23376.3-r2-linux-musl-s390x.noextract
|
||||
ad46d02742c4c605e30bfbee18eba0e491984e6986bd93fb78c9d9c95d2cdf5bfe17584b90582f783b1cb1b6b32bb7ef317ff63396fbcff9399800ecd5d09a94 dotnet-sdk-8.0.100-preview.7.23376.3-r2-linux-musl-ppc64le.noextract
|
||||
cd2c4e1f3697f3679d37f76f7692389ce29d0fca92e0130a9f1241674150e78542ec1898568cf0b30d8599b954edcf5211823bf05f46b907aa58b79c677a0575 dotnet-sdk-8.0.100-preview.7.23376.3-r2-linux-musl-riscv64.noextract
|
||||
554d02d10072b8ec9122a0877e86753ebf9875f69508fd18bae43fc9d6eed8655e7923af771d593f3c59ad49c0858cf88816934618d9e0b65bb614ebcdb360a2 Private.SourceBuilt.Artifacts.8.0.100-preview.7.23376.1.centos.8-x64.noextract
|
||||
5c1fd9e250e7f08d996b7b335134973624a8d1afc331f7fda3a81eee7d2170e39905be20b8786e99078892b21d1582092aeee45d49c5feae3b2bd5374c306fec microsoft.netcore.app.host.linux-musl-x64.7.0.2.nupkg
|
||||
094265462d66d97b51ebfbe5fb06d4a679b97881f1f5a07a87a282a96eeaabfe97ca42061d59aac71dd8861c07f07dda16a72e29ae03167407e51d3fd2767562 dotnet-tarball-v8.0.0.tar.gz
|
||||
55f2c56f7fbed4137ebe5e81c7b86d199d7ff91c6e19fbc9a4af8cd5d0f0195273356ead8b80aedfff56a3d704a541a7c2a7395bec3fa5d6585f3afd056b1220 dotnet-release-v8.0.0.json
|
||||
a904491cf1fe27603cfc21aa234b2f4da7517929fa9dad0eaa2233d010ef1e890339ca4b8e3c4c0d463f3015d7020a0c37ece97319b061cd92a5fc51cd8a7f4c dotnet-sdk-8.0.100-linux-musl-x64.noextract
|
||||
1d8e54ab8d2b7b83972c1ecd7a23073bf83d39c258e993e54ab91a383ad2aa44276dfc28938f7b162cf79010187005e42a665933dff021ffa5e5d9cfadb5e2b6 dotnet-sdk-8.0.100-linux-musl-arm64.noextract
|
||||
a8c08c4eaaa1ade3a1521750c62af92ab8fe91bfdd0f4767f8c0469ebfef091f3a68a443d4566bbfe53c49866d72a104c7aea309cabb36148f9aef9cb950ea64 dotnet-sdk-8.0.100-linux-musl-arm.noextract
|
||||
d0bebb6179e679dea5704ca59acb2260a3dde2d22727b8116b57fbcfc3cba7b31581ed785279eec2836e3916608f39fa45a8e26dfa27063928355ccda83b3d09 dotnet-sdk-8.0.100-r0-linux-musl-s390x.noextract
|
||||
14fdc6c8225010a6028609ed2b7c942abc770a50167429116ab9d5f0cabfe8038aedb89b7cc984d89c3366351302a86e10c2d5cfccd57399cc42b3c838bc37a0 dotnet-sdk-8.0.100-r0-linux-musl-ppc64le.noextract
|
||||
a9933d8de614e914d42cf4953ac60a0a6e83e4276328b838fb369fb3036073fd08d2bcbcee07386f65f802f2f2374e45b44b8f8410396a7d93d20e53646d72f0 Private.SourceBuilt.Artifacts.8.0.100-rtm.23551.1.centos.8-x64.noextract
|
||||
48d155f11c4594eeb72b2d80a6e110ab2b093fd2379e9ddcca755072f4a3e64990ef2620709e0b10ea4b979d8909de56d89f970c349c6fee58621a8f6b415a1c build_fix-ga-versions.patch
|
||||
6f23b53b1408dc676434d3ee417b735af033f2717057589e93d26021ca2513d13f40ba7ea3312413f2ed79cda2991538f64b4c835e75f40f5a5e5a0e469c4ec0 installer_aspire-manifest-version-fix.patch
|
||||
b6a2dfeccac329546f87f1019c1f2cf07e2f294dd33914449ad08d92269c8713b6fa1e330ef257c24e189023fd0b824df97688b0ba6e578a6d0292b07a72b4c1 installer_set-crossgen2rid-using-buildarchitecture.patch
|
||||
d732df247c721c9f677baabdd7f36dbf4b564814ff64164361065bb1c196b767494a1d39f634eadf01a23032c7b3e64102614b7213065c81096bbf3f8022e6a0 runtime_82269-mono-thread-coop-undefine-fortify-source.patch
|
||||
c983a1ab7f06ac86691e0fa7a61fcad69a074d984ef4a4116bee43f20be918215963c7ec8ddd7edd70432b29b160ff78288183acc89fda15ce4a75bfdbf99ee3 runtime_83682-specify-notext-on-linux-musl-x86.patch
|
||||
c1e8a51bca47f13e60cb28fa3c58c4bdc0fd8fa19177855b6cc9a767016fc239064aced57530e227c772e302671fc91e86c718a39aecb05eb7f601c8d931de81 runtime_90251-rename-mono-cmake-host-var.patch
|
||||
3354fa721809f1b94c579408ee78004ff3ca2ba79212c1a0ecc424a9955bb5d5a80c115d4c30dd257526f356ea76f0562db6f83d8dd0b6135f8c689886b3348d runtime_90251-rename-mono-cmake-host-var.patch
|
||||
887112eb2b103eadd6887529ebae7f9a75df2c2cb168e84fd40cc09f9bcd20917d428bbba06968b07b0a463890da82b1b2b1d033a3dd016e6494067464ae6f74 runtime_more-clang-16-suppression.patch
|
||||
0c25319125ef5b0ad490b37a643c0c5257c796d5ed24f9ac404f698710b07de790bcbb0b6336d4a50025b94c3bff99b214951bd8f0a79a8d6f543ebaa300740f runtime_remove-usage-of-off64-t.patch
|
||||
"
|
||||
|
|
|
@ -26,13 +26,16 @@ In summary, dotnet8 is built using three different aports.
|
|||
|
||||
* `community/dotnet8-stage0`
|
||||
Builds minimum components for full build of dotnet8, and packages these in an initial
|
||||
`dotnet8-stage0-bootstrap` package that `dotnet8-build` pulls.
|
||||
* `community/dotnet8-build`
|
||||
`dotnet8-stage0-bootstrap` package that `dotnet8-runtime` pulls.
|
||||
* `community/dotnet8-runtime`
|
||||
Builds full and packages dotnet8 fully using either stage0 or previoulsy built
|
||||
dotnet8 build.
|
||||
* `community/dotnet8-runtime`
|
||||
* `community/dotnet8-sdk`
|
||||
As abuild does not allow different versions for subpackages, a different aport
|
||||
is required to package runtime bits from dotnet8-build.
|
||||
is required to package runtime bits from dotnet8-runtime. dotnet8-runtime only
|
||||
builds 8.0.1xx feature branch of SDK. Thus, when a new feature branch of sdk is
|
||||
released, the updated components are to be built on dotnet8-sdk rather than
|
||||
simply repackaging dotnet8-runtime artifacts.
|
||||
|
||||
## Crossbuilding with `stage0`
|
||||
Crossbuilding `stage0` is a three step process:
|
||||
|
@ -69,7 +72,7 @@ follow.
|
|||
2. Checkout the forked repository.
|
||||
|
||||
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
|
||||
- `cd community/dotnet8-build`
|
||||
- `cd community/dotnet8-runtime`
|
||||
|
||||
3. Make your changes. Don't forget to add a changelog.
|
||||
|
||||
|
@ -84,7 +87,7 @@ follow.
|
|||
- `git checkout -b dotnet8/<name>`
|
||||
- `git add` any new patches
|
||||
- `git remove` any now-unnecessary patches
|
||||
- `git commit -m 'community/dotnet8-build: descriptive description'`
|
||||
- `git commit -m 'community/dotnet8-runtime: descriptive description'`
|
||||
- `git push`
|
||||
|
||||
7. Create a merge request with your changes, tagging @ayakael for review.
|
||||
|
@ -99,7 +102,7 @@ follow.
|
|||
2. Checkout the forked repository.
|
||||
|
||||
- `git clone ssh://git@gitlab.alpinelinux.org/$USER/aports`
|
||||
- `cd community/dotnet8-build`
|
||||
- `cd community/dotnet8-runtime`
|
||||
|
||||
|
||||
3. Build the new upstream source tarball. Update the versions in the
|
||||
|
@ -123,7 +126,7 @@ follow.
|
|||
- `git checkout -b dotnet8/<name>`
|
||||
- `git add` any new patches
|
||||
- `git remove` any now-unnecessary patches
|
||||
- `git commit -m 'community/dotnet8-build: upgrade to <new-version>`
|
||||
- `git commit -m 'community/dotnet8-runtime: upgrade to <new-version>`
|
||||
- `git push`
|
||||
|
||||
8. Create a merge request with your changes, tagging @ayakael for review.
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
From 65613dc9cf76432dcbde3db3db1005c2aa902fee Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Martin <dev@ayakael.net>
|
||||
Date: Tue, 21 Feb 2023 15:51:31 -0500
|
||||
Subject: [PATCH 09/15] aspnetcore_use-linux-musl-crossgen
|
||||
|
||||
Line causes build of aspnetcore on arm to look for linux version of
|
||||
CrossGen2 rather than linux-musl. This removes the line so that
|
||||
BuildOsName is pulled from TargetOsName as expected
|
||||
---
|
||||
.../App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
|
||||
index 326968018..fa1f72e62 100644
|
||||
--- a/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
|
||||
+++ b/src/aspnetcore/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj
|
||||
@@ -103,7 +103,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant
|
||||
Special case the crossgen2 package reference on Windows to avoid the x86 package when building in Visual Studio.
|
||||
-->
|
||||
<BuildOsName>$(TargetOsName)</BuildOsName>
|
||||
- <BuildOsName Condition="'$(TargetOsName)' == 'linux-musl' and '$(TargetArchitecture)'!='x64'">linux</BuildOsName>
|
||||
<BuildOsName Condition=" '$(PortableBuild)' == 'false' ">$(TargetRuntimeIdentifier.Substring(0,$(TargetRuntimeIdentifier.IndexOf('-'))))</BuildOsName>
|
||||
<Crossgen2BuildArchitecture Condition=" '$(BuildOsName)' == 'win' ">x64</Crossgen2BuildArchitecture>
|
||||
<Crossgen2BuildArchitecture Condition=" '$(Crossgen2BuildArchitecture)' == '' ">$(BuildArchitecture)</Crossgen2BuildArchitecture>
|
||||
--
|
||||
2.38.2
|
32
user/dotnet8-stage0/build_fix-ga-versions.patch
Normal file
32
user/dotnet8-stage0/build_fix-ga-versions.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
diff --git a/prereqs/git-info/runtime.props.orig b/prereqs/git-info/runtime.props
|
||||
index f9dc4d6..093bd00 100644
|
||||
--- a/prereqs/git-info/runtime.props.orig
|
||||
+++ b/prereqs/git-info/runtime.props
|
||||
@@ -3,8 +3,8 @@
|
||||
<PropertyGroup>
|
||||
<GitCommitHash>5535e31a712343a63f5d7d796cd874e563e5ac14</GitCommitHash>
|
||||
<OfficialBuildId>20231031.3</OfficialBuildId>
|
||||
- <OutputPackageVersion>8.0.0-rtm.23531.3</OutputPackageVersion>
|
||||
+ <OutputPackageVersion>8.0.0</OutputPackageVersion>
|
||||
<PreReleaseVersionLabel>rtm</PreReleaseVersionLabel>
|
||||
<IsStable>false</IsStable>
|
||||
</PropertyGroup>
|
||||
-</Project>
|
||||
\ No newline at end of file
|
||||
+</Project>
|
||||
diff --git a/prereqs/git-info/aspnetcore.props.orig b/prereqs/git-info/aspnetcore.props
|
||||
index d1494e8..b83649d 100644
|
||||
--- a/prereqs/git-info/aspnetcore.props.orig
|
||||
+++ b/prereqs/git-info/aspnetcore.props
|
||||
@@ -3,8 +3,8 @@
|
||||
<PropertyGroup>
|
||||
<GitCommitHash>3f1acb59718cadf111a0a796681e3d3509bb3381</GitCommitHash>
|
||||
<OfficialBuildId>20231031.12</OfficialBuildId>
|
||||
- <OutputPackageVersion>8.0.0-rtm.23531.12</OutputPackageVersion>
|
||||
+ <OutputPackageVersion>8.0.0</OutputPackageVersion>
|
||||
<PreReleaseVersionLabel>rtm</PreReleaseVersionLabel>
|
||||
<IsStable>false</IsStable>
|
||||
</PropertyGroup>
|
||||
-</Project>
|
||||
\ No newline at end of file
|
||||
+</Project>
|
|
@ -0,0 +1,26 @@
|
|||
diff --git a/./src/installer/eng/Version.Details.xml.orig b/./src/installer/eng/Version.Details.xml
|
||||
index a1cebfe..3f47a7f 100644
|
||||
--- a/./src/installer/eng/Version.Details.xml.orig
|
||||
+++ b/./src/installer/eng/Version.Details.xml
|
||||
@@ -172,7 +172,7 @@
|
||||
<Uri>https://github.com/dotnet/emsdk</Uri>
|
||||
<Sha>2406616d0e3a31d80b326e27c156955bfa41c791</Sha>
|
||||
</Dependency>
|
||||
- <Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-8.0.100" Version="8.0.0-preview.1.23551.7">
|
||||
+ <Dependency Name="Microsoft.NET.Sdk.Aspire.Manifest-8.0.100" Version="8.0.0-preview.1.23557.2">
|
||||
<Uri>https://dev.azure.com/dnceng/internal/_git/dotnet-aspire</Uri>
|
||||
<Sha>4b00c57d7ccf9a4c7e2aef211ab6bd8af3ee2324</Sha>
|
||||
<SourceBuild RepoName="aspire" ManagedOnly="true" />
|
||||
diff --git a/./src/installer/eng/Versions.props.orig b/./src/installer/eng/Versions.props
|
||||
index 329ab4e..897263d 100644
|
||||
--- a/./src/installer/eng/Versions.props.orig
|
||||
+++ b/./src/installer/eng/Versions.props
|
||||
@@ -238,7 +238,7 @@
|
||||
<!-- Workload manifest package versions -->
|
||||
<PropertyGroup>
|
||||
<AspireFeatureBand>8.0.100</AspireFeatureBand>
|
||||
- <AspireWorkloadManifestVersion>8.0.0-preview.1.23551.7</AspireWorkloadManifestVersion>
|
||||
+ <AspireWorkloadManifestVersion>8.0.0-preview.1.23557.2</AspireWorkloadManifestVersion>
|
||||
<MauiFeatureBand>8.0.100-rc.2</MauiFeatureBand>
|
||||
<MauiWorkloadManifestVersion>8.0.0-rc.2.9373</MauiWorkloadManifestVersion>
|
||||
<XamarinAndroidWorkloadManifestVersion>34.0.0-rc.2.468</XamarinAndroidWorkloadManifestVersion>
|
|
@ -1,174 +0,0 @@
|
|||
From 50de22c7fa57c687a996bfdf6702871216881c0f Mon Sep 17 00:00:00 2001
|
||||
Patch-Source: https://github.com/dotnet/runtime/pull/79856
|
||||
From: Antoine Martin <dev@ayakael.net>
|
||||
Date: Sat, 25 Feb 2023 15:19:00 -0500
|
||||
Subject: [PATCH 1/1] [threads] Save errno when using posix semaphores for
|
||||
thread transitions
|
||||
|
||||
We already save/restore GetLastError on win32. Do it on posix
|
||||
platforms, too.
|
||||
|
||||
If one thread is in a pinvoke wrapper, while another thread triggers a
|
||||
STW, the pinvoke wrapper will self-suspend the thread and wait for a
|
||||
notification to resume. Depending on the platform we can use win32
|
||||
primitives, Mach semaphores or POSIX semaphores. win32 and posix can
|
||||
both change the value of last error (errno, respectively) while the
|
||||
thread is suspended.
|
||||
|
||||
That means that code like this (generated by the
|
||||
LibraryImportAttribute source generator) cannot reliably retrieve the
|
||||
error from the last pinvoke:
|
||||
|
||||
```csharp
|
||||
__retVal = __PInvoke(__path_native, mode); // there is a pinvoke wrapper here, that transitions from GC Safe to GC Unsafe mode
|
||||
__lastError = System.Runtime.InteropServices.Marshal.GetLastSystemError();
|
||||
```
|
||||
|
||||
The solution is to explicitly preserve the value of GetLastError/errno
|
||||
when exiting from GC Safe.
|
||||
|
||||
Fixes https://github.com/dotnet/runtime/issues/77364
|
||||
---
|
||||
.../src/mono/mono/utils/mono-threads-coop.c | 12 +++---
|
||||
.../src/mono/mono/utils/mono-threads.c | 4 +-
|
||||
.../src/mono/mono/utils/mono-threads.h | 43 ++++++++++++++++---
|
||||
3 files changed, 45 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/src/runtime/src/mono/mono/utils/mono-threads-coop.c b/src/runtime/src/mono/mono/utils/mono-threads-coop.c
|
||||
index 4ed659d66..c562ada67 100644
|
||||
--- a/src/runtime/src/mono/mono/utils/mono-threads-coop.c
|
||||
+++ b/src/runtime/src/mono/mono/utils/mono-threads-coop.c
|
||||
@@ -337,10 +337,10 @@ mono_threads_exit_gc_safe_region_internal (gpointer cookie, MonoStackData *stack
|
||||
return;
|
||||
|
||||
#ifdef ENABLE_CHECKED_BUILD_GC
|
||||
- W32_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
+ MONO_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
if (mono_check_mode_enabled (MONO_CHECK_MODE_GC))
|
||||
coop_tls_pop (cookie);
|
||||
- W32_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
+ MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
#endif
|
||||
|
||||
mono_threads_exit_gc_safe_region_unbalanced_internal (cookie, stackdata);
|
||||
@@ -365,7 +365,7 @@ mono_threads_exit_gc_safe_region_unbalanced_internal (gpointer cookie, MonoStack
|
||||
/* Common to use enter/exit gc safe around OS API's affecting last error. */
|
||||
/* This method can call OS API's that will reset last error on some platforms. */
|
||||
/* To reduce errors, we need to restore last error before exit gc safe. */
|
||||
- W32_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
+ MONO_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
|
||||
info = (MonoThreadInfo *)cookie;
|
||||
|
||||
@@ -398,7 +398,7 @@ mono_threads_exit_gc_safe_region_unbalanced_internal (gpointer cookie, MonoStack
|
||||
info->user_data = NULL;
|
||||
}
|
||||
|
||||
- W32_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
+ MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -652,14 +652,14 @@ mono_threads_suspend_policy_init (void)
|
||||
// otherwise if one of the old environment variables is set, use that.
|
||||
// otherwise use full preemptive suspend.
|
||||
|
||||
- W32_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
+ MONO_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
|
||||
(policy = threads_suspend_policy_getenv ())
|
||||
|| (policy = threads_suspend_policy_default ())
|
||||
|| (policy = threads_suspend_policy_getenv_compat ())
|
||||
|| (policy = MONO_THREADS_SUSPEND_FULL_PREEMPTIVE);
|
||||
|
||||
- W32_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
+ MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
|
||||
g_assert (policy);
|
||||
mono_threads_suspend_policy_hidden_dont_modify = (char)policy;
|
||||
diff --git a/src/runtime/src/mono/mono/utils/mono-threads.c b/src/runtime/src/mono/mono/utils/mono-threads.c
|
||||
index 2ef2fe45b..41dbf3032 100644
|
||||
--- a/src/runtime/src/mono/mono/utils/mono-threads.c
|
||||
+++ b/src/runtime/src/mono/mono/utils/mono-threads.c
|
||||
@@ -1894,7 +1894,7 @@ mono_thread_info_uninstall_interrupt (gboolean *interrupted)
|
||||
/* Common to uninstall interrupt handler around OS API's affecting last error. */
|
||||
/* This method could call OS API's on some platforms that will reset last error so make sure to restore */
|
||||
/* last error before exit. */
|
||||
- W32_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
+ MONO_DEFINE_LAST_ERROR_RESTORE_POINT;
|
||||
|
||||
g_assert (interrupted);
|
||||
*interrupted = FALSE;
|
||||
@@ -1917,7 +1917,7 @@ mono_thread_info_uninstall_interrupt (gboolean *interrupted)
|
||||
THREADS_INTERRUPT_DEBUG ("interrupt uninstall tid %p previous_token %p interrupted %s\n",
|
||||
mono_thread_info_get_tid (info), previous_token, *interrupted ? "TRUE" : "FALSE");
|
||||
|
||||
- W32_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
+ MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT;
|
||||
}
|
||||
|
||||
static MonoThreadInfoInterruptToken*
|
||||
diff --git a/src/runtime/src/mono/mono/utils/mono-threads.h b/src/runtime/src/mono/mono/utils/mono-threads.h
|
||||
index 6a548b183..45353db4e 100644
|
||||
--- a/src/runtime/src/mono/mono/utils/mono-threads.h
|
||||
+++ b/src/runtime/src/mono/mono/utils/mono-threads.h
|
||||
@@ -866,19 +866,50 @@ mono_win32_interrupt_wait (PVOID thread_info, HANDLE native_thread_handle, DWORD
|
||||
void
|
||||
mono_win32_abort_blocking_io_call (THREAD_INFO_TYPE *info);
|
||||
|
||||
-#define W32_DEFINE_LAST_ERROR_RESTORE_POINT \
|
||||
+#else
|
||||
+
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
+#ifdef USE_WINDOWS_BACKEND
|
||||
+
|
||||
+/* APC calls can change GetLastError while a thread is suspended. Save/restore it when doing thread
|
||||
+ state transitions (for example in m2n wrappers) in order to protect the result of the last
|
||||
+ pinvoke */
|
||||
+
|
||||
+#define MONO_DEFINE_LAST_ERROR_RESTORE_POINT \
|
||||
const DWORD _last_error_restore_point = GetLastError ();
|
||||
|
||||
-#define W32_RESTORE_LAST_ERROR_FROM_RESTORE_POINT \
|
||||
+#define MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT \
|
||||
/* Only restore if changed to prevent unnecessary writes. */ \
|
||||
if (GetLastError () != _last_error_restore_point) \
|
||||
mono_SetLastError (_last_error_restore_point);
|
||||
|
||||
+#elif defined(USE_WASM_BACKEND) || defined (USE_POSIX_BACKEND)
|
||||
+
|
||||
+#define MONO_DEFINE_LAST_ERROR_RESTORE_POINT \
|
||||
+ int _last_errno_restore_point = errno;
|
||||
+
|
||||
+#define MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT \
|
||||
+ if (errno != _last_errno_restore_point) \
|
||||
+ errno = _last_errno_restore_point;
|
||||
+
|
||||
+/* Posix semaphores set errno on failure and sporadic wakeup. GC state transitions are done in n2m
|
||||
+ * and m2n wrappers and may change the value of errno from the last pinvoke. Use these macros to
|
||||
+ * save/restore errno when doing thread state transitions. */
|
||||
+
|
||||
+#elif defined(USE_MACH_BACKEND)
|
||||
+
|
||||
+/* Mach semaphores don't set errno on failure. Change this to be the same as POSIX if some other primitives used
|
||||
+ in thread state transitions pollute errno. */
|
||||
+
|
||||
+#define MONO_DEFINE_LAST_ERROR_RESTORE_POINT /* nothing */
|
||||
+#define MONO_RESTORE_LAST_ERROR_FROM_RESTORE_POINT /* nothing */
|
||||
+
|
||||
#else
|
||||
-
|
||||
-#define W32_DEFINE_LAST_ERROR_RESTORE_POINT /* nothing */
|
||||
-#define W32_RESTORE_LAST_ERROR_FROM_RESTORE_POINT /* nothing */
|
||||
-
|
||||
+#error "unknown threads backend, not sure how to save/restore last error"
|
||||
#endif
|
||||
|
||||
+
|
||||
+
|
||||
#endif /* __MONO_THREADS_H__ */
|
||||
--
|
||||
2.38.4
|
||||
|
|
@ -48,25 +48,23 @@ index e04d9e9d364..00e54a25d69 100644
|
|||
# larger than the initial committed stack size.
|
||||
add_definitions(-DENSURE_PRIMARY_STACK_SIZE)
|
||||
endif()
|
||||
diff --git a/src/runtime/src/mono/mono/mini/CMakeLists.txt b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
index d23b7985802..b5f63fc638c 100644
|
||||
--- a/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
diff --git a/src/runtime/src/mono/mono/mini/CMakeLists.txt.orig b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
index 5d6ef3d..c3e5414 100644
|
||||
--- a/src/runtime/src/mono/mono/mini/CMakeLists.txt.orig
|
||||
+++ b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
@@ -378,10 +378,10 @@ if(NOT DISABLE_SHARED_LIBS)
|
||||
add_library(monosgen-shared SHARED $<TARGET_OBJECTS:monosgen-objects>)
|
||||
target_compile_definitions(monosgen-objects PRIVATE -DMONO_DLL_EXPORT)
|
||||
@@ -400,9 +400,9 @@ if(NOT DISABLE_SHARED_LIBS)
|
||||
endif()
|
||||
- # Alpine Linux implements ucontext in a different library
|
||||
target_compile_definitions(monosgen-shared PRIVATE -DMONO_DLL_EXPORT)
|
||||
# Alpine Linux implements ucontext in a different library
|
||||
- if(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ # musl-libc implements ucontext in a different library
|
||||
+ if(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
target_link_libraries(monosgen-shared PRIVATE ucontext)
|
||||
- endif(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ endif(CLR_CMAKE_TARGET_LINUX_MUSL TARGET_S390X)
|
||||
+ endif(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
set_target_properties(monosgen-shared PROPERTIES OUTPUT_NAME ${MONO_SHARED_LIB_NAME})
|
||||
if(MONO_SET_RPATH_ORIGIN)
|
||||
set_target_properties(monosgen-shared PROPERTIES INSTALL_RPATH "$ORIGIN")
|
||||
@@ -560,10 +560,10 @@ if(NOT DISABLE_EXECUTABLES)
|
||||
@@ -601,10 +601,10 @@ if(NOT DISABLE_EXECUTABLES)
|
||||
target_link_libraries(mono-sgen PRIVATE icu_shim_objects)
|
||||
endif()
|
||||
target_link_libraries(mono-sgen PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS})
|
||||
|
@ -80,8 +78,3 @@ index d23b7985802..b5f63fc638c 100644
|
|||
if(NOT DISABLE_COMPONENTS AND STATIC_COMPONENTS AND NOT DISABLE_LINK_STATIC_COMPONENTS)
|
||||
# if components are built statically, link them into runtime.
|
||||
target_sources(mono-sgen PRIVATE "${mono-components-objects}")
|
||||
diff --git a/src/runtime/src/coreclr/pgosupport.cmake.orig b/src/runtime/src/coreclr/pgosupport.cmake
|
||||
index 719ac14..34a4278 100644
|
||||
--- a/src/runtime/src/coreclr/pgosupport.cmake.orig
|
||||
+++ b/src/runtime/src/coreclr/pgosupport.cmake
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
From a73b8bacfcc5819926bc05173ab2f7850eb00da3 Mon Sep 17 00:00:00 2001
|
||||
Patch-Source: https://github.com/dotnet/runtime/pull/91008
|
||||
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
|
||||
Date: Wed, 23 Aug 2023 21:11:37 +0200
|
||||
Subject: [PATCH] [mono] Handle enum return type when inlining CreateInstance
|
||||
|
||||
Use underlying base type when deciding how to inline a
|
||||
CreateInstance invocation in mini_emit_inst_for_method.
|
||||
|
||||
Fixes https://github.com/dotnet/runtime/issues/90292
|
||||
(Mono abort causing .NET 8 msbuild regression).
|
||||
---
|
||||
src/mono/mono/mini/intrinsics.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/runtime/src/mono/mono/mini/intrinsics.c b/src/runtime/src/mono/mono/mini/intrinsics.c
|
||||
index b1e5e76723147..ef77b7dc89f2e 100644
|
||||
--- a/src/runtime/src/mono/mono/mini/intrinsics.c
|
||||
+++ b/src/runtime/src/mono/mono/mini/intrinsics.c
|
||||
@@ -2079,7 +2079,9 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
|
||||
MonoType *t = method_context->method_inst->type_argv [0];
|
||||
MonoClass *arg0 = mono_class_from_mono_type_internal (t);
|
||||
if (m_class_is_valuetype (arg0) && !mono_class_has_default_constructor (arg0, FALSE)) {
|
||||
- if (m_class_is_primitive (arg0)) {
|
||||
+ if (m_class_is_primitive (arg0) || m_class_is_enumtype (arg0)) {
|
||||
+ if (m_class_is_enumtype (arg0))
|
||||
+ t = mono_class_enum_basetype_internal (arg0);
|
||||
int dreg = alloc_dreg (cfg, mini_type_to_stack_type (cfg, t));
|
||||
mini_emit_init_rvar (cfg, dreg, t);
|
||||
ins = cfg->cbb->last_ins;
|
|
@ -1,42 +0,0 @@
|
|||
diff --git a/src/runtime/src/mono/CMakeLists.txt b/src/runtime/src/mono/CMakeLists.txt
|
||||
index fad619577bf..91a4a545c42 100644
|
||||
--- a/src/runtime/src/mono/CMakeLists.txt
|
||||
+++ b/src/runtime/src/mono/CMakeLists.txt
|
||||
@@ -943,7 +943,7 @@ else()
|
||||
set(DISABLE_DLLMAP 1)
|
||||
endif()
|
||||
|
||||
-if(CLR_CMAKE_HOST_ALPINE_LINUX)
|
||||
+if(CLR_CMAKE_TARGET_LINUX_MUSL)
|
||||
# Setting RLIMIT_NOFILE breaks debugging of coreclr on Alpine Linux for some reason
|
||||
add_definitions(-DDONT_SET_RLIMIT_NOFILE)
|
||||
# On Alpine Linux, we need to ensure that the reported stack range for the primary thread is
|
||||
diff --git a/src/runtime/src/mono/mono/mini/CMakeLists.txt b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
index d23b7985802..da7563ac4d3 100644
|
||||
--- a/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
+++ b/src/runtime/src/mono/mono/mini/CMakeLists.txt
|
||||
@@ -379,9 +379,9 @@ if(NOT DISABLE_SHARED_LIBS)
|
||||
target_compile_definitions(monosgen-objects PRIVATE -DMONO_DLL_EXPORT)
|
||||
endif()
|
||||
# Alpine Linux implements ucontext in a different library
|
||||
- if(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ if(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
target_link_libraries(monosgen-shared PRIVATE ucontext)
|
||||
- endif(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ endif(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
set_target_properties(monosgen-shared PROPERTIES OUTPUT_NAME ${MONO_SHARED_LIB_NAME})
|
||||
if(MONO_SET_RPATH_ORIGIN)
|
||||
set_target_properties(monosgen-shared PROPERTIES INSTALL_RPATH "$ORIGIN")
|
||||
@@ -561,9 +561,9 @@ if(NOT DISABLE_EXECUTABLES)
|
||||
endif()
|
||||
target_link_libraries(mono-sgen PRIVATE ${OS_LIBS} ${LLVM_LIBS} ${ICU_LIBS} ${Z_LIBS})
|
||||
# Alpine Linux implements ucontext in a different library
|
||||
- if(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ if(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
target_link_libraries(mono-sgen PRIVATE ucontext)
|
||||
- endif(CLR_CMAKE_HOST_ALPINE_LINUX AND TARGET_S390X)
|
||||
+ endif(CLR_CMAKE_TARGET_LINUX_MUSL AND TARGET_S390X)
|
||||
if(NOT DISABLE_COMPONENTS AND STATIC_COMPONENTS AND NOT DISABLE_LINK_STATIC_COMPONENTS)
|
||||
# if components are built statically, link them into runtime.
|
||||
target_sources(mono-sgen PRIVATE "${mono-components-objects}")
|
||||
|
|
@ -2,15 +2,15 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
||||
pkgname=gitaly
|
||||
pkgver=16.2.0
|
||||
pkgrel=1
|
||||
pkgver=16.6.0
|
||||
pkgrel=0
|
||||
pkgdesc="A Git RPC service for handling all the git calls made by GitLab"
|
||||
url="https://gitlab.com/gitlab-org/gitaly/"
|
||||
arch="all"
|
||||
# GPL-2.0-only WITH GCC-exception-2.0: bundled libgit2
|
||||
license="MIT AND GPL-2.0-only WITH GCC-exception-2.0"
|
||||
depends="
|
||||
git>=2.41
|
||||
git>=2.42
|
||||
"
|
||||
makedepends="
|
||||
bash
|
||||
|
@ -80,7 +80,7 @@ praefect() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
7576dd5ef690c42582703ba571bb9e6856e85d209025f32b0797c3cecca88e10b538dc75a27d8cd2a99e30e2e99d03d0a61c681a8af692e3e34420775792598a gitaly-v16.2.0.tar.gz
|
||||
7760ee96abd45103a99e3c3fff31538aeac0e10254c88ab600bfc6fed04c0c34b43a4d54295463663a9707204622cfc06d1de672fe2826d22c017850ddac24e4 config.patch
|
||||
c2c49b39cd978ca184547c101e3ea9cd68d96bafef070c34350986f0343766d740398631aa451d0c7b51ac90a383594a5de211b468babda39e7080b33a1588f4 gitaly-v16.6.0.tar.gz
|
||||
55230e587839df8fc8c6daeee1e5a5fbd91d6d28966d9977d59e6fb3d75e269c9d4d119f3a06217a4c6c55733a50ec9affcdb132e77e1694df839269dcd292aa config.patch
|
||||
c32105d921be16eaf559cf21d6840bc346cd92b5e37974cedecdb5a2d2ca1eb5e8fbb144f5fc8a1289bf9415102b313cf2d61ee510c80f08ab33a799f5ac7122 gitaly.initd
|
||||
"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/config.toml.example.orig b/config.toml.example
|
||||
index 2ddb368..0a8a0e2 100644
|
||||
index 3d454fb..52457df 100644
|
||||
--- a/config.toml.example.orig
|
||||
+++ b/config.toml.example
|
||||
@@ -2,15 +2,15 @@
|
||||
|
@ -78,17 +78,12 @@ index 2ddb368..0a8a0e2 100644
|
|||
# # Additionally exceptions from the Go server can be reported to Sentry
|
||||
# sentry_dsn = "https://<key>:<secret>@sentry.io/<project>"
|
||||
|
||||
@@ -72,14 +72,14 @@ dir = "/home/git/gitlab/log"
|
||||
@@ -71,11 +71,11 @@ dir = "/home/git/gitlab/log"
|
||||
# grpc_latency_buckets = [0.001, 0.005, 0.025, 0.1, 0.5, 1.0, 10.0, 30.0, 60.0, 300.0, 1500.0]
|
||||
|
||||
[gitlab-shell]
|
||||
# The directory where gitlab-shell is installed
|
||||
-dir = "/home/git/gitlab-shell"
|
||||
+dir = "/usr/lib/gitlab-shell"
|
||||
|
||||
-[hooks]
|
||||
[hooks]
|
||||
-custom_hooks_dir = "/home/git/custom_hooks"
|
||||
+# [hooks]
|
||||
+# custom_hooks_dir = "/etc/gitlab/custom_hooks"
|
||||
+custom_hooks_dir = "/etc/gitlab/custom_hooks"
|
||||
|
||||
[gitlab]
|
||||
-secret_file = "/home/git/gitlab-shell/.gitlab_shell_secret"
|
||||
|
|
|
@ -3,13 +3,12 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
pkgname=gitlab-foss
|
||||
_pkgname=${pkgname%-foss}
|
||||
pkgver=16.2.4
|
||||
pkgver=16.6.0
|
||||
_gittag=v$pkgver
|
||||
pkgrel=0
|
||||
pkgdesc="A version control for your server"
|
||||
url="https://gitlab.com/gitlab-org/gitlab-foss"
|
||||
# grpc needs fixing, due to protodev upgrade
|
||||
#arch="x86_64"
|
||||
arch="x86_64 aarch64"
|
||||
license="MIT"
|
||||
# ruby-irb is needed only for Rails console (gitlab-rails console)
|
||||
depends="
|
||||
|
@ -17,9 +16,9 @@ depends="
|
|||
ca-certificates
|
||||
cmd:dpkg-deb
|
||||
exiftool
|
||||
git>=2.40.0
|
||||
gitaly~=16.2
|
||||
gitlab-shell~=14.24
|
||||
git>=2.42.0
|
||||
gitaly~=16.6
|
||||
gitlab-shell~=14.30
|
||||
graphicsmagick
|
||||
http-parser
|
||||
procps
|
||||
|
@ -34,6 +33,7 @@ depends="
|
|||
ruby3.0-irb
|
||||
ruby3.0-json
|
||||
ruby3.0-rake
|
||||
ruby3.0-rdoc
|
||||
ruby3.0-webrick
|
||||
shared-mime-info
|
||||
tzdata
|
||||
|
@ -56,7 +56,7 @@ makedepends="
|
|||
protobuf-dev
|
||||
re2-dev
|
||||
ruby3.0-dev
|
||||
ruby3.0-grpc~=1.55
|
||||
ruby3.0-grpc~=1.58
|
||||
ruby3.0-rugged
|
||||
yarn>=1.2.0
|
||||
"
|
||||
|
@ -74,6 +74,7 @@ source="https://gitlab.com/gitlab-org/gitlab-foss/-/archive/$_gittag/gitlab-foss
|
|||
$_pkgname.confd
|
||||
$_pkgname.logrotate
|
||||
bin-wrapper.in
|
||||
remove-sys-filesystem-depend.patch
|
||||
"
|
||||
builddir="$srcdir/gitlab-foss-$_gittag"
|
||||
|
||||
|
@ -128,11 +129,12 @@ build() {
|
|||
bundle config --local without "$bundle_without"
|
||||
bundle config --local build.ffi --enable-system-libffi
|
||||
bundle config --local build.gpgme --use-system-libraries
|
||||
bundle config --local build.re2 --enable-system-libraries
|
||||
bundle config --local build.nokogiri --use-system-libraries \
|
||||
--with-xml2-include=/usr/include/libxml2 \
|
||||
--with-xslt-include=/usr/include/libxslt
|
||||
bundle config --local build.ruby-magic --enable-system-libraries
|
||||
bundle config --local build.google-protobuf --with-cflags=-D__va_copy=va_copy
|
||||
bundle config --local build.google-protobuf '-- --with-cflags=-D__va_copy=va_copy'
|
||||
bundle config --local path "vendor/bundle"
|
||||
|
||||
bundle install --no-cache
|
||||
|
@ -375,8 +377,8 @@ assets() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
96d2146f81bcecae9e8a4a72ef1dd136a2203649af38dbcb560c8071ca9a409b54b7e220b7c233b66ce1ee9423700e8150e445902971f951282764bded2bc717 gitlab-foss-v16.2.4.tar.gz
|
||||
cdba615287c0a024c6589b5142543856393c8e5df3d21d2158908b34857d3d56581fe0bd66fa31cd3ff756c60f9f65f235c8ec7615a0970f7a87bbeb41be93ed database-config.patch
|
||||
ea83c490fdbfc7d32dc1b25fb17185f6552dfc72ab1766f7169e1298869589a12ea7b9285873be2c7b91303dd8eb486acaeb75e916177a9827139fb9b54ea232 gitlab-foss-v16.6.0.tar.gz
|
||||
daa496f3d9146f9dbddff62477bf49d5c7bd2f2a4cdbadc70ee51c8230f3ef01dc950ef157154b31c7e7bef0beecc5cbac50fbac65a79d6d9099b27bcba8b2ab database-config.patch
|
||||
55b0667d3969113ffd6860652ee8bdb9a534c25f413f33b2739e922c886988e7cea72c1c00c7eecf29fcff3682b1324156365605ffc6aae45d1e0ccddf96288b gitlab.initd
|
||||
1f451b67a5d5e58650b0fe862a2b65cfb8bff5502b37d94ae90619c1ff9affbecf24428303a2849bebce5f94bef37078f0e5710e344bbab616134e910938384a gitlab.mailroom.initd
|
||||
b6a6d9ba20557e61efa24f2d5a489873fefbb981f7d4465794a857b2971263c08ec29cc001c372522cdc0d48245e59751307c9f44f6ef4d87bf2e3ec5c23fb1c gitlab.rails.initd
|
||||
|
@ -385,4 +387,5 @@ cb4ec100f0ea7ffcbb37aead8423e636629e2f4848b2974a7b2468e96cb1081ca732ac336417b08d
|
|||
4dc00b16462f30591297fcb535fc364185d3ed76e9956597f0423a8dfd8a9a351f6ac29d9f0c73052c11324fba4768eb89a21c6bef4da99f15baaea8c9ab8407 gitlab.confd
|
||||
57f258246925fbef0780caebdf005983c72fe3db1ab3242a1e00137bd322f5ec6c0fd958db7178b8fc22103d071f550d6f71f08422bcd9e859d2a734b2ecef00 gitlab.logrotate
|
||||
a944c3886388ba1574bf8c96b6de4d9f24ef4a83f553c31a224e17a3b01f2a5c65b60c59b7ed7ca4b25670c60ea8dd41b96a8a623d909d2bb09bdf2520ed7f23 bin-wrapper.in
|
||||
97e19d601365da710341eea83324987e2d61061a4c816972d957cdb3300f8d65d07ca53bc46d4cbe9a476e5e72255e7081bdebc5217e7f3e95b8165f114c7b5f remove-sys-filesystem-depend.patch
|
||||
"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
diff --git a/config/database.yml.postgresql.orig b/config/database.yml.postgresql
|
||||
index b210b9c..9006120 100644
|
||||
index da9f458..2d6d44e 100644
|
||||
--- a/config/database.yml.postgresql.orig
|
||||
+++ b/config/database.yml.postgresql
|
||||
@@ -26,13 +26,6 @@ production:
|
||||
|
@ -44,8 +44,8 @@ index b210b9c..9006120 100644
|
|||
|
||||
# Warning: The database defined as "test" will be erased and
|
||||
# re-generated from your development database when you run "rake".
|
||||
@@ -117,17 +96,3 @@ test: &test
|
||||
prepared_statements: false
|
||||
@@ -119,19 +98,3 @@ test: &test
|
||||
reaping_frequency: nil
|
||||
variables:
|
||||
statement_timeout: 15s
|
||||
- geo:
|
||||
|
@ -55,6 +55,7 @@ index b210b9c..9006120 100644
|
|||
- username: postgres
|
||||
- password:
|
||||
- host: localhost
|
||||
- reaping_frequency: nil
|
||||
- embedding:
|
||||
- adapter: postgresql
|
||||
- encoding: unicode
|
||||
|
@ -62,3 +63,4 @@ index b210b9c..9006120 100644
|
|||
- username: postgres
|
||||
- password:
|
||||
- host: localhost
|
||||
- reaping_frequency: nil
|
||||
|
|
104
user/gitlab-foss/remove-sys-filesystem-depend.patch
Normal file
104
user/gitlab-foss/remove-sys-filesystem-depend.patch
Normal file
|
@ -0,0 +1,104 @@
|
|||
diff --git a/Gemfile.orig b/Gemfile
|
||||
index c1e9e34..a4448b7 100644
|
||||
--- a/Gemfile.orig
|
||||
+++ b/Gemfile
|
||||
@@ -525,7 +525,6 @@ gem 'health_check', '~> 3.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||
|
||||
# System information
|
||||
gem 'vmstat', '~> 2.3.0' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||
-gem 'sys-filesystem', '~> 1.4.3' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||
|
||||
# NTP client
|
||||
gem 'net-ntp' # rubocop:todo Gemfile/MissingFeatureCategory
|
||||
diff --git a/Gemfile.lock.orig b/Gemfile.lock
|
||||
index e2ebb91..39b6df3 100644
|
||||
--- a/Gemfile.lock.orig
|
||||
+++ b/Gemfile.lock
|
||||
@@ -1605,8 +1605,6 @@ GEM
|
||||
attr_required (>= 0.0.5)
|
||||
httpclient (>= 2.4)
|
||||
sync (0.5.0)
|
||||
- sys-filesystem (1.4.3)
|
||||
- ffi (~> 1.1)
|
||||
sysexits (1.2.0)
|
||||
table_print (1.5.7)
|
||||
tanuki_emoji (0.9.0)
|
||||
@@ -2061,7 +2059,6 @@ DEPENDENCIES
|
||||
ssh_data (~> 1.3)
|
||||
stackprof (~> 0.2.25)
|
||||
state_machines-activerecord (~> 0.8.0)
|
||||
- sys-filesystem (~> 1.4.3)
|
||||
tanuki_emoji (~> 0.9)
|
||||
telesignenterprise (~> 2.2)
|
||||
terser (= 1.0.2)
|
||||
diff --git a/app/controllers/admin/system_info_controller.rb.orig b/app/controllers/admin/system_info_controller.rb
|
||||
index 96fb73c..7b8435e 100644
|
||||
--- a/app/controllers/admin/system_info_controller.rb.orig
|
||||
+++ b/app/controllers/admin/system_info_controller.rb
|
||||
@@ -1,4 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
+require 'open3'
|
||||
|
||||
class Admin::SystemInfoController < Admin::ApplicationController
|
||||
feature_category :not_owned # rubocop:todo Gitlab/AvoidFeatureCategoryNotOwned
|
||||
@@ -36,6 +37,11 @@ class Admin::SystemInfoController < Admin::ApplicationController
|
||||
'vfat'
|
||||
].freeze
|
||||
|
||||
+ MOUNT_REGEX = /(\S+) on (\S+) type (\S+) \(([^)]+)\)/
|
||||
+
|
||||
+ Mount = Struct.new('Mount', :name, :mount_point, :mount_type, :options)
|
||||
+ FsStat = Struct.new('FsStats', :path, :bytes_total, :bytes_used)
|
||||
+
|
||||
def show
|
||||
@cpus = begin
|
||||
Vmstat.cpu
|
||||
@@ -47,7 +53,6 @@ def show
|
||||
rescue StandardError
|
||||
nil
|
||||
end
|
||||
- mounts = Sys::Filesystem.mounts
|
||||
|
||||
@disks = []
|
||||
mounts.each do |mount|
|
||||
@@ -57,15 +62,38 @@ def show
|
||||
next if (EXCLUDED_MOUNT_TYPES & [mount.mount_type]).any?
|
||||
|
||||
begin
|
||||
- disk = Sys::Filesystem.stat(mount.mount_point)
|
||||
+ disk = fs_stat(mount.mount_point)
|
||||
@disks.push({
|
||||
bytes_total: disk.bytes_total,
|
||||
bytes_used: disk.bytes_used,
|
||||
disk_name: mount.name,
|
||||
mount_path: disk.path
|
||||
})
|
||||
- rescue Sys::Filesystem::Error
|
||||
+ rescue IOError
|
||||
end
|
||||
end
|
||||
end
|
||||
+
|
||||
+ def mounts
|
||||
+ stdout, stderr, status = Open3.capture3('mount')
|
||||
+ fail IOError, stderr unless status.success?
|
||||
+
|
||||
+ stdout.lines
|
||||
+ .map { |line| MOUNT_REGEX.match(line) }
|
||||
+ .compact
|
||||
+ .map { |match| Mount.new(*match.captures) }
|
||||
+ end
|
||||
+
|
||||
+ def fs_stat(mount_point)
|
||||
+ stdout, status = Open3.capture2('stat', '-c', '%s %b %a', '-f', mount_point)
|
||||
+ fail IOError unless status.success?
|
||||
+
|
||||
+ block_size, blocks_total, blocks_free = stdout.split(' ').map(&:to_i)
|
||||
+
|
||||
+ bytes_total = blocks_total * block_size
|
||||
+ bytes_free = blocks_free * block_size
|
||||
+ bytes_used = bytes_total - bytes_free
|
||||
+
|
||||
+ FsStat.new(mount_point, bytes_total, bytes_used)
|
||||
+ end
|
||||
end
|
|
@ -2,7 +2,7 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
||||
pkgname=gitlab-pages
|
||||
pkgver=16.2.4
|
||||
pkgver=16.6.0
|
||||
_gittag="v$pkgver"
|
||||
pkgrel=0
|
||||
pkgdesc="A daemon used to serve static websites for GitLab users"
|
||||
|
@ -29,7 +29,7 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
d05b99d48a88a008a729f15471284169ea7ce664aa19894c93f0c95e4259d79891c7e58d2204c21fa2d11bfb9c59c77ed2d3d7effa5235263e7aa046233f4acc gitlab-pages-v16.2.4.tar.gz
|
||||
9574321d6d423a28b6d80aed5c9cc598b0d76b6b179ed515e8d4e6277d9d2bc9f9e18bc4e96b68f686f32502e279026c6891c46f329d4267ac1e8031bfd8c2f7 gitlab-pages-v16.6.0.tar.gz
|
||||
710a9b652327e57e620c2bdb02bf912a6f61044eaaf61d36c6612284e9b951d2ac6f5eef77dfea16a0cde328bd4c556d9e47791c560139c27cb9659076f809b1 ungit-makefile.patch
|
||||
20bc66c1c3548568ed353ca8d584f9108b9688f9375f212a18efc7b8386fdaafb3b2dc9e865f21c7f8fd31ada6e91842a8bb8d397f64851d853bb0de3e0e60bb gitlab-pages.initd
|
||||
"
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
||||
pkgname=gitlab-shell
|
||||
pkgver=14.24.0
|
||||
pkgver=14.30.1
|
||||
pkgrel=0
|
||||
pkgdesc="GitLab Shell handles git SSH sessions for GitLab"
|
||||
url="https://gitlab.com/gitlab-org/gitlab-shell"
|
||||
|
@ -59,7 +59,7 @@ package() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
5a05217b1055c4658c3b7209c348253d590d4f99a877af012687cf9b60196d7f7051b615612bfc7d6992c9dc7d176b74da447ce22ca681f3703ce92379d15350 gitlab-shell-v14.24.0.tar.gz
|
||||
5cd602ffc98fa2f6c5efbc9541bb6ff234253e299b690aa43feaefab2518b63fd0f69a8c3d79a4f04624c2a6daceaefc300be90ef2a29ff0b8a2392d0ae710cf gitlab-shell-v14.30.1.tar.gz
|
||||
8cf13bf472e22b1c429bba5df98afb931c80b043ec83c8366d59f15a1e9b21daf09078f134e7aa622c87b32c774d1d5cf129878d5035102c06d0b12ead33f804 config.patch
|
||||
499b3a46ea94a33a23b01f6a7509d74f5a6781b930619b3b8ae42bdeae8a052cc636578744d7992b4ae4f9b9f72b11ee3d3c0f5e50986fa3f7e35b979b08aada change-config-path.patch
|
||||
c53da7f145593693392d9fa880ad5a1909bfc7504fd1c93d94a468c3e0f5cc80f712f41ee1dc8bf38105b410c1165658f208bd88a70c4674104c78af33d8d09c gitconfig
|
||||
|
|
|
@ -1,16 +1,12 @@
|
|||
# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
# Contributor: Keith Maxwell <keith.maxwell@gmail.com>
|
||||
# Contributor: wener <wenermail@gmail.com>
|
||||
|
||||
# Maintainer: wener <wenermail@gmail.com>
|
||||
pkgname=grpc
|
||||
# This version is used in gitlab-foss 15.2.2.
|
||||
pkgver=1.42.0
|
||||
pkgrel=3
|
||||
pkgver=1.58.0
|
||||
pkgrel=0
|
||||
pkgdesc="The C based gRPC"
|
||||
url="https://grpc.io/"
|
||||
# will fix later
|
||||
#arch="all"
|
||||
arch="all"
|
||||
# BSD-3-Clause: third_party/upb, third_party/address_sorting
|
||||
# MIT: third_party/upb/third_party/utf8_range
|
||||
license="Apache-2.0 AND BSD-3-Clause AND MIT"
|
||||
|
@ -24,23 +20,22 @@ _pythondepends="
|
|||
python3-dev
|
||||
py3-setuptools
|
||||
"
|
||||
# XXX: should also depend on ruby-google-protobuf=3.18
|
||||
_rubydepends="
|
||||
$pkgname=$pkgver-r$pkgrel
|
||||
ruby3.0-etc
|
||||
ruby3.0-google-protobuf>=3.19
|
||||
"
|
||||
makedepends="
|
||||
abseil-cpp
|
||||
abseil-cpp-dev
|
||||
autoconf
|
||||
automake
|
||||
benchmark-dev
|
||||
c-ares-dev
|
||||
chrpath
|
||||
cmake
|
||||
libstdc++
|
||||
libtool
|
||||
linux-headers
|
||||
openssl-dev
|
||||
openssl-dev>3
|
||||
protobuf-dev
|
||||
re2-dev
|
||||
ruby3.0-dev
|
||||
|
@ -57,22 +52,29 @@ subpackages="
|
|||
$pkgname-cpp
|
||||
$pkgname-plugins
|
||||
$pkgname-doc
|
||||
py3-grpcio-pyc
|
||||
py3-grpcio:grpcio
|
||||
ruby3.0-grpc:_ruby
|
||||
libaddress_sorting:lib
|
||||
libgpr:lib
|
||||
libgrpc:lib
|
||||
libgrpc_authorization_provider:lib
|
||||
libgrpc_unsecure:lib
|
||||
libupb:lib
|
||||
"
|
||||
_googletest_rev=0e402173c97aea7a00749e825b194bfede4f2e45
|
||||
|
||||
# ruby-dont-strip-library.patch: abuild will dot the strip
|
||||
source="https://github.com/grpc/grpc/archive/v$pkgver/grpc-v$pkgver.tar.gz
|
||||
googletest-$_googletest_rev.tar.gz::https://github.com/google/googletest/archive/$_googletest_rev.tar.gz
|
||||
fix-compiler-error.patch
|
||||
minimal-fix-for-invalid-implicit-absl-string_view-nu.patch
|
||||
01-chttp2-maybe-uninitialized.patch
|
||||
ruby-use-shared-libs.patch
|
||||
ruby-dont-strip-library.patch
|
||||
find-dependency.patch
|
||||
ruby-fix-protoc-path.patch
|
||||
ruby-use-shared-libs.patch
|
||||
ruby-use-system-certs.patch
|
||||
makefile-use-system-abseil.patch
|
||||
makefile-add-wrap-memcpy-flags.patch
|
||||
"
|
||||
options="!check" # sometimes hang indefinitely on builders
|
||||
options="net !check" # sometimes hang indefinitely on builders
|
||||
|
||||
prepare() {
|
||||
rm -r third_party/googletest
|
||||
|
@ -109,11 +111,11 @@ prepare() {
|
|||
}
|
||||
|
||||
build() {
|
||||
cmake -B _build \
|
||||
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
||||
export CFLAGS="$CFLAGS -flto=auto -DNDEBUG -O2"
|
||||
export CXXFLAGS="$CXXFLAGS -flto=auto -DNDEBUG -O2"
|
||||
cmake -B _build -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=None \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -w" \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS -w" \
|
||||
-DCMAKE_CXX_STANDARD=17 \
|
||||
-DBUILD_SHARED_LIBS=True \
|
||||
-DgRPC_INSTALL=ON \
|
||||
|
@ -122,25 +124,24 @@ build() {
|
|||
-DgRPC_SSL_PROVIDER=package \
|
||||
-DgRPC_ZLIB_PROVIDER=package \
|
||||
-DgRPC_ABSL_PROVIDER=package \
|
||||
-DgRPC_BENCHMARK_PROVIDER=package \
|
||||
-DgRPC_RE2_PROVIDER=package \
|
||||
-DgRPC_BACKWARDS_COMPATIBILITY_MODE=OFF \
|
||||
-DgRPC_BUILD_TESTS="$(want_check && echo ON || echo OFF)" \
|
||||
-G Ninja
|
||||
-DgRPC_BUILD_TESTS="$(want_check && echo ON || echo OFF)"
|
||||
cmake --build _build
|
||||
|
||||
# XXX: Fails to build and I don't need it here, so screw it.
|
||||
#GRPC_PYTHON_CFLAGS="-std=c++17" \
|
||||
#GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1 \
|
||||
#GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \
|
||||
#GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
|
||||
#GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \
|
||||
#GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \
|
||||
#GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \
|
||||
#python3 setup.py build
|
||||
GRPC_PYTHON_CFLAGS="-std=c++17" \
|
||||
GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1 \
|
||||
GRPC_PYTHON_BUILD_SYSTEM_CARES=1 \
|
||||
GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
|
||||
GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1 \
|
||||
GRPC_PYTHON_BUILD_SYSTEM_RE2=1 \
|
||||
GRPC_PYTHON_BUILD_SYSTEM_ABSL=1 \
|
||||
python3 setup.py build
|
||||
|
||||
# grpcio-tools
|
||||
#cd tools/distrib/python
|
||||
#python3 make_grpcio_tools.py
|
||||
cd tools/distrib/python
|
||||
python3 make_grpcio_tools.py
|
||||
|
||||
cd "$builddir"
|
||||
gem build grpc.gemspec
|
||||
|
@ -174,6 +175,7 @@ check() {
|
|||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" cmake --install _build
|
||||
python3 setup.py install --skip-build --root="$pkgdir"
|
||||
|
||||
cd doc
|
||||
find ./ -type f -print -exec install -Dm644 {} "$pkgdir"/usr/share/doc/grpc/{} \;
|
||||
|
@ -213,8 +215,8 @@ cli() {
|
|||
grpcio() {
|
||||
pkgdesc="gRPC Python HTTP/2-based RPC framework"
|
||||
depends="py3-six"
|
||||
cd "$builddir"
|
||||
python3 setup.py install --skip-build --prefix=/usr --root="$subpkgdir"
|
||||
|
||||
amove usr/lib/python3*
|
||||
}
|
||||
|
||||
_ruby() {
|
||||
|
@ -250,16 +252,20 @@ _ruby() {
|
|||
spec/
|
||||
}
|
||||
|
||||
lib() {
|
||||
pkgdesc="$pkgdesc ($subpkgname library)"
|
||||
depends="$pkgname=$pkgver-r$pkgrel"
|
||||
|
||||
amove usr/lib/$subpkgname.so.*
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
39f37a41d1df6015dc36344f1b5e634be7f0edbc99723de73de8b81cdab6aa3e09cef6b3c6c9ecb2c9c9db9b8454474b2ac7fbe49fe23d17a6c78f999b459ce5 grpc-v1.42.0.tar.gz
|
||||
fb2fd211a22dd777cf4df39a9dd72e5c8014f1546a89d3910b006503aac80a74d5797705e02911e9c07316ed973f71110b94cc0e86225f648d4ff91773748a43 grpc-v1.58.0.tar.gz
|
||||
5c5eaf6ff9f3c1bca025b7ef0234ba97232ba85b43e6354a92f49b7208f5c47581ebaf18bf58618498e5d264f2620c2b6676e81bb0f7df77112b96ba271ececf googletest-0e402173c97aea7a00749e825b194bfede4f2e45.tar.gz
|
||||
ce7b72169b22e6e92f31b74cacf6edf6395aeb7c70fd42d7e9eaa188395b4e6e4b3acad5edfbe75c8304b049049cee76ce5ceaaeed824bffb7defc103ef23580 fix-compiler-error.patch
|
||||
95a88beb681616a9d793c3118c8e25473d9a8cb29733db38edc8b7af205ffea964dc27dc48d268f735f27fee84782be3eda0b7f398c2e568116e679febe563b7 minimal-fix-for-invalid-implicit-absl-string_view-nu.patch
|
||||
7fa146ce86ddd4f160bb1ca9ff01cb7aca6b2b8c9aa50e4fa6b84504b9117b104be0d1e31ccb452d846549dfe1e9012ceccfcdc1f2357ed567621d71fb8b08c5 01-chttp2-maybe-uninitialized.patch
|
||||
0bf65cca05b6d41c8259a5a59573e16a3f40913aa1c1a185b7dcd295d4ae7f1cedbbd465fcff33d6f8d8ee8735a77f744708a097a32a4598b9bfc4ecaf9414df ruby-use-shared-libs.patch
|
||||
0a2560d22df71abbeea33a37f0cb42a811b244af25284d7fb564cb8ea0b944d23acf6601413bdb2613bcb87011340334489f1b40ab2f9024db013adde0d094e8 ruby-dont-strip-library.patch
|
||||
6702e39c6a3c065fe4ff5ae48898057135c09bf6851e35fc958cf95ee5d77e9dd34e8c34d978efe60682384e46c4c4b2e51156d546b06a0eb1feed89adcc024b find-dependency.patch
|
||||
4ea72d2acd8bee9c9022a4412aa0af0477faca7b0810d14decb3ad5d4da044247f51189512323bfee855b9b260a7f82b812310391451e5d8ee718297800d7a73 ruby-fix-protoc-path.patch
|
||||
7123bf1bbc48ceb303ce1e9820ea45a06dabd25e20e3c1c116ef68e629e80f229cf20314c415d74f0c5c1725f23a00b446656e0cffba3dcd3cc766ae29d8fb2f ruby-use-shared-libs.patch
|
||||
631af4b9ac29c1ebabb2c88394ea2993e36cec1beda38195e1587dbd9d3c8c9eef75a17d2326d3cd2e682de551401216075ba08fdc501c098b8092d718ded381 ruby-use-system-certs.patch
|
||||
3c7e8e9a6c6009278569dccdf3e79fabdb266336b894a7fe65f2a57d3cfbef72364c331ec46d9e3a05bb0deaeb841194a39d6f77d98f9e9ce609de0636f675bd makefile-use-system-abseil.patch
|
||||
66b709cd1fb291ab140ec87e584db13d15c308c0ea9f2ee0fa10ddb00cf33641f559235b1445137ff071dfbda9d7279bd482411fbf2f33dacbc5b14cd7f9ffa5 makefile-add-wrap-memcpy-flags.patch
|
||||
89e260934da83eb45fa6b73884cba1b1c30f99c0eb883a726e2d36ee4788246f4c6fa1b201077038af956bcb58e625f83bedba4f186c711785ec240373ce4fc5 makefile-use-system-abseil.patch
|
||||
"
|
||||
|
|
13
user/grpc/find-dependency.patch
Normal file
13
user/grpc/find-dependency.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
without this find_dependency() doesn't exist
|
||||
--
|
||||
diff --git a/cmake/gRPCConfig.cmake.in b/cmake/gRPCConfig.cmake.in
|
||||
index 98d8c6d..5500ca2 100644
|
||||
--- a/cmake/gRPCConfig.cmake.in
|
||||
+++ b/cmake/gRPCConfig.cmake.in
|
||||
@@ -1,5 +1,6 @@
|
||||
# Module path
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules)
|
||||
+include(CMakeFindDependencyMacro)
|
||||
|
||||
# Depend packages
|
||||
@_gRPC_FIND_ZLIB@
|
|
@ -1,23 +0,0 @@
|
|||
Patch-Source: https://github.com/grpc/grpc/pull/28196
|
||||
--
|
||||
From 3991a4c0bcf57e5058a93c4c8255cc80cd0482ca Mon Sep 17 00:00:00 2001
|
||||
From: Runming Wu <runmingwu@gmail.com>
|
||||
Date: Tue, 23 Nov 2021 12:10:43 -0800
|
||||
Subject: [PATCH] Fix compiler error for certain gcc version.
|
||||
|
||||
---
|
||||
src/core/ext/xds/xds_api.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/core/ext/xds/xds_api.h b/src/core/ext/xds/xds_api.h
|
||||
index 643febdf2203..f25a21f8f831 100644
|
||||
--- a/src/core/ext/xds/xds_api.h
|
||||
+++ b/src/core/ext/xds/xds_api.h
|
||||
@@ -55,6 +55,7 @@ class XdsApi {
|
||||
static const char* kEdsTypeUrl;
|
||||
|
||||
struct Duration {
|
||||
+ Duration() {}
|
||||
int64_t seconds = 0;
|
||||
int32_t nanos = 0;
|
||||
bool operator==(const Duration& other) const {
|
|
@ -1,15 +0,0 @@
|
|||
diff --git a/Makefile b/Makefile
|
||||
index 6c9f22d..6f21708 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1672,7 +1672,7 @@ $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_
|
||||
ifeq ($(SYSTEM),Darwin)
|
||||
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
|
||||
else
|
||||
- $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.20 -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
|
||||
+ $(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc.so.20 -Wl,-wrap,memcpy -o $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_OBJS) $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
|
||||
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so.20
|
||||
$(Q) ln -sf $(SHARED_PREFIX)grpc$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc$(SHARED_VERSION_CORE).so
|
||||
endif
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -576,8 +576,8 @@
|
||||
@@ -575,8 +575,8 @@
|
||||
|
||||
# Setup abseil dependency
|
||||
|
||||
|
@ -8,15 +8,15 @@
|
|||
-GRPC_ABSEIL_MERGE_LIBS = $(LIBDIR)/$(CONFIG)/libgrpc_abseil.a
|
||||
+GRPC_ABSEIL_DEP = -labsl_base -labsl_int128 -labsl_strings -labsl_time -labsl_bad_optional_access -labsl_throw_delegate -labsl_str_format_internal
|
||||
+GRPC_ABSEIL_MERGE_LIBS = -labsl_base -labsl_int128 -labsl_strings -labsl_time -labsl_bad_optional_access -labsl_throw_delegate -labsl_str_format_internal
|
||||
ifeq ($(HOST_IS_X86_64),true)
|
||||
ABSL_RANDOM_HWAES_FLAGS = -maes
|
||||
else
|
||||
@@ -2675,7 +2675,7 @@
|
||||
|
||||
# Setup re2 dependency
|
||||
|
||||
@@ -2809,7 +2809,7 @@
|
||||
third_party/abseil-cpp/absl/types/bad_variant_access.cc \
|
||||
|
||||
|
||||
-LIBGRPC_ABSEIL_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(LIBGRPC_ABSEIL_SRC))))
|
||||
+LIBGRPC_ABSEIL_OBJS =
|
||||
|
||||
$(LIBGRPC_ABSEIL_OBJS): CPPFLAGS += -g $(ABSL_RANDOM_HWAES_FLAGS) -Ithird_party/abseil-cpp
|
||||
$(LIBGRPC_ABSEIL_OBJS): CPPFLAGS += -g -Ithird_party/abseil-cpp
|
||||
|
||||
|
|
|
@ -1,45 +0,0 @@
|
|||
Patch-Source: https://src.fedoraproject.org/rpms/grpc/blob/f36/f/0001-Minimal-fix-for-invalid-implicit-absl-string_view-nu.patch
|
||||
--
|
||||
From 39d8f1440941ab56fe4bfa45ce4bd6177165f919 Mon Sep 17 00:00:00 2001
|
||||
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
|
||||
Date: Sun, 16 Jan 2022 09:47:21 -0500
|
||||
Subject: [PATCH] Minimal fix for invalid implicit absl::string_view(nullptr_t)
|
||||
|
||||
---
|
||||
.../client_channel/lb_policy/xds/xds_cluster_resolver.cc | 2 +-
|
||||
test/core/security/evaluate_args_test.cc | 6 +++---
|
||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc b/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
|
||||
index ff936b9100..a55d811527 100644
|
||||
--- a/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
|
||||
+++ b/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc
|
||||
@@ -139,7 +139,7 @@ class XdsClusterResolverLb : public LoadBalancingPolicy {
|
||||
// to use for LRS load reporting. Caller must ensure that config_ is set
|
||||
// before calling.
|
||||
std::pair<absl::string_view, absl::string_view> GetLrsClusterKey() const {
|
||||
- if (!parent_->is_xds_uri_) return {parent_->server_name_, nullptr};
|
||||
+ if (!parent_->is_xds_uri_) return {parent_->server_name_, absl::string_view()};
|
||||
return {
|
||||
parent_->config_->discovery_mechanisms()[index_].cluster_name,
|
||||
parent_->config_->discovery_mechanisms()[index_].eds_service_name};
|
||||
diff --git a/test/core/security/evaluate_args_test.cc b/test/core/security/evaluate_args_test.cc
|
||||
index a8df9b3003..82fc26cd9d 100644
|
||||
--- a/test/core/security/evaluate_args_test.cc
|
||||
+++ b/test/core/security/evaluate_args_test.cc
|
||||
@@ -32,9 +32,9 @@ class EvaluateArgsTest : public ::testing::Test {
|
||||
|
||||
TEST_F(EvaluateArgsTest, EmptyMetadata) {
|
||||
EvaluateArgs args = util_.MakeEvaluateArgs();
|
||||
- EXPECT_EQ(args.GetPath(), nullptr);
|
||||
- EXPECT_EQ(args.GetMethod(), nullptr);
|
||||
- EXPECT_EQ(args.GetHost(), nullptr);
|
||||
+ EXPECT_EQ(args.GetPath(), std::string_view());
|
||||
+ EXPECT_EQ(args.GetMethod(), std::string_view());
|
||||
+ EXPECT_EQ(args.GetHost(), std::string_view());
|
||||
EXPECT_THAT(args.GetHeaders(), ::testing::ElementsAre());
|
||||
EXPECT_EQ(args.GetHeaderValue("some_key", nullptr), absl::nullopt);
|
||||
}
|
||||
--
|
||||
2.33.1
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
From: Jakub Jirutka <jakub@jirutka.cz>
|
||||
Date: Wed, 24 Aug 2022 21:20:22 +0200
|
||||
Subject: [PATCH] Don't strip the built library
|
||||
|
||||
abuild does it.
|
||||
|
||||
--- a/src/ruby/ext/grpc/extconf.rb
|
||||
+++ b/src/ruby/ext/grpc/extconf.rb
|
||||
@@ -94,21 +94,3 @@
|
||||
output = File.join('grpc', 'grpc_c')
|
||||
puts 'Generating Makefile for ' + output
|
||||
create_makefile(output)
|
||||
-
|
||||
-strip_tool = RbConfig::CONFIG['STRIP']
|
||||
-strip_tool += ' -x' if darwin
|
||||
-
|
||||
-if grpc_config == 'opt'
|
||||
- File.open('Makefile.new', 'w') do |o|
|
||||
- o.puts 'hijack: all strip'
|
||||
- o.puts
|
||||
- File.foreach('Makefile') do |i|
|
||||
- o.puts i
|
||||
- end
|
||||
- o.puts
|
||||
- o.puts 'strip: $(DLLIB)'
|
||||
- o.puts "\t$(ECHO) Stripping $(DLLIB)"
|
||||
- o.puts "\t$(Q) #{strip_tool} $(DLLIB)"
|
||||
- end
|
||||
- File.rename('Makefile.new', 'Makefile')
|
||||
-end
|
|
@ -6,52 +6,76 @@ Subject: [PATCH] Link with shared libraries, don't embed anything
|
|||
- Don't build and statically link libgrpc, link shared libgrpc.
|
||||
- Don't statically link libgcc and libstdc++.
|
||||
|
||||
diff --git a/src/ruby/ext/grpc/extconf.rb b/src/ruby/ext/grpc/extconf.rb
|
||||
index 98a8876..808ecfe 100644
|
||||
--- a/src/ruby/ext/grpc/extconf.rb
|
||||
+++ b/src/ruby/ext/grpc/extconf.rb
|
||||
@@ -45,9 +45,9 @@
|
||||
ENV['ARFLAGS'] = '-o'
|
||||
@@ -69,11 +69,11 @@ if apple_toolchain && !cross_compiling
|
||||
end
|
||||
|
||||
-ENV['EMBED_OPENSSL'] = 'true'
|
||||
-ENV['EMBED_ZLIB'] = 'true'
|
||||
-ENV['EMBED_CARES'] = 'true'
|
||||
# Don't embed on TruffleRuby (constant-time crypto is unsafe with Sulong, slow build times)
|
||||
-ENV['EMBED_OPENSSL'] = (RUBY_ENGINE != 'truffleruby').to_s
|
||||
+ENV['EMBED_OPENSSL'] = 'false'
|
||||
# Don't embed on TruffleRuby (the system zlib is already linked for the zlib C extension, slow build times)
|
||||
-ENV['EMBED_ZLIB'] = (RUBY_ENGINE != 'truffleruby').to_s
|
||||
+ENV['EMBED_ZLIB'] = 'false'
|
||||
|
||||
-ENV['EMBED_CARES'] = 'true'
|
||||
+ENV['EMBED_CARES'] = 'false'
|
||||
|
||||
ENV['ARCH_FLAGS'] = RbConfig::CONFIG['ARCH_FLAG']
|
||||
if darwin && !cross_compiling
|
||||
@@ -65,23 +65,15 @@
|
||||
output_dir = File.expand_path(RbConfig::CONFIG['topdir'])
|
||||
grpc_lib_dir = File.join(output_dir, 'libs', grpc_config)
|
||||
ENV['BUILDDIR'] = output_dir
|
||||
+$LDFLAGS << ' -L' + ENV.fetch('TOPDIR', '.')
|
||||
if apple_toolchain && !cross_compiling
|
||||
@@ -97,32 +97,7 @@
|
||||
strip_tool = RbConfig::CONFIG['STRIP']
|
||||
strip_tool += ' -x' if apple_toolchain
|
||||
|
||||
-unless windows
|
||||
- puts 'Building internal gRPC into ' + grpc_lib_dir
|
||||
- nproc = 4
|
||||
- nproc = Etc.nprocessors * 2 if Etc.respond_to? :nprocessors
|
||||
- nproc = Etc.nprocessors if Etc.respond_to? :nprocessors
|
||||
- nproc_override = ENV['GRPC_RUBY_BUILD_PROCS']
|
||||
- unless nproc_override.nil? or nproc_override.size == 0
|
||||
- nproc = nproc_override
|
||||
- puts "Overriding make parallelism to #{nproc}"
|
||||
- end
|
||||
- make = bsd ? 'gmake' : 'make'
|
||||
- system("#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q=")
|
||||
- cmd = "#{make} -j#{nproc} -C #{grpc_root} #{grpc_lib_dir}/libgrpc.a CONFIG=#{grpc_config} Q="
|
||||
- puts "Building grpc native library: #{cmd}"
|
||||
- system(cmd)
|
||||
- exit 1 unless $? == 0
|
||||
-end
|
||||
-
|
||||
$CFLAGS << ' -I' + File.join(grpc_root, 'include')
|
||||
- if grpc_config == 'opt'
|
||||
- rm_obj_cmd = "rm -rf #{File.join(output_dir, 'objs')}"
|
||||
- puts "Removing grpc object files: #{rm_obj_cmd}"
|
||||
- system(rm_obj_cmd)
|
||||
- exit 1 unless $? == 0
|
||||
- strip_cmd = "#{strip_tool} #{grpc_lib_dir}/*.a"
|
||||
- puts "Stripping grpc native library: #{strip_cmd}"
|
||||
- system(strip_cmd)
|
||||
- exit 1 unless $? == 0
|
||||
- end
|
||||
-end
|
||||
+$LDFLAGS << ' -L' + ENV.fetch('TOPDIR', '.')
|
||||
|
||||
ext_export_file = File.join(grpc_root, 'src', 'ruby', 'ext', 'grpc', 'ext-export')
|
||||
$CFLAGS << ' -DGRPC_RUBY_WINDOWS_UCRT' if windows_ucrt
|
||||
$CFLAGS << ' -I' + File.join(grpc_root, 'include')
|
||||
@@ -118,7 +103,7 @@ ext_export_file += '-truffleruby' if RUBY_ENGINE == 'truffleruby'
|
||||
$LDFLAGS << ' -Wl,--version-script="' + ext_export_file + '.gcc"' if linux
|
||||
$LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if darwin
|
||||
$LDFLAGS << ' -Wl,-exported_symbols_list,"' + ext_export_file + '.clang"' if apple_toolchain
|
||||
|
||||
-$LDFLAGS << ' ' + File.join(grpc_lib_dir, 'libgrpc.a') unless windows
|
||||
+$LDFLAGS << ' -Wl,-wrap,memcpy -lgrpc' unless windows
|
||||
if grpc_config == 'gcov'
|
||||
$CFLAGS << ' -O0 -fprofile-arcs -ftest-coverage'
|
||||
$LDFLAGS << ' -fprofile-arcs -ftest-coverage -rdynamic'
|
||||
@@ -92,7 +84,6 @@
|
||||
@@ -129,10 +114,6 @@ if grpc_config == 'dbg'
|
||||
end
|
||||
|
||||
$LDFLAGS << ' -Wl,-wrap,memcpy' if linux
|
||||
-$LDFLAGS << ' -static-libgcc -static-libstdc++' if linux
|
||||
-# Do not statically link standard libraries on TruffleRuby as this does not work when compiling to bitcode
|
||||
-if linux && RUBY_ENGINE != 'truffleruby'
|
||||
- $LDFLAGS << ' -static-libgcc -static-libstdc++'
|
||||
-end
|
||||
$LDFLAGS << ' -static' if windows
|
||||
|
||||
$CFLAGS << ' -std=c99 '
|
||||
$CFLAGS << ' -std=c11 '
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
From e48894bfe303b0d8b8f1c1bdf43f07e1baca3176 Mon Sep 17 00:00:00 2001
|
||||
From: CSDUMMI <csdummi.misquality@simplelogin.co>
|
||||
Date: Sat, 11 Mar 2023 18:21:53 +0100
|
||||
Subject: [PATCH] Prefer the stored locatio in the omniauth callback controller
|
||||
over the root path
|
||||
|
||||
---
|
||||
app/controllers/auth/omniauth_callbacks_controller.rb | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/controllers/auth/omniauth_callbacks_controller.rb b/app/controllers/auth/omniauth_callbacks_controller.rb
|
||||
index 3d7962de56cb..9e0fb942aaff 100644
|
||||
--- a/app/controllers/auth/omniauth_callbacks_controller.rb
|
||||
+++ b/app/controllers/auth/omniauth_callbacks_controller.rb
|
||||
@@ -33,7 +33,7 @@ def self.provides_callback_for(provider)
|
||||
|
||||
def after_sign_in_path_for(resource)
|
||||
if resource.email_present?
|
||||
- root_path
|
||||
+ stored_location_for(resource) || root_path
|
||||
else
|
||||
auth_setup_path(missing_email: '1')
|
||||
end
|
|
@ -3,12 +3,11 @@
|
|||
|
||||
pkgname=mastodon
|
||||
_pkgname=$pkgname
|
||||
pkgver=4.1.8
|
||||
pkgver=4.2.1
|
||||
_gittag=v$pkgver
|
||||
pkgrel=0
|
||||
pkgdesc="Self-hosted social media and network server based on ActivityPub and OStatus"
|
||||
# fix ruby3.0
|
||||
#arch="x86_64"
|
||||
arch="x86_64"
|
||||
url="https://github.com/mastodon/mastodon"
|
||||
license="AGPL-3.0-only"
|
||||
depends="
|
||||
|
@ -46,7 +45,6 @@ install="
|
|||
"
|
||||
source="
|
||||
mastodon-$_gittag.tar.gz::https://github.com/mastodon/mastodon/archive/$_gittag.tar.gz
|
||||
24073_prefer-stored-location-as-after-sign-in-path.patch
|
||||
mastodon.initd
|
||||
mastodon.web.initd
|
||||
mastodon.sidekiq.initd
|
||||
|
@ -194,8 +192,7 @@ assets() {
|
|||
}
|
||||
|
||||
sha512sums="
|
||||
3995f12f624fb4254f3e3785aa5e25f569c3551ab378aacaa2dd8e576dcbfda328b326f1589e6b5e6a021b3903875c5958ad771e63d4d680ff88d000645d9c18 mastodon-v4.1.8.tar.gz
|
||||
730d3bef92b0da2ef400b5205fd8ab7159a458d654fa4d9a16cc0b579331ac67bec8b302096dff3470a3363b88a770ec857f1db7a0112effd07275da661c654a 24073_prefer-stored-location-as-after-sign-in-path.patch
|
||||
54e3e14abbe9ce6b4ec72586b00d0e7845b8e7b0f18ee608ab452a4b56df257657ffcd1f3a0b8de715dbaad3edacbf31a4e20cef5f5d82b6902837ee9a6ab900 mastodon-v4.2.1.tar.gz
|
||||
36604cd630f0f5b4d88b630b1512cd26e922f859e5d19cbb85106ff29fc9048d2349f926d5c4b6947c655f67e60ec33e2f524a8154405a4369f283e00be7cdce mastodon.initd
|
||||
9e77061fbdebe90492398f8089a7d2612ff4b6e70b5462dd67330b66d9788cb0133eab38c372b1f27a7214aacdd9f7f70381d4ecc6e92c8c38d794404ae0f840 mastodon.web.initd
|
||||
6dacafca86dd39f6a6efa773cfe35b4632098175605a7c64488027237b01028d9785e50a3a0532b88ebf8f857c9a594c7b68f9e577b46e95104e7cffde51ccf8 mastodon.sidekiq.initd
|
||||
|
|
|
@ -2,15 +2,14 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=paperless-ngx
|
||||
pkgver=1.16.5
|
||||
pkgrel=2
|
||||
pkgver=1.17.4
|
||||
pkgrel=0
|
||||
pkgdesc="A community-supported supercharged version of paperless: scan, index and archive all your physical documents"
|
||||
url="https://github.com/paperless-ngx/paperless-ngx"
|
||||
license="GPL-3.0-only"
|
||||
# s390x: ocrmypdf py3-joblib py3-scikit-learn py3-watchfiles
|
||||
# armhf / ppc64le: py3-uvloop
|
||||
# blocked by levensheith
|
||||
#arch="noarch !s390x !armhf !ppc64le"
|
||||
arch="noarch !s390x !armhf !ppc64le"
|
||||
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-install"
|
||||
depends="
|
||||
file
|
||||
|
@ -179,7 +178,7 @@ package() {
|
|||
|
||||
}
|
||||
sha512sums="
|
||||
c82e65e70cead10e1d282d3e2c617a1da1f06d9acf6c75f2894b07c7e1e93be0c2f53dac475378399776f4a244e59f12c711348c61ca9eed8e8cf55fc6e4bced paperless-ngx-v1.16.5.tar.xz
|
||||
eb225244d51db0ba0db9fca259825ab542448f5f9904d2bf55ad581f16a9386696457593df2ad5eda6df5eefb296f0ee0c0f27e6fc0eff8956807aedf20e0094 paperless-ngx-v1.17.4.tar.xz
|
||||
71526db0d48f26168005de06a91f6099c318c6622b70d7af32a899a2e485b34876e94fe14d7434367232d80fbbf8c4d75281874283ab832fd8568dfea3b87bdf 1746_add-OpenID-Connect-SSO-support-via-django-allauth.patch
|
||||
b782dd9479d31d2f6a82e86639bb5e2bb3675c1ffc1d6b08e027e10159dd58ed9f68b5986b9d7c8a326e95384e701bcf9834101d6a6720db7e97465e4d295d36 paperless-scheduler.openrc
|
||||
b4413f48b481d53b3e10542f5ffe830928c40ae016e2dc1da533ae8b546c5b6e4ddfa1129280807f866002f61b283c4eba327be6eb04171e259fe27fec47696a paperless-consumer.openrc
|
||||
|
|
168
user/protobuf/APKBUILD
Normal file
168
user/protobuf/APKBUILD
Normal file
|
@ -0,0 +1,168 @@
|
|||
# Contributor: Sheila Aman <sheila@vulpine.house>
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname=protobuf
|
||||
_gemname=google-protobuf
|
||||
pkgver=23.4
|
||||
_rubyver=3.23.4
|
||||
pkgrel=1
|
||||
pkgdesc="Library for extensible, efficient structure packing"
|
||||
url="https://github.com/protocolbuffers/protobuf"
|
||||
arch="all"
|
||||
license="BSD-3-Clause"
|
||||
depends="
|
||||
protoc=$pkgver-r$pkgrel
|
||||
libprotoc=$pkgver-r$pkgrel
|
||||
libprotobuf=$pkgver-r$pkgrel
|
||||
libprotobuf-lite=$pkgver-r$pkgrel
|
||||
"
|
||||
depends_dev="
|
||||
protoc=$pkgver-r$pkgrel
|
||||
zlib-dev
|
||||
"
|
||||
makedepends="
|
||||
$depends_dev
|
||||
abseil-cpp-dev
|
||||
cmake
|
||||
ruby3.0
|
||||
ruby3.0-dev
|
||||
ruby3.0-rake
|
||||
samurai
|
||||
"
|
||||
checkdepends="gtest-dev"
|
||||
subpackages="
|
||||
ruby3.0-$_gemname:_ruby
|
||||
$pkgname-dev
|
||||
$pkgname-vim::noarch
|
||||
protoc
|
||||
libprotoc
|
||||
libprotobuf
|
||||
libprotobuf-lite
|
||||
"
|
||||
# exclude.patch
|
||||
source="$pkgname-$pkgver.tar.gz::https://github.com/protocolbuffers/protobuf/archive/refs/tags/v$pkgver.tar.gz
|
||||
exclude.patch
|
||||
protoc-cmake.patch
|
||||
ruby-fix-cflags.patch
|
||||
skip-failing-tests.patch
|
||||
soversion.patch
|
||||
trim-rakefile.patch
|
||||
"
|
||||
|
||||
# fails some
|
||||
case "$CARCH" in
|
||||
armhf) options="$options !check" ;;
|
||||
esac
|
||||
|
||||
build() {
|
||||
export CFLAGS="$CFLAGS -DNDEBUG -O2 -flto=auto"
|
||||
export CXXFLAGS="$CXXFLAGS -DNDEBUG -O2 -flto=auto -Wno-deprecated-declarations"
|
||||
|
||||
cmake -B build -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=None \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-Dprotobuf_BUILD_TESTS="$(want_check && echo ON || echo OFF)" \
|
||||
-Dprotobuf_BUILD_LIBPROTOC=ON \
|
||||
-Dprotobuf_ABSL_PROVIDER="package" \
|
||||
-Dprotobuf_ALLOW_CCACHE=ON \
|
||||
-Dprotobuf_USE_EXTERNAL_GTEST=ON
|
||||
cmake --build build
|
||||
|
||||
cd "$builddir"/ruby
|
||||
|
||||
export PATH="$PATH:$builddir/build"
|
||||
|
||||
# Generate proto files for built-in protocols.
|
||||
rake genproto
|
||||
|
||||
gem build $_gemname.gemspec
|
||||
gem install --local \
|
||||
--install-dir dist \
|
||||
--ignore-dependencies \
|
||||
--no-document \
|
||||
--verbose \
|
||||
$_gemname
|
||||
}
|
||||
|
||||
# TODO: Run tests for ruby gem.
|
||||
check() {
|
||||
ctest --test-dir build --output-on-failure
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
|
||||
sed -i \
|
||||
-e "/Requires:/s|;| |g" \
|
||||
-e "/Requires:/s|::|_|g" \
|
||||
"$pkgdir"/usr/lib/pkgconfig/protobuf.pc
|
||||
|
||||
install -Dm644 editors/proto.vim \
|
||||
"$pkgdir"/usr/share/vim/vimfiles/syntax/proto.vim
|
||||
|
||||
local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
|
||||
cd ruby/dist
|
||||
|
||||
mkdir -p "$gemdir"
|
||||
cp -r extensions gems specifications "$gemdir"/
|
||||
|
||||
# Remove duplicated .so libs (should be only in extensions directory).
|
||||
find "$gemdir"/gems/ -name "*.so" -delete
|
||||
|
||||
# Remove unnecessary files.
|
||||
cd "$gemdir"/gems/$_gemname-$_rubyver
|
||||
rm -r ext/
|
||||
}
|
||||
|
||||
_ruby() {
|
||||
depends=""
|
||||
pkgdesc="Ruby bindings to Google's data interchange format"
|
||||
|
||||
amove usr/lib/ruby/gems
|
||||
}
|
||||
|
||||
vim() {
|
||||
pkgdesc="Vim syntax for $pkgname"
|
||||
depends=""
|
||||
install_if="$pkgname=$pkgver-r$pkgrel vim"
|
||||
|
||||
amove usr/share/vim/vimfiles/syntax/proto.vim
|
||||
}
|
||||
|
||||
libprotoc() {
|
||||
depends=""
|
||||
pkgdesc="Runtime library for Protocol Buffer compiler"
|
||||
|
||||
amove usr/lib/libprotoc.so.*
|
||||
}
|
||||
|
||||
protoc() {
|
||||
depends=""
|
||||
pkgdesc="Protocol buffer compiler binary and library"
|
||||
|
||||
amove usr/bin/protoc*
|
||||
}
|
||||
|
||||
libprotobuf() {
|
||||
depends=""
|
||||
pkgdesc="Runtime library for C++ users of protocol buffers"
|
||||
|
||||
amove usr/lib/libprotobuf.so.*
|
||||
}
|
||||
|
||||
lite() {
|
||||
depends=""
|
||||
pkgdesc="Runtime library for C++ users with 'lite runtime' setting of protocol buffers"
|
||||
|
||||
amove usr/lib/libprotobuf-lite.so.*
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
b93a4e0339ecbe085796de5b6c61feae35229d40db9019c043090bcaa483a1cce78a99487c5638482c68832fcede5579a0e5ec731221a88359b80db9bb6dc566 protobuf-23.4.tar.gz
|
||||
0d46d105a0670ab5cfcb04ed534927a71613234a88efede0b20d426e1caaa708e6ff275a09c5dab7786fe26e69e0882f022b893302e4869006b4ac55fc6172e5 exclude.patch
|
||||
16b8ee0e50dbb2144ddb83654a63e410b4218e667b6b8b77c7b6f9797508f63c3e8be0f9711841bb6ebbed0883cda2394b219a62b468240f65f4dac418b5a56e protoc-cmake.patch
|
||||
0cb202a6151ae3746c09e85f2e4ce9abb0d810d4a3c84cb647fde407cf8d13894d3c9b340e06d7a3a85669da1899db265d26d8309d59249f841a40a66e045c83 ruby-fix-cflags.patch
|
||||
b5070f8e150920c316130ba40f46c66eefddc634844f5d6b8ee11f6824a3707b3e74f68aa0612c16305bf096050214c6120e693225e07e0cea80e68a7830f863 skip-failing-tests.patch
|
||||
850dc1d6fd3ea01f1689fd700ac35e7da0882092ab34c616702e01bdf4b5327b8ab27381ecf291431a94f54c89d31707a4a171929937e880543974cb64f9e685 soversion.patch
|
||||
13514a456a50d7243baa23fe43586fc4544cda87b9e2a5afe9d2fac8afca8e8853f9b42232c3fff4c5cf2df443af32f944f451daa1d604d80fd03ee4e7abed3e trim-rakefile.patch
|
||||
"
|
40
user/protobuf/exclude.patch
Normal file
40
user/protobuf/exclude.patch
Normal file
|
@ -0,0 +1,40 @@
|
|||
don't install the utf8_range lib into disk.
|
||||
also remove it from .pc/cmake, it's statically linked into protobuf and never needed on disk after
|
||||
--
|
||||
diff --git a/cmake/install.cmake b/cmake/install.cmake
|
||||
index e7eb210..73e1897 100644
|
||||
--- a/cmake/install.cmake
|
||||
+++ b/cmake/install.cmake
|
||||
@@ -4,7 +4,6 @@ foreach(_target IN LISTS protobuf_ABSL_USED_TARGETS)
|
||||
string(REPLACE :: _ _modified_target ${_target})
|
||||
list(APPEND _pc_targets ${_modified_target})
|
||||
endforeach()
|
||||
-list(APPEND _pc_targets "utf8_range")
|
||||
|
||||
set(_protobuf_PC_REQUIRES "")
|
||||
set(_sep "")
|
||||
diff --git a/cmake/protobuf-config.cmake.in b/cmake/protobuf-config.cmake.in
|
||||
index 44805c7..1a8d243 100644
|
||||
--- a/cmake/protobuf-config.cmake.in
|
||||
+++ b/cmake/protobuf-config.cmake.in
|
||||
@@ -4,7 +4,6 @@ include("${CMAKE_CURRENT_LIST_DIR}/protobuf-options.cmake")
|
||||
# Depend packages
|
||||
@_protobuf_FIND_ZLIB@
|
||||
@_protobuf_FIND_ABSL@
|
||||
-@_protobuf_FIND_UTF8_RANGE@
|
||||
|
||||
# Imported targets
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/protobuf-targets.cmake")
|
||||
diff --git a/cmake/utf8_range.cmake b/cmake/utf8_range.cmake
|
||||
index f411a8c..770f94c 100644
|
||||
--- a/cmake/utf8_range.cmake
|
||||
+++ b/cmake/utf8_range.cmake
|
||||
@@ -8,7 +8,7 @@ if (NOT TARGET utf8_range)
|
||||
endif()
|
||||
|
||||
set(utf8_range_ENABLE_INSTALL ${protobuf_INSTALL} CACHE BOOL "Set install")
|
||||
- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/utf8_range third_party/utf8_range)
|
||||
+ add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/third_party/utf8_range third_party/utf8_range EXCLUDE_FROM_ALL)
|
||||
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/third_party/utf8_range)
|
||||
endif ()
|
||||
|
27
user/protobuf/protoc-cmake.patch
Normal file
27
user/protobuf/protoc-cmake.patch
Normal file
|
@ -0,0 +1,27 @@
|
|||
Patch-Source: https://github.com/protocolbuffers/protobuf/pull/13206
|
||||
--
|
||||
From 2e62ef1eaa2e712afc5f87aa2c55d478fe96230d Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Rojas <arojas@archlinux.org>
|
||||
Date: Wed, 5 Jul 2023 13:03:11 +0200
|
||||
Subject: [PATCH] Handle BUILD_TYPE=None in protobuf-module.cmake
|
||||
|
||||
Fixes Protobuf_PROTOC_EXECUTABLE being undefined in that case.
|
||||
---
|
||||
cmake/protobuf-module.cmake.in | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/cmake/protobuf-module.cmake.in b/cmake/protobuf-module.cmake.in
|
||||
index 0bb05e38fad..e5b2b2e4b3a 100644
|
||||
--- a/cmake/protobuf-module.cmake.in
|
||||
+++ b/cmake/protobuf-module.cmake.in
|
||||
@@ -153,6 +153,10 @@ if(NOT Protobuf_PROTOC_EXECUTABLE AND TARGET protobuf::protoc)
|
||||
get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
|
||||
IMPORTED_LOCATION_NOCONFIG)
|
||||
endif()
|
||||
+ if(NOT EXISTS "${Protobuf_PROTOC_EXECUTABLE}")
|
||||
+ get_target_property(Protobuf_PROTOC_EXECUTABLE protobuf::protoc
|
||||
+ IMPORTED_LOCATION_NONE)
|
||||
+ endif()
|
||||
endif()
|
||||
|
||||
# Version info variable
|
18
user/protobuf/ruby-fix-cflags.patch
Normal file
18
user/protobuf/ruby-fix-cflags.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
Using builder flags
|
||||
|
||||
diff --git a/ruby/ext/google/protobuf_c/extconf.rb b/ruby/ext/google/protobuf_c/extconf.rb
|
||||
index b7c439b..0bbc15c 100755
|
||||
--- a/ruby/ext/google/protobuf_c/extconf.rb
|
||||
+++ b/ruby/ext/google/protobuf_c/extconf.rb
|
||||
@@ -7,9 +7,9 @@ ext_name = "google/protobuf_c"
|
||||
dir_config(ext_name)
|
||||
|
||||
if RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/ || RUBY_PLATFORM =~ /freebsd/
|
||||
- $CFLAGS += " -std=gnu99 -O3 -DNDEBUG -fvisibility=hidden -Wall -Wsign-compare -Wno-declaration-after-statement"
|
||||
+ $CFLAGS += " -std=gnu99 -DNDEBUG -fvisibility=hidden -Wall -Wsign-compare -Wno-declaration-after-statement"
|
||||
else
|
||||
- $CFLAGS += " -std=gnu99 -O3 -DNDEBUG"
|
||||
+ $CFLAGS += " -std=gnu99 -DNDEBUG"
|
||||
end
|
||||
|
||||
if RUBY_PLATFORM =~ /linux/
|
99
user/protobuf/skip-failing-tests.patch
Normal file
99
user/protobuf/skip-failing-tests.patch
Normal file
|
@ -0,0 +1,99 @@
|
|||
diff --git a/src/google/protobuf/any_test.cc b/src/google/protobuf/any_test.cc
|
||||
index 8b544d9..0f27dbe 100644
|
||||
--- a/src/google/protobuf/any_test.cc
|
||||
+++ b/src/google/protobuf/any_test.cc
|
||||
@@ -62,13 +62,6 @@ TEST(AnyTest, TestPackAndUnpack) {
|
||||
EXPECT_EQ(12345, submessage.int32_value());
|
||||
}
|
||||
|
||||
-TEST(AnyTest, TestPackFromSerializationExceedsSizeLimit) {
|
||||
- protobuf_unittest::TestAny submessage;
|
||||
- submessage.mutable_text()->resize(INT_MAX, 'a');
|
||||
- protobuf_unittest::TestAny message;
|
||||
- EXPECT_FALSE(message.mutable_any_value()->PackFrom(submessage));
|
||||
-}
|
||||
-
|
||||
TEST(AnyTest, TestUnpackWithTypeMismatch) {
|
||||
protobuf_unittest::TestAny payload;
|
||||
payload.set_int32_value(13);
|
||||
diff --git a/src/google/protobuf/arena_unittest.cc b/src/google/protobuf/arena_unittest.cc
|
||||
index 4832cff..aa45a25 100644
|
||||
--- a/src/google/protobuf/arena_unittest.cc
|
||||
+++ b/src/google/protobuf/arena_unittest.cc
|
||||
@@ -1392,11 +1392,11 @@ TEST(ArenaTest, SpaceAllocated_and_Used) {
|
||||
options.initial_block_size = arena_block.size();
|
||||
Arena arena_2(options);
|
||||
EXPECT_EQ(1024, arena_2.SpaceAllocated());
|
||||
- EXPECT_EQ(0, arena_2.SpaceUsed());
|
||||
+// EXPECT_EQ(0, arena_2.SpaceUsed());
|
||||
EXPECT_EQ(1024, arena_2.Reset());
|
||||
Arena::CreateArray<char>(&arena_2, 55);
|
||||
EXPECT_EQ(1024, arena_2.SpaceAllocated());
|
||||
- EXPECT_EQ(Align8(55), arena_2.SpaceUsed());
|
||||
+// EXPECT_EQ(Align8(55), arena_2.SpaceUsed());
|
||||
EXPECT_EQ(1024, arena_2.Reset());
|
||||
}
|
||||
|
||||
@@ -1460,11 +1460,11 @@ TEST(ArenaTest, BlockSizeSmallerThanAllocation) {
|
||||
|
||||
*Arena::Create<int64_t>(&arena) = 42;
|
||||
EXPECT_GE(arena.SpaceAllocated(), 8);
|
||||
- EXPECT_EQ(8, arena.SpaceUsed());
|
||||
+// EXPECT_EQ(8, arena.SpaceUsed());
|
||||
|
||||
*Arena::Create<int64_t>(&arena) = 42;
|
||||
EXPECT_GE(arena.SpaceAllocated(), 16);
|
||||
- EXPECT_EQ(16, arena.SpaceUsed());
|
||||
+// EXPECT_EQ(16, arena.SpaceUsed());
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/google/protobuf/extension_set_unittest.cc b/src/google/protobuf/extension_set_unittest.cc
|
||||
index ccd1c9b..f420da3 100644
|
||||
--- a/src/google/protobuf/extension_set_unittest.cc
|
||||
+++ b/src/google/protobuf/extension_set_unittest.cc
|
||||
@@ -871,17 +871,17 @@ TEST(ExtensionSetTest, SpaceUsedExcludingSelf) {
|
||||
} while (0)
|
||||
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(int32, int32_t, 101);
|
||||
- TEST_REPEATED_EXTENSIONS_SPACE_USED(int64, int64_t, 102);
|
||||
+ //TEST_REPEATED_EXTENSIONS_SPACE_USED(int64, int64_t, 102);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(uint32, uint32_t, 103);
|
||||
- TEST_REPEATED_EXTENSIONS_SPACE_USED(uint64, uint64_t, 104);
|
||||
+ //TEST_REPEATED_EXTENSIONS_SPACE_USED(uint64, uint64_t, 104);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(sint32, int32_t, 105);
|
||||
- TEST_REPEATED_EXTENSIONS_SPACE_USED(sint64, int64_t, 106);
|
||||
+ //TEST_REPEATED_EXTENSIONS_SPACE_USED(sint64, int64_t, 106);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(fixed32, uint32_t, 107);
|
||||
- TEST_REPEATED_EXTENSIONS_SPACE_USED(fixed64, uint64_t, 108);
|
||||
+ //TEST_REPEATED_EXTENSIONS_SPACE_USED(fixed64, uint64_t, 108);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(sfixed32, int32_t, 109);
|
||||
- TEST_REPEATED_EXTENSIONS_SPACE_USED(sfixed64, int64_t, 110);
|
||||
+ //TEST_REPEATED_EXTENSIONS_SPACE_USED(sfixed64, int64_t, 110);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(float, float, 111);
|
||||
- TEST_REPEATED_EXTENSIONS_SPACE_USED(double, double, 112);
|
||||
+ //TEST_REPEATED_EXTENSIONS_SPACE_USED(double, double, 112);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(bool, bool, true);
|
||||
TEST_REPEATED_EXTENSIONS_SPACE_USED(nested_enum, int,
|
||||
unittest::TestAllTypes::FOO);
|
||||
diff --git a/src/google/protobuf/wire_format_unittest.inc b/src/google/protobuf/wire_format_unittest.inc
|
||||
index 4c7d047..7906cfa 100644
|
||||
--- a/src/google/protobuf/wire_format_unittest.inc
|
||||
+++ b/src/google/protobuf/wire_format_unittest.inc
|
||||
@@ -1537,6 +1537,7 @@ TEST_F(Utf8ValidationTest, ParseRepeatedString) {
|
||||
|
||||
// Test the old VerifyUTF8String() function, which may still be called by old
|
||||
// generated code.
|
||||
+#if 0
|
||||
TEST_F(Utf8ValidationTest, OldVerifyUTF8String) {
|
||||
std::string data(kInvalidUTF8String);
|
||||
|
||||
@@ -1555,7 +1556,7 @@ TEST_F(Utf8ValidationTest, OldVerifyUTF8String) {
|
||||
WireFormat::SERIALIZE);
|
||||
}
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
|
||||
TEST(RepeatedVarint, Int32) {
|
||||
RepeatedField<int32_t> v;
|
39
user/protobuf/soversion.patch
Normal file
39
user/protobuf/soversion.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/protobuf/-/blob/e93df92fead2d46cc2825a866af3f402d498439c/soversion.patch
|
||||
use an soversion that actually makes sense and not just the full pkgver
|
||||
--
|
||||
diff --git a/cmake/libprotobuf-lite.cmake b/cmake/libprotobuf-lite.cmake
|
||||
index 9b1de677b4f..276c99c489e 100644
|
||||
--- a/cmake/libprotobuf-lite.cmake
|
||||
+++ b/cmake/libprotobuf-lite.cmake
|
||||
@@ -30,6 +30,7 @@ if(protobuf_BUILD_SHARED_LIBS)
|
||||
endif()
|
||||
set_target_properties(libprotobuf-lite PROPERTIES
|
||||
VERSION ${protobuf_VERSION}
|
||||
+ SOVERSION ${protobuf_VERSION_MINOR}
|
||||
OUTPUT_NAME ${LIB_PREFIX}protobuf-lite
|
||||
DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
|
||||
add_library(protobuf::libprotobuf-lite ALIAS libprotobuf-lite)
|
||||
diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake
|
||||
index aa3efc9a68a..0f34d20b97d 100644
|
||||
--- a/cmake/libprotobuf.cmake
|
||||
+++ b/cmake/libprotobuf.cmake
|
||||
@@ -33,6 +33,7 @@ if(protobuf_BUILD_SHARED_LIBS)
|
||||
endif()
|
||||
set_target_properties(libprotobuf PROPERTIES
|
||||
VERSION ${protobuf_VERSION}
|
||||
+ SOVERSION ${protobuf_VERSION_MINOR}
|
||||
OUTPUT_NAME ${LIB_PREFIX}protobuf
|
||||
DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
|
||||
add_library(protobuf::libprotobuf ALIAS libprotobuf)
|
||||
diff --git a/cmake/libprotoc.cmake b/cmake/libprotoc.cmake
|
||||
index 72b4a1abb92..91e8bbeb04e 100644
|
||||
--- a/cmake/libprotoc.cmake
|
||||
+++ b/cmake/libprotoc.cmake
|
||||
@@ -24,6 +24,7 @@ endif()
|
||||
set_target_properties(libprotoc PROPERTIES
|
||||
COMPILE_DEFINITIONS LIBPROTOC_EXPORTS
|
||||
VERSION ${protobuf_VERSION}
|
||||
+ SOVERSION ${protobuf_VERSION_MINOR}
|
||||
OUTPUT_NAME ${LIB_PREFIX}protoc
|
||||
DEBUG_POSTFIX "${protobuf_DEBUG_POSTFIX}")
|
||||
add_library(protobuf::libprotoc ALIAS libprotoc)
|
79
user/protobuf/trim-rakefile.patch
Normal file
79
user/protobuf/trim-rakefile.patch
Normal file
|
@ -0,0 +1,79 @@
|
|||
diff --git a/ruby/Rakefile b/ruby/Rakefile
|
||||
index c05e115..20144b7 100644
|
||||
--- a/ruby/Rakefile
|
||||
+++ b/ruby/Rakefile
|
||||
@@ -1,6 +1,4 @@
|
||||
require "rubygems"
|
||||
-require "rubygems/package_task"
|
||||
-require "rake/extensiontask" unless RUBY_PLATFORM == "java"
|
||||
require "rake/testtask"
|
||||
|
||||
spec = Gem::Specification.load("google-protobuf.gemspec")
|
||||
@@ -95,57 +93,6 @@ else
|
||||
FileUtils.cp(utf8_root+"/range2-neon.c", "ext/google/protobuf_c")
|
||||
FileUtils.cp(utf8_root+"/range2-sse.c", "ext/google/protobuf_c")
|
||||
end
|
||||
-
|
||||
- Rake::ExtensionTask.new("protobuf_c", spec) do |ext|
|
||||
- unless RUBY_PLATFORM =~ /darwin/
|
||||
- # TODO: also set "no_native to true" for mac if possible. As is,
|
||||
- # "no_native" can only be set if the RUBY_PLATFORM doing
|
||||
- # cross-compilation is contained in the "ext.cross_platform" array.
|
||||
- ext.no_native = true
|
||||
- end
|
||||
- ext.ext_dir = "ext/google/protobuf_c"
|
||||
- ext.lib_dir = "lib/google"
|
||||
- ext.cross_compile = true
|
||||
- ext.cross_platform = [
|
||||
- 'x86-mingw32', 'x64-mingw32', 'x64-mingw-ucrt',
|
||||
- 'x86_64-linux', 'x86-linux',
|
||||
- 'x86_64-darwin', 'arm64-darwin',
|
||||
- ]
|
||||
- end
|
||||
-
|
||||
- task 'gem:java' do
|
||||
- sh "rm Gemfile.lock"
|
||||
- require 'rake_compiler_dock'
|
||||
- # Specify the repo root as the working and mount directory to provide access
|
||||
- # to the java directory
|
||||
- repo_root = File.realdirpath File.join(Dir.pwd, '..')
|
||||
- RakeCompilerDock.sh <<-"EOT", platform: 'jruby', rubyvm: :jruby, mountdir: repo_root, workdir: repo_root
|
||||
- sudo apt-get install maven -y && \
|
||||
- cd java && mvn install -Dmaven.test.skip=true && cd ../ruby && \
|
||||
- bundle && \
|
||||
- IN_DOCKER=true rake compile gem
|
||||
- EOT
|
||||
- end
|
||||
-
|
||||
- task 'gem:windows' do
|
||||
- sh "rm Gemfile.lock"
|
||||
- require 'rake_compiler_dock'
|
||||
- ['x86-mingw32', 'x64-mingw32', 'x64-mingw-ucrt', 'x86_64-linux', 'x86-linux'].each do |plat|
|
||||
- RakeCompilerDock.sh <<-"EOT", platform: plat
|
||||
- bundle && \
|
||||
- IN_DOCKER=true rake native:#{plat} pkg/#{spec.full_name}-#{plat}.gem RUBY_CC_VERSION=3.1.0:3.0.0:2.7.0:2.6.0
|
||||
- EOT
|
||||
- end
|
||||
- end
|
||||
-
|
||||
- if RUBY_PLATFORM =~ /darwin/
|
||||
- task 'gem:native' do
|
||||
- system "rake genproto"
|
||||
- system "rake cross native gem RUBY_CC_VERSION=3.1.0:3.0.0:2.7.0:2.6.0"
|
||||
- end
|
||||
- else
|
||||
- task 'gem:native' => [:genproto, 'gem:windows', 'gem:java']
|
||||
- end
|
||||
end
|
||||
|
||||
task :genproto => genproto_output
|
||||
@@ -154,9 +101,6 @@ task :clean do
|
||||
sh "rm -f #{genproto_output.join(' ')}"
|
||||
end
|
||||
|
||||
-Gem::PackageTask.new(spec) do |pkg|
|
||||
-end
|
||||
-
|
||||
# Skip build/genproto in Bazel builds, where we expect this to
|
||||
# be done already.
|
||||
Rake::TestTask.new(:test => ENV['BAZEL'] == 'true' ? [] : [:build, :genproto]) do |t|
|
|
@ -2,7 +2,7 @@
|
|||
# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
|
||||
|
||||
pkgname=rmfakecloud
|
||||
pkgver=0.0.13.2
|
||||
pkgver=0.0.16
|
||||
_gittag=v$pkgver
|
||||
pkgrel=0
|
||||
pkgdesc="A selfhosted cloud for the Remarkable Tablet"
|
||||
|
@ -51,7 +51,7 @@ package() {
|
|||
install -Dm755 "$srcdir"/rmfakecloud.openrc "$pkgdir"/etc/init.d/rmfakecloud
|
||||
}
|
||||
sha512sums="
|
||||
8b7861a93baa070ef6fed65f14d54cd89c7881052ecc950ff19a1361770337bc496c1d5b4c7a44d146e2a0e1af677b92937b1336e8acd825c4ead3d61799bd59 rmfakecloud-0.0.13.2.tar.gz
|
||||
f752aaf22b5904523636fe21e8ed99a1d0a279e36e4b16aaa2a4ae0e0fd4531f0e64f035cec56f2141894e18ce05a732e73aba32a731a93fe8c563520dfe1f6e rmfakecloud-0.0.16.tar.gz
|
||||
d5677cef282085cd6642a034dd258ffa294862aeb0ce81d6485a524a15564849bc4eb90a9d1fa4dbcf4eab69dcd893302aa06493fc8fad74d69200c2bdf246c0 rmfakecloud.conf
|
||||
891d0945886796132f951293e081046334857563b4ebae28a3aa5b6bc37768767c49ce102de645ed8340af2518de606be8bf6ecafeb6d189dd937970aa3e6498 rmfakecloud.openrc
|
||||
"
|
||||
|
|
|
@ -7,8 +7,7 @@ _gittag=v2023.03.0+386
|
|||
_panmirrortag=aea3027882718af657d60221818c3ff35f413219
|
||||
pkgrel=0
|
||||
pkgdesc="A powerful and productive integrated development environment (IDE) for R programming language"
|
||||
# fix later
|
||||
#arch="x86_64"
|
||||
arch="x86_64"
|
||||
url="https://www.rstudio.com/products/rstudio/"
|
||||
license='AGPL3'
|
||||
options="!check" # No testsuite
|
||||
|
|
|
@ -8,8 +8,7 @@ pkgver=2.3.26
|
|||
pkgrel=1
|
||||
pkgdesc="Manage an application's gem dependencies"
|
||||
url="https://bundler.io/"
|
||||
# blocked by ruby3.0
|
||||
#arch="noarch"
|
||||
arch="noarch"
|
||||
license="MIT"
|
||||
depends="ruby3.0"
|
||||
makedepends="ruby3.0-rake"
|
||||
|
|
|
@ -10,8 +10,7 @@ pkgver=5.14.4
|
|||
pkgrel=1
|
||||
pkgdesc="Suite of testing facilities supporting TDD, BDD, mocking, and benchmarking for Ruby"
|
||||
url="https://github.com/seattlerb/minitest"
|
||||
# blocked by ruby3.0
|
||||
#arch="noarch"
|
||||
arch="noarch"
|
||||
license="MIT"
|
||||
depends="ruby3.0"
|
||||
makedepends="ruby3.0-rdoc"
|
||||
|
|
|
@ -10,8 +10,7 @@ pkgver=1.2.0
|
|||
pkgrel=1
|
||||
pkgdesc="Debug tool for Ruby that displays intermediate results of a method chain"
|
||||
url="https://github.com/ruby/power_assert"
|
||||
# blocked by ruby3.0
|
||||
#arch="noarch"
|
||||
arch="noarch"
|
||||
license="BSD-2-Clause AND Ruby"
|
||||
depends="ruby3.0"
|
||||
checkdepends="ruby3.0-pry ruby3.0-rake ruby3.0-test-unit"
|
||||
|
|
|
@ -10,8 +10,7 @@ pkgver=13.0.6
|
|||
pkgrel=1
|
||||
pkgdesc="A Ruby task runner, inspired by make"
|
||||
url="https://github.com/ruby/rake"
|
||||
# blocked by ruby3.0
|
||||
#arch="noarch"
|
||||
arch="noarch"
|
||||
license="MIT"
|
||||
depends="ruby3.0"
|
||||
checkdepends="ruby3.0-minitest"
|
||||
|
|
|
@ -6,8 +6,7 @@ pkgver=1.6.3
|
|||
pkgrel=1
|
||||
pkgdesc="Ruby bindings to libgit2"
|
||||
url="https://github.com/libgit2/rugged"
|
||||
# blocked by ruby3.0
|
||||
#arch="all"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
checkdepends="
|
||||
git
|
||||
|
|
|
@ -10,8 +10,7 @@ pkgver=3.3.8
|
|||
pkgrel=1
|
||||
pkgdesc="An xUnit family unit testing framework for Ruby"
|
||||
url="https://test-unit.github.io"
|
||||
# blocked by ruby3.0
|
||||
#arch="noarch"
|
||||
arch="noarch"
|
||||
license="BSD-2-Clause AND Python-2.0 AND Ruby"
|
||||
depends="ruby3.0 ruby3.0-power_assert"
|
||||
makedepends="ruby3.0-rdoc"
|
||||
|
|
|
@ -9,8 +9,7 @@ pkgver=1.7.0
|
|||
pkgrel=1
|
||||
pkgdesc="HTTP server toolkit for Ruby"
|
||||
url="https://github.com/ruby/webrick"
|
||||
# blocked by ruby3.0
|
||||
#arch="noarch"
|
||||
arch="noarch"
|
||||
license="BSD-2-Clause"
|
||||
depends="ruby3.0"
|
||||
checkdepends="ruby3.0-rake ruby3.0-test-unit"
|
||||
|
|
|
@ -66,8 +66,7 @@ _abiver="${pkgver%.*}.0"
|
|||
pkgrel=0
|
||||
pkgdesc="An object-oriented language for quick and easy programming"
|
||||
url="https://www.ruby-lang.org/"
|
||||
# openssl issues
|
||||
# arch="all"
|
||||
arch="all"
|
||||
license="Ruby AND BSD-2-Clause AND MIT"
|
||||
depends="ca-certificates"
|
||||
depends_dev="
|
||||
|
|
Loading…
Reference in a new issue