summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 4b80d99765a63e67c6fafe30e69959f3fd1bf13b (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
#Maintainer:	Giteeajake <giteeajake@qq.com>

#please run "gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org" or "curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -" before running "makepkg"
#if you want to update without AUR. Please run "tor-browser -u"

# set -x

_appname='tor-browser'
pkgname="${_appname}-alpha-bin"
pkgver='14.5a2'
pkgrel=1
pkgdesc='Alpha Version of Tor Browser'
url='https://www.torproject.org/projects/torbrowser.html'
arch=('i686' 'x86_64')
license=('MPL-2.0')
depends=('libxt' 'startup-notification' 'mime-types' 'dbus-glib'
    'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme'
    'icu' 'libvpx' 'libevent' 'nss' 'hunspell' 'sqlite'
    'qt6-base')
optdepends=('zenity: simple dialog boxes'
    'kdialog: KDE dialog boxes'
    'libpulse: PulseAudio audio driver'
    'gst-plugins-good: H.264 support'
    'gst-libav: H.264 support'
    'libnotify: GNOME dialog boxes')
provides=("${_appname}")
install="${pkgname}.install"
validpgpkeys=('EF6E286DDA2A4BA7DE684E2C6E873298290')

_arch_i686='linux-i686'
_arch_x64='linux-x86_64'
_urlbase="https://dist.torproject.org/torbrowser/${pkgver}"

# check the CPU arch
_archset() {
    if [ "$CARCH" == "x86_64" ]; then
        echo -n "${_arch_x64}"
    elif [ "$CARCH" == "i686" ]; then
        echo -n "${_arch_i686}"
    fi
}

# complete sed input
_sed_escape() {
    echo "$1" | sed 's/[\/&.\*^$[]/\\&/g'
}

_checksums() {
    local _arch=$1
    (curl --silent --fail "${_urlbase}/sha256sums-signed-build.txt" ||
        curl --silent --fail "${_urlbase}/sha256sums-unsigned.txt") |
        awk -v _arch="$arch" -v pkgver="$pkgver" "/${_appname}-${_arch}-${pkgver}.tar.xz\$/"'{print $1}'
}

source_i686=("${_urlbase}/${_appname}-${_arch_i686}-${pkgver}.tar.xz"{,.asc})
source_x86_64=("${_urlbase}/${_appname}-${_arch_x64}-${pkgver}.tar.xz"{,.asc})
source=("${pkgname}.svg"
    	"${pkgname}.png"
    	"${pkgname}.desktop"
		"${pkgname}.in")

sha256sums=('0f05dfe54e576f45e036b3f82e079b5e87f32e3bdbbf3b31a82a5746a9277ed4'
            '1dac790ea6437642d06d5555dd636c286ab2fec3dc524b8bf08ad0f7fc2b7d3b'
            'a48a63c0a6976ad9abc6d2878876acc2d5250254cebe8d302a646602d57fe1ce'
            '7c3f3b6aa74d8e556a4bfb9e0a47920dc2cb1c94243efebc40a785bf50562799')

sha256sums_i686=("$(_checksums ${_arch_i686})"
                 'SKIP')
sha256sums_x86_64=("$(_checksums ${_arch_x64})"
                   'SKIP')

# 确保 sha256sums 中没有空值
if [[ -z "${sha256sums_i686[0]}" ]]; then
    sha256sums_i686=('SKIP')
fi

if [[ -z "${sha256sums_x86_64[0]}" ]]; then
    sha256sums_x86_64=('SKIP')
fi

noextract=("${_appname}-${_arch_x64}-${pkgver}.tar.xz"
    "${_appname}-${_arch_i686}-${pkgver}.tar.xz")

package() {
    cd ${srcdir}
    # _sed_packlet = use sed to complete the source files
    local _sed_packlet="
		s/@PACKAGE_NAME@/$(_sed_escape "${pkgname}")/g
		s/@PACKAGE_VERSION@/$(_sed_escape "${pkgver}")/g
		s/@PACKAGE_RELEASE@/$(_sed_escape "${pkgrel}")/g
		s/@PACKAGE_ARCH@/$(_sed_escape "$(_archset)")/g
		"

    install -dm755 \
        "${pkgdir}/usr/bin"
    sed -e "${_sed_packlet}" "${pkgname}.in" >"${pkgdir}/usr/bin/${_appname}"
    chmod +x "${pkgdir}/usr/bin/${_appname}"

    # Install icon
    install -dm755 \
        "${pkgdir}/usr/share/icons/hicolor/scalable/apps" \
        "${pkgdir}/usr/share/icons/hicolor/128x128/apps"

    install -Dm644 "${srcdir}/${pkgname}.svg" "${pkgdir}/usr/share/icons/hicolor/scalable/apps/${pkgname}.svg"
    install -Dm644 "${srcdir}/${pkgname}.png" "${pkgdir}/usr/share/icons/hicolor/128x128/apps/${pkgname}.png"

    install -dm755 "${pkgdir}/usr/share/applications"
    install -Dm644 "${srcdir}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop"

    install -Dm444 "${_appname}-$(_archset)-${pkgver}.tar.xz" "${pkgdir}/opt/${_appname}-$(_archset)-${pkgver}.tar.xz"
}