diff options
-rw-r--r-- | main/perl/APKBUILD | 6 | ||||
-rw-r--r-- | main/perl/musl-locale.patch | 37 |
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 */ |