summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD62
1 files changed, 28 insertions, 34 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 389f71cadb80..d49fa322d434 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,13 +5,12 @@
# Contributor: userwithuid < userwithuid at gmail dot com >
_pkgname=rust
-_date=2019-02-28
-_rustc=1.33.0
-_cargo=0.34.0
+_date=2024-03-21
+_rustc=1.77.0
pkgname=mingw-w64-rust
_prefix=opt/rust
-pkgver=1.34.2
+pkgver=1.78.0
pkgrel=1
pkgdesc="Systems programming language focused on safety, speed and concurrency (mingw-w64)"
arch=('x86_64')
@@ -20,7 +19,7 @@ license=('MIT' 'Apache' 'custom')
depends=('gcc-libs'
'curl'
'libgit2'
- 'mingw-w64-gcc')
+ 'mingw-w64-gcc>=10.1.0')
optdepends=('mingw-w64-wine: for cargo test support')
makedepends=('gdb'
'ninja'
@@ -28,72 +27,63 @@ makedepends=('gdb'
'perl'
'python'
'nodejs'
+ 'procps-ng'
'cmake')
options=('!strip' 'staticlibs' '!buildflags')
source=("https://static.rust-lang.org/dist/rustc-${pkgver}-src.tar.xz"{,.asc}
"https://static.rust-lang.org/dist/${_date}/rust-std-${_rustc}-x86_64-unknown-linux-gnu.tar.xz"{,.asc}
"https://static.rust-lang.org/dist/${_date}/rustc-${_rustc}-x86_64-unknown-linux-gnu.tar.xz"{,.asc}
- "https://static.rust-lang.org/dist/${_date}/cargo-${_cargo}-x86_64-unknown-linux-gnu.tar.xz"{,.asc}
+ "https://static.rust-lang.org/dist/${_date}/cargo-${_rustc}-x86_64-unknown-linux-gnu.tar.xz"{,.asc}
"mingw-config.toml")
noextract=("rust-std-${_rustc}-x86_64-unknown-linux-gnu.tar.xz"
"rustc-${_rustc}-x86_64-unknown-linux-gnu.tar.xz"
- "cargo-${_cargo}-x86_64-unknown-linux-gnu.tar.xz")
-sha256sums=('2b3b3a5462aa31d07f39721af73ef394803ceae3472e2470f28b7ee0b12e38ef'
+ "cargo-${_rustc}-x86_64-unknown-linux-gnu.tar.xz")
+sha256sums=('8065824f0255faa3901db8206e6f9423f6f8c07cec28bc6f2797c6c948310ece'
'SKIP'
- '6f20343ed73faf5fdfc423bec38a9bb1910a0a962af6f2dddd7184407543ed0e'
+ 'e5fec840744c3ff63611f6801de80f5ec8e099fa8225bf46d064810a9545e9b5'
'SKIP'
- '57c5ced1a826d34f26e50adf041528dd0000f2a59e8be32d2359386843382ce1'
+ '89397dddb99733bad987e9fdc9d985a150af2e39c81766099e584d93991f5752'
'SKIP'
- '1730c8ebcacc1327eb28b328cb9f5a2c612bb3d9efff9c350647adf19f304e15'
+ '0af971f126e0307d4e4d974f0e9c33fd1c2923274b14a0861823b5a019e8faf5'
'SKIP'
- 'd7b86ebb3382c838cb931ed0292e4a8133dd524beed7abe0f3ab8d7bc5973d04')
+ '14e684d6db06462a247c6af89dbfa55fc024a1c9c24448fa45abb7818f9433b6')
validpgpkeys=('108F66205EAEB0AAA8DD5E1C85AB96E6FA1BE5FE') # Rust Language (Tag and Release Signing Key) <rust-key@rust-lang.org>
backup=("opt/rust/cargo/config")
-PKGEXT=".pkg.tar.gz"
prepare() {
cd "rustc-${pkgver}-src"
cp "${srcdir}"/mingw-config.toml config.toml
sed -i "s|\@PREFIX\@|/${_prefix}|" config.toml
- cd "${srcdir}/rustc-${pkgver}-src/src/bootstrap"
- sed -i "s|tar.gz|tar.xz|" bootstrap.py
cd "${srcdir}"
mkdir -p "${srcdir}/rustc-${pkgver}-src/build/cache/${_date}"
cp rust-std-${_rustc}-x86_64-unknown-linux-gnu.tar.xz "rustc-${pkgver}-src/build/cache/${_date}"
cp rustc-${_rustc}-x86_64-unknown-linux-gnu.tar.xz "rustc-${pkgver}-src/build/cache/${_date}"
- cp cargo-${_cargo}-x86_64-unknown-linux-gnu.tar.xz "rustc-${pkgver}-src/build/cache/${_date}"
+ cp cargo-${_rustc}-x86_64-unknown-linux-gnu.tar.xz "rustc-${pkgver}-src/build/cache/${_date}"
}
build() {
cd "rustc-${pkgver}-src"
- export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
- export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
- python ./x.py build
+ export CFLAGS="-O2 -pipe -fno-plt -Wall -D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
+ export CXXFLAGS="-O2 -pipe -fno-plt -Wall -D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
+ # TODO: find a way to disable packaging
+ DESTDIR="${srcdir}/rust_install" python ./x.py install
}
package() {
cd "rustc-${pkgver}-src"
-
- # rust will build install tools there
- export CFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
- export CXXFLAGS="-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions --param=ssp-buffer-size=4"
- # TODO: find a way to disable packaging
- # use level 0 to speed up xz packaging
- sed -i 's|XzEncoder::new(create_new_file(tar_xz)?, 6)|XzEncoder::new(create_new_file(tar_xz)?, 0)|' "src/tools/rust-installer/src/tarballer.rs"
- DESTDIR="${pkgdir}" python ./x.py install
+ mv "${srcdir}/rust_install/"* "${pkgdir}"
# license
- install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"{rust,cargo}
- mv "${pkgdir}"/${_prefix}/share/doc/rust/LICENSE-*.old "${pkgdir}/usr/share/licenses/${pkgname}/cargo/"
- rename '.old' '' "${pkgdir}/usr/share/licenses/${pkgname}/cargo/"*
- mv "${pkgdir}"/${_prefix}/share/doc/rust/{LICENSE-*,COPYRIGHT} "${pkgdir}/usr/share/licenses/${pkgname}/rust/"
+ install -dm755 "${pkgdir}/usr/share/licenses/${pkgname}/"{rustc,cargo}
+ mv "${pkgdir}"/${_prefix}/share/doc/cargo/LICENSE-* "${pkgdir}/usr/share/licenses/${pkgname}/cargo/"
+ mv "${pkgdir}"/${_prefix}/share/doc/rustc/{LICENSE-*,COPYRIGHT} "${pkgdir}/usr/share/licenses/${pkgname}/rustc/"
# remove unused files
- rm -r "${pkgdir}/etc/"
+ rm -r "${pkgdir}/etc"
rm -r "${pkgdir}/${_prefix}/share"
rm "${pkgdir}/${_prefix}/lib/rustlib/"{manifest-*,install.log,uninstall.sh,components,rust-installer-version}
@@ -110,15 +100,19 @@ package() {
# strip
strip --strip-all "${pkgdir}/${_prefix}/bin/"{cargo,rustc,rustdoc}
- strip --strip-all "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/bin/"rust-lld
+ strip --strip-all "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/bin/"rust-*
+ strip --strip-all "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld/"*
+ strip --strip-unneeded "${pkgdir}/${_prefix}/lib/librustc"*.so
strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/lib/"*.so
- strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/"*.so
i686-w64-mingw32-strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/i686-pc-windows-gnu/lib/"*.dll
x86_64-w64-mingw32-strip --strip-unneeded "${pkgdir}/${_prefix}/lib/rustlib/x86_64-pc-windows-gnu/lib/"*.dll
# config
install -dm777 "${pkgdir}/opt/rust/cargo"
cat << EOF >> "${pkgdir}/opt/rust/cargo/config"
+[net]
+git-fetch-with-cli = true
+
[target.i686-pc-windows-gnu]
linker = "/usr/bin/i686-w64-mingw32-gcc"
ar = "/usr/i686-w64-mingw32/bin/ar"