aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/perl/APKBUILD6
-rw-r--r--main/perl/musl-locale.patch37
2 files changed, 41 insertions, 2 deletions
diff --git a/main/perl/APKBUILD b/main/perl/APKBUILD
index df9d41f5d32..b2083e55a5e 100644
--- a/main/perl/APKBUILD
+++ b/main/perl/APKBUILD
@@ -3,7 +3,7 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
pkgname=perl
pkgver=5.28.2
-pkgrel=0
+pkgrel=1
pkgdesc="Larry Wall's Practical Extraction and Report Language"
url="http://www.perl.org/"
arch="all"
@@ -14,6 +14,7 @@ depends_dev="perl-utils"
makedepends="bzip2-dev zlib-dev"
subpackages="$pkgname-doc $pkgname-dev $pkgname-utils::noarch miniperl"
source="http://www.cpan.org/src/5.0/perl-$pkgver.tar.gz
+ musl-locale.patch
"
# secfixes:
@@ -159,4 +160,5 @@ utils() {
done
}
-sha512sums="10c6251c8e6d4de81d08f8f0f1b754b62544e41b20bb3c681f1e8aa15d1fb31203fccb4a922bd24f692901f600882d5fd273e5bf211e24df5cbbdb2c01a3e82b perl-5.28.2.tar.gz"
+sha512sums="10c6251c8e6d4de81d08f8f0f1b754b62544e41b20bb3c681f1e8aa15d1fb31203fccb4a922bd24f692901f600882d5fd273e5bf211e24df5cbbdb2c01a3e82b perl-5.28.2.tar.gz
+a78b5fb1a2b6f60b401329cfd2d8349d4fdcc19628cde0e9b840b82e1a02e705f7d7413fe206aa13ed714ab93a65b62ac3d85dfd526ca8048621d5d89b22f0ef musl-locale.patch"
diff --git a/main/perl/musl-locale.patch b/main/perl/musl-locale.patch
new file mode 100644
index 00000000000..65839f1fe75
--- /dev/null
+++ b/main/perl/musl-locale.patch
@@ -0,0 +1,37 @@
+diff --git a/locale.c b/locale.c
+index 7653340..7243cb1 100644
+--- a/locale.c
++++ b/locale.c
+@@ -581,6 +581,10 @@ S_emulate_setlocale(const int category,
+
+ return (char *) querylocale(mask, cur_obj);
+
++# elif defined(_NL_LOCALE_NAME)
++
++ return (char *) nl_langinfo_l(_NL_LOCALE_NAME(category), cur_obj);
++
+ # else
+
+ /* If this assert fails, adjust the size of curlocales in intrpvar.h */
+@@ -737,7 +741,7 @@ S_emulate_setlocale(const int category,
+
+ /* Here, we are switching locales. */
+
+-# ifndef HAS_QUERYLOCALE
++# if !defined(HAS_QUERYLOCALE) && !defined(_NL_LOCALE_NAME)
+
+ if (strEQ(locale, "")) {
+
+@@ -1094,6 +1098,12 @@ S_emulate_setlocale(const int category,
+ locale = querylocale(mask, new_obj);
+ }
+
++# elif defined(_NL_LOCALE_NAME)
++
++ if (strEQ(locale, "")) {
++ locale = nl_langinfo_l(_NL_LOCALE_NAME(category), new_obj);
++ }
++
+ # else
+
+ /* Here, 'locale' is the return value */