gxde-infra-git

LOW
maintainer CharOfString 0 votes scanned 2026-10-08 20:09:40.002650
View on AUR
Why flagged

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

PKGBUILD

1# Maintainer: CharOfString <root@charofstring.cc>
2
3pkgname=gxde-infra-git
4pkgver=2026.10.04.r0.g0000000
5pkgrel=1
6pkgdesc='GXDE OS infrastructure components'
7arch=(x86_64 aarch64)
8url='https://github.com/GXDE-OS'
9license=(GPL-3.0-or-later LGPL-3.0-or-later LGPL-2.0-or-later)
10_mods=(golang-gxde-dev gxde-k9 disomaster-qt6 gxde-api deepin-keyring libgnome-keyring
11 gxde-desktop-base gxde-desktop-schemas dframework-dbus-qt6 gxde-network-utils-qt6
12 udisks2-qt6 gxde-movie-reborn libdbusmenu-qt6 xdg-desktop-portal-gxde)
13_codename=zhuangzhuang
14depends=(gxde-dtk5-git gxde-dtk2-git gxde-dtk6-git gxde-dtk2-qt6-git
15 qt5-base qt5-x11extras qt6-base qt6-declarative
16 glib2 gtk3 cairo librsvg gdk-pixbuf2 gdk-pixbuf-xlib poppler-glib freetype2
17 libgcrypt dbus udisks2 libisoburn alsa-lib libpulse
18 mpv ffmpeg ffmpegthumbnailer libdvdnav
19 libpipewire libdrm mesa libglvnd wayland
20 libx11 libxcb libxcursor libxfixes libxtst
21 gcc-libs glibc)
22optdepends=('gnome-keyring: secret storage backend for libgnome-keyring')
23makedepends=(git go cmake ninja python intltool gobject-introspection vala
24 qt5-tools qt6-tools deepin-gettext-tools
25 wlr-protocols treeland-protocols wayland-protocols
26 gxde-dtk2widget-dev-git)
27provides=(deepin-desktop-base deepin-desktop-schemas deepin-api udisks2-qt6 xdg-desktop-portal-impl)
28conflicts=(deepin-desktop-base deepin-desktop-schemas deepin-api udisks2-qt6
29 xdg-desktop-portal-dde deepin-daemon)
30source=("golang-gxde-dev::git+$url/golang-gxde-dev.git"
31 "gxde-k9::git+$url/gxde-k9.git"
32 "disomaster-qt6::git+$url/disomaster-qt6.git"
33 "gxde-api::git+$url/gxde-api.git"
34 "deepin-keyring::git+$url/deepin-keyring.git"
35 "libgnome-keyring::git+$url/libgnome-keyring.git"
36 "gxde-desktop-base::git+$url/gxde-desktop-base.git"
37 "gxde-desktop-schemas::git+$url/gxde-desktop-schemas.git"
38 "dframework-dbus-qt6::git+$url/dframework-dbus-qt6.git#branch=main"
39 "gxde-network-utils-qt6::git+$url/gxde-network-utils-qt6.git"
40 "udisks2-qt6::git+$url/udisks2-qt6.git"
41 "gxde-movie-reborn::git+$url/gxde-movie-reborn.git"
42 "libdbusmenu-qt6::git+$url/libdbusmenu-qt6.git"
43 "xdg-desktop-portal-gxde::git+$url/xdg-desktop-portal-gxde.git")
44sha256sums=(SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP SKIP)
45
46pkgver() {
47 local _count=0 _m
48 for _m in "${_mods[@]}"; do
49 _count=$((_count + $(git -C "$_m" rev-list --count HEAD)))
50 done
51 printf '%s.r%s.g%s' "$(git -C gxde-desktop-base describe --tags --abbrev=0)" "$_count" \
52 "$(git -C gxde-desktop-base rev-parse --short=7 HEAD)"
53}
54
55prepare() {
56 local _m _tag
57 for _m in "${_mods[@]}"; do
58 _tag=$(git -C "$_m" describe --tags --abbrev=0 2>/dev/null) || { msg2 "$_m -> HEAD (no tag)"; continue; }
59 msg2 "$_m -> $_tag"
60 git -C "$_m" checkout -q --detach "refs/tags/$_tag"
61 done
62}
63
64_distro() {
65 case $CARCH in
66 aarch64) echo arm ;;
67 *) echo x86 ;;
68 esac
69}
70
71_cmake() {
72 local _m=$1; shift
73 cmake -S "$_m" -B "build-$_m" -G Ninja \
74 -DCMAKE_INSTALL_PREFIX=/usr \
75 -DCMAKE_INSTALL_LIBDIR=lib \
76 -DCMAKE_INSTALL_LIBEXECDIR=lib \
77 -DCMAKE_PREFIX_PATH="$srcdir/stage/usr" \
78 -DCMAKE_BUILD_TYPE=None \
79 -DBUILD_TESTING=OFF \
80 "$@"
81 cmake --build "build-$_m"
82 DESTDIR="$srcdir/stage" cmake --install "build-$_m"
83}
84
85build() {
86 local _stage="$srcdir/stage"
87 export LD_LIBRARY_PATH="$_stage/usr/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
88 export GO111MODULE=off GOFLAGS="-buildmode=pie -trimpath"
89 # golang-gxde-dev 里 gir 绑定生成的 C 代码用了 C23 之前的 extern void f(); 写法
90 export CGO_CPPFLAGS="$CPPFLAGS" CGO_CFLAGS="$CFLAGS -std=gnu17" CGO_CXXFLAGS="$CXXFLAGS" CGO_LDFLAGS="$LDFLAGS"
91
92 make -C golang-gxde-dev install DESTDIR="$_stage"
93
94 _cmake disomaster-qt6
95
96 make -C gxde-api GOPATH="$_stage/usr/share/gocode-gxde/:$srcdir/gxde-api/gopath"
97
98 ( cd libgnome-keyring && GPGRT_CONFIG=/usr/bin/gpgrt-config ./configure --prefix=/usr --sysconfdir=/etc --disable-static \
99 --enable-introspection --enable-vala --disable-gtk-doc --disable-maintainer-mode && make )
100
101 # 等同 gxde-desktop-base 的 make build(zhuangzhuang 用 lizhi 那套身份文件);
102 # 它的 Makefile 调用的是 Debian 的 perl rename,Arch 的 rename 语法不同
103 local _f
104 for _f in gxde-desktop-base/files/*-lizhi; do cp "$_f" "${_f%-lizhi}"; done
105 make -C gxde-desktop-schemas build DISTRO="$(_distro)"
106
107 # 它在配置时把打过补丁的 gxde-qdbusxml2cpp 编进源码目录,generate_code.py 只在构建目录
108 # 往上三层和 PATH 里找;Debian 的构建目录在源码目录里所以能找到,这里要加进 PATH,
109 # 否则会退回 Qt 原版 qdbusxml2cpp,部分 XML 过不了
110 PATH="$srcdir/dframework-dbus-qt6:$PATH" _cmake dframework-dbus-qt6
111
112 mkdir -p build-gxde-network-utils-qt6
113 ( cd build-gxde-network-utils-qt6 && DFRAMEWORK_PATH="$_stage/usr" qmake6 ../gxde-network-utils-qt6 \
114 PREFIX=/usr CONFIG+=no_qt_rpath \
115 QMAKE_CXXFLAGS_RELEASE="$CXXFLAGS" QMAKE_LFLAGS_RELEASE="$LDFLAGS" && make )
116
117 _cmake udisks2-qt6
118 _cmake gxde-movie-reborn -DUSE_DXCB=OFF
119 _cmake libdbusmenu-qt6 -DUSE_QT6=ON -DWITH_DOC=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5
120 _cmake xdg-desktop-portal-gxde
121}
122
123package() {
124 local _m
125 make -C golang-gxde-dev install DESTDIR="$pkgdir"
126 cp -a gxde-k9/src/. "$pkgdir/"
127 make -C gxde-api install DESTDIR="$pkgdir" SYSTEMD_LIB_DIR=/usr/lib
128 rm -r "$pkgdir/boot"
129 install -Dm644 deepin-keyring/keyrings/*.gpg -t "$pkgdir/usr/share/keyrings/"
130 make -C libgnome-keyring install DESTDIR="$pkgdir"
131
132 # gxde-desktop-base:只装身份和数据文件
133 make -C gxde-desktop-base install DESTDIR="$pkgdir" GXDE_CODENAME=$_codename
134 ( cd "$pkgdir" && rm -r etc/apt usr/share/python-apt etc/default/grub.d etc/sudoers.d \
135 etc/systemd tmp usr/share/distro-info )
136 ln -s ../usr/lib/deepin/desktop-version "$pkgdir/etc/deepin-version"
137 ln -s ../usr/lib/deepin/os-version "$pkgdir/etc/os-version"
138
139 make -C gxde-desktop-schemas install DESTDIR="$pkgdir" DISTRO="$(_distro)"
140 make -C build-gxde-network-utils-qt6 install INSTALL_ROOT="$pkgdir"
141 for _m in disomaster-qt6 dframework-dbus-qt6 udisks2-qt6 gxde-movie-reborn \
142 libdbusmenu-qt6 xdg-desktop-portal-gxde; do
143 DESTDIR="$pkgdir" cmake --install "build-$_m"
144 done
145}
146

Scan history

Scanned at (UTC)SeverityRules
2026-10-08 20:09:40 Low 1

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion