[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