[arch-commits] Commit in dotnet-core/trunk (8 files)
Maxime Gauduin
alucryd at archlinux.org
Sun Mar 14 16:16:42 UTC 2021
Date: Sunday, March 14, 2021 @ 16:16:41
Author: alucryd
Revision: 891225
upgpkg: dotnet-core 5.0.3.sdk103-1
Added:
dotnet-core/trunk/0000-runtime-link-order.patch
dotnet-core/trunk/9999-runtime-libicu-68.patch
dotnet-core/trunk/dotnet-source-build-arch-rid.patch
dotnet-core/trunk/dotnet-source-build-fixup-runtime-link-order.patch
Modified:
dotnet-core/trunk/PKGBUILD
Deleted:
dotnet-core/trunk/9999-Add-arch-RIDs.patch
dotnet-core/trunk/9999-Fix-build-clang-10.patch
dotnet-core/trunk/9999-Fix-versionless-RID-computation.patch
----------------------------------------------------+
0000-runtime-link-order.patch | 20
9999-Add-arch-RIDs.patch | 91 -
9999-Fix-build-clang-10.patch | 13
9999-Fix-versionless-RID-computation.patch | 13
9999-runtime-libicu-68.patch | 1033 +++++++++++++++++++
PKGBUILD | 110 +-
dotnet-source-build-arch-rid.patch | 11
dotnet-source-build-fixup-runtime-link-order.patch | 14
8 files changed, 1149 insertions(+), 156 deletions(-)
Added: 0000-runtime-link-order.patch
===================================================================
--- 0000-runtime-link-order.patch (rev 0)
+++ 0000-runtime-link-order.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -0,0 +1,20 @@
+--- a/src/installer/corehost/cli/apphost/static/CMakeLists.txt
++++ b/src/installer/corehost/cli/apphost/static/CMakeLists.txt
+@@ -204,11 +204,12 @@ target_link_libraries(singlefilehost
+ libhostcommon
+ ${CORECLR_LIBRARIES}
+
+- ${ZLIB_LIBRARIES}
+- ${LIBGSS}
+- ${NATIVE_LIBS_EXTRA}
+-
+ ${START_WHOLE_ARCHIVE}
+ ${NATIVE_LIBS}
+ ${END_WHOLE_ARCHIVE}
++
++ ${ZLIB_LIBRARIES}
++ ${LIBGSS}
++ ${NATIVE_LIBS_EXTRA}
++
+ )
+
Deleted: 9999-Add-arch-RIDs.patch
===================================================================
--- 9999-Add-arch-RIDs.patch 2021-03-14 16:15:48 UTC (rev 891224)
+++ 9999-Add-arch-RIDs.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -1,91 +0,0 @@
-From c70ef244c862e8e13ff6552ee829e968186e0f45 Mon Sep 17 00:00:00 2001
-From: Omair Majid <omajid at redhat.com>
-Date: Fri, 8 Nov 2019 21:01:11 -0500
-Subject: [PATCH] Add runtime id for Arch Linux
-
-Like gentoo, Arch Linux is a rolling release and doesn't have explicit
-version numbers.
-
- $ cat /etc/os-release
- NAME="Arch Linux"
- PRETTY_NAME="Arch Linux"
- ID=arch
- BUILD_ID=rolling
- ANSI_COLOR="0;36"
- HOME_URL="https://www.archlinux.org/"
- DOCUMENTATION_URL="https://wiki.archlinux.org/"
- SUPPORT_URL="https://bbs.archlinux.org/"
- BUG_REPORT_URL="https://bugs.archlinux.org/"
- LOGO=archlinux
----
- .../runtime.compatibility.json | 17 +++++++++++++++++
- .../Microsoft.NETCore.Platforms/runtime.json | 11 +++++++++++
- .../runtimeGroups.props | 5 +++++
- 3 files changed, 33 insertions(+)
-
-diff --git a/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json b/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
-index 2a196ecc9fc7..d273634527ef 100644
---- a/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
-+++ b/pkg/Microsoft.NETCore.Platforms/runtime.compatibility.json
-@@ -270,6 +270,23 @@
- "any",
- "base"
- ],
-+ "arch": [
-+ "arch",
-+ "linux",
-+ "unix",
-+ "any",
-+ "base"
-+ ],
-+ "arch-x64": [
-+ "arch-x64",
-+ "arch",
-+ "linux-x64",
-+ "linux",
-+ "unix-x64",
-+ "unix",
-+ "any",
-+ "base"
-+ ],
- "base": [
- "base"
- ],
-diff --git a/pkg/Microsoft.NETCore.Platforms/runtime.json b/pkg/Microsoft.NETCore.Platforms/runtime.json
-index e70f2da7e668..5b2f70f44b9e 100644
---- a/pkg/Microsoft.NETCore.Platforms/runtime.json
-+++ b/pkg/Microsoft.NETCore.Platforms/runtime.json
-@@ -121,6 +121,17 @@
- "any"
- ]
- },
-+ "arch": {
-+ "#import": [
-+ "linux"
-+ ]
-+ },
-+ "arch-x64": {
-+ "#import": [
-+ "arch",
-+ "linux-x64"
-+ ]
-+ },
- "base": {
- "#import": []
- },
-diff --git a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props b/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
-index 6c95b67819be..aa31cac61f34 100644
---- a/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
-+++ b/pkg/Microsoft.NETCore.Platforms/runtimeGroups.props
-@@ -25,6 +25,11 @@
- <Versions>21</Versions>
- </RuntimeGroup>
-
-+ <RuntimeGroup Include="arch">
-+ <Parent>linux</Parent>
-+ <Architectures>x64</Architectures>
-+ </RuntimeGroup>
-+
- <RuntimeGroup Include="centos">
- <Parent>rhel</Parent>
- <Architectures>x64</Architectures>
Deleted: 9999-Fix-build-clang-10.patch
===================================================================
--- 9999-Fix-build-clang-10.patch 2021-03-14 16:15:48 UTC (rev 891224)
+++ 9999-Fix-build-clang-10.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -1,13 +0,0 @@
-diff -rupN corefx.620cea9ccf0359993e803c900059932966399584.orig/src/Native/Unix/CMakeLists.txt corefx.620cea9ccf0359993e803c900059932966399584/src/Native/Unix/CMakeLists.txt
---- corefx.620cea9ccf0359993e803c900059932966399584.orig/src/Native/Unix/CMakeLists.txt 2020-06-23 18:07:14.111464986 +0200
-+++ corefx.620cea9ccf0359993e803c900059932966399584/src/Native/Unix/CMakeLists.txt 2020-06-23 18:08:56.147153789 +0200
-@@ -18,6 +18,8 @@ add_compile_options(-Wno-empty-translati
- add_compile_options(-Wno-cast-align)
- add_compile_options(-Wno-typedef-redefinition)
- add_compile_options(-Wno-c11-extensions)
-+add_compile_options(-Wno-sign-conversion)
-+add_compile_options(-Wno-unused-result)
- add_compile_options(-fPIC)
- add_compile_options(-I${CMAKE_CURRENT_SOURCE_DIR}/Common)
- add_compile_options(-I${CMAKE_CURRENT_BINARY_DIR}/Common)
-
Deleted: 9999-Fix-versionless-RID-computation.patch
===================================================================
--- 9999-Fix-versionless-RID-computation.patch 2021-03-14 16:15:48 UTC (rev 891224)
+++ 9999-Fix-versionless-RID-computation.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -1,13 +0,0 @@
-diff --git a/src/corehost/build.sh b/src/corehost/build.sh
-index fb503e74..9a6ec590 100755
---- a/src/corehost/build.sh
-+++ b/src/corehost/build.sh
-@@ -25,7 +25,7 @@ init_rid_plat()
- # remove the last version number
- VERSION_ID=${VERSION_ID%.*}
- fi
-- __rid_plat="$ID.$VERSION_ID"
-+ __rid_plat="$ID${VERSION_ID:+.$VERSION_ID}"
- if [[ "$ID" == "alpine" ]]; then
- __rid_plat="linux-musl"
- fi
Added: 9999-runtime-libicu-68.patch
===================================================================
--- 9999-runtime-libicu-68.patch (rev 0)
+++ 9999-runtime-libicu-68.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -0,0 +1,1033 @@
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c
+index e7960716ea0..709b27328df 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_calendarData.c
+@@ -2,6 +2,7 @@
+ // The .NET Foundation licenses this file to you under the MIT license.
+
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "pal_locale_internal.h"
+@@ -126,8 +127,8 @@ int32_t GlobalizationNative_GetCalendars(
+ {
+ UErrorCode err = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &err);
+- UEnumeration* pEnum = ucal_getKeywordValuesForLocale("calendar", locale, TRUE, &err);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &err);
++ UEnumeration* pEnum = ucal_getKeywordValuesForLocale("calendar", locale, true, &err);
+ int stringEnumeratorCount = uenum_count(pEnum, &err);
+ int calendarsReturned = 0;
+ for (int i = 0; i < stringEnumeratorCount && calendarsReturned < calendarsCapacity; i++)
+@@ -197,7 +198,7 @@ ResultCode GlobalizationNative_GetCalendarInfo(
+ {
+ UErrorCode err = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &err);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &err);
+
+ if (U_FAILURE(err))
+ return UnknownError;
+@@ -209,7 +210,7 @@ ResultCode GlobalizationNative_GetCalendarInfo(
+ case CalendarData_MonthDay:
+ return GetMonthDayPattern(locale, result, resultCapacity);
+ default:
+- assert(FALSE);
++ assert(false);
+ return UnknownError;
+ }
+ }
+@@ -230,19 +231,19 @@ static int InvokeCallbackForDatePattern(const char* locale,
+ UDateFormat* pFormat = udat_open(UDAT_NONE, style, locale, NULL, 0, NULL, 0, &err);
+
+ if (U_FAILURE(err))
+- return FALSE;
++ return false;
+
+ UErrorCode ignore = U_ZERO_ERROR;
+- int32_t patternLen = udat_toPattern(pFormat, FALSE, NULL, 0, &ignore) + 1;
++ int32_t patternLen = udat_toPattern(pFormat, false, NULL, 0, &ignore) + 1;
+
+ UChar* pattern = (UChar*)calloc((size_t)patternLen, sizeof(UChar));
+ if (pattern == NULL)
+ {
+ udat_close(pFormat);
+- return FALSE;
++ return false;
+ }
+
+- udat_toPattern(pFormat, FALSE, pattern, patternLen, &err);
++ udat_toPattern(pFormat, false, pattern, patternLen, &err);
+ udat_close(pFormat);
+
+ if (U_SUCCESS(err))
+@@ -270,7 +271,7 @@ static int InvokeCallbackForDateTimePattern(const char* locale,
+ UDateTimePatternGenerator* pGenerator = udatpg_open(locale, &err);
+
+ if (U_FAILURE(err))
+- return FALSE;
++ return false;
+
+ UErrorCode ignore = U_ZERO_ERROR;
+ int32_t patternLen = udatpg_getBestPattern(pGenerator, patternSkeleton, -1, NULL, 0, &ignore) + 1;
+@@ -279,7 +280,7 @@ static int InvokeCallbackForDateTimePattern(const char* locale,
+ if (bestPattern == NULL)
+ {
+ udatpg_close(pGenerator);
+- return FALSE;
++ return false;
+ }
+
+ udatpg_getBestPattern(pGenerator, patternSkeleton, -1, bestPattern, patternLen, &err);
+@@ -312,7 +313,7 @@ static int32_t EnumSymbols(const char* locale,
+ UDateFormat* pFormat = udat_open(UDAT_DEFAULT, UDAT_DEFAULT, locale, NULL, 0, NULL, 0, &err);
+
+ if (U_FAILURE(err))
+- return FALSE;
++ return false;
+
+ char localeWithCalendarName[ULOC_FULLNAME_CAPACITY];
+ STRING_COPY(localeWithCalendarName, sizeof(localeWithCalendarName), locale);
+@@ -324,7 +325,7 @@ static int32_t EnumSymbols(const char* locale,
+ if (U_FAILURE(err))
+ {
+ udat_close(pFormat);
+- return FALSE;
++ return false;
+ }
+
+ udat_setCalendar(pFormat, pCalendar);
+@@ -424,7 +425,7 @@ static int32_t EnumAbbrevEraNames(const char* locale,
+ char* parentNamePtr = parentNameBuf;
+ STRING_COPY(localeNamePtr, sizeof(localeNameBuf), locale);
+
+- while (TRUE)
++ while (true)
+ {
+ UErrorCode status = U_ZERO_ERROR;
+ const char* name = GetCalendarName(calendarId);
+@@ -439,7 +440,7 @@ static int32_t EnumAbbrevEraNames(const char* locale,
+ {
+ EnumUResourceBundle(erasResBundle, callback, context);
+ CloseResBundle(rootResBundle, calResBundle, targetCalResBundle, erasColResBundle, erasResBundle);
+- return TRUE;
++ return true;
+ }
+
+ // Couldn't find the data we need for this locale, we should fallback.
+@@ -492,10 +493,10 @@ int32_t GlobalizationNative_EnumCalendarInfo(EnumCalendarInfoCallback callback,
+ {
+ UErrorCode err = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &err);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &err);
+
+ if (U_FAILURE(err))
+- return FALSE;
++ return false;
+
+ switch (dataType)
+ {
+@@ -536,8 +537,8 @@ int32_t GlobalizationNative_EnumCalendarInfo(EnumCalendarInfoCallback callback,
+ case CalendarData_AbbrevEraNames:
+ return EnumAbbrevEraNames(locale, calendarId, callback, context);
+ default:
+- assert(FALSE);
+- return FALSE;
++ assert(false);
++ return false;
+ }
+ }
+
+@@ -581,7 +582,7 @@ int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era,
+ UCalendar* pCal = ucal_open(NULL, 0, JAPANESE_LOCALE_AND_CALENDAR, UCAL_TRADITIONAL, &err);
+
+ if (U_FAILURE(err))
+- return FALSE;
++ return false;
+
+ ucal_set(pCal, UCAL_ERA, era);
+ ucal_set(pCal, UCAL_YEAR, 1);
+@@ -591,7 +592,7 @@ int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era,
+ if (U_FAILURE(err))
+ {
+ ucal_close(pCal);
+- return FALSE;
++ return false;
+ }
+
+ // set the date to Jan 1
+@@ -628,5 +629,5 @@ int32_t GlobalizationNative_GetJapaneseEraStartDate(int32_t era,
+ }
+
+ ucal_close(pCal);
+- return FALSE;
++ return false;
+ }
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c
+index ceca03b53f5..aad75f64da7 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c
+@@ -3,6 +3,7 @@
+ //
+
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdint.h>
+
+ #include "pal_icushim_internal.h"
+@@ -34,7 +35,7 @@ void GlobalizationNative_ChangeCase(
+ // compiler wasn't doing that optimization, and it results in an ~15-20% perf
+ // improvement on longer strings.)
+
+- UBool isError = FALSE;
++ UBool isError = false;
+ (void)isError; // only used for assert
+ int32_t srcIdx = 0, dstIdx = 0;
+ UChar32 srcCodepoint, dstCodepoint;
+@@ -46,7 +47,7 @@ void GlobalizationNative_ChangeCase(
+ U16_NEXT(lpSrc, srcIdx, cwSrcLength, srcCodepoint);
+ dstCodepoint = u_toupper(srcCodepoint);
+ U16_APPEND(lpDst, dstIdx, cwDstLength, dstCodepoint, isError);
+- assert(isError == FALSE && srcIdx == dstIdx);
++ assert(isError == false && srcIdx == dstIdx);
+ }
+ }
+ else
+@@ -56,7 +57,7 @@ void GlobalizationNative_ChangeCase(
+ U16_NEXT(lpSrc, srcIdx, cwSrcLength, srcCodepoint);
+ dstCodepoint = u_tolower(srcCodepoint);
+ U16_APPEND(lpDst, dstIdx, cwDstLength, dstCodepoint, isError);
+- assert(isError == FALSE && srcIdx == dstIdx);
++ assert(isError == false && srcIdx == dstIdx);
+ }
+ }
+ }
+@@ -74,7 +75,7 @@ void GlobalizationNative_ChangeCaseInvariant(
+ {
+ // See algorithmic comment in ChangeCase.
+
+- UBool isError = FALSE;
++ UBool isError = false;
+ (void)isError; // only used for assert
+ int32_t srcIdx = 0, dstIdx = 0;
+ UChar32 srcCodepoint, dstCodepoint;
+@@ -89,7 +90,7 @@ void GlobalizationNative_ChangeCaseInvariant(
+ U16_NEXT(lpSrc, srcIdx, cwSrcLength, srcCodepoint);
+ dstCodepoint = ((srcCodepoint == (UChar32)0x0131) ? (UChar32)0x0131 : u_toupper(srcCodepoint));
+ U16_APPEND(lpDst, dstIdx, cwDstLength, dstCodepoint, isError);
+- assert(isError == FALSE && srcIdx == dstIdx);
++ assert(isError == false && srcIdx == dstIdx);
+ }
+ }
+ else
+@@ -102,7 +103,7 @@ void GlobalizationNative_ChangeCaseInvariant(
+ U16_NEXT(lpSrc, srcIdx, cwSrcLength, srcCodepoint);
+ dstCodepoint = ((srcCodepoint == (UChar32)0x0130) ? (UChar32)0x0130 : u_tolower(srcCodepoint));
+ U16_APPEND(lpDst, dstIdx, cwDstLength, dstCodepoint, isError);
+- assert(isError == FALSE && srcIdx == dstIdx);
++ assert(isError == false && srcIdx == dstIdx);
+ }
+ }
+ }
+@@ -119,7 +120,7 @@ void GlobalizationNative_ChangeCaseTurkish(
+ {
+ // See algorithmic comment in ChangeCase.
+
+- UBool isError = FALSE;
++ UBool isError = false;
+ (void)isError; // only used for assert
+ int32_t srcIdx = 0, dstIdx = 0;
+ UChar32 srcCodepoint, dstCodepoint;
+@@ -133,7 +134,7 @@ void GlobalizationNative_ChangeCaseTurkish(
+ U16_NEXT(lpSrc, srcIdx, cwSrcLength, srcCodepoint);
+ dstCodepoint = ((srcCodepoint == (UChar32)0x0069) ? (UChar32)0x0130 : u_toupper(srcCodepoint));
+ U16_APPEND(lpDst, dstIdx, cwDstLength, dstCodepoint, isError);
+- assert(isError == FALSE && srcIdx == dstIdx);
++ assert(isError == false && srcIdx == dstIdx);
+ }
+ }
+ else
+@@ -145,7 +146,7 @@ void GlobalizationNative_ChangeCaseTurkish(
+ U16_NEXT(lpSrc, srcIdx, cwSrcLength, srcCodepoint);
+ dstCodepoint = ((srcCodepoint == (UChar32)0x0049) ? (UChar32)0x0131 : u_tolower(srcCodepoint));
+ U16_APPEND(lpDst, dstIdx, cwDstLength, dstCodepoint, isError);
+- assert(isError == FALSE && srcIdx == dstIdx);
++ assert(isError == false && srcIdx == dstIdx);
+ }
+ }
+ }
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c
+index 72077cfffc3..56daec02a2b 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_collation.c
+@@ -311,10 +311,10 @@ static UCollator* CloneCollatorWithOptions(const UCollator* pCollator, int32_t o
+ return pClonedCollator;
+ }
+
+-// Returns TRUE if all the collation elements in str are completely ignorable
++// Returns true if all the collation elements in str are completely ignorable
+ static int CanIgnoreAllCollationElements(const UCollator* pColl, const UChar* lpStr, int32_t length)
+ {
+- int result = TRUE;
++ int result = true;
+ UErrorCode err = U_ZERO_ERROR;
+ UCollationElements* pCollElem = ucol_openElements(pColl, lpStr, length, &err);
+
+@@ -325,7 +325,7 @@ static int CanIgnoreAllCollationElements(const UCollator* pColl, const UChar* lp
+ {
+ if (curCollElem != UCOL_IGNORABLE)
+ {
+- result = FALSE;
++ result = false;
+ break;
+ }
+ }
+@@ -333,7 +333,7 @@ static int CanIgnoreAllCollationElements(const UCollator* pColl, const UChar* lp
+ ucol_closeElements(pCollElem);
+ }
+
+- return U_SUCCESS(err) ? result : FALSE;
++ return U_SUCCESS(err) ? result : false;
+ }
+
+ static void CreateSortHandle(SortHandle** ppSortHandle)
+@@ -425,7 +425,7 @@ int32_t GlobalizationNative_GetSortVersion(SortHandle* pSortHandle)
+ }
+ else
+ {
+- assert(FALSE && "Unexpected ucol_getVersion to fail.");
++ assert(false && "Unexpected ucol_getVersion to fail.");
+ }
+ return result;
+ }
+@@ -591,7 +591,7 @@ static int AreEqualOrdinalIgnoreCase(UChar32 one, UChar32 two)
+
+ if (one == two)
+ {
+- return TRUE;
++ return true;
+ }
+
+ if (one == 0x0131 || two == 0x0131)
+@@ -599,7 +599,7 @@ static int AreEqualOrdinalIgnoreCase(UChar32 one, UChar32 two)
+ // On Windows with InvariantCulture, the LATIN SMALL LETTER DOTLESS I (U+0131)
+ // capitalizes to itself, whereas with ICU it capitalizes to LATIN CAPITAL LETTER I (U+0049).
+ // We special case it to match the Windows invariant behavior.
+- return FALSE;
++ return false;
+ }
+
+ return u_toupper(one) == u_toupper(two);
+@@ -639,13 +639,13 @@ static int32_t inline SimpleAffix_Iterators(UCollationElements* pPatternIterator
+ assert(strength >= UCOL_SECONDARY);
+
+ UErrorCode errorCode = U_ZERO_ERROR;
+- int32_t movePattern = TRUE, moveSource = TRUE;
++ int32_t movePattern = true, moveSource = true;
+ int32_t patternElement = UCOL_IGNORABLE, sourceElement = UCOL_IGNORABLE;
+ int32_t capturedOffset = 0;
+
+ int32_t collationElementMask = GetCollationElementMask(strength);
+
+- while (TRUE)
++ while (true)
+ {
+ if (movePattern)
+ {
+@@ -659,7 +659,7 @@ static int32_t inline SimpleAffix_Iterators(UCollationElements* pPatternIterator
+ }
+ sourceElement = forwardSearch ? ucol_next(pSourceIterator, &errorCode) : ucol_previous(pSourceIterator, &errorCode);
+ }
+- movePattern = TRUE; moveSource = TRUE;
++ movePattern = true; moveSource = true;
+
+ if (patternElement == UCOL_NULLORDER)
+ {
+@@ -673,7 +673,7 @@ static int32_t inline SimpleAffix_Iterators(UCollationElements* pPatternIterator
+ }
+ else if (forwardSearch && ((sourceElement & UCOL_PRIMARYORDERMASK) == 0) && (sourceElement & UCOL_SECONDARYORDERMASK) != 0)
+ {
+- return FALSE; // the next character in source text is a combining character, an example: "o\u0308".StartsWith("o")
++ return false; // the next character in source text is a combining character, an example: "o\u0308".StartsWith("o")
+ }
+ else
+ {
+@@ -682,15 +682,15 @@ static int32_t inline SimpleAffix_Iterators(UCollationElements* pPatternIterator
+ }
+ else if (patternElement == UCOL_IGNORABLE)
+ {
+- moveSource = FALSE;
++ moveSource = false;
+ }
+ else if (sourceElement == UCOL_IGNORABLE)
+ {
+- movePattern = FALSE;
++ movePattern = false;
+ }
+ else if ((patternElement & collationElementMask) != (sourceElement & collationElementMask))
+ {
+- return FALSE;
++ return false;
+ }
+ }
+
+@@ -699,12 +699,12 @@ ReturnTrue:
+ {
+ *pCapturedOffset = capturedOffset;
+ }
+- return TRUE;
++ return true;
+ }
+
+ static int32_t SimpleAffix(const UCollator* pCollator, UErrorCode* pErrorCode, const UChar* pPattern, int32_t patternLength, const UChar* pText, int32_t textLength, int32_t forwardSearch, int32_t* pMatchedLength)
+ {
+- int32_t result = FALSE;
++ int32_t result = false;
+
+ UCollationElements* pPatternIterator = ucol_openElements(pCollator, pPattern, patternLength, pErrorCode);
+ if (U_SUCCESS(*pErrorCode))
+@@ -735,7 +735,7 @@ static int32_t SimpleAffix(const UCollator* pCollator, UErrorCode* pErrorCode, c
+
+ static int32_t ComplexStartsWith(const UCollator* pCollator, UErrorCode* pErrorCode, const UChar* pPattern, int32_t patternLength, const UChar* pText, int32_t textLength, int32_t* pMatchedLength)
+ {
+- int32_t result = FALSE;
++ int32_t result = false;
+
+ UStringSearch* pSearch = usearch_openFromCollator(pPattern, patternLength, pText, textLength, pCollator, NULL, pErrorCode);
+ if (U_SUCCESS(*pErrorCode))
+@@ -745,7 +745,7 @@ static int32_t ComplexStartsWith(const UCollator* pCollator, UErrorCode* pErrorC
+ {
+ if (idx == 0)
+ {
+- result = TRUE;
++ result = true;
+ }
+ else
+ {
+@@ -782,7 +782,7 @@ int32_t GlobalizationNative_StartsWith(
+
+ if (!U_SUCCESS(err))
+ {
+- return FALSE;
++ return false;
+ }
+ else if (options > CompareOptionsIgnoreCase)
+ {
+@@ -790,13 +790,13 @@ int32_t GlobalizationNative_StartsWith(
+ }
+ else
+ {
+- return SimpleAffix(pCollator, &err, lpTarget, cwTargetLength, lpSource, cwSourceLength, TRUE, pMatchedLength);
++ return SimpleAffix(pCollator, &err, lpTarget, cwTargetLength, lpSource, cwSourceLength, true, pMatchedLength);
+ }
+ }
+
+ static int32_t ComplexEndsWith(const UCollator* pCollator, UErrorCode* pErrorCode, const UChar* pPattern, int32_t patternLength, const UChar* pText, int32_t textLength, int32_t* pMatchedLength)
+ {
+- int32_t result = FALSE;
++ int32_t result = false;
+
+ UStringSearch* pSearch = usearch_openFromCollator(pPattern, patternLength, pText, textLength, pCollator, NULL, pErrorCode);
+ if (U_SUCCESS(*pErrorCode))
+@@ -809,7 +809,7 @@ static int32_t ComplexEndsWith(const UCollator* pCollator, UErrorCode* pErrorCod
+
+ if (matchEnd == textLength)
+ {
+- result = TRUE;
++ result = true;
+ }
+ else
+ {
+@@ -848,7 +848,7 @@ int32_t GlobalizationNative_EndsWith(
+
+ if (!U_SUCCESS(err))
+ {
+- return FALSE;
++ return false;
+ }
+ else if (options > CompareOptionsIgnoreCase)
+ {
+@@ -856,7 +856,7 @@ int32_t GlobalizationNative_EndsWith(
+ }
+ else
+ {
+- return SimpleAffix(pCollator, &err, lpTarget, cwTargetLength, lpSource, cwSourceLength, FALSE, pMatchedLength);
++ return SimpleAffix(pCollator, &err, lpTarget, cwTargetLength, lpSource, cwSourceLength, false, pMatchedLength);
+ }
+ }
+
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c
+index 43e1d4fb370..99a7899b848 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim.c
+@@ -2,6 +2,7 @@
+ // The .NET Foundation licenses this file to you under the MIT license.
+ //
+
++#include <stdbool.h>
+ #include <stdlib.h>
+ #include "pal_icushim_internal.h"
+
+@@ -58,7 +59,7 @@ static int FindSymbolVersion(int majorVer, int minorVer, int subVer, char* symbo
+ if (dlsym(libicuuc, symbolName) == NULL)
+ {
+ if (minorVer == -1)
+- return FALSE;
++ return false;
+
+ // Now try the _majorVer_minorVer added
+ sprintf(symbolVersion, "_%d_%d%s", majorVer, minorVer, suffix);
+@@ -66,20 +67,20 @@ static int FindSymbolVersion(int majorVer, int minorVer, int subVer, char* symbo
+ if (dlsym(libicuuc, symbolName) == NULL)
+ {
+ if (subVer == -1)
+- return FALSE;
++ return false;
+
+ // Finally, try the _majorVer_minorVer_subVer added
+ sprintf(symbolVersion, "_%d_%d_%d%s", majorVer, minorVer, subVer, suffix);
+ sprintf(symbolName, "u_strlen%s", symbolVersion);
+ if (dlsym(libicuuc, symbolName) == NULL)
+ {
+- return FALSE;
++ return false;
+ }
+ }
+ }
+ }
+
+- return TRUE;
++ return true;
+ }
+
+ #endif // TARGET_UNIX
+@@ -98,12 +99,12 @@ static int FindICULibs()
+ libicuuc = LoadLibraryExW(L"icu.dll", NULL, LOAD_LIBRARY_SEARCH_SYSTEM32);
+ if (libicuuc == NULL)
+ {
+- return FALSE;
++ return false;
+ }
+
+ // Windows has a single dll for icu.
+ libicui18n = libicuuc;
+- return TRUE;
++ return true;
+ }
+
+ static int FindSymbolVersion(int majorVer, int minorVer, int subVer, char* symbolName, char* symbolVersion, char* suffix)
+@@ -119,7 +120,7 @@ static int FindSymbolVersion(int majorVer, int minorVer, int subVer, char* symbo
+ if (GetProcAddress(lib, symbolName) == NULL)
+ {
+ if (minorVer == -1)
+- return FALSE;
++ return false;
+
+ // Now try the _majorVer_minorVer added
+ sprintf_s(symbolVersion, MaxICUVersionStringWithSuffixLength, "_%d_%d%s", majorVer, minorVer, suffix);
+@@ -127,19 +128,19 @@ static int FindSymbolVersion(int majorVer, int minorVer, int subVer, char* symbo
+ if (GetProcAddress(lib, symbolName) == NULL)
+ {
+ if (subVer == -1)
+- return FALSE;
++ return false;
+ // Finally, try the _majorVer_minorVer_subVer added
+ sprintf_s(symbolVersion, MaxICUVersionStringWithSuffixLength, "_%d_%d_%d%s", majorVer, minorVer, subVer, suffix);
+ sprintf_s(symbolName, SYMBOL_NAME_SIZE, "u_strlen%s", symbolVersion);
+ if (GetProcAddress(lib, symbolName) == NULL)
+ {
+- return FALSE;
++ return false;
+ }
+ }
+ }
+ }
+
+- return TRUE;
++ return true;
+ }
+
+ #elif defined(TARGET_OSX)
+@@ -155,13 +156,13 @@ static int FindICULibs()
+
+ if (libicuuc == NULL)
+ {
+- return FALSE;
++ return false;
+ }
+
+ // in OSX all ICU APIs exist in the same library libicucore.A.dylib
+ libicui18n = libicuuc;
+
+- return TRUE;
++ return true;
+ }
+
+ #elif defined(TARGET_ANDROID)
+@@ -176,14 +177,14 @@ static int FindICULibs(char* symbolName, char* symbolVersion)
+
+ if (libicui18n == NULL)
+ {
+- return FALSE;
++ return false;
+ }
+
+ libicuuc = dlopen("libicuuc.so", RTLD_LAZY);
+
+ if (libicuuc == NULL)
+ {
+- return FALSE;
++ return false;
+ }
+
+ char symbolSuffix[SYMBOL_CUSTOM_SUFFIX_SIZE]="";
+@@ -191,12 +192,12 @@ static int FindICULibs(char* symbolName, char* symbolVersion)
+ {
+ if (FindSymbolVersion(i, -1, -1, symbolName, symbolVersion, symbolSuffix))
+ {
+- return TRUE;
++ return true;
+ }
+ }
+
+ fprintf(stderr, "Cannot determine ICU version.");
+- return FALSE;
++ return false;
+ }
+
+ #else // !TARGET_WINDOWS && !TARGET_OSX && !TARGET_ANDROID
+@@ -290,12 +291,12 @@ static int FindLibUsingOverride(const char* versionPrefix, char* symbolName, cha
+ {
+ if (OpenICULibraries(first, second, third, versionPrefix, symbolName, symbolVersion))
+ {
+- return TRUE;
++ return true;
+ }
+ }
+ }
+
+- return FALSE;
++ return false;
+ }
+
+ // Search for library files with names including the major version.
+@@ -309,11 +310,11 @@ static int FindLibWithMajorVersion(const char* versionPrefix, char* symbolName,
+ {
+ if (OpenICULibraries(i, -1, -1, versionPrefix, symbolName, symbolVersion))
+ {
+- return TRUE;
++ return true;
+ }
+ }
+
+- return FALSE;
++ return false;
+ }
+
+ // Select the highest supported version of ICU present on the local machine
+@@ -326,12 +327,12 @@ static int FindLibWithMajorMinorVersion(const char* versionPrefix, char* symbolN
+ {
+ if (OpenICULibraries(i, j, -1, versionPrefix, symbolName, symbolVersion))
+ {
+- return TRUE;
++ return true;
+ }
+ }
+ }
+
+- return FALSE;
++ return false;
+ }
+
+ // Select the highest supported version of ICU present on the local machine
+@@ -346,13 +347,13 @@ static int FindLibWithMajorMinorSubVersion(const char* versionPrefix, char* symb
+ {
+ if (OpenICULibraries(i, j, k, versionPrefix, symbolName, symbolVersion))
+ {
+- return TRUE;
++ return true;
+ }
+ }
+ }
+ }
+
+- return FALSE;
++ return false;
+ }
+
+
+@@ -392,27 +393,27 @@ int32_t GlobalizationNative_LoadICU()
+
+ if (!FindICULibs())
+ {
+- return FALSE;
++ return false;
+ }
+
+ #elif defined(TARGET_ANDROID)
+ if (!FindICULibs(symbolName, symbolVersion))
+ {
+- return FALSE;
++ return false;
+ }
+ #else
+ if (!FindICULibs(VERSION_PREFIX_NONE, symbolName, symbolVersion))
+ {
+ if (!FindICULibs(VERSION_PREFIX_SUSE, symbolName, symbolVersion))
+ {
+- return FALSE;
++ return false;
+ }
+ }
+ #endif // TARGET_WINDOWS || TARGET_OSX
+
+ FOR_ALL_ICU_FUNCTIONS
+ ValidateICUDataCanLoad();
+- return TRUE;
++ return true;
+ }
+
+ void GlobalizationNative_InitICUFunctions(void* icuuc, void* icuin, const char* version, const char* suffix)
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c
+index a96d5d955b2..2f933b32a01 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_locale.c
+@@ -3,6 +3,7 @@
+ //
+
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdint.h>
+ #include <string.h>
+ #include <stdlib.h>
+@@ -15,7 +16,7 @@ int32_t UErrorCodeToBool(UErrorCode status)
+ {
+ if (U_SUCCESS(status))
+ {
+- return TRUE;
++ return true;
+ }
+
+ // assert errors that should never occur
+@@ -24,7 +25,7 @@ int32_t UErrorCodeToBool(UErrorCode status)
+
+ // add possible SetLastError support here
+
+- return FALSE;
++ return false;
+ }
+
+ int32_t GetLocale(const UChar* localeName,
+@@ -193,7 +194,7 @@ int32_t GlobalizationNative_GetLocaleName(const UChar* localeName, UChar* value,
+ UErrorCode status = U_ZERO_ERROR;
+
+ char localeNameBuffer[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, localeNameBuffer, ULOC_FULLNAME_CAPACITY, TRUE, &status);
++ GetLocale(localeName, localeNameBuffer, ULOC_FULLNAME_CAPACITY, true, &status);
+ u_charsToUChars_safe(localeNameBuffer, value, valueLength, &status);
+
+ if (U_SUCCESS(status))
+@@ -234,17 +235,17 @@ int32_t GlobalizationNative_GetDefaultLocaleName(UChar* value, int32_t valueLeng
+ return UErrorCodeToBool(status);
+ }
+
+-// GlobalizationNative_IsPredefinedLocale returns TRUE if ICU has a real data for the locale.
+-// Otherwise it returns FALSE;
++// GlobalizationNative_IsPredefinedLocale returns true if ICU has a real data for the locale.
++// Otherwise it returns false;
+
+ int32_t GlobalizationNative_IsPredefinedLocale(const UChar* localeName)
+ {
+ UErrorCode err = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &err);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &err);
+
+ if (U_FAILURE(err))
+- return FALSE;
++ return false;
+
+ // ures_open returns err = U_ZERO_ERROR when ICU has data for localeName.
+ // If it is fake locale, it will return err = U_USING_FALLBACK_WARNING || err = U_USING_DEFAULT_WARNING.
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c
+index 3e313858920..686fbf5631f 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeNumberData.c
+@@ -3,6 +3,7 @@
+ //
+
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -56,10 +57,10 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative)
+ }
+
+ int index = 0;
+- int minusAdded = FALSE;
+- int digitAdded = FALSE;
+- int currencyAdded = FALSE;
+- int spaceAdded = FALSE;
++ int minusAdded = false;
++ int digitAdded = false;
++ int currencyAdded = false;
++ int spaceAdded = false;
+
+ for (int i = iStart; i <= iEnd; i++)
+ {
+@@ -69,7 +70,7 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative)
+ case UCHAR_MINUS:
+ case UCHAR_OPENPAREN:
+ case UCHAR_CLOSEPAREN:
+- minusAdded = TRUE;
++ minusAdded = true;
+ break;
+ }
+ }
+@@ -104,7 +105,7 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative)
+ case UCHAR_ZERO:
+ if (!digitAdded)
+ {
+- digitAdded = TRUE;
++ digitAdded = true;
+ destPattern[index++] = 'n';
+ }
+ break;
+@@ -112,7 +113,7 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative)
+ case UCHAR_CURRENCY:
+ if (!currencyAdded)
+ {
+- currencyAdded = TRUE;
++ currencyAdded = true;
+ destPattern[index++] = 'C';
+ }
+ break;
+@@ -121,7 +122,7 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative)
+ case UCHAR_NBSPACE:
+ if (!spaceAdded)
+ {
+- spaceAdded = TRUE;
++ spaceAdded = true;
+ destPattern[index++] = ' ';
+ }
+ break;
+@@ -129,7 +130,7 @@ static char* NormalizeNumericPattern(const UChar* srcPattern, int isNegative)
+ case UCHAR_MINUS:
+ case UCHAR_OPENPAREN:
+ case UCHAR_CLOSEPAREN:
+- minusAdded = TRUE;
++ minusAdded = true;
+ destPattern[index++] = (char)ch;
+ break;
+
+@@ -159,7 +160,7 @@ static int GetNumericPattern(const UNumberFormat* pNumberFormat,
+ const int MAX_DOTNET_NUMERIC_PATTERN_LENGTH = 6; // example: "(C n)" plus terminator
+
+ UErrorCode ignore = U_ZERO_ERROR;
+- int32_t icuPatternLength = unum_toPattern(pNumberFormat, FALSE, NULL, 0, &ignore) + 1;
++ int32_t icuPatternLength = unum_toPattern(pNumberFormat, false, NULL, 0, &ignore) + 1;
+
+ UChar* icuPattern = (UChar*)calloc((size_t)icuPatternLength, sizeof(UChar));
+ if (icuPattern == NULL)
+@@ -169,7 +170,7 @@ static int GetNumericPattern(const UNumberFormat* pNumberFormat,
+
+ UErrorCode err = U_ZERO_ERROR;
+
+- unum_toPattern(pNumberFormat, FALSE, icuPattern, icuPatternLength, &err);
++ unum_toPattern(pNumberFormat, false, icuPattern, icuPatternLength, &err);
+
+ assert(U_SUCCESS(err));
+
+@@ -197,7 +198,7 @@ static int GetNumericPattern(const UNumberFormat* pNumberFormat,
+ }
+ }
+
+- assert(FALSE); // should have found a valid pattern
++ assert(false); // should have found a valid pattern
+
+ free(normalizedPattern);
+ return INVALID_FORMAT;
+@@ -238,7 +239,7 @@ static int GetCurrencyNegativePattern(const char* locale)
+
+ if (U_SUCCESS(status))
+ {
+- int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), TRUE);
++ int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), true);
+ if (value >= 0)
+ {
+ unum_close(pFormat);
+@@ -269,7 +270,7 @@ static int GetCurrencyPositivePattern(const char* locale)
+
+ if (U_SUCCESS(status))
+ {
+- int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), FALSE);
++ int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), false);
+ if (value >= 0)
+ {
+ unum_close(pFormat);
+@@ -300,7 +301,7 @@ static int GetNumberNegativePattern(const char* locale)
+
+ if (U_SUCCESS(status))
+ {
+- int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), TRUE);
++ int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), true);
+ if (value >= 0)
+ {
+ unum_close(pFormat);
+@@ -332,7 +333,7 @@ static int GetPercentNegativePattern(const char* locale)
+
+ if (U_SUCCESS(status))
+ {
+- int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), TRUE);
++ int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), true);
+ if (value >= 0)
+ {
+ unum_close(pFormat);
+@@ -363,7 +364,7 @@ static int GetPercentPositivePattern(const char* locale)
+
+ if (U_SUCCESS(status))
+ {
+- int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), FALSE);
++ int value = GetNumericPattern(pFormat, Patterns, ARRAY_LENGTH(Patterns), false);
+ if (value >= 0)
+ {
+ unum_close(pFormat);
+@@ -407,11 +408,11 @@ int32_t GlobalizationNative_GetLocaleInfoInt(
+ {
+ UErrorCode status = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &status);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &status);
+
+ if (U_FAILURE(status))
+ {
+- return FALSE;
++ return false;
+ }
+
+ switch (localeNumberData)
+@@ -514,7 +515,7 @@ int32_t GlobalizationNative_GetLocaleInfoInt(
+ break;
+ default:
+ status = U_UNSUPPORTED_ERROR;
+- assert(FALSE);
++ assert(false);
+ break;
+ }
+
+@@ -533,7 +534,7 @@ int32_t GlobalizationNative_GetLocaleInfoGroupingSizes(
+ {
+ UErrorCode status = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &status);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &status);
+
+ if (U_FAILURE(status))
+ {
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c
+index 669d59f88e9..6e10e3543de 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_localeStringData.c
+@@ -3,6 +3,7 @@
+ //
+
+ #include <assert.h>
++#include <stdbool.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -210,7 +211,7 @@ int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName,
+ {
+ UErrorCode status = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &status);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &status);
+
+ if (U_FAILURE(status))
+ {
+@@ -266,10 +267,10 @@ int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName,
+ status = GetLocaleInfoDecimalFormatSymbol(locale, UNUM_INTL_CURRENCY_SYMBOL, value, valueLength);
+ break;
+ case LocaleString_CurrencyEnglishName:
+- status = GetLocaleCurrencyName(locale, FALSE, value, valueLength);
++ status = GetLocaleCurrencyName(locale, false, value, valueLength);
+ break;
+ case LocaleString_CurrencyNativeName:
+- status = GetLocaleCurrencyName(locale, TRUE, value, valueLength);
++ status = GetLocaleCurrencyName(locale, true, value, valueLength);
+ break;
+ case LocaleString_MonetaryDecimalSeparator:
+ status = GetLocaleInfoDecimalFormatSymbol(locale, UNUM_MONETARY_SEPARATOR_SYMBOL, value, valueLength);
+@@ -279,10 +280,10 @@ int32_t GlobalizationNative_GetLocaleInfoString(const UChar* localeName,
+ GetLocaleInfoDecimalFormatSymbol(locale, UNUM_MONETARY_GROUPING_SEPARATOR_SYMBOL, value, valueLength);
+ break;
+ case LocaleString_AMDesignator:
+- status = GetLocaleInfoAmPm(locale, TRUE, value, valueLength);
++ status = GetLocaleInfoAmPm(locale, true, value, valueLength);
+ break;
+ case LocaleString_PMDesignator:
+- status = GetLocaleInfoAmPm(locale, FALSE, value, valueLength);
++ status = GetLocaleInfoAmPm(locale, false, value, valueLength);
+ break;
+ case LocaleString_PositiveSign:
+ status = GetLocaleInfoDecimalFormatSymbol(locale, UNUM_PLUS_SIGN_SYMBOL, value, valueLength);
+@@ -350,10 +351,10 @@ int32_t GlobalizationNative_GetLocaleTimeFormat(const UChar* localeName,
+ {
+ UErrorCode err = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &err);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &err);
+ UDateFormatStyle style = (shortFormat != 0) ? UDAT_SHORT : UDAT_MEDIUM;
+ UDateFormat* pFormat = udat_open(style, UDAT_NONE, locale, NULL, 0, NULL, 0, &err);
+- udat_toPattern(pFormat, FALSE, value, valueLength, &err);
++ udat_toPattern(pFormat, false, value, valueLength, &err);
+ udat_close(pFormat);
+ return UErrorCodeToBool(err);
+ }
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c
+index bd453f9ff1c..9faca845b7d 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_normalization.c
+@@ -2,6 +2,7 @@
+ // The .NET Foundation licenses this file to you under the MIT license.
+ //
+
++#include <stdbool.h>
+ #include <stdint.h>
+
+ #include "pal_icushim_internal.h"
+@@ -47,7 +48,7 @@ int32_t GlobalizationNative_IsNormalized(
+
+ if (U_SUCCESS(err))
+ {
+- return isNormalized == TRUE ? 1 : 0;
++ return isNormalized ? 1 : 0;
+ }
+ else
+ {
+diff --git a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c
+index 802aa8515e2..ce865cdf0c1 100644
+--- a/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c
++++ b/src/libraries/Native/Unix/System.Globalization.Native/pal_timeZoneInfo.c
+@@ -2,6 +2,7 @@
+ // The .NET Foundation licenses this file to you under the MIT license.
+ //
+
++#include <stdbool.h>
+ #include <stdint.h>
+
+ #include "pal_errors_internal.h"
+@@ -19,7 +20,7 @@ ResultCode GlobalizationNative_GetTimeZoneDisplayName(const UChar* localeName,
+ {
+ UErrorCode err = U_ZERO_ERROR;
+ char locale[ULOC_FULLNAME_CAPACITY];
+- GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, FALSE, &err);
++ GetLocale(localeName, locale, ULOC_FULLNAME_CAPACITY, false, &err);
+
+ int32_t timeZoneIdLength = -1; // timeZoneId is NULL-terminated
+ UCalendar* calendar = ucal_open(timeZoneId, timeZoneIdLength, locale, UCAL_DEFAULT, &err);
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2021-03-14 16:15:48 UTC (rev 891224)
+++ PKGBUILD 2021-03-14 16:16:41 UTC (rev 891225)
@@ -1,4 +1,5 @@
# Maintainer: Maxime Gauduin <alucryd at archlinux.org>
+# Contributor: Kristian Mosegaard <kristian at mosen.me>
# Contributor: Max Liebkies <mail at maxliebkies.de>
# Contributor: Krzysztof Bogacki <krzysztof.bogacki at leancode.pl>
@@ -12,9 +13,7 @@
dotnet-targeting-pack
aspnet-targeting-pack
)
-pkgver=3.1.8.sdk108
-_runtimever=3.1.8
-_sdkver=3.1.108
+pkgver=5.0.3.sdk103
pkgrel=1
arch=(x86_64)
url=https://www.microsoft.com/net/core
@@ -23,7 +22,6 @@
bash
clang
cmake
- curl
git
icu
inetutils
@@ -30,31 +28,55 @@
krb5
libgit2
libunwind
+ libxml2
lldb
llvm
lttng-ust
+ nodejs
openssl
+ systemd
zlib
)
options=(staticlibs)
-_tag=c68d3ea70d793e6b3adc84c9299ccce550813f72
+_tag=ccff33e9e87656ab8349dba6779363b15d53d56a
source=(
dotnet-source-build::git+https://github.com/dotnet/source-build.git#tag=${_tag}
- 9999-Fix-versionless-RID-computation.patch
- 9999-Add-arch-RIDs.patch
- 9999-Fix-build-clang-10.patch
+ dotnet-source-build-arch-rid.patch
+ dotnet-source-build-fixup-runtime-link-order.patch
+ 0000-runtime-link-order.patch
+ 9999-runtime-libicu-68.patch
)
-sha256sums=('SKIP'
- '0e500cd3d1e4a75bf58558020f1b6ad7720f9194dfea2aade7c148af5a031cd7'
- '1d64778c9ac6a5aa49cda743e87ed31ace6aef8aa2e22f98ccd9bb7303cfd593'
- '9eb32eb8a7baa0dfc3d68fa7f6c316fcd14ccd9075177a5d3c8a044edb2a07c2')
+b2sums=('SKIP'
+ '74c0e764fd22843fb64dad09d7678988980ed8fc39b9aef53d210ba60991b686a5e43a69a497fdaa9d97447144f22e328606a8b25cb6d3addab586e6e67de43b'
+ '8dcfe6ca1a5168b7fb7519903a3d1f16a0584ba7a86bd1e3ca1bdb21b34fe22afb115e3d97ccaf186d2edec346e3948c192e61e40fd1774e46f6eea2e82e87be'
+ 'f338e7e971db82ee7699e36842e70c0e476af78cd18ed52a2a9d9bafa2c4d0b410565a9dae571ff89a9383fdaa5814c18d11e230a86c21606c2f31fec101d840'
+ '5e60cccee68ff6b5fa64a37364da099592890eda734472ed55e356718388ea0880a5558e1b3c1904208187207daf314c4abfdcf3a11985415e9a494aa04d1ddf')
+pkgver() {
+ cd dotnet-source-build
+
+ if [[ $(git describe --tags) != *-SDK ]]; then
+ exit 1
+ fi
+
+ local _runtimever=$(xmllint --xpath "//Dependency[@Name='Microsoft.NETCore.App.Runtime.win-x64']/@Version" eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//')
+ local _sdkver=$(xmllint --xpath "//Dependency[@Name='Microsoft.NET.Sdk']/@Version" eng/Version.Details.xml | cut -d '=' -f 2 | sed 's/^"//; s/"$//; s/-rtm.*//; s/-servicing.*//')
+
+ echo "${_runtimever}.sdk${_sdkver##*.}"
+}
+
prepare() {
cd dotnet-source-build
- cp ../9999-Fix-versionless-RID-computation.patch patches/core-setup/
- cp ../9999-Add-arch-RIDs.patch patches/corefx/
- cp ../9999-Fix-build-clang-10.patch patches/corefx/
+ patch -Np1 -i ../dotnet-source-build-arch-rid.patch
+ patch -Np1 -i ../dotnet-source-build-fixup-runtime-link-order.patch
+
+ [ -d patches/runtime ] || mkdir patches/runtime
+ cp ../0000-runtime-link-order.patch patches/runtime/
+ cp ../9999-runtime-libicu-68.patch patches/runtime/
+
+ # disable warnings
+ sed -i 's|skiptests|skiptests ignorewarnings|' repos/runtime.common.props
}
build() {
@@ -62,20 +84,29 @@
export SOURCE_BUILD_SKIP_SUBMODULE_CHECK=1
- ./build.sh
+ ./build.sh \
+ /p:ArchiveDownloadedPackages=true \
+ /p:ContinueOnPrebuiltBaselineError=true \
+ /p:SkipPortableRuntimeBuild=true \
+ /p:SkipPrebuiltEnforcement=true \
+ /p:UseSystemLibraries=true \
+ /p:UseSystemLibunwind=true
}
package_dotnet-host() {
pkgdesc='A generic driver for the .NET Core Command Line Interface'
- depends=(glibc)
+ depends=(
+ gcc-libs
+ glibc
+ )
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/{bin,lib,share/{dotnet,licenses/dotnet-host}}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner dotnet host
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/licenses/dotnet-host/ --no-same-owner LICENSE.txt ThirdPartyNotices.txt
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner dotnet host
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/licenses/dotnet-host/ --no-same-owner LICENSE.txt ThirdPartyNotices.txt
ln -s /usr/share/dotnet/dotnet "${pkgdir}"/usr/bin/dotnet
- ln -s /usr/share/dotnet/host/fxr/${_runtimever}/libhostfxr.so "${pkgdir}"/usr/lib/libhostfxr.so
+ ln -s /usr/share/dotnet/host/fxr/${pkgver%.sdk*}/libhostfxr.so "${pkgdir}"/usr/lib/libhostfxr.so
}
package_dotnet-runtime() {
@@ -82,23 +113,23 @@
pkgdesc='The .NET Core runtime'
depends=(
dotnet-host
+ gcc-libs
glibc
icu
- krb5
- libcurl.so
+ libgssapi_krb5.so
libunwind
+ libz.so
openssl
- zlib
)
optdepends=('lttng-ust: CoreCLR tracing')
- provides=(dotnet-runtime-3.1)
- conflicts=(dotnet-runtime-3.1)
+ provides=(dotnet-runtime-5.0)
+ conflicts=(dotnet-runtime-5.0)
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner shared/Microsoft.NETCore.App
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner shared/Microsoft.NETCore.App
ln -s dotnet-host "${pkgdir}"/usr/share/licenses/dotnet-runtime
}
@@ -105,13 +136,13 @@
package_aspnet-runtime() {
pkgdesc='The ASP.NET Core runtime'
depends=(dotnet-runtime)
- provides=(aspnet-runtime-3.1)
- conflicts=(aspnet-runtime-3.1)
+ provides=(aspnet-runtime-5.0)
+ conflicts=(aspnet-runtime-5.0)
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner shared/Microsoft.AspNetCore.App
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner shared/Microsoft.AspNetCore.App
ln -s dotnet-host "${pkgdir}"/usr/share/licenses/aspnet-runtime
}
@@ -121,16 +152,17 @@
dotnet-runtime
dotnet-targeting-pack
glibc
+ gcc-libs
netstandard-targeting-pack
)
optdepends=('aspnet-targeting-pack: Build ASP.NET Core applications')
- provides=(dotnet-sdk-3.1)
- conflicts=(dotnet-sdk-3.1)
+ provides=(dotnet-sdk-5.0)
+ conflicts=(dotnet-sdk-5.0)
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner sdk templates
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner sdk templates
ln -s dotnet-host "${pkgdir}"/usr/share/licenses/dotnet-sdk
}
@@ -142,7 +174,7 @@
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner packs/NETStandard.Library.Ref
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner packs/NETStandard.Library.Ref
ln -s dotnet-host "${pkgdir}"/usr/share/licenses/netstandard-targeting-pack
}
@@ -149,13 +181,13 @@
package_dotnet-targeting-pack() {
pkgdesc='The .NET Core targeting pack'
depends=(netstandard-targeting-pack)
- provides=(dotnet-targeting-pack-3.1)
- conflicts=(dotnet-targeting-pack-3.1)
+ provides=(dotnet-targeting-pack-5.0)
+ conflicts=(dotnet-targeting-pack-5.0)
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner packs/Microsoft.NETCore.App.{Host.arch-x64,Ref}
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner packs/Microsoft.NETCore.App.{Host.arch-x64,Ref}
ln -s dotnet-host "${pkgdir}"/usr/share/licenses/dotnet-targeting-pack
}
@@ -162,13 +194,13 @@
package_aspnet-targeting-pack() {
pkgdesc='The ASP.NET Core targeting pack'
depends=(dotnet-targeting-pack)
- provides=(aspnet-targeting-pack-3.1)
- conflicts=(aspnet-targeting-pack-3.1)
+ provides=(aspnet-targeting-pack-5.0)
+ conflicts=(aspnet-targeting-pack-5.0)
cd dotnet-source-build/artifacts/x64/Release
install -dm 755 "${pkgdir}"/usr/share/{dotnet,licenses}
- bsdtar -xf dotnet-sdk-${_sdkver}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner packs/Microsoft.AspNetCore.App.Ref
+ bsdtar -xf dotnet-sdk-${pkgver%.*.sdk*}.${pkgver#*sdk}-arch-x64.tar.gz -C "${pkgdir}"/usr/share/dotnet/ --no-same-owner packs/Microsoft.AspNetCore.App.Ref
ln -s dotnet-host "${pkgdir}"/usr/share/licenses/aspnet-targeting-pack
}
Added: dotnet-source-build-arch-rid.patch
===================================================================
--- dotnet-source-build-arch-rid.patch (rev 0)
+++ dotnet-source-build-arch-rid.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -0,0 +1,11 @@
+--- a/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/PublishCoreSetupBinaries.cs
++++ b/tools-local/tasks/Microsoft.DotNet.SourceBuild.Tasks.XPlat/PublishCoreSetupBinaries.cs
+@@ -46,6 +46,7 @@ namespace Microsoft.DotNet.Build.Tasks
+ ".fedora.32", "-fedora.32",
+ ".fedora.33", "-fedora.33",
+ ".fedora.34", "-fedora.34",
++ "-arch",".arch",
+ "-linux", ".linux",
+ "-osx", ".osx",
+ "-OSX", ".OSX",
+
Added: dotnet-source-build-fixup-runtime-link-order.patch
===================================================================
--- dotnet-source-build-fixup-runtime-link-order.patch (rev 0)
+++ dotnet-source-build-fixup-runtime-link-order.patch 2021-03-14 16:16:41 UTC (rev 891225)
@@ -0,0 +1,14 @@
+--- a/patches/runtime/0014-Fix-singlefilehost-build-in-non-portable-mode-42415.patch
++++ b/patches/runtime/0014-Fix-singlefilehost-build-in-non-portable-mode-42415.patch
+@@ -45,8 +45,8 @@ index 85ea6ffe642..87db505c521 100644
+ # These options are used to force every object to be included even if it's unused.
+ set(START_WHOLE_ARCHIVE -Wl,--whole-archive)
+ @@ -212,3 +217,10 @@ target_link_libraries(singlefilehost
+- ${NATIVE_LIBS}
+- ${END_WHOLE_ARCHIVE}
++ ${NATIVE_LIBS_EXTRA}
++
+ )
+ +
+ +if(NOT FEATURE_DISTRO_AGNOSTIC_SSL)
+
More information about the arch-commits
mailing list