%global debug_package %{nil} %global _missing_build_ids_terminate_build 0 %global goipath github.com/linuxdeepin/dde-api Name: dde-api Version: 6.0.45 Release: 1%{?dist} Summary: DDE API services for Deepin Desktop Environment License: GPL-3.0-or-later URL: https://%{goipath} Source0: %{name}-%{version}.tar.gz Source1: %{name}-%{version}-vendor.tar.bz2 BuildRequires: golang >= 1.20 BuildRequires: gcc BuildRequires: pkg-config BuildRequires: libX11-devel BuildRequires: libXi-devel BuildRequires: libXfixes-devel BuildRequires: libXcursor-devel BuildRequires: alsa-lib-devel BuildRequires: gdk-pixbuf2-devel BuildRequires: librsvg2-devel BuildRequires: cairo-devel BuildRequires: gtk3-devel BuildRequires: glib2-devel Requires: libX11 Requires: alsa-lib Requires: gdk-pixbuf2 Requires: librsvg2 Requires: cairo Requires: gtk3 %description DDE API provides D-Bus service interfaces for the Deepin Desktop Environment, including graphic effects, locale helpers, sound theme player, and various desktop utilities. %package devel Summary: Development files for dde-api Requires: %{name} = %{version}-%{release} %description devel Development headers and cmake config files for dde-api. %prep %autosetup -n %{name}-%{version} tar -xf %{SOURCE1} %build export CGO_ENABLED=1 export GOFLAGS="-mod=vendor -buildmode=pie" export GO_BUILD_FLAGS="-mod=vendor -buildmode=pie" export GOBUILD_OPTIONS="-mod=vendor -buildmode=pie" # Build binaries directly - the Makefile's GOBUILD uses GOPATH layout but we have vendor mkdir -p out/bin for bin in device graphic locale-helper hans2pinyin sound-theme-player deepin-shutdown-sound dde-open adjust-grub-theme image-blur image-blur-helper; do go build -mod=vendor -buildmode=pie -o out/bin/$bin ./$bin || \ go build -mod=vendor -buildmode=pie -o out/bin/$bin ./cmd/$bin || true done %install export PREFIX=/usr export DESTDIR=%{buildroot} export libdir=/lib export SYSTEMD_LIB_DIR=/lib export SYSTEMD_SERVICE_DIR=/lib/systemd/system export INSTALL_LOCALE_HELPER=1 # Install binaries mkdir -pv %{buildroot}%{_prefix}/lib/deepin-api cp -f out/bin/* %{buildroot}%{_prefix}/lib/deepin-api/ 2>/dev/null || true cp -f misc/scripts/* %{buildroot}%{_prefix}/lib/deepin-api/ mkdir -pv %{buildroot}%{_bindir} if [ -f out/bin/dde-open ]; then cp out/bin/dde-open %{buildroot}%{_bindir}/ rm -f %{buildroot}%{_prefix}/lib/deepin-api/dde-open fi # D-Bus configs mkdir -pv %{buildroot}%{_datadir}/dbus-1/system.d cp misc/conf/*.conf %{buildroot}%{_datadir}/dbus-1/system.d/ # D-Bus services mkdir -pv %{buildroot}%{_datadir}/dbus-1/services cp -v misc/services/*.service %{buildroot}%{_datadir}/dbus-1/services/ mkdir -pv %{buildroot}%{_datadir}/dbus-1/system-services cp -v misc/system-services/*.service %{buildroot}%{_datadir}/dbus-1/system-services/ # Polkit mkdir -pv %{buildroot}%{_datadir}/polkit-1/actions cp misc/polkit-action/*.policy.in %{buildroot}%{_datadir}/polkit-1/actions/ 2>/dev/null || true # Copy pre-generated .policy files if they exist for f in misc/polkit-action/*.policy; do [ -f "$f" ] && cp "$f" %{buildroot}%{_datadir}/polkit-1/actions/ done mkdir -pv %{buildroot}/var/lib/polkit-1/rules.d cp misc/polkit-rules/*.rules %{buildroot}/var/lib/polkit-1/rules.d/ # Data mkdir -pv %{buildroot}%{_datadir}/dde-api cp -R misc/data %{buildroot}%{_datadir}/dde-api/ # Systemd mkdir -pv %{buildroot}/lib/systemd/system cp misc/systemd/system/*.service %{buildroot}/lib/systemd/system/ # Icons mkdir -pv %{buildroot}%{_datadir}/icons/hicolor cp -R misc/icons/* %{buildroot}%{_datadir}/icons/hicolor/ 2>/dev/null || true # Devel files mkdir -pv %{buildroot}%{_includedir}/dde-api cp -R cpp-include/eventlogger.hpp %{buildroot}%{_includedir}/dde-api/ mkdir -pv %{buildroot}%{_datadir}/cmake/DDEAPI cp -R cmake/DDEAPI/DDEAPIConfig.cmake %{buildroot}%{_datadir}/cmake/DDEAPI/ # Go source for devel mkdir -pv %{buildroot}%{_datadir}/gocode/src/%{goipath} for lib in dxinput drandr soundutils lang_info i18n_dependent session language_support userenv inhibit_hint powersupply polkit; do [ -d "$lib" ] && cp -R "$lib" %{buildroot}%{_datadir}/gocode/src/%{goipath}/ done cp go.sum go.mod %{buildroot}%{_datadir}/gocode/src/%{goipath}/ 2>/dev/null || true %files %license LICENSE %{_prefix}/lib/deepin-api/ %{_bindir}/dde-open %{_datadir}/dbus-1/system.d/*.conf %{_datadir}/dbus-1/services/*.service %{_datadir}/dbus-1/system-services/*.service %{_datadir}/polkit-1/actions/* /var/lib/polkit-1/rules.d/*.rules %{_datadir}/dde-api/ /lib/systemd/system/*.service %{_datadir}/icons/hicolor/ %files devel %{_includedir}/dde-api/ %{_datadir}/cmake/DDEAPI/ %{_datadir}/gocode/ %changelog * Fri Jul 17 2026 Yonghang Wang - 6.0.45-1 - Initial package for AL2023