summaryrefslogtreecommitdiff
path: root/opt/nss/MAKEPKG
blob: f3f44d874fcc88bb551524b1c322660621b83d81 (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
#!/bin/mkpkg
# description: Mozilla Network Security Services
# url: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS

name=nss
version=3.130
release=1
_version_tag=3_130
depends=(nspr sqlite zlib)
source=(https://ftp.mozilla.org/pub/security/nss/releases/NSS_${_version_tag}_RTM/src/$name-$version.tar.gz
        nss-3.54-standalone-2.patch
        nss-config.in nss.pc.in nss-softokn.pc.in nss-util.pc.in)

patch() {
    cd $name-$version
    patch -p1 -i $SRC/nss-3.54-standalone-2.patch
}

sha256sums=(
    "afab9f82c78bfa3e7e8b4a61ac31922675c58203f67ff385a2714df7fe9bd5c5"
    "607a29650c767f9451eaec1e35a48a3c8c9ce6a7099234417eb521a44653a371"
    "08dbc1202186308e86125b5c5e7e2d0e1bd1bd5ed65eab011b9af210f656aff5"
    "135fbde6866e422b7a436e18d5b8e0defbb67dde6b8e1dc9e84de14b5c645626"
    "9fe71aa579b7743d1abf5e1a6c74324ce5f9c6113240729a7341e572c3682034"
    "a8b264050fd3b372c58e3eec81b2dc3b369567d0a5f4d085830cd77220e2ac2a"
)

build() {
    cd $name-$version

    export CC=clang
    export CXX=clang++
    export CC_IS_CLANG=1
    export BUILD_OPT=1
    export USE_64=1
    export NSS_USE_SYSTEM_SQLITE=1
    export USE_SYSTEM_ZLIB=1
    export ZLIB_LIBS=-lz
    export NSPR_INCLUDE_DIR=/usr/include/nspr
    export NSPR_LIB_DIR=/usr/lib
    export NSS_DISABLE_LIBPKIX=1
    export NSS_DISABLE_GTESTS=1
    export NSS_ENABLE_WERROR=0

    make -j$(nproc) -C nss nss_build_all

    _distdir=dist/$(ls dist | grep OBJ)

    # bins
    install -d $PKG/usr/bin
    for _bin in certutil cmsutil crlutil modutil pk12util shlibsign \
                signtool signver ssltap; do
        install -m 755 $_distdir/bin/$_bin $PKG/usr/bin/
    done

    # libs
    install -d $PKG/usr/lib
    install -m 755 $_distdir/lib/*.so $PKG/usr/lib/
    # install -m 644 $_distdir/lib/libcrmf.a $PKG/usr/lib/
    for _chk in $_distdir/lib/*.chk; do
        [ -e "$_chk" ] && install -m 644 "$_chk" $PKG/usr/lib/
    done

    # headers
    install -d $PKG/usr/include/nss/private
    install -m 644 dist/public/nss/*.h $PKG/usr/include/nss/
    install -m 644 dist/private/nss/blapi.h $PKG/usr/include/nss/private/
    install -m 644 dist/private/nss/alghmac.h $PKG/usr/include/nss/private/

    # nss-config script
    install -m 755 $SRC/nss-config.in $PKG/usr/bin/nss-config
    sed -i "s/@VERSION@/$version/" $PKG/usr/bin/nss-config

    # pkg-config files
    install -d $PKG/usr/lib/pkgconfig

    NSS_LIBS=$($PKG/usr/bin/nss-config --libs)
    NSS_CFLAGS=$($PKG/usr/bin/nss-config --cflags)
    NSPR_VERSION=$(pkg-config --modversion nspr)

    for _mod in nss nss-util nss-softokn; do
        sed -e "s,%libdir%,/usr/lib," \
            -e "s,%prefix%,/usr," \
            -e "s,%exec_prefix%,/usr," \
            -e "s,%includedir%,/usr/include/nss," \
            -e "s,%NSS_VERSION%,$version," \
            -e "s,%NSPR_VERSION%,$NSPR_VERSION," \
            -e "s,%FULL_NSS_LIBS%,$NSS_LIBS," \
            -e "s,%FULL_NSS_CFLAGS%,$NSS_CFLAGS," \
            $SRC/$_mod.pc.in > $PKG/usr/lib/pkgconfig/$_mod.pc
    done

    rm -f $PKG/usr/lib/libnssckbi-testlib.so
}

signify() {
    untrusted comment: public key
    RWTZ9IduCSQ/mL8337TEUinPwT92xFEUpD92hkS7IxcOnzTt9QdpohT3
}

# vim: filetype=sh