@@ -66,6 +66,7 @@ __UbuntuPackages+=" libcurl4-openssl-dev"
66
66
__UbuntuPackages+=" libkrb5-dev"
67
67
__UbuntuPackages+=" libssl-dev"
68
68
__UbuntuPackages+=" zlib1g-dev"
69
+ __UbuntuPackages+=" libbrotli-dev"
69
70
70
71
__AlpinePackages+=" curl-dev"
71
72
__AlpinePackages+=" krb5-dev"
@@ -91,18 +92,18 @@ __HaikuPackages="gcc_syslibs"
91
92
__HaikuPackages+=" gcc_syslibs_devel"
92
93
__HaikuPackages+=" gmp"
93
94
__HaikuPackages+=" gmp_devel"
94
- __HaikuPackages+=" icu66 "
95
- __HaikuPackages+=" icu66_devel "
95
+ __HaikuPackages+=" icu[0-9]+ "
96
+ __HaikuPackages+=" icu[0-9]*_devel "
96
97
__HaikuPackages+=" krb5"
97
98
__HaikuPackages+=" krb5_devel"
98
99
__HaikuPackages+=" libiconv"
99
100
__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 "
102
103
__HaikuPackages+=" mpfr"
103
104
__HaikuPackages+=" mpfr_devel"
104
- __HaikuPackages+=" openssl "
105
- __HaikuPackages+=" openssl_devel "
105
+ __HaikuPackages+=" openssl3 "
106
+ __HaikuPackages+=" openssl3_devel "
106
107
__HaikuPackages+=" zlib"
107
108
__HaikuPackages+=" zlib_devel"
108
109
@@ -496,7 +497,7 @@ if [[ "$__CodeName" == "alpine" ]]; then
496
497
arch=" $( uname -m) "
497
498
498
499
ensureDownloadTool
499
-
500
+
500
501
if [[ " $__hasWget " == 1 ]]; then
501
502
wget -P " $__ApkToolsDir " " https://gitlab.alpinelinux.org/api/v4/projects/5/packages/generic/v$__ApkToolsVersion /$arch /apk.static"
502
503
else
@@ -681,7 +682,7 @@ elif [[ "$__CodeName" == "haiku" ]]; then
681
682
682
683
ensureDownloadTool
683
684
684
- echo " Downloading Haiku package tool "
685
+ echo " Downloading Haiku package tools "
685
686
git clone https://github.com/haiku/haiku-toolchains-ubuntu --depth 1 " $__RootfsDir /tmp/script"
686
687
if [[ " $__hasWget " == 1 ]]; then
687
688
wget -O " $__RootfsDir /tmp/download/hosttools.zip" " $( " $__RootfsDir /tmp/script/fetch.sh" --hosttools) "
@@ -691,34 +692,42 @@ elif [[ "$__CodeName" == "haiku" ]]; then
691
692
692
693
unzip -o " $__RootfsDir /tmp/download/hosttools.zip" -d " $__RootfsDir /tmp/bin"
693
694
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
696
704
697
- # Download Haiku packages
698
705
echo " Downloading Haiku packages"
699
706
read -ra array <<< " $__HaikuPackages"
700
707
for package in " ${array[@]} " ; do
701
708
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 "
704
717
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' ) "
707
718
wget -P " $__RootfsDir /tmp/download" " $hpkgDownloadUrl "
708
719
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' ) "
711
720
curl -SLO --create-dirs --output-dir " $__RootfsDir /tmp/download" " $hpkgDownloadUrl "
712
721
fi
713
722
done
714
723
for package in haiku haiku_devel; do
715
724
echo " Downloading $package ..."
716
725
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"
719
728
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"
722
731
fi
723
732
done
724
733
0 commit comments