summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: af134716e49e2b641ec8090cd6c7249b017789ed (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
# Maintainer: Baptiste Augrain <daiyam@zokugun.org>.
# Inspired from the PKGBUILD for vscodium.

pkgname=mrcode
pkgver=1.64.2+22042
pkgrel=1
pkgdesc="A custom build of VSCodium / VSCode (git build from latest release)"
arch=('x86_64' 'aarch64' 'armv7h')
url='https://github.com/zokugun/MrCode.git'
license=('MIT')

# Version of NodeJS that will be used to create the build.
_nodejs='14'

depends=(
    'fontconfig'
    'libxtst'
    'gtk3'
    'cairo'
    'alsa-lib'
    'nss'
    'gcc-libs'
    'libnotify'
    'libxss'
    'glibc>=2.28-4'
    'libxkbfile'
)
optdepends=(
    'gvfs: For move to trash functionality'
    'libdbusmenu-glib: For KDE global menu'
)
makedepends=(
    'bash'
    'git'
    'jq'
    'libxdmcp'
    'nodejs-lts-fermium'
    'npm'
    'python'
    'yarn'
)
source=(
    "git+${url}#tag=${pkgver}"
    'mrcode.desktop'
)
sha256sums=('SKIP'
            '362ef9b395929a66442f60be0e238ac69afbbda07728e4121c352fdea236af92')
provides=('mrcode')
conflicts=(
    'mrcode-git'
    'mrcode-bin'
)

case "$CARCH" in
  x86_64)
    _vscode_arch=x64
    ;;
  aarch64)
    _vscode_arch=arm64
    ;;
  armv7h)
    _vscode_arch=arm
    ;;
  *)
    # Needed for mksrcinfo
    _vscode_arch=DUMMY
    ;;
esac

install_node() {
    mkdir -p ~/.npm-global

    npm config set prefix '~/.npm-global'

    export PATH=~/.npm-global/bin:$PATH
}

version() {
    echo "$@" | tr 'v' ' ' | awk -F. '{ printf("%03d%03d%03d%03d\n", $1,$2,$3,$4); }'
}

prepare() {
    install_node
}

build() {
    cd "MrCode"

    export CI_BUILD="no"
    export SHOULD_BUILD="yes"
    export OS_NAME="linux"
    export VSCODE_ARCH="${_vscode_arch}"
    export SKIP_LINUX_PACKAGES="True"
    export RELEASE_VERSION="${pkgver}"
    export VSCODIUM_LATEST="1"
    
    if [ -d vscodium ]; then
        . reset.sh
    fi

    . get_repo.sh

    . prepare.sh
    
    . version.sh

    . build.sh
}

package() {
    install -d -m755 ${pkgdir}/usr/bin
    install -d -m755 ${pkgdir}/usr/share/{mrcode,applications,pixmaps}
    install -d -m755 ${pkgdir}/usr/share/licenses/mrcode
    
    cp -r ${srcdir}/MrCode/vscodium/vscode/LICENSE.txt ${pkgdir}/usr/share/licenses/mrcode
    cp -r ${srcdir}/MrCode/vscodium/VSCode-linux-${_vscode_arch}/* ${pkgdir}/usr/share/mrcode
    
    ln -s /usr/share/mrcode/bin/mrcode ${pkgdir}/usr/bin/mrcode
    install -D -m644 mrcode.desktop ${pkgdir}/usr/share/applications/mrcode.desktop
    install -D -m644 ${srcdir}/MrCode/vscodium/VSCode-linux-${_vscode_arch}/resources/app/resources/linux/code.png ${pkgdir}/usr/share/pixmaps/mrcode.png
}