summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 8a0fe78683d32990498816df611777f0e016cd67 (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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
#
# sd-boot:
# Arch Linux PKGBUILD 
# This builds the latest release tag.
#
# Maintainer: Gene C <arch@sapience.com>
# Contributor: 
# 
pkgname='sd-boot'
pkgdesc='Tools to install linux kernels via kernel-install from systemd'
_gitname='sd-boot'

pkgver="6.4.1"
pkgrel=1
url="https://github.com/gene-git/sd-boot"

arch=(x86_64)
license=(GPL-2.0-or-later)

options=(!strip !debug)

depends=(
    dracut
    efifs
    glibc
    libcyaml
    pacman
    sbctl
    systemd
    systemd-ukify
    systemd-libs        # libudev
    util-linux-libs     # libmount
)
optdepends=(
    'edk2-shell: efi-shell (installed into EFI partition'
    # 'memtest86_64-git: memtest (installed into EFI partition'   # TBD in AUR
)

makedepends=(
    gcc
    git
    meson
    rsync
)

# clang provides clang-tidy (static source code analysis)
# linux/edk2-shell are used to test installing a kernel/efi tool
checkdepends=(
    clang
    cppcheck
    valgrind
    linux
    edk2-shell
)

backup=(
    etc/sd-boot/config.yaml
    etc/sd-boot/kernel.packages
    etc/sd-boot/efi-tool.packages
    etc/sd-boot/edk2-shell.image
    etc/sd-boot/memtest86_64-git.image
)

#
# Verifying Signed Tag
#   Add arch@sapience.com key to keyring then use the source line with "?signed"
#   Key available via keys/pgp, WKD or dowload from https://www.sapience.com/tech
#   Note that upstream release procedure requires every tagged release have new tag
#
validpgpkeys=( '7CCA1BA66669F3273DB52678E5B81343AB9809E1')   # Gene C <arch@sapience.com>

#source=("git+https://github.com/gene-git/${_gitname}#tag=${pkgver}?signed")
source=("git+https://github.com/gene-git/${_gitname}#tag=${pkgver}")
sha512sums=('SKIP')

changelog="Changelog"

build() {
    cd "${_gitname}/src"
    echo "***"
    echo "Building:" 
    echo "***"

    #
    # Compile flags are in meson.build - options like C23 are required.
    #
    /usr/bin/rm -rf build/*
    export PATH="/usr/bin"
    export CFLAGS=""
    export LDFLAGS=""

    /usr/bin/meson setup \
            --reconfigure build/release \
            --prefix=/usr \
            --sysconfdir=/etc \
            --localstatedir=/var \
            --buildtype=release \
            -Ddefault_library=shared \
            -Db_lto=true \
            -Dhardened_export=true \
            -Dcpu_level=x86-64-v3

    /usr/bin/meson compile -C build/release
}

check() {
    cd "${_gitname}/src/"
    echo "***"
    echo "Running test suite:"
    echo "***"
    ./do-test-build release standard

    # ./do-test-build release valgrind
}

package() {
    cd "${_gitname}/src"
    echo "***"
    echo "Installing:"
    echo "***"

    /usr/bin/meson install -C build/release --destdir "$pkgdir" > /dev/null
}
# vim:set ts=4 sts=4 sw=4 et: