summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 8e3f87236821ca7f48578cd8b00845f161f66c65 (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
# Maintainer: Fabian Posch <aur@posch.tech>

pkgname=act-core-git
pkgver=0.0.1.r1865.033b73b
pkgrel=3
pkgdesc="ACT core provides the core library for the ACT AVLSI toolflow."
arch=('x86_64')
url="https://github.com/asyncvlsi/act"
license=('GPL-2.0')
depends=('libedit' 'zlib' 'm4')
optdepends=()
makedepends=('git' 'gcc' 'patch' 'sed' 'make')
conflicts=('act-core')
provides=('act-core')
source=(
    "git+${url}"
    "${pkgname}.csh"
    "${pkgname}.sh"
    "install-scripts.patch"
    "script-makefile.patch"
    "standard-makefile.patch"
    "LICENSE"
)
sha512sums=(
    "SKIP"
    "2a8efc3439ba260009f2a0040630e033a6a49d6718775da574a926bc540adc19bbc4e14dcfa5c0d04dcaeb2c4c3bd7c496d353f0e21e758923df29353b27582e"
    "d3b3826b1e2126f9e12760d9046da7cd19b8f20e94e40e4229b82df3a36f8d7392c09feb3b473ca603cdac214d6b97f6b2d6cd667b8b11e5cf5b661f0bf94640"
    "49663486b1d8098da390f53f731d654f7711af1329e0b21a7a34658864278b6671c2f234320c56132a5cfedd42a6152f5a1ad502f068a767a95049476aa44af0"
    "e2c949e7e7ef6a3053b406db61c975f3b77e7bef203dc858edabcc6eff8c1a1c47df7d5747f55973ac5a0ed6b5ff512aef87490b979c5cbcd13305d0a23348e0"
    "14d2e5faffafa713805bad6952546870d6e2519f996899b89fbbc09e19b0ed5500db2f1cba3a9aaf73700e58d295b1f35000278046d7b38cceed5736e1102d6c"
    "aee80b1f9f7f4a8a00dcf6e6ce6c41988dcaedc4de19d9d04460cbfb05d99829ffe8f9d038468eabbfba4d65b38e8dbef5ecf5eb8a1b891d9839cda6c48ee957"
)

pkgver() {
    cd act
    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
}

prepare() {
    # the scripts install script uses ACT_HOME instead of INSTALLDIR as the installation location
    # we need to fix this
    patch "${srcdir}/act/scripts/install-scripts" < "install-scripts.patch"
    patch "${srcdir}/act/scripts/Makefile" < "script-makefile.patch"

    # to separate libraries and build location better for packaging, inject install location override
    patch "${srcdir}/act/scripts/Makefile.std" < "standard-makefile.patch"
}

package() {
    # install the scripts to set the correct env variables
    install -Dm755 "${pkgname}.sh" "${pkgdir}/etc/profile.d/${pkgname}.sh"
    install -Dm755 "${pkgname}.csh" "${pkgdir}/etc/profile.d/${pkgname}.csh"
    install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"

    # we need to build in fakeroot since ACT does not separate
    # build and install very cleanly
    export VLSI_TOOLS_SRC=${srcdir}/act

    install -d "${pkgdir}/opt/act-async"
    export ACT_HOME="/opt/act-async"

    # build the package
    cd act/
    ./configure "${pkgdir}/opt/act-async"
    ./build
    make install

    # Since reconfiguring includes creating the folders which we can't do,
    # only change the installation location.
    # In addition, for other packages to be able to build to other places than
    # /opt/act-async, we make the assignment conditional.
    sed -i 's/INSTALLDIR=.*/INSTALLDIR=\/opt\/act-async/' "${pkgdir}/opt/act-async/scripts/config"

    export ACT_HOME="${pkgdir}/opt/act-async"
    make runtest
}