Files
packages/anda/desktops/unityx-shell/unityx-shell.spec
T
madomado 9e12a63083 fix(lint): anda/desktops (#582)
* fix(lint): anda/desktops

* bump some packages and fix some random stuff

* fix: elementary-terminal granite-7

* fix: unityx-shell

* fix: fynedesk

* fix: fynedesk unityx-shell

* fix: fynedesk

* fix: fyshos-fynedesk

also fixes noarch stuff

* fix(noarch): ...

* Revert "fix(noarch): ..."

This reverts commit be94a3ccb4.
2023-06-18 22:43:22 +07:00

216 lines
6.3 KiB
RPMSpec

%global forgeurl https://gitlab.com/ubuntu-unity/unity-x/unityx
%global commit 46dd5199d1cce639f559eda4519aff77ef9c4433
%forgemeta
%define __python /usr/bin/python3
Name: unityx-shell
Version: 1.7.7
Release: 2%?dist
Summary: UnityX is a smaller shell based on Unity7
License: GPL-3.0 AND LGPL-3.0
URL: https://gitlab.com/ubuntu-unity/unity-x/unityx
Source0: %{url}/-/archive/%commit/unityx-%commit.tar.bz2
Source2: https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin/-/commit/dee596492f006d02e2b39abd072ddd7b37fefe82.diff
Patch0: 0001-Remove-social-scope.patch
BuildRequires: fdupes
BuildRequires: cmake
BuildRequires: g++
BuildRequires: gcc
BuildRequires: chrpath
BuildRequires: pkgconfig(dee-1.0)
BuildRequires: pkgconfig(unity-settings-daemon)
BuildRequires: pkgconfig(gnome-desktop-3.0)
BuildRequires: zeitgeist-devel
BuildRequires: libappstream-glib-devel
BuildRequires: libdbusmenu-devel
BuildRequires: bamf-devel
BuildRequires: terra-libindicator-gtk3-devel
BuildRequires: json-glib-devel
BuildRequires: libnotify-devel
BuildRequires: libsigc++20-devel
#BuildRequires: xpathselect-devel
#BuildRequires: libunity-devel
BuildRequires: doxygen
BuildRequires: pam-devel
BuildRequires: boost-devel
BuildRequires: pkgconfig(nux-4.0)
BuildRequires: pkgconfig(libstartup-notification-1.0)
BuildRequires: pkgconfig(unity-protocol-private)
BuildRequires: libunity libunity-devel
# unityx-shell-xfce4-windowck-plugin
BuildRequires: pkgconfig(libwnck-3.0)
BuildRequires: pkgconfig(libxfconf-0)
BuildRequires: pkgconfig(libxfce4util-1.0)
BuildRequires: pkgconfig(libxfce4ui-2)
BuildRequires: pkgconfig(libxfce4panel-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: xfce4-vala
BuildRequires: xfce4-dev-tools
BuildRequires: python3-devel
# Various things are missing that it won't run and it gives a segmentfault if Unity is missing?
# Needs more investigating
Requires: unity-shell
Requires: unity-scope-home
Requires: python3-pydbus
Requires: python3-psutil
Requires: unity-asset-pool
Requires: libunity-misc-devel
Requires: geis-devel
Requires: unity-settings-daemon
Requires: unity-gtk3-module
Requires: unity-gtk2-module
Requires: terra-libindicator-gtk3
Requires: plotinus%{?_isa} = %{version}-%{release}
Requires: bamf-daemon
Requires: xbindkeys
# For default configuration
Requires: %{name}-xfce4-windowck-plugin%{?_isa} = %{version}-%{release}
Requires: nemo
Requires: blueman
Requires: network-manager-applet
Requires: xfce4-vala-panel-appmenu-plugin
Requires: xfwm4
%description
UnityX is a shell based off code from Unity7 with lighter dependencies and more
customizability.
%package xfce4-windowck-plugin
Summary: Core library for the Unity shell
Requires: %{name}%{?_isa} = %{version}-%{release}
%description xfce4-windowck-plugin
This package contains the core library needed for Unity and Unity 2D.
%package devel
Summary: Development files for the core Unity library
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig(dee-1.0)
Requires: pkgconfig(glib-2.0)
Requires: pkgconfig(sigc++-2.0)
Requires: pkgconfig(unity)
Requires: pkgconfig(nux-4.0)
%description devel
This package contains the development files the core Unity library.
%package -n plotinus
Summary: Automatic testing for Unity
%description -n plotinus
This package contains the autopilot framework, which allows for triggering
keyboard and mouse events automatically. This package also contains the bindings
needed for writing automated tests in Python.
%prep
%autosetup -n unityx-%commit -p1
%build
# Wrong paths
sed -i 's!lib/{arch}-linux-gnu!%{_lib}!' unityx/unityx
sed -i 's!%{_lib}/bamf/bamfdaemon!libexec/bamf/bamfdaemon!' unityx/unityx
sed -i 's!unity-settings-daemon!%{_libexecdir}/unity-settings-daemon!' unityx/unityx
%py3_shebang_fix unityx/unityx
# Fix invalid argument calling dbus-update-activation-environment
sed -i 's/'--all', //' unityx/unityx
# The caches again!
rm -fv unityx/windowck-plugin/po/.intltool-merge-cache*
%cmake -DENABLE_X_SUPPORT=ON -DUNITY_PROTOCOL_PRIVATE_LIB=%{_libdir}/libunity/libunity-protocol-private.so.0.0.0 -DCOMPIZ_BUILD_WITH_RPATH=FALSE -DCOMPIZ_PACKAGING_ENABLED=TRUE -DCOMPIZ_PLUGIN_INSTALL_TYPE=package -DUSE_GSETTINGS=TRUE -DENABLE_UNIT_TESTS=FALSE
%cmake_build
pushd unityx/plotinus
# Wrong path again
sed -i 's/LIBRARY DESTINATION lib/LIBRARY DESTINATION %{_lib}/' CMakeLists.txt
%cmake
%cmake_build
popd
pushd unityx/windowck-plugin
# Upstream patch to fix icons being blurry
patch -i %{SOURCE2} -p1
NOCONFIGURE=1 \
./autogen.sh
%configure --disable-static
%make_build
popd
%install
%cmake_install
pushd unityx/plotinus
%cmake_install
popd
pushd unityx/windowck-plugin
%make_install
rm -fv %{buildroot}%{_libdir}/*.la
popd
chrpath --delete %{buildroot}%{_libdir}/libunityx-core-6.0.so.9.0.0
pushd %{buildroot}
ln -s %{_libdir}/unity .%{_libdir}/unityx
rm -rf .%{_datadir}/unityx
ln -s %{_datadir}/unity .%{_datadir}/unityx
popd
%fdupes %buildroot%_datadir/themes/
%find_lang unityx
%find_lang xfce4-windowck-plugin
%ldconfig_post
%postun
if [ ${1} -eq 0 ]; then
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
fi
%posttrans
glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
%files -f unityx.lang
%doc AUTHORS ChangeLog README.md
%license COPYING COPYING.LGPL
%{_bindir}/unityx*
%{_libdir}/unityx
%{_libdir}/libunityx-core-6.0.so.*
%{_datadir}/glib-2.0/schemas/org.unityd.UnityX.gschema.xml
%{_datadir}/glib-2.0/schemas/org.unityd.UnityX.user-interface.gschema.xml
%{_datadir}/unityx
%{_datadir}/xsessions/unityx.desktop
%files -n plotinus
%doc unityx/plotinus/README.md
%license COPYING COPYING.LGPL
%{_bindir}/plotinus
%{_libdir}/libplotinus.so
%{_datadir}/glib-2.0/schemas/org.unityd.UnityX.plotinus.gschema.xml
%files devel
%dir %{_includedir}/UnityX-6.0/UnityCore/
%{_includedir}/UnityX-6.0/UnityCore/*.h
%{_libdir}/libunityx-core-6.0.so
%{_libdir}/pkgconfig/unityx-core-6.0.pc
%files xfce4-windowck-plugin -f xfce4-windowck-plugin.lang
%doc unityx/windowck-plugin/AUTHORS unityx/windowck-plugin/NEWS unityx/windowck-plugin/README.md
%license unityx/windowck-plugin/COPYING
%{_libdir}/xfce4/panel/plugins/*.so
%{_datadir}/icons/hicolor/48x48/apps/*.png
%{_datadir}/themes/Windowck/
%{_datadir}/themes/Windowck-dark/
%{_datadir}/xfce4/panel/plugins/*.desktop
%changelog
%autochangelog