summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorJonathon Fernyhough2019-01-06 17:45:39 +0000
committerJonathon Fernyhough2019-01-06 17:45:39 +0000
commitd8f02b53759747e2067fdc9fbe09147f522ec288 (patch)
tree74ddf3d475eff3a9f93d5cb0e588299b63fa9f6d /PKGBUILD
parent13efe8d48f3b40404b03e24f89928e5b0aa52b92 (diff)
downloadaur-d8f02b53759747e2067fdc9fbe09147f522ec288.tar.gz
Generate Project.toml
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD52
1 files changed, 46 insertions, 6 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 81c596c5178d..a3e51a9373fc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=julia-datastructures
_pkgname=DataStructures
pkgver=0.14.0
-pkgrel=2
+pkgrel=3
pkgdesc='Julia implementation of Data structures'
arch=(any)
url=https://github.com/JuliaCollections/DataStructures.jl
@@ -12,15 +12,55 @@ depends=(julia julia-compat julia-loadpath) # julia-primes) circular dependency
_commit=e558358589cf4704b991bd4425dd9e5fa84c7d11
source=($pkgname-$pkgver.tar.gz::https://github.com/JuliaCollections/$_pkgname.jl/archive/v$pkgver.tar.gz
- $pkgname-Package.toml::https://raw.githubusercontent.com/JuliaRegistries/General/$_commit/${_pkgname:0:1}/$_pkgname/Package.toml)
+ $pkgname-Deps.toml::https://raw.githubusercontent.com/JuliaRegistries/General/$_commit/${_pkgname:0:1}/$_pkgname/Deps.toml
+ $pkgname-Package.toml::https://raw.githubusercontent.com/JuliaRegistries/General/$_commit/${_pkgname:0:1}/$_pkgname/Package.toml
+ $pkgname-Versions.toml::https://raw.githubusercontent.com/JuliaRegistries/General/$_commit/${_pkgname:0:1}/$_pkgname/Versions.toml)
sha256sums=('7934fd1fd78e9489cbafd73ee1a07381953035e675b3d5c6a7faa6cde1e4f087'
- '7f7668d5864d661e32aa75e5ef6e9de218e160ec849b67d7555e66a48b2aa4e9')
+ '5a4ef8d0b38f4b5d6096e3809d03cc71f38ef275e93ed2ee80b4bafde2f7aea6'
+ '7f7668d5864d661e32aa75e5ef6e9de218e160ec849b67d7555e66a48b2aa4e9'
+ 'ad72f6850abd7dbb09bad3165f5c192ed8e2c5b006a384c53c8a61d533055f1c')
+
+_slug() {
+ local uuid=$(grep uuid $pkgname-Package.toml | cut -f3 -d' ')
+ local sha1=$(grep \"$pkgver\" -a1 $pkgname-Versions.toml | tail -n1 | cut -f3 -d' ')
+ julia -e "u = Base.UUID($uuid);
+ s = Base.SHA1(hex2bytes($sha1));
+ println(Base.version_slug(u,s));"
+}
+
+_deps() {
+ julia -e "using Pkg
+
+ alldeps = Pkg.TOML.parsefile(\"$srcdir/$pkgname-Deps.toml\")
+ version = join(split(\"$pkgver\", \".\")[1:2],\".\")
+ deps = Dict{String,Any}()
+
+ for (key, value) in alldeps
+ vers = split(key, \"-\")
+
+ if version == vers[1] || (version > vers[1] && length(vers) == 2 && version <= vers[2])
+ merge!(deps, value)
+ end
+ end
+
+ Pkg.TOML.print(deps)"
+}
+
+prepare() {
+ # Generate a Project.toml from Registry metadata
+ rm -f Project.toml && touch Project.toml
+ cat $pkgname-Package.toml >> Project.toml
+ echo -e "version = \"$pkgver\"" >> Project.toml
+ echo -e "\n[deps]" >> Project.toml
+ echo -e "$(_deps)" | sort >> Project.toml
+}
package() {
- install -d "$pkgdir"/usr/share/julia/vendor
+ install -d "$pkgdir"/usr/share/julia/{vendor,packages/$_pkgname}
- cp -r $_pkgname.jl-$pkgver "$pkgdir"/usr/share/julia/vendor/$_pkgname
- install -m644 $pkgname-Package.toml "$pkgdir"/usr/share/julia/vendor/$_pkgname/Project.toml
+ cp -r $_pkgname.jl-$pkgver "$pkgdir"/usr/share/julia/vendor/$_pkgname
+ install -m644 Project.toml "$pkgdir"/usr/share/julia/vendor/$_pkgname/Project.toml
+ ln -s ../../vendor/$_pkgname "$pkgdir"/usr/share/julia/packages/$_pkgname/$(_slug)
install -Dm644 $_pkgname.jl-$pkgver/License.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}