starship: add workarounds for arm64 and x86

This commit is contained in:
Jeremy Drake
2023-07-30 14:26:30 -07:00
parent 1c70a91b41
commit d73f456b73
3 changed files with 78 additions and 7 deletions

View File

@@ -4,26 +4,43 @@ _realname=starship
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=1.16.0
pkgrel=1
pkgrel=2
pkgdesc="The cross-shell prompt for astronauts (mingw-w64)"
arch=('any')
# i686 is disabled, see
# https://github.com/msys2/MINGW-packages/pull/17831#issuecomment-1648392525
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32' 'clangarm64')
url="https://starship.rs"
license=('spdx:ISC')
depends=("${MINGW_PACKAGE_PREFIX}-libgit2")
makedepends=("${MINGW_PACKAGE_PREFIX}-rust"
"${MINGW_PACKAGE_PREFIX}-cmake")
options=('staticlibs' 'strip')
source=("${_realname}-${pkgver}.tar.gz::https://github.com/starship/starship/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('133888e190ce1563927e16ee693da3026d2e668d975ac373f853e030743775c5')
source=("${_realname}-${pkgver}.tar.gz::https://github.com/starship/starship/archive/refs/tags/v${pkgver}.tar.gz"
"windows-0.39.0-gnullvm.patch"
"sha1-asm-x86-windows.patch")
sha256sums=('133888e190ce1563927e16ee693da3026d2e668d975ac373f853e030743775c5'
'fa217d67779706fd504e0cdce654e9bc8b15c2f29e5e3c9d62219637c51d32a8'
'2c76c732e3b132af905e31732a729158ea1b1f3cf1c275a882d5349157c34835')
noextract=("${_realname}-${pkgver}.tar.gz")
prepare() {
tar -xzf "${srcdir}"/${_realname}-${pkgver}.tar.gz -C ${srcdir} || true
cd "${srcdir}/${_realname}-${pkgver}"
"${MINGW_PREFIX}/bin/cargo.exe" fetch --locked
cargo vendor \
--locked \
--versioned-dirs
mkdir -p .cargo
cat >> .cargo/config.toml <<END
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
END
patch -Nbp1 -i "${srcdir}/windows-0.39.0-gnullvm.patch"
patch -Nbp1 -i "${srcdir}/sha1-asm-x86-windows.patch"
}
build() {

View File

@@ -0,0 +1,18 @@
--- starship-1.16.0/vendor/sha1-asm-0.5.1/src/x86.S.orig 2023-07-30 22:48:50.100361700 +0000
+++ starship-1.16.0/vendor/sha1-asm-0.5.1/src/x86.S 2023-07-30 22:49:21.819680700 +0000
@@ -23,7 +23,7 @@
/* void sha1_compress(uint32_t state[5], const uint8_t block[64]) */
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(_WIN32)
.globl _sha1_compress
_sha1_compress:
#else
--- starship-1.16.0/vendor/sha1-asm-0.5.1/.cargo-checksum.json.orig 2023-07-30 22:49:52.725380200 +0000
+++ starship-1.16.0/vendor/sha1-asm-0.5.1/.cargo-checksum.json 2023-07-30 22:50:04.991044100 +0000
@@ -1 +1 @@
-{"files":{"CHANGELOG.md":"031d14bca77dcdcbc19ac505b5a50990b2684dcc32e144d56b84efe738a069c1","Cargo.toml":"e993e6f1f31f1202d5379d55c07b45e8211ecc2ace0eb0baabb9a96f30877e7d","LICENSE":"bb0f0c66a472941c540cca118ea7c7a049fc3a41122d9e608265d842e8529268","benches/lib.rs":"57651d9a2e9c4223e276699917e14f89881516360ec81f8d4d4e00f2fb9deff4","build.rs":"04280d26b70e4568738251ae9a311b1bdd016982893dae3c06d91cd33083bb84","src/aarch64.S":"893ebb91b83342f1628db1a4c532b1d6b521f200893c85b62cc859d31916fca4","src/aarch64_apple.S":"6152301dc8e242815a5587e156b2206ca498158745f83bc1c1f7e76f92186e4d","src/lib.rs":"ef500159eac38066a07a6186bf65355afd89d2ec1c988500b9b00599c839c53e","src/x64.S":"0e4850e2492b10d5e27c6eb5df25a9613f5c49964ff71cf79ce145ea3bb4cde9","src/x86.S":"e8aaf8b1af7e4b9a5784fb9baab99bdb2d208ac0d2468a95e3a0607203dea107"},"package":"563d4f7100bc3fce234e5f37bbf63dc2752558964505ba6ac3f7204bdc59eaac"}
\ No newline at end of file
+{"files":{"CHANGELOG.md":"031d14bca77dcdcbc19ac505b5a50990b2684dcc32e144d56b84efe738a069c1","Cargo.toml":"e993e6f1f31f1202d5379d55c07b45e8211ecc2ace0eb0baabb9a96f30877e7d","LICENSE":"bb0f0c66a472941c540cca118ea7c7a049fc3a41122d9e608265d842e8529268","benches/lib.rs":"57651d9a2e9c4223e276699917e14f89881516360ec81f8d4d4e00f2fb9deff4","build.rs":"04280d26b70e4568738251ae9a311b1bdd016982893dae3c06d91cd33083bb84","src/aarch64.S":"893ebb91b83342f1628db1a4c532b1d6b521f200893c85b62cc859d31916fca4","src/aarch64_apple.S":"6152301dc8e242815a5587e156b2206ca498158745f83bc1c1f7e76f92186e4d","src/lib.rs":"ef500159eac38066a07a6186bf65355afd89d2ec1c988500b9b00599c839c53e","src/x64.S":"0e4850e2492b10d5e27c6eb5df25a9613f5c49964ff71cf79ce145ea3bb4cde9","src/x86.S":"c61f276ceac7983b35a0122382b97f66e09689d689dcb9041e25fc7a727f9f9c"},"package":"563d4f7100bc3fce234e5f37bbf63dc2752558964505ba6ac3f7204bdc59eaac"}
\ No newline at end of file

File diff suppressed because one or more lines are too long