blob: a482f637eaf526e4bee3e92f01ccfafa1b6e5208 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# Maintainer: Jonathon Fernyhough <jonathon_at_manjaro dot_org>
pkgname=julia-datastructures
_pkgname=DataStructures
pkgver=0.14.0
pkgrel=4
pkgdesc='Julia implementation of Data structures'
arch=(any)
url=https://github.com/JuliaCollections/DataStructures.jl
license=(MIT)
depends=(julia julia-compat julia-loadpath) # julia-primes) circular dependency for check()
_commit=e558358589cf4704b991bd4425dd9e5fa84c7d11
source=($pkgname-$pkgver.tar.gz::https://github.com/JuliaCollections/$_pkgname.jl/archive/v$pkgver.tar.gz
$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'
'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 = VersionNumber(\"$pkgver\")
majmin = VersionNumber(\"${pkgver%.*}\")
deps = Dict{String,Any}()
for (key, value) in alldeps
vers = split(key, \"-\")
lower = VersionNumber(vers[1])
if length(vers) == 2
upper = VersionNumber(vers[2])
if (majmin >= lower && majmin <= upper) ||
(version >= lower && version <= upper)
merge!(deps, value)
end
elseif length(vers) == 1
if majmin == lower || version == lower
merge!(deps, value)
end
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,packages/$_pkgname}
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
}
# Has circular dependency on julia-primes
#check() {
# cd $_pkgname.jl-$pkgver
# HOME="$srcdir" JULIA_LOAD_PATH=src:$JULIA_LOAD_PATH julia test/runtests.jl
#}
|