Skip to content

Commit 6689fc6

Browse files
[main] Update dependencies from dotnet/arcade (#1842)
[main] Update dependencies from dotnet/arcade
1 parent 5bb2280 commit 6689fc6

File tree

4 files changed

+56
-57
lines changed

4 files changed

+56
-57
lines changed

eng/Version.Details.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
</Dependency>
1616
</ProductDependencies>
1717
<ToolsetDependencies>
18-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23261.4">
18+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.23265.1">
1919
<Uri>https://github.com/dotnet/arcade</Uri>
20-
<Sha>06faa97f3e5232df0ddad42caaf28eea39d4ad1a</Sha>
20+
<Sha>2d8d59065b5e090584a8e90c4371fc06ed60bdc5</Sha>
2121
</Dependency>
2222
</ToolsetDependencies>
2323
</Dependencies>

eng/common/cross/build-rootfs.sh

Lines changed: 45 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ __AlpineArch=armv7
2727
__FreeBSDArch=arm
2828
__FreeBSDMachineArch=armv7
2929
__IllumosArch=arm7
30+
__HaikuArch=arm
3031
__QEMUArch=arm
3132
__UbuntuArch=armhf
3233
__UbuntuRepo="http://ports.ubuntu.com/"
@@ -85,8 +86,12 @@ __IllumosPackages+=" mit-krb5"
8586
__IllumosPackages+=" openssl"
8687
__IllumosPackages+=" zlib"
8788

88-
__HaikuPackages="gmp"
89+
__HaikuPackages="gcc_syslibs"
90+
__HaikuPackages+=" gcc_syslibs_devel"
91+
__HaikuPackages+=" gmp"
8992
__HaikuPackages+=" gmp_devel"
93+
__HaikuPackages+=" icu66"
94+
__HaikuPackages+=" icu66_devel"
9095
__HaikuPackages+=" krb5"
9196
__HaikuPackages+=" krb5_devel"
9297
__HaikuPackages+=" libiconv"
@@ -95,6 +100,10 @@ __HaikuPackages+=" llvm12_libunwind"
95100
__HaikuPackages+=" llvm12_libunwind_devel"
96101
__HaikuPackages+=" mpfr"
97102
__HaikuPackages+=" mpfr_devel"
103+
__HaikuPackages+=" openssl"
104+
__HaikuPackages+=" openssl_devel"
105+
__HaikuPackages+=" zlib"
106+
__HaikuPackages+=" zlib_devel"
98107

99108
# ML.NET dependencies
100109
__UbuntuPackages+=" libomp5"
@@ -210,6 +219,7 @@ while :; do
210219
__FreeBSDArch=amd64
211220
__FreeBSDMachineArch=amd64
212221
__illumosArch=x86_64
222+
__HaikuArch=x86_64
213223
__UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
214224
;;
215225
x86)
@@ -340,7 +350,6 @@ while :; do
340350
;;
341351
haiku)
342352
__CodeName=haiku
343-
__BuildArch=x64
344353
__SkipUnmount=1
345354
;;
346355
--skipunmount)
@@ -559,67 +568,54 @@ elif [[ "$__CodeName" == "illumos" ]]; then
559568
elif [[ "$__CodeName" == "haiku" ]]; then
560569
JOBS=${MAXJOBS:="$(getconf _NPROCESSORS_ONLN)"}
561570

562-
echo "Building Haiku sysroot for x86_64"
571+
echo "Building Haiku sysroot for $__HaikuArch"
563572
mkdir -p "$__RootfsDir/tmp"
564-
cd "$__RootfsDir/tmp"
565-
git clone -b hrev56235 https://review.haiku-os.org/haiku
566-
git clone -b btrev43195 https://review.haiku-os.org/buildtools
567-
cd "$__RootfsDir/tmp/buildtools" && git checkout 7487388f5110021d400b9f3b88e1a7f310dc066d
568-
569-
# Fetch some unmerged patches
570-
cd "$__RootfsDir/tmp/haiku"
571-
## Add development build profile (slimmer than nightly)
572-
git fetch origin refs/changes/64/4164/1 && git -c commit.gpgsign=false cherry-pick FETCH_HEAD
573-
574-
# Build jam
575-
cd "$__RootfsDir/tmp/buildtools/jam"
576-
make
577-
578-
# Configure cross tools
579-
echo "Building cross-compiler"
580-
mkdir -p "$__RootfsDir/generated"
581-
cd "$__RootfsDir/generated"
582-
"$__RootfsDir/tmp/haiku/configure" -j"$JOBS" --sysroot "$__RootfsDir" --cross-tools-source "$__RootfsDir/tmp/buildtools" --build-cross-tools x86_64
583-
584-
# Build Haiku packages
585-
echo "Building Haiku"
586-
echo 'HAIKU_BUILD_PROFILE = "development-raw" ;' > UserProfileConfig
587-
"$__RootfsDir/tmp/buildtools/jam/jam0" -j"$JOBS" -q '<build>package' '<repository>Haiku'
588-
589-
BaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
590-
591-
# Download additional packages
592-
echo "Downloading additional required packages"
573+
pushd "$__RootfsDir/tmp"
574+
575+
mkdir "$__RootfsDir/tmp/download"
576+
577+
echo "Downloading Haiku package tool"
578+
git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 $__RootfsDir/tmp/script
579+
wget -O "$__RootfsDir/tmp/download/hosttools.zip" $($__RootfsDir/tmp/script/fetch.sh --hosttools)
580+
unzip -o "$__RootfsDir/tmp/download/hosttools.zip" -d "$__RootfsDir/tmp/bin"
581+
582+
DepotBaseUrl="https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
583+
HpkgBaseUrl="https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch/current"
584+
585+
# Download Haiku packages
586+
echo "Downloading Haiku packages"
593587
read -ra array <<<"$__HaikuPackages"
594588
for package in "${array[@]}"; do
595589
echo "Downloading $package..."
596590
# API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
597591
# The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
598-
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_x86_64","versionType":"LATEST","naturalLanguageCode":"en"}' \
599-
--header='Content-Type:application/json' "$BaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
600-
wget -P "$__RootfsDir/generated/download" "$hpkgDownloadUrl"
592+
hpkgDownloadUrl="$(wget -qO- --post-data='{"name":"'"$package"'","repositorySourceCode":"haikuports_'$__HaikuArch'","versionType":"LATEST","naturalLanguageCode":"en"}' \
593+
--header='Content-Type:application/json' "$DepotBaseUrl" | jq -r '.result.versions[].hpkgDownloadURL')"
594+
wget -P "$__RootfsDir/tmp/download" "$hpkgDownloadUrl"
595+
done
596+
for package in haiku haiku_devel; do
597+
echo "Downloading $package..."
598+
hpkgVersion="$(wget -qO- $HpkgBaseUrl | sed -n 's/^.*version: "\([^"]*\)".*$/\1/p')"
599+
wget -P "$__RootfsDir/tmp/download" "$HpkgBaseUrl/packages/$package-$hpkgVersion-1-$__HaikuArch.hpkg"
601600
done
602601

603-
# Setup the sysroot
604-
echo "Setting up sysroot and extracting needed packages"
602+
# Set up the sysroot
603+
echo "Setting up sysroot and extracting required packages"
605604
mkdir -p "$__RootfsDir/boot/system"
606-
for file in "$__RootfsDir/generated/objects/haiku/x86_64/packaging/packages/"*.hpkg; do
607-
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
608-
done
609-
for file in "$__RootfsDir/generated/download/"*.hpkg; do
610-
"$__RootfsDir/generated/objects/linux/x86_64/release/tools/package/package" extract -C "$__RootfsDir/boot/system" "$file"
605+
for file in "$__RootfsDir/tmp/download/"*.hpkg; do
606+
echo "Extracting $file..."
607+
LD_LIBRARY_PATH="$__RootfsDir/tmp/bin" "$__RootfsDir/tmp/bin/package" extract -C "$__RootfsDir/boot/system" "$file"
611608
done
612609

610+
# Download buildtools
611+
echo "Downloading Haiku buildtools"
612+
wget -O "$__RootfsDir/tmp/download/buildtools.zip" $($__RootfsDir/tmp/script/fetch.sh --buildtools --arch=$__HaikuArch)
613+
unzip -o "$__RootfsDir/tmp/download/buildtools.zip" -d "$__RootfsDir"
614+
613615
# Cleaning up temporary files
614616
echo "Cleaning up temporary files"
617+
popd
615618
rm -rf "$__RootfsDir/tmp"
616-
for name in "$__RootfsDir/generated/"*; do
617-
if [[ "$name" =~ "cross-tools-" ]]; then
618-
: # Keep the cross-compiler
619-
else
620-
rm -rf "$name"
621-
fi
622-
done
623619
elif [[ -n "$__CodeName" ]]; then
624620

625621
if [[ "$__SkipSigCheck" == "0" ]]; then

eng/common/cross/toolchain.cmake

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ unset(FREEBSD)
66
unset(ILLUMOS)
77
unset(ANDROID)
88
unset(TIZEN)
9+
unset(HAIKU)
910

1011
set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
1112
if(EXISTS ${CROSS_ROOTFS}/bin/freebsd-version)
@@ -16,6 +17,7 @@ elseif(EXISTS ${CROSS_ROOTFS}/usr/platform/i86pc)
1617
set(ILLUMOS 1)
1718
elseif(EXISTS ${CROSS_ROOTFS}/boot/system/develop/headers/config/HaikuConfig.h)
1819
set(CMAKE_SYSTEM_NAME Haiku)
20+
set(HAIKU 1)
1921
else()
2022
set(CMAKE_SYSTEM_NAME Linux)
2123
set(LINUX 1)
@@ -76,7 +78,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "riscv64")
7678
set(CMAKE_SYSTEM_PROCESSOR riscv64)
7779
if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/riscv64-alpine-linux-musl)
7880
set(TOOLCHAIN "riscv64-alpine-linux-musl")
79-
else()
81+
else()
8082
set(TOOLCHAIN "riscv64-linux-gnu")
8183
endif()
8284
elseif(TARGET_ARCH_NAME STREQUAL "s390x")
@@ -100,7 +102,7 @@ elseif(TARGET_ARCH_NAME STREQUAL "x64")
100102
elseif(ILLUMOS)
101103
set(TOOLCHAIN "x86_64-illumos")
102104
elseif(HAIKU)
103-
set(TOOLCHAIN "x64_64-unknown-haiku")
105+
set(TOOLCHAIN "x86_64-unknown-haiku")
104106
endif()
105107
elseif(TARGET_ARCH_NAME STREQUAL "x86")
106108
set(CMAKE_SYSTEM_PROCESSOR i686)
@@ -214,10 +216,8 @@ elseif(HAIKU)
214216
return()
215217
endif()
216218

217-
set(SEARCH_PATH "${CROSS_ROOTFS}/generated/cross-tools-x86_64/bin")
218-
219219
find_program(EXEC_LOCATION_${exec}
220-
PATHS ${SEARCH_PATH}
220+
PATHS "${CROSS_ROOTFS}/cross-tools-x86_64/bin"
221221
NAMES
222222
"${TOOLSET_PREFIX}${exec}${CLR_CMAKE_COMPILER_FILE_NAME_VERSION}"
223223
"${TOOLSET_PREFIX}${exec}")
@@ -296,6 +296,9 @@ elseif(TARGET_ARCH_NAME STREQUAL "x86")
296296
elseif(ILLUMOS)
297297
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/lib/amd64")
298298
add_toolchain_linker_flag("-L${CROSS_ROOTFS}/usr/amd64/lib")
299+
elseif(HAIKU)
300+
add_toolchain_linker_flag("-lnetwork")
301+
add_toolchain_linker_flag("-lroot")
299302
endif()
300303

301304
# Specify compile options

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"xcopy-msbuild": "17.4.1"
1313
},
1414
"msbuild-sdks": {
15-
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23261.4"
15+
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23265.1"
1616
}
1717
}

0 commit comments

Comments
 (0)