summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 8d9b4ca8ee0ad2797a142e9fc2fce5742ccf7fe6 (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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
_pkgname=singularity-desktop
pkgname="$_pkgname-git"
pkgver=0.1.0.r205.gf407e8d
pkgrel=1
pkgdesc='The Singularity Desktop Environment'
arch=('x86_64' 'aarch64')
url='https://github.com/singularityos-lab/singularity-desktop'
license=('GPL-3.0-or-later')

depends=(
  at-spi2-core
  cairo
  fontconfig
  gdk-pixbuf2
  glib2
  gnome-online-accounts
  gstreamer
  gst-plugins-base-libs
  gtk4
  gtk4-layer-shell
  gtksourceview5
  json-glib
  libdrm
  libadwaita
  libdbusmenu-glib
  libgcrypt
  libgee
  libgudev
  libinput
  libnm
  libpeas-2
  libpng
  libpulse
  libsecret
  libsodium
  libsoup3
  librsvg
  libxcrypt
  libxml2
  libxcb
  libxkbcommon
  pango
  pam
  polkit
  poppler-glib
  tinysparql
  upower
  vte4
  wayland
  webkitgtk-6.0
)

makedepends=(
  gettext
  git
  go
  gobject-introspection
  meson
  ninja
  python
  sassc
  scdoc
  vala
  wayland-protocols
)

provides=("$_pkgname=$pkgver")
conflicts=(
  "$_pkgname"
  gnome-keyring
  labwc
)
replaces=(gnome-keyring)

source=(
  "$_pkgname::git+https://github.com/singularityos-lab/singularity-desktop.git"
  'vetro::git+https://github.com/singularityos-lab/vetro.git#commit=0a7bd367676f67e1c15a304ba135fe6fecdbc604'
)

sha256sums=('SKIP' 'SKIP')

pkgver() {
  cd "$srcdir/$_pkgname"

  if git describe --long --tags --abbrev=7 >/dev/null 2>&1; then
    git describe --long --tags --abbrev=7 |
      sed 's/^v//;s/([^-]*-g)/r\1/;s/-/./g'
  else
    printf "0.1.0.r%s.g%s" \
      "$(git rev-list --count HEAD)" \
      "$(git rev-parse --short=7 HEAD)"
  fi
}

prepare() {
  cd "$srcdir/$_pkgname"
  git submodule update --init --recursive
}

build() {
  mkdir -p "$srcdir/bin" "$srcdir/gopath"

  cd "$srcdir/vetro"
  GOPATH="$srcdir/gopath" go build -trimpath -o "$srcdir/bin/vetro" .

  cd "$srcdir/$_pkgname"

  export PATH="$srcdir/bin:$PATH"

  meson setup build \
    --prefix=/usr \
    --buildtype=release \
    --wrap-mode=nodownload \
    -Dinstaller=false

  meson compile -C build
}

package() {
  cd "$srcdir/$_pkgname"

  DESTDIR="$pkgdir" meson install -C build

  install -Dm644 /dev/stdin \
    "$pkgdir/usr/share/wayland-sessions/singularity.desktop" <<'EOF'
[Desktop Entry]
Name=Singularity
Comment=The Singularity Desktop Environment
Exec=/usr/bin/singularity-labwc-session
TryExec=/usr/bin/singularity-labwc-session
Type=Application
DesktopNames=Singularity
EOF

  if [ -f LICENSE ]; then
    install -Dm644 LICENSE \
      "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
  fi
}