summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 89049f082ad000462c559585dfdf8c0b35beb200 (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
# Maintainer: Alex Szczuczko <alex@szc.ca>
# Contributor: TDY <tdy.aur@gmail.com>

pkgname=ceylon
pkgver=1.3.3
pkgrel=1
pkgdesc="A powerful statically typed language for writing large programs in groups"
arch=("any")
url="https://ceylon-lang.org/"
license=("Apache" "custom:GPL-CP" "LGPL")
install="${pkgname}.install"
depends=("java-environment>=7" "bash")
optdepends=("nodejs: for JavaScript interoperability")
source=("https://downloads.ceylon-lang.org/cli/$pkgname-$pkgver.zip")
sha256sums=("4ec1f1781043ee369c3e225576787ce5518685f2206eafa7d2fd5cfe6ac9923d")

package() {
    cd "$srcdir/$pkgname-$pkgver"

    #
    # Main files
    #

    # General
    install -dm755 "$pkgdir/usr/share/java/$pkgname/"
    cp -a contrib bin doc lib repo samples templates "$pkgdir/usr/share/java/$pkgname/"
    find "$pkgdir/usr/share/java/$pkgname/" -type d -print0 | xargs -0 chmod 755
    find "$pkgdir/usr/share/java/$pkgname/" -type f -print0 | xargs -0 chmod 644

    # Bin
    find "$pkgdir/usr/share/java/$pkgname/" -type f -name '*.bat' -print0 | xargs -0 rm
    chmod 755 "$pkgdir/usr/share/java/$pkgname/bin/ceylon"

    #
    # System integration
    #

    # Bin
    install -dm755 "$pkgdir/usr/bin/"
    ln -s "/usr/share/java/$pkgname/bin/ceylon" "$pkgdir/usr/bin/$pkgname"

    # Completion
    install -dm755 "$pkgdir/usr/share/bash-completion/completions/"
    ln -s "/usr/share/java/$pkgname/contrib/scripts/ceylon-completion.bash" "$pkgdir/usr/share/bash-completion/completions/$pkgname"

    # Doc
    install -dm755 "$pkgdir/usr/share/doc/"
    ln -s "/usr/share/java/$pkgname/doc/" "$pkgdir/usr/share/doc/$pkgname"
    # Man
    install -dm755 "$pkgdir/usr/share/"
    mv "$pkgdir/usr/share/java/$pkgname/doc/man" "$pkgdir/usr/share/"
    # Info
    install -dm755 "$pkgdir/usr/share/"
    mv "$pkgdir/usr/share/java/$pkgname/doc/en/spec/info" "$pkgdir/usr/share/"

    # License
    install -Dm644 LICENSE-GPL-CP "$pkgdir/usr/share/licenses/$pkgname/GPL-CP"
    install -Dm644 NOTICE "$pkgdir/usr/share/licenses/$pkgname/NOTICE"
}