From aa2a80f8537a38fff90d75ea42c8627afbc983bb Mon Sep 17 00:00:00 2001 From: cat-master21 <96554164+cat-master21@users.noreply.github.com> Date: Mon, 20 Feb 2023 16:39:54 -0800 Subject: [PATCH] Add various Unity packages --- CODEOWNERS | 7 +- anda/apps/vala-panel/anda.hcl | 5 + anda/apps/vala-panel/vala-panel.spec | 82 +++++++++ anda/lib/libindicator/anda.hcl | 5 + anda/lib/libindicator/libindicator.spec | 170 ++++++++++++++++++ anda/lib/libunity-misc-devel/anda.hcl | 5 + .../libunity-misc-devel.spec | 54 ++++++ anda/lib/libunity/anda.hcl | 5 + anda/lib/libunity/libunity.spec | 121 +++++++++++++ anda/themes/unity-asset-pool/anda.hcl | 5 + .../unity-asset-pool/unity-asset-pool.spec | 55 ++++++ 11 files changed, 513 insertions(+), 1 deletion(-) create mode 100644 anda/apps/vala-panel/anda.hcl create mode 100644 anda/apps/vala-panel/vala-panel.spec create mode 100644 anda/lib/libindicator/anda.hcl create mode 100644 anda/lib/libindicator/libindicator.spec create mode 100644 anda/lib/libunity-misc-devel/anda.hcl create mode 100644 anda/lib/libunity-misc-devel/libunity-misc-devel.spec create mode 100644 anda/lib/libunity/anda.hcl create mode 100644 anda/lib/libunity/libunity.spec create mode 100644 anda/themes/unity-asset-pool/anda.hcl create mode 100644 anda/themes/unity-asset-pool/unity-asset-pool.spec diff --git a/CODEOWNERS b/CODEOWNERS index 397af39e63..d0fbf1cac9 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -29,4 +29,9 @@ /anda/rust/zellij @korewaChino /anda/audio/distrho @korewaChino -/anda/desktop/compiz9 @cat-master21 \ No newline at end of file +/anda/desktop/compiz9 @cat-master21 +/anda/lib/libindicator @cat-master21 +/anda/lib/libunity @cat-master21 +/anda/lib/libunity-misc-devel @cat-master21 +/anda/themes/unity-asset-pool @cat-master21 +/anda/apps/vala-panel @cat-master21 diff --git a/anda/apps/vala-panel/anda.hcl b/anda/apps/vala-panel/anda.hcl new file mode 100644 index 0000000000..f3640ac953 --- /dev/null +++ b/anda/apps/vala-panel/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "vala-panel.spec" + } +} diff --git a/anda/apps/vala-panel/vala-panel.spec b/anda/apps/vala-panel/vala-panel.spec new file mode 100644 index 0000000000..445dc5c43a --- /dev/null +++ b/anda/apps/vala-panel/vala-panel.spec @@ -0,0 +1,82 @@ +%global forgeurl https://gitlab.com/vala-panel-project/vala-panel +%global commit ead4e7a36b0e4b0a2ac43c5d9ca17eb753461afe + +%forgemeta + +Name: vala-panel +Version: 0.5.0 +Release: %autorelease +License: LGPL-3.0+ +Summary: This package provides Application Menu plugin for vala-panel +URL: %{forgeurl} +Source: %{forgesource} + +BuildRequires: meson +BuildRequires: vala +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gmodule-2.0) +BuildRequires: pkgconfig(libwnck-3.0) +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(libpeas-gtk-1.0) +BuildRequires: gtk-layer-shell-devel + +%description +This is Application Menu (Global Menu) plugin. +It built using Unity protocol and libraries, +and share all Unity limitations and advancements. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +%description devel +%{summary}. + +%prep +%forgeautosetup + +%build +%meson -Dwnck=enabled -Dplatforms='layer-shell,x11' +%meson_build + +%install +%meson_install +%find_lang %{name} +# Already packaged +rm -rf %{buildroot}%{_datadir}/vala-panel/doc + +desktop-file-validate %{buildroot}%{_datadir}/applications/org.valapanel.application.desktop +# Seems to succeed with other appstream checkers and works but fails +#appstream-util validate-relax --nonet {buildroot}{_datadir}/appdata/org.valapanel.application.appdata.xml + +%files -f %{name}.lang +%doc README.md LICENSE +%license LICENSE +%{_sysconfdir}/xdg/vala-panel/ +%{_bindir}/vala-* +%{_libdir}/libvalapanel.so.* +%dir %{_libdir}/vala-panel +%dir %{_libdir}/vala-panel/applets +%{_libdir}/vala-panel/applets/*.so +%{_datadir}/appdata/org.valapanel.application.appdata.xml +%{_datadir}/applications/org.valapanel.application.desktop +%{_datadir}/glib-2.0/schemas/*.xml +%{_datadir}/icons/hicolor/96x96/apps/vala-panel.png +%{_datadir}/icons/hicolor/scalable/apps/vala-panel.svg +%{_datadir}/man/man1/*.1.gz +%dir %{_datadir}/vala-panel +%dir %{_datadir}/vala-panel/applets +%{_datadir}/vala-panel/applets/*.plugin +%dir %{_datadir}/vala-panel/images +%{_datadir}/vala-panel/images/background.png + +%files devel +%dir %{_includedir}/vala-panel +%{_includedir}/vala-panel/*.h +%{_libdir}/libvalapanel.so +%{_libdir}/pkgconfig/vala-panel.pc +%{_datadir}/vala/vapi/vala-panel.* + +%changelog +%autochangelog diff --git a/anda/lib/libindicator/anda.hcl b/anda/lib/libindicator/anda.hcl new file mode 100644 index 0000000000..e70241f082 --- /dev/null +++ b/anda/lib/libindicator/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "libindicator.spec" + } +} diff --git a/anda/lib/libindicator/libindicator.spec b/anda/lib/libindicator/libindicator.spec new file mode 100644 index 0000000000..92ea737f3b --- /dev/null +++ b/anda/lib/libindicator/libindicator.spec @@ -0,0 +1,170 @@ +Name: libindicator +Version: 16.10.0 +Release: %autorelease +Summary: Shared functions for Ayatana indicators + +License: GPLv3 +URL: https://launchpad.net/libindicator +Source0: http://archive.ubuntu.com/ubuntu/pool/universe/libi/libindicator/libindicator_16.10.0+18.04.20180321.1.orig.tar.gz +# From GLib 2.62 +Patch1: http://archive.ubuntu.com/ubuntu/pool/universe/libi/libindicator/libindicator_16.10.0+18.04.20180321.1-0ubuntu5.diff.gz + +BuildRequires: chrpath +BuildRequires: gtk-doc +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: dbus-glib-devel +BuildRequires: gtk2-devel +BuildRequires: gtk3-devel +#Requires: ido-devel +BuildRequires: gnome-common +BuildRequires: make + +%description +A set of symbols and convenience functions that all Ayatana indicators are +likely to use. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%package gtk3 +Summary: GTK+3 build of %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description gtk3 +A set of symbols and convenience functions that all Ayatana indicators +are likely to use. This is the GTK+ 3 build of %{name}, for use +by GTK+ 3 apps. + + +%package gtk3-devel +Summary: Development files for %{name}-gtk3 +Requires: %{name}-gtk3%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description gtk3-devel +The %{name}-gtk3-devel package contains libraries and header files for +developing applications that use %{name}-gtk3. + +%prep +%setup -q -c +%patch1 -p1 -b .orig +# Remove all IDO references +# This is only needed for tools/indicator-loader.c +sed -i '6d' ./Makefile.am +sed -i 's!libindicator \\!libindicator!' Makefile.am +sed -i '59d' configure.ac +sed -ie 58's/$/) &/' configure.ac + +sed -i.addvar configure.ac \ + -e '\@LIBINDICATOR_LIBS@s|\$LIBM| \$LIBM|' +sed -i 's!tests/Makefile!!' configure.ac + +NOCONFIGURE=1 \ + sh autogen.sh + +%build +%global _configure ../configure +rm -rf build-gtk2 build-gtk3 +mkdir build-gtk2 build-gtk3 + +pushd build-gtk2 +export CFLAGS="%{optflags} -Wno-error=deprecated-declarations" +%configure --with-gtk=2 --disable-tests --disable-static --disable-silent-rules +sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +make %{?_smp_mflags} +popd + +pushd build-gtk3 +export CFLAGS="%{optflags} -Wno-error=deprecated-declarations" +%configure --with-gtk=3 --disable-tests --disable-static --disable-silent-rules +sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +make %{?_smp_mflags} +popd + + +%install +pushd build-gtk2 +make install DESTDIR=%{buildroot} +popd +( + PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig + export PKG_CONFIG_PATH + for var in \ + iconsdir \ + indicatordir \ + %{nil} + do + vardir=$(pkg-config --variable=${var} indicator-0.4) + mkdir -p %{buildroot}${vardir} + done +) + +pushd build-gtk3 +make install DESTDIR=%{buildroot} +popd +( + PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig + export PKG_CONFIG_PATH + for var in \ + iconsdir \ + indicatordir \ + %{nil} + do + vardir=$(pkg-config --variable=${var} indicator3-0.4) + mkdir -p %{buildroot}${vardir} + done +) + +# Ubuntu doesn't package the dummy indicator +#rm -f %{buildroot}%{_libdir}/libdummy-indicator*.so + +# Remove libtool files +find %{buildroot} -type f -name '*.la' -delete + +%ldconfig_scriptlets +%ldconfig_scriptlets gtk3 + +%files +%license COPYING +%doc AUTHORS COPYING NEWS ChangeLog +%{_libdir}/libindicator.so.* +%{_prefix}/lib/indicators/ +%dir %{_datadir}/libindicator/ +%dir %{_datadir}/libindicator/icons/ +%{_userunitdir}/indicators-pre.target + +%files devel +%dir %{_includedir}/libindicator-0.4/ +%dir %{_includedir}/libindicator-0.4/libindicator/ +%{_includedir}/libindicator-0.4/libindicator/*.h +%{_libdir}/libindicator.so +%{_libdir}/pkgconfig/indicator-0.4.pc + +%files gtk3 +%doc AUTHORS COPYING NEWS ChangeLog +%{_libdir}/libindicator3.so.* +%{_prefix}/lib/indicators3/ +%dir %{_datadir}/libindicator/ +%dir %{_datadir}/libindicator/icons/ + +%files gtk3-devel +%dir %{_includedir}/libindicator3-0.4/ +%dir %{_includedir}/libindicator3-0.4/libindicator/ +%{_includedir}/libindicator3-0.4/libindicator/*.h +%{_libdir}/libindicator3.so +%{_libdir}/pkgconfig/indicator3-0.4.pc + +%changelog +%autochangelog diff --git a/anda/lib/libunity-misc-devel/anda.hcl b/anda/lib/libunity-misc-devel/anda.hcl new file mode 100644 index 0000000000..a72db05789 --- /dev/null +++ b/anda/lib/libunity-misc-devel/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "libunity-misc-devel.spec" + } +} diff --git a/anda/lib/libunity-misc-devel/libunity-misc-devel.spec b/anda/lib/libunity-misc-devel/libunity-misc-devel.spec new file mode 100644 index 0000000000..9ac16e7c41 --- /dev/null +++ b/anda/lib/libunity-misc-devel/libunity-misc-devel.spec @@ -0,0 +1,54 @@ +Name: libunity-misc-devel +Version: 1.4 +Release: %autorelease +Summary: Misc Unity shell libs + +License: LGPLv2+ +URL: https://launchpad.net/libunity-misc +Source0: http://archive.ubuntu.com/ubuntu/pool/universe/libu/libunity-misc/libunity-misc_4.0.5+14.04.20140115.orig.tar.gz + +BuildRequires: make +BuildRequires: g++ +BuildRequires: gcc +BuildRequires: libX11-devel +BuildRequires: gnome-common +BuildRequires: gtk-doc +BuildRequires: libX11-devel +BuildRequires: gtk3-devel +BuildRequires: glib2-devel +Requires: gtk3 +Requires: libX11 + +%description +A simple library that implements a subset of the XPath spec to allow selecting nodes in an object tree + +%prep +%setup -q -n libunity-misc-4.0.5+14.04.20140115 +find ./ -type f -exec sed -i 's/-Werror//' {} \; +NOCONFIGURE=1 \ +./autogen.sh + +%build +%configure \ + --disable-silent-rules \ + --disable-static +%make_build + +%install +%make_install +rm -fv %{buildroot}%{_libdir}/lib*.la +%ldconfig_post + +%files +%{_libdir}/libunity-misc.so +%{_libdir}/libunity-misc.so.4 +%{_libdir}/libunity-misc.so.4.1.0 +%{_libdir}/pkgconfig/unity-misc.pc +%{_includedir}/unity-misc/unity-misc/na-tray.h +%{_includedir}/unity-misc/unity-misc/na-marshal.h +%{_includedir}/unity-misc/unity-misc/na-tray-manager.h +%{_includedir}/unity-misc/unity-misc/na-tray-child.h +%{_includedir}/unity-misc/unity-misc/gnome-bg-slideshow.h + +%changelog +%autochangelog diff --git a/anda/lib/libunity/anda.hcl b/anda/lib/libunity/anda.hcl new file mode 100644 index 0000000000..b59855ad19 --- /dev/null +++ b/anda/lib/libunity/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "libunity.spec" + } +} diff --git a/anda/lib/libunity/libunity.spec b/anda/lib/libunity/libunity.spec new file mode 100644 index 0000000000..751dfb4c2e --- /dev/null +++ b/anda/lib/libunity/libunity.spec @@ -0,0 +1,121 @@ +Name: libunity +Summary: Supporting library for Unity shell +Version: 7.1.4+19.04 +Release: %autorelease + +License: GPLv3+ AND LGPLv3+ +URL: https://launchpad.net/libunity +# same sources as shipped in ubuntu packages +Source0: http://archive.ubuntu.com/ubuntu/pool/main/libu/libunity/libunity_7.1.4+19.04.20190319.orig.tar.gz +Patch0: https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/libunity/7.1.4+19.04.20190319-0ubuntu1/libunity_7.1.4+19.04.20190319-0ubuntu1.diff.gz +Patch1: https://launchpadlibrarian.net/443817430/0001-Fix-FTB-with-recent-vala-requiring-non-public-abstra.patch +# Patch for vala 0.53.2 portability +Patch2: https://src.fedoraproject.org/rpms/libunity/raw/rawhide/f/libunity-7.1.4-vala-053.patch + +BuildRequires: automake libtool gnome-common +BuildRequires: intltool +BuildRequires: pkgconfig(dee-1.0) +BuildRequires: pkgconfig(dbusmenu-glib-0.4) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: python3-devel +BuildRequires: vala +BuildRequires: make + +%description +A library for instrumenting and integrating with all aspects of the Unity +shell devel version with headers. Thanks to https://src.fedoraproject.org/rpms/libunity for the original RPM spec. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +%description devel +%{summary}. + +%package -n python3-libunity +Summary: Python3 bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: python3-gobject-base +%description -n python3-libunity +%{summary}. + +%prep +%autosetup -c -p1 + +%build +NOCONFIGURE=1 \ +./autogen.sh + +PYTHON=%{__python3} +export PYTHON + +%configure \ + --disable-silent-rules \ + --disable-static + +%make_build + +%install +%make_install + +rm -fv %{buildroot}%{_libdir}/lib*.la %{buildroot}%{_libdir}/libunity/lib*.la + +pushd %{buildroot} +ln -fs %{_libdir}/libunity/libunity-protocol-private.so.0.0.0 .%{_libdir}/libunity-protocol-private.so +ln -fs %{_libdir}/libunity/libunity-protocol-private.so.0.0.0 .%{_libdir}/libunity-protocol-private.so.0 +popd + +%py_byte_compile %{__python3} %{buildroot}%{python3_sitearch}/gi/overrides/ + +%ldconfig_post + +%postun +%{?ldconfig} +%if 0%{?rhel} && 0%{?rhel} < 8 +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 || : +%endif + +%files +%doc AUTHORS README +%license COPYING* +%{_bindir}/libunity-tool +%{_bindir}/unity-scope-loader +%{_libdir}/libunity.so.* +%{_libdir}/libunity-extras.so.* +%{_libdir}/libunity-protocol-private.so.0 +%{_libdir}/girepository-1.0/Unity-7.0.typelib +%{_libdir}/girepository-1.0/UnityExtras-7.0.typelib +%dir %{_libdir}/libunity/ +%{_libdir}/libunity/libunity-protocol-private.so +%{_libdir}/libunity/libunity-protocol-private.so.* +%{_datadir}/glib-2.0/schemas/com.canonical.Unity.Lenses.gschema.xml +%{_datadir}/unity/ +%{_datadir}/unity-scopes/ + +%files -n python3-libunity +%{python3_sitearch}/gi/overrides/Unity.py* +%{python3_sitearch}/gi/overrides/__pycache__/* + +%files devel +%{_includedir}/unity/ +%{_libdir}/libunity.so +%{_libdir}/libunity-extras.so +%{_libdir}/libunity-protocol-private.so +%{_libdir}/pkgconfig/unity.pc +%{_libdir}/pkgconfig/unity-extras.pc +%{_libdir}/pkgconfig/unity-protocol-private.pc +%{_datadir}/gir-1.0/Unity-7.0.gir +%{_datadir}/gir-1.0/UnityExtras-7.0.gir +%{_datadir}/vala/vapi/unity.* +%{_datadir}/vala/vapi/unity-extras.* +%{_datadir}/vala/vapi/unity-protocol.* +%{_datadir}/vala/vapi/unity-trace.* + +%changelog +%autochangelog diff --git a/anda/themes/unity-asset-pool/anda.hcl b/anda/themes/unity-asset-pool/anda.hcl new file mode 100644 index 0000000000..c1373e04b9 --- /dev/null +++ b/anda/themes/unity-asset-pool/anda.hcl @@ -0,0 +1,5 @@ +project "pkg" { + rpm { + spec = "unity-asset-pool.spec" + } +} diff --git a/anda/themes/unity-asset-pool/unity-asset-pool.spec b/anda/themes/unity-asset-pool/unity-asset-pool.spec new file mode 100644 index 0000000000..3465e5c267 --- /dev/null +++ b/anda/themes/unity-asset-pool/unity-asset-pool.spec @@ -0,0 +1,55 @@ +Name: unity-asset-pool +Summary: Assets and icons for Unity +Version: 0.8.24 +Release: %autorelease + +License: CC-BY-SA +URL: https://launchpad.net/unity-asset-pool +Source0: %{url}/0.8/%{version}/+download/unity-asset-pool-%{version}.tar.gz +BuildArch: noarch + +BuildRequires: binutils +BuildRequires: zstd +Requires: adwaita-icon-theme +Requires: hicolor-icon-theme + +%description +Theme and icons for Unity. + +%prep +%autosetup + +%build +true + +%install +mkdir -m 0755 -p %{buildroot}%{_datadir}/icons/unity-icon-theme/apps %{buildroot}%{_datadir}/icons/unity-icon-theme/places +mkdir -m 0755 -p %{buildroot}%{_datadir}/unity/themes + +mkdir -m 0755 -p %{buildroot}%{_datadir}/icons/unity-icon-theme/places/svg %{buildroot}%{_datadir}/icons/unity-icon-theme/places/22 +mkdir -m 0755 -p %{buildroot}%{_datadir}/icons/unity-icon-theme/places/24 %{buildroot}%{_datadir}/icons/unity-icon-theme/apps/48 +mkdir -m 0755 -p %{buildroot}%{_datadir}/icons/unity-icon-theme/apps/128 +mkdir -m 0755 -p %{buildroot}%{_datadir}/icons/unity-icon-theme/search/16 %{buildroot}%{_datadir}/icons/unity-icon-theme/web/48 + +install -m 0644 unity-icon-theme/index.theme -t %{buildroot}%{_datadir}/icons/unity-icon-theme +install -m 0644 unity-icon-theme/apps/48/workspace-switcher.png -t %{buildroot}%{_datadir}/icons/unity-icon-theme/apps/48 +install -m 0644 unity-icon-theme/apps/128/* -t %{buildroot}%{_datadir}/icons/unity-icon-theme/apps/128 +install -m 0644 unity-icon-theme/places/22/distributor-logo.png -t %{buildroot}%{_datadir}/icons/unity-icon-theme/places/22 +install -m 0644 unity-icon-theme/places/24/distributor-logo.png -t %{buildroot}%{_datadir}/icons/unity-icon-theme/places/24 +install -m 0644 unity-icon-theme/places/svg/* -t %{buildroot}%{_datadir}/icons/unity-icon-theme/places/svg +install -m 0644 unity-icon-theme/search/16/search_field.png -t %{buildroot}%{_datadir}/icons/unity-icon-theme/search/16 +install -m 0644 unity-icon-theme/web/48/webapp-default-icon.png -t %{buildroot}%{_datadir}/icons/unity-icon-theme/web/48 +install -m 0644 unity-icon-theme/index.theme -t %{buildroot}%{_datadir}/icons/unity-icon-theme +install -m 0644 unity-icon-theme/index.theme -t %{buildroot}%{_datadir}/icons/unity-icon-theme + +install -m 0644 launcher/* -t %{buildroot}%{_datadir}/unity/themes +install -m 0644 panel/* -t %{buildroot}%{_datadir}/unity/themes + +%files +%license COPYRIGHT +%dir %{_datadir}/unity/themes +%{_datadir}/unity/themes/*.png +%{_datadir}/icons/unity-icon-theme/ + +%changelog +%autochangelog