summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO67
-rw-r--r--PKGBUILD221
-rw-r--r--rust.install9
3 files changed, 158 insertions, 139 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 3f35c219d3b6..ea0a89d215a4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Fri Feb 3 23:32:46 UTC 2017
+# Sun May 28 01:47:53 UTC 2017
pkgbase = rust-git
pkgdesc = Systems programming language focused on safety, speed and concurrency
- pkgver = 1.0.0.beta.2833.gb850046
- pkgrel = 3
+ pkgver = 1.19.0.r64389.4f9c9ed1a5
+ pkgrel = 1
epoch = 3
url = http://www.rust-lang.org/
arch = i686
@@ -12,58 +12,53 @@ pkgbase = rust-git
license = Apache
makedepends = git
makedepends = libffi
+ makedepends = perl
makedepends = python2
makedepends = curl
makedepends = llvm
+ makedepends = cmake
makedepends = jemalloc
+ options = staticlibs
+ options = !strip
+ options = !emptydirs
source = git+https://github.com/rust-lang/rust.git
- source = git+https://github.com/rust-lang/cargo.git
- source = git+https://github.com/rust-lang/compiler-rt.git
- source = git+https://github.com/rust-lang/libc.git
- source = git+https://github.com/rust-lang/hoedown.git
- source = git+https://github.com/rust-lang/rust-installer.git
- source = git+https://github.com/rust-lang-nursery/nomicon.git
- source = git+https://github.com/rust-lang-nursery/reference.git
- source = git+https://github.com/rust-lang/rust.vim.git
- source = git+https://github.com/rust-lang/rust-mode.git
- source = git+https://github.com/rust-lang/zsh-config.git
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
- sha512sums = SKIP
+ sha256sums = SKIP
pkgname = rust-git
- install = rust.install
- depends = shared-mime-info
+ depends = gcc-libs
depends = llvm-libs
- optdepends = rust-docs-git: language and API documentation
provides = rust
conflicts = rust
- options = staticlibs
pkgname = rust-docs-git
pkgdesc = Systems programming language focused on safety, speed and concurrency (Language and API documentation)
arch = any
- optdepends = rust-git: to compile and run the programs you can write using this documentation
- provides = rust-doc
provides = rust-docs
- conflicts = rust-doc
conflicts = rust-docs
- replaces = rust-doc-git
- options =
- options = !strip
- options = !emptydirs
pkgname = rust-src-git
- pkgdesc = Systems programming language focused on safety, speed and concurrency (Source Code)
+ pkgdesc = Systems programming language focused on safety, speed and concurrency (Source code)
arch = any
provides = rust-src
conflicts = rust-src
+pkgname = rust-analysis-git
+ pkgdesc = Systems programming language focused on safety, speed and concurrency (Code completion data)
+ depends = rust-git
+ provides = rust-analysis
+ conflicts = rust-analysis
+
+pkgname = cargo-git
+ pkgdesc = The Rust package manager
+ depends = rust
+ provides = cargo
+ conflicts = cargo
+
+pkgname = rls-git
+ pkgdesc = Rust language server
+ depends = rust-git
+ depends = rust-src-git
+ depends = rust-analysis-git
+ provides = rls
+ conflicts = rls
+
diff --git a/PKGBUILD b/PKGBUILD
index 91e181c003be..92dfa55f57a2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,127 +1,160 @@
# Maintainer: spider-mario <spidermario@free.fr>
# Contributor: Taras Shpot <mrshpot@gmail.com>
# Contributor: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
-pkgname=('rust-git' 'rust-docs-git' 'rust-src-git')
-pkgver=1.0.0.beta.2833.gb850046
+_gitname='rust'
+pkgname=('rust-git' 'rust-docs-git' 'rust-src-git' 'rust-analysis-git' 'cargo-git' 'rls-git')
+pkgver=1.19.0.r64389.4f9c9ed1a5
epoch=3
-pkgrel=3
+pkgrel=1
pkgdesc="Systems programming language focused on safety, speed and concurrency"
arch=('i686' 'x86_64')
url="http://www.rust-lang.org/"
license=('MIT' 'Apache')
-makedepends=('git' 'libffi' 'python2' 'curl' 'llvm' 'jemalloc')
-source=("git+https://github.com/rust-lang/rust.git"
- "git+https://github.com/rust-lang/cargo.git"
- "git+https://github.com/rust-lang/compiler-rt.git"
- "git+https://github.com/rust-lang/libc.git"
- "git+https://github.com/rust-lang/hoedown.git"
- "git+https://github.com/rust-lang/rust-installer.git"
-
- "git+https://github.com/rust-lang-nursery/nomicon.git"
- "git+https://github.com/rust-lang-nursery/reference.git"
-
- "git+https://github.com/rust-lang/rust.vim.git"
- "git+https://github.com/rust-lang/rust-mode.git"
- "git+https://github.com/rust-lang/zsh-config.git")
-_noclone=(cargo compiler-rt libc hoedown rust-installer nomicon reference)
-sha512sums=('SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP'
- 'SKIP')
+makedepends=('git' 'libffi' 'perl' 'python2' 'curl' 'llvm' 'cmake'
+'jemalloc')
+source=("git+https://github.com/rust-lang/rust.git")
+options=('staticlibs' '!strip' '!emptydirs')
+sha256sums=('SKIP')
+
+rustbuild_pkgver() {
+ grep '^pub const CFG_RELEASE_NUM' src/bootstrap/channel.rs|head -n1|cut -d\" -f2
+}
-pkgver() {
- cd rust
- echo "$(grep -m1 'CFG_RELEASE_NUM' src/bootstrap/channel.rs | cut -d'"' -f2)"."$(git rev-parse --short HEAD)"
+cargo_pkgver() {
+ grep '^version =' Cargo.toml|head -n1|cut -d\" -f2
}
-prepare() {
- rm -rf -- "${_noclone[@]}"
+install_component() {
+ if [ -z "${3}" ]; then
+ release=$(rustbuild_pkgver)
+ else
+ release=$(cd "${3}" && cargo_pkgver)
+ fi
+ triple="${CARCH}-unknown-linux-gnu"
+ fullver="${release}-dev-${triple}"
+
+ "./build/tmp/dist/${1}-${fullver}/install.sh" \
+ --prefix=$pkgdir/usr \
+ --sysconfdir=$pkgdir/etc \
+ --docdir=$pkgdir/usr/share/doc/$2 \
+ --bindir=$pkgdir/usr/bin \
+ --mandir=$pkgdir/usr/share/man \
+ --libdir=$pkgdir/usr/lib \
+ --disable-ldconfig
+
+ rm $pkgdir/usr/lib/rustlib/{components,install.log,manifest-*,rust-installer-version,uninstall.sh}
+}
- cd rust
- _srcdest="$SRCDEST" perl -pi -- /dev/stdin .gitmodules <<'END'
- if (m{(?<assignment> \s* url \s* = \s*) .* / (?<submodule> [^/]*?)(?:\.git)?$}x) {
- my $local = "$ENV{_srcdest}/$+{submodule}";
- $_ = "$+{assignment}$local\n" if -d $local;
- }
-END
+pkgver() {
+ cd "$_gitname"
+ echo "$(rustbuild_pkgver).r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
}
build() {
- cd rust
+ cd "$_gitname"
+
+ ./configure \
+ --prefix=/usr \
+ --llvm-root=/usr \
+ --disable-codegen-tests \
+ --enable-llvm-link-shared \
+ --jemalloc-root=/usr/lib/ \
+ --disable-dist-src \
+ --enable-extended \
+ --enable-sanitizers
+
+ make dist
+}
+
+package_rust-git() {
+ depends=('gcc-libs' 'llvm-libs')
+ provides=('rust')
+ conflicts=('rust')
- ./configure \
- --prefix=/usr \
- --llvm-root=/usr \
- --enable-llvm-link-shared \
- --jemalloc-root=/usr/lib/ \
- --disable-dist-src
+ cd $_gitname
- make
+ install_component rust-std rust
+ install_component rustc rust
+
+ for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done
+
+ cd "$pkgdir/usr/lib"
+
+ ln -sf rustlib/$CARCH-unknown-linux-gnu/lib/*.so .
}
-package_rust-git() {
- depends=('shared-mime-info' 'llvm-libs')
- optdepends=('rust-docs-git: language and API documentation')
- provides=('rust')
- conflicts=('rust')
- options=('staticlibs')
- install=rust.install
+package_rust-docs-git() {
+ pkgdesc="Systems programming language focused on safety, speed and concurrency (Language and API documentation)"
+ arch=('any')
+ provides=('rust-docs')
+ conflicts=('rust-docs')
- cd rust
+ cd "$_gitname"
- make DESTDIR="$pkgdir" install
+ install_component rust-docs rust
- rm -f "$pkgdir"/usr/lib/rustlib/{components,manifest-rust-docs,install.log,uninstall.sh}
+ for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done
+}
- install --directory "$pkgdir"/usr/share/licenses/$pkgname/
- install -m644 COPYRIGHT LICENSE-* "$pkgdir"/usr/share/licenses/$pkgname/
+package_rust-src-git() {
+ pkgdesc="Systems programming language focused on safety, speed and concurrency (Source code)"
+ arch=('any')
+ provides=('rust-src')
+ conflicts=('rust-src')
+
+ cd "$_gitname"
+
+ mkdir -p "$pkgdir/usr/src/rust/"
+ git checkout-index -a --prefix "$pkgdir/usr/src/rust/"
- install --directory "$pkgdir"/usr/share/vim/vimfiles/
- cp -a "$srcdir"/rust.vim/*/ "$pkgdir"/usr/share/vim/vimfiles/
+ for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done
+}
+
+package_rust-analysis-git() {
+ pkgdesc="Systems programming language focused on safety, speed and concurrency (Code completion data)"
+ depends=('rust-git')
+ provides=('rust-analysis')
+ conflicts=('rust-analysis')
- install --directory "$pkgdir"/usr/share/zsh/functions/Completion/Zsh/
- cp -a "$srcdir"/zsh-config/_* "$pkgdir"/usr/share/zsh/functions/Completion/Zsh/
+ cd "$_gitname"
- cd "$srcdir"/rust-mode
- emacs --eval '(byte-recompile-directory "." 0)' --quick --batch 2> /dev/null || true
- install --directory "$pkgdir"/usr/share/emacs/site-lisp/
- cp -a rust-mode.* "$pkgdir"/usr/share/emacs/site-lisp/
+ install_component rust-analysis rust
- rm -fr "$pkgdir"/usr/share/doc
+ for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done
}
-package_rust-docs-git() {
- pkgdesc="Systems programming language focused on safety, speed and concurrency (Language and API documentation)"
- arch=('any')
- options+=('!strip' '!emptydirs')
- optdepends=('rust-git: to compile and run the programs you can write using this documentation')
- provides=('rust-doc' 'rust-docs')
- conflicts=('rust-doc' 'rust-docs')
- replaces=('rust-doc-git')
-
- cd rust
-
- install --directory "$pkgdir"/usr/share/licenses/$pkgname/
- install -m644 COPYRIGHT LICENSE-* "$pkgdir"/usr/share/licenses/$pkgname/
-
- cd build/dist/doc
- install --directory "$pkgdir"/usr/share/doc
- cp -r * "$pkgdir"/usr/share/doc/rust
+package_cargo-git() {
+ local _srcdir=src/tools/cargo
+ pkgdesc="The Rust package manager"
+ depends=('rust')
+ provides=('cargo')
+ conflicts=('cargo')
+ pkgver=$(cd "$_gitname/$_srcdir" && echo "$(cargo_pkgver).r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)").rust.$(pkgver)
+
+ cd "$_gitname"
+
+ install_component cargo cargo $_srcdir
+
+ for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done
}
-package_rust-src-git() {
- pkgdesc="Systems programming language focused on safety, speed and concurrency (Source Code)"
- arch=('any')
- provides=('rust-src')
- conflicts=('rust-src')
+package_rls-git() {
+ local _srcdir=src/tools/rls
+ pkgdesc="Rust language server"
+ depends=('rust-git' 'rust-src-git' 'rust-analysis-git')
+ provides=('rls')
+ conflicts=('rls')
+ pkgver=$(cd "$_gitname/$_srcdir" && echo "$(cargo_pkgver).r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)").rust.$(pkgver)
+
+ cd "$_gitname"
+
+ install_component rls rls $_srcdir
- cd rust
- git checkout-index -a --prefix "$pkgdir"/usr/src/rust/
+ for license in APACHE MIT; do install -Dm644 "LICENSE-$license" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE-$license"; done
}
diff --git a/rust.install b/rust.install
deleted file mode 100644
index 1e4a6f51eb71..000000000000
--- a/rust.install
+++ /dev/null
@@ -1,9 +0,0 @@
-post_install() {
- echo ""
- echo "==> Remember to add (require 'rust-mode) to your ~/.emacs if you wish to use it."
- echo ""
-}
-
-post_upgrade() {
- post_install "$@"
-}