diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 52 |
2 files changed, 51 insertions, 7 deletions
@@ -1,7 +1,7 @@ pkgbase = julia-datastructures pkgdesc = Julia implementation of Data structures pkgver = 0.14.0 - pkgrel = 2 + pkgrel = 3 url = https://github.com/JuliaCollections/DataStructures.jl arch = any license = MIT @@ -9,9 +9,13 @@ pkgbase = julia-datastructures depends = julia-compat depends = julia-loadpath source = julia-datastructures-0.14.0.tar.gz::https://github.com/JuliaCollections/DataStructures.jl/archive/v0.14.0.tar.gz + source = julia-datastructures-Deps.toml::https://raw.githubusercontent.com/JuliaRegistries/General/e558358589cf4704b991bd4425dd9e5fa84c7d11/D/DataStructures/Deps.toml source = julia-datastructures-Package.toml::https://raw.githubusercontent.com/JuliaRegistries/General/e558358589cf4704b991bd4425dd9e5fa84c7d11/D/DataStructures/Package.toml + source = julia-datastructures-Versions.toml::https://raw.githubusercontent.com/JuliaRegistries/General/e558358589cf4704b991bd4425dd9e5fa84c7d11/D/DataStructures/Versions.toml sha256sums = 7934fd1fd78e9489cbafd73ee1a07381953035e675b3d5c6a7faa6cde1e4f087 + sha256sums = 5a4ef8d0b38f4b5d6096e3809d03cc71f38ef275e93ed2ee80b4bafde2f7aea6 sha256sums = 7f7668d5864d661e32aa75e5ef6e9de218e160ec849b67d7555e66a48b2aa4e9 + sha256sums = ad72f6850abd7dbb09bad3165f5c192ed8e2c5b006a384c53c8a61d533055f1c pkgname = julia-datastructures @@ -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 } |