@@ -66,6 +66,7 @@ __UbuntuPackages+=" libcurl4-openssl-dev"
6666__UbuntuPackages+=" libkrb5-dev"
6767__UbuntuPackages+=" libssl-dev"
6868__UbuntuPackages+=" zlib1g-dev"
69+ __UbuntuPackages+=" libbrotli-dev"
6970
7071__AlpinePackages+=" curl-dev"
7172__AlpinePackages+=" krb5-dev"
@@ -91,18 +92,18 @@ __HaikuPackages="gcc_syslibs"
9192__HaikuPackages+=" gcc_syslibs_devel"
9293__HaikuPackages+=" gmp"
9394__HaikuPackages+=" gmp_devel"
94- __HaikuPackages+=" icu66 "
95- __HaikuPackages+=" icu66_devel "
95+ __HaikuPackages+=" icu[0-9]+ "
96+ __HaikuPackages+=" icu[0-9]*_devel "
9697__HaikuPackages+=" krb5"
9798__HaikuPackages+=" krb5_devel"
9899__HaikuPackages+=" libiconv"
99100__HaikuPackages+=" libiconv_devel"
100- __HaikuPackages+=" llvm12_libunwind "
101- __HaikuPackages+=" llvm12_libunwind_devel "
101+ __HaikuPackages+=" llvm[0-9]*_libunwind "
102+ __HaikuPackages+=" llvm[0-9]*_libunwind_devel "
102103__HaikuPackages+=" mpfr"
103104__HaikuPackages+=" mpfr_devel"
104- __HaikuPackages+=" openssl "
105- __HaikuPackages+=" openssl_devel "
105+ __HaikuPackages+=" openssl3 "
106+ __HaikuPackages+=" openssl3_devel "
106107__HaikuPackages+=" zlib"
107108__HaikuPackages+=" zlib_devel"
108109
@@ -496,7 +497,7 @@ if [[ "$__CodeName" == "alpine" ]]; then
496497 arch=" $( uname -m) "
497498
498499 ensureDownloadTool
499-
500+
500501 if [[ " $__hasWget " == 1 ]]; then
501502 wget -P " $__ApkToolsDir " " https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v$__ApkToolsVersion /$arch /apk.static"
502503 else
@@ -681,7 +682,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then
681682
682683 ensureDownloadTool
683684
684- echo " Downloading Haiku package tool "
685+ echo " Downloading Haiku package tools "
685686 git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 " $__RootfsDir /tmp/script"
686687 if [[ " $__hasWget " == 1 ]]; then
687688 wget -O " $__RootfsDir /tmp/download/hosttools.zip" " $( " $__RootfsDir /tmp/script/fetch.sh" --hosttools) "
@@ -691,34 +692,42 @@ elif [[ "$__CodeName" == "haiku" ]]; then
691692
692693 unzip -o " $__RootfsDir /tmp/download/hosttools.zip" -d " $__RootfsDir /tmp/bin"
693694
694- DepotBaseUrl=" https://depot.haiku-os.org/__api/v2/pkg/get-pkg"
695- HpkgBaseUrl=" https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch /current"
695+ HaikuBaseUrl=" https://eu.hpkg.haiku-os.org/haiku/master/$__HaikuArch /current"
696+ HaikuPortsBaseUrl=" https://eu.hpkg.haiku-os.org/haikuports/master/$__HaikuArch /current"
697+
698+ echo " Downloading HaikuPorts package repository index..."
699+ if [[ " $__hasWget " == 1 ]]; then
700+ wget -P " $__RootfsDir /tmp/download" " $HaikuPortsBaseUrl /repo"
701+ else
702+ curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $HaikuPortsBaseUrl /repo"
703+ fi
696704
697- # Download Haiku packages
698705 echo " Downloading Haiku packages"
699706 read -ra array <<< " $__HaikuPackages"
700707 for package in " ${array[@]} " ; do
701708 echo " Downloading $package ..."
702- # API documented here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L60
703- # The schema here: https://github.com/haiku/haikudepotserver/blob/master/haikudepotserver-api2/src/main/resources/api2/pkg.yaml#L598
709+ hpkgFilename=" $( LD_LIBRARY_PATH=" $__RootfsDir /tmp/bin" " $__RootfsDir /tmp/bin/package_repo" list -f " $__RootfsDir /tmp/download/repo" |
710+ grep -E " ${package} -" | sort -V | tail -n 1 | xargs) "
711+ if [ -z " $hpkgFilename " ]; then
712+ >&2 echo " ERROR: package $package missing."
713+ exit 1
714+ fi
715+ echo " Resolved filename: $hpkgFilename ..."
716+ hpkgDownloadUrl=" $HaikuPortsBaseUrl /packages/$hpkgFilename "
704717 if [[ " $__hasWget " == 1 ]]; then
705- hpkgDownloadUrl=" $( wget -qO- --post-data ' {"name":"' " $package " ' ","repositorySourceCode":"haikuports_' $__HaikuArch ' ","versionType":"LATEST","naturalLanguageCode":"en"}' \
706- --header ' Content-Type:application/json' " $DepotBaseUrl " | jq -r ' .result.versions[].hpkgDownloadURL' ) "
707718 wget -P " $__RootfsDir /tmp/download" " $hpkgDownloadUrl "
708719 else
709- hpkgDownloadUrl=" $( curl -sSL -XPOST --data ' {"name":"' " $package " ' ","repositorySourceCode":"haikuports_' $__HaikuArch ' ","versionType":"LATEST","naturalLanguageCode":"en"}' \
710- --header ' Content-Type:application/json' " $DepotBaseUrl " | jq -r ' .result.versions[].hpkgDownloadURL' ) "
711720 curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $hpkgDownloadUrl "
712721 fi
713722 done
714723 for package in haiku haiku_devel; do
715724 echo " Downloading $package ..."
716725 if [[ " $__hasWget " == 1 ]]; then
717- hpkgVersion=" $( wget -qO- " $HpkgBaseUrl " | sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) "
718- wget -P " $__RootfsDir /tmp/download" " $HpkgBaseUrl /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg"
726+ hpkgVersion=" $( wget -qO- " $HaikuBaseUrl " | sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) "
727+ wget -P " $__RootfsDir /tmp/download" " $HaikuBaseUrl /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg"
719728 else
720- hpkgVersion=" $( curl -sSL " $HpkgBaseUrl " | sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) "
721- curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $HpkgBaseUrl /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg"
729+ hpkgVersion=" $( curl -sSL " $HaikuBaseUrl " | sed -n ' s/^.*version: "\([^"]*\)".*$/\1/p' ) "
730+ curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $HaikuBaseUrl /packages/$package -$hpkgVersion -1-$__HaikuArch .hpkg"
722731 fi
723732 done
724733
0 commit comments