summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 01921f187a20ae3b967267e9757abcf1630aa209 (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
pkgname=7-zip-full
pkgver=21.07
pkgrel=1
pkgdesc="File archiver with a high compression ratio. Full package, attempt to replace p7zip."
url="https://www.7-zip.org"
license=(LGPL)
arch=(x86_64)
makedepends=(uasm)
provides=('7-zip' 'p7zip')
conflicts=('7-zip' 'p7zip')

_archive='7z2107-src.tar.xz'

source=(
    "${_archive}::${url}/a/${_archive}"
    'prepare.patch'
)

sha256sums=(
    '213d594407cb8efcba36610b152ca4921eda14163310b43903d13e68313e1e39'
    'aa93c9919fe87a51c94453888581f3ba936c3a85fb297d053270b5f6edd578d3'
)

prepare() {
    cd "${srcdir}"
    chmod -R a=r,u+w,a+X .
    patch -p0 -N --binary -i "${source[1]}"
}

_targets=("Alone" "Alone2" "Alone7z" "Format7zF")

build() {
    export BUILD_DIR="${srcdir}/build"
    local mak="${srcdir}/CPP/7zip/cmpl_gcc_x64.mak"
    for target in "${_targets[@]}"; do
        cd "${srcdir}/CPP/7zip/Bundles/${target}"
        make -f "${mak}"
    done
}

package() {
    cd "${srcdir}/CPP/7zip/Bundles"

    local lib="/usr/lib/${pkgname}"
    local plib="${pkgdir}${lib}"
    local pbin=$(install -dm755 "${pkgdir}/usr/bin" && echo "$_")

    install -Dm755 -t "${plib}" "${BUILD_DIR}/7za"
    ln -s "${lib}/7za" "${pbin}/7za"

    install -Dm755 -t "${plib}" "${BUILD_DIR}/7zz"
    ln -s "${lib}/7zz" "${pbin}/7z"
    ln -s "${lib}/7zz" "${pbin}/7zz"

    install -Dm755 -t "${plib}" "${BUILD_DIR}/7zr"
    ln -s "${lib}/7zr" "${pbin}/7zr"

    install -Dm644 -t "${plib}" "${BUILD_DIR}/7z.so"

    cd "${srcdir}/DOC"

    install -Dm644 -t "${pkgdir}/usr/share/licenses/${pkgname}" "copying.txt" "License.txt" "unRarLicense.txt"

    install -Dm644 -t "${pkgdir}/usr/share/doc/${pkgname}" "7zC.txt" "7zFormat.txt" "lzma.txt" "Methods.txt" "readme.txt" "src-history.txt"
}