From 816e7e8e1a04fcf00a5e59b9c2091cb221878b2c Mon Sep 17 00:00:00 2001 From: Ryan Brue Date: Feb 29 2024 01:55:05 +0000 Subject: [PATCH 1/2] Update readme --- diff --git a/README.md b/README.md index 6f2a1d6..f153052 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ # cosmic-packaging -WIP Packaging for the COSMIC desktop environment \ No newline at end of file +WIP Packaging for the COSMIC desktop environment + +Testing for this packaging may be done at this [COPR](https://copr.fedorainfracloud.org/coprs/ryanabx/cosmic-epoch/) + +Be sure to report issues with the packaging in this repo. Report COSMIC related issues in [their repo](https://github.com/pop-os/cosmic-epoch/issues) If unsure whether an issue is with packaging or COSMIC itself, start here, in this repo. \ No newline at end of file From e2439b6432540baf294d504bdbaf2a11dc309758 Mon Sep 17 00:00:00 2001 From: Ryan Brue Date: Mar 02 2024 19:23:45 +0000 Subject: [PATCH 2/2] Add work in progress spec files s --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0e4f7f4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +*.py[cod] +*$py.class \ No newline at end of file diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100644 index 0000000..0c73c5b --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,7 @@ +#!/bin/bash -x + +PACKAGE= + +git clone --recurse-submodules https://pagure.io/fedora-cosmic/cosmic-packaging.git +cd cosmic-rpms/$PACKAGE +. ./srpm.sh \ No newline at end of file diff --git a/cosmic-app-library/cosmic-app-library.spec b/cosmic-app-library/cosmic-app-library.spec new file mode 100644 index 0000000..331ab49 --- /dev/null +++ b/cosmic-app-library/cosmic-app-library.spec @@ -0,0 +1,91 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-app-library +%global repo https://github.com/pop-os/cosmic-applibrary + +Name: cosmic-app-library +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: A boilerplate template to get started with GTK, Rust, Meson, Flatpak, Debian made for Cosmic. + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applibrary + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-app-library +%{_datadir}/applications/com.system76.CosmicAppLibrary.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppLibrary.svg +%{_metainfodir}/com.system76.CosmicAppLibrary.metainfo.xml + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-app-library/srpm.sh b/cosmic-app-library/srpm.sh new file mode 100644 index 0000000..637af3e --- /dev/null +++ b/cosmic-app-library/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-app-library' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-app-library/*' +pop_repo='cosmic-applibrary' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-app-list/cosmic-applet-app-list.spec b/cosmic-applet-app-list/cosmic-applet-app-list.spec new file mode 100644 index 0000000..2559d0d --- /dev/null +++ b/cosmic-applet-app-list/cosmic-applet-app-list.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-app-list +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-app-list +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP app list applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-app-list + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_app_list + +%files + +%{_bindir}/cosmic-app-list +%{_datadir}/applications/com.system76.CosmicAppList.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppList.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-app-list/srpm.sh b/cosmic-applet-app-list/srpm.sh new file mode 100644 index 0000000..6361edf --- /dev/null +++ b/cosmic-applet-app-list/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-app-list' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-app-list/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-audio/cosmic-applet-audio.spec b/cosmic-applet-audio/cosmic-applet-audio.spec new file mode 100644 index 0000000..12808e7 --- /dev/null +++ b/cosmic-applet-audio/cosmic-applet-audio.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-audio +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-audio +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP audio applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-audio + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_audio + +%files + +%{_bindir}/cosmic-applet-audio +%{_datadir}/applications/com.system76.CosmicAppletAudio.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletAudio.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-audio/srpm.sh b/cosmic-applet-audio/srpm.sh new file mode 100644 index 0000000..90071c0 --- /dev/null +++ b/cosmic-applet-audio/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-audio' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-audio/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-battery/cosmic-applet-battery.spec b/cosmic-applet-battery/cosmic-applet-battery.spec new file mode 100644 index 0000000..2005f37 --- /dev/null +++ b/cosmic-applet-battery/cosmic-applet-battery.spec @@ -0,0 +1,133 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-battery +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-battery +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP battery applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-battery + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_battery + +%files + +%{_bindir}/cosmic-applet-battery +%{_datadir}/applications/com.system76.CosmicAppletBattery.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletBattery.svg + +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-high-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-low-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-medium-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-off-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-100-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-100-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-limited-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-limited-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-90-charging-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-battery-level-90-symbolic.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-battery/srpm.sh b/cosmic-applet-battery/srpm.sh new file mode 100644 index 0000000..2ff369e --- /dev/null +++ b/cosmic-applet-battery/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-battery' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-battery/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-bluetooth/cosmic-applet-bluetooth.spec b/cosmic-applet-bluetooth/cosmic-applet-bluetooth.spec new file mode 100644 index 0000000..add21a1 --- /dev/null +++ b/cosmic-applet-bluetooth/cosmic-applet-bluetooth.spec @@ -0,0 +1,95 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-bluetooth +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-bluetooth +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP bluetooth applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-bluetooth + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_bluetooth + +%files + +%{_bindir}/cosmic-applet-bluetooth +%{_datadir}/applications/com.system76.CosmicAppletBluetooth.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletBluetooth.svg + +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-bluetooth-active-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-bluetooth-disabled-symbolic.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-bluetooth/srpm.sh b/cosmic-applet-bluetooth/srpm.sh new file mode 100644 index 0000000..83ce059 --- /dev/null +++ b/cosmic-applet-bluetooth/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-bluetooth' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-bluetooth/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-network/cosmic-applet-network.spec b/cosmic-applet-network/cosmic-applet-network.spec new file mode 100644 index 0000000..66cb1c6 --- /dev/null +++ b/cosmic-applet-network/cosmic-applet-network.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-network +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-network +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP network applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-network + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_network + +%files + +%{_bindir}/cosmic-applet-network +%{_datadir}/applications/com.system76.CosmicAppletNetwork.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletNetwork.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-network/srpm.sh b/cosmic-applet-network/srpm.sh new file mode 100644 index 0000000..9a7bfb3 --- /dev/null +++ b/cosmic-applet-network/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-network' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-network/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-notifications/cosmic-applet-notifications.spec b/cosmic-applet-notifications/cosmic-applet-notifications.spec new file mode 100644 index 0000000..7013e83 --- /dev/null +++ b/cosmic-applet-notifications/cosmic-applet-notifications.spec @@ -0,0 +1,96 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-notifications +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-notifications +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP notifications applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-notifications + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_notifications + +%files + +%{_bindir}/cosmic-applet-notifications +%{_datadir}/applications/com.system76.CosmicAppletNotifications.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletNotifications.svg + +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-notification-disabled-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-notification-new-symbolic.svg +%{_datadir}/icons/hicolor/scalable/status/cosmic-applet-notification-symbolic.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-notifications/srpm.sh b/cosmic-applet-notifications/srpm.sh new file mode 100644 index 0000000..06d523b --- /dev/null +++ b/cosmic-applet-notifications/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-notifications' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-notifications/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-panel-button/cosmic-applet-panel-button.spec b/cosmic-applet-panel-button/cosmic-applet-panel-button.spec new file mode 100644 index 0000000..ae50fcc --- /dev/null +++ b/cosmic-applet-panel-button/cosmic-applet-panel-button.spec @@ -0,0 +1,98 @@ +%define debug_package %{nil} +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-panel-button +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-panel-button +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP panel button applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-panel-button + + +%install + +just rootdir=%{buildroot} prefix=%{_prefix} _install_panel_button +just rootdir=%{buildroot} prefix=%{_prefix} _install_app_button +just rootdir=%{buildroot} prefix=%{_prefix} _install_workspaces_button + + +%files + +%{_bindir}/cosmic-panel-button +%{_datadir}/applications/com.system76.CosmicPanelAppButton.desktop +%{_datadir}/applications/com.system76.CosmicPanelWorkspacesButton.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicPanelAppButton.svg +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicPanelWorkspacesButton.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-panel-button/srpm.sh b/cosmic-applet-panel-button/srpm.sh new file mode 100644 index 0000000..ef62dbe --- /dev/null +++ b/cosmic-applet-panel-button/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-panel-button' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-panel-button/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-power/cosmic-applet-power.spec b/cosmic-applet-power/cosmic-applet-power.spec new file mode 100644 index 0000000..899897a --- /dev/null +++ b/cosmic-applet-power/cosmic-applet-power.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-power +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-power +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP power applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-power + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_power + +%files + +%{_bindir}/cosmic-applet-power +%{_datadir}/applications/com.system76.CosmicAppletPower.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletPower.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-power/srpm.sh b/cosmic-applet-power/srpm.sh new file mode 100644 index 0000000..832926c --- /dev/null +++ b/cosmic-applet-power/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-power' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-power/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-status-area/cosmic-applet-status-area.spec b/cosmic-applet-status-area/cosmic-applet-status-area.spec new file mode 100644 index 0000000..7789f7b --- /dev/null +++ b/cosmic-applet-status-area/cosmic-applet-status-area.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-status-area +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-status-area +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP status area applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-status-area + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_status_area + +%files + +%{_bindir}/cosmic-applet-status-area +%{_datadir}/applications/com.system76.CosmicAppletStatusArea.desktop + +%{_datadir}/icons/hicolor/scalable/app/com.system76.CosmicAppletStatusArea.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-status-area/srpm.sh b/cosmic-applet-status-area/srpm.sh new file mode 100644 index 0000000..ea12ec5 --- /dev/null +++ b/cosmic-applet-status-area/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-status-area' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-status-area/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-tiling/cosmic-applet-tiling.spec b/cosmic-applet-tiling/cosmic-applet-tiling.spec new file mode 100644 index 0000000..c44b341 --- /dev/null +++ b/cosmic-applet-tiling/cosmic-applet-tiling.spec @@ -0,0 +1,94 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-tiling +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-tiling +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP tiling applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-tiling + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_tiling + +%files + +%{_bindir}/cosmic-applet-tiling +%{_datadir}/applications/com.system76.CosmicAppletTiling.desktop + +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletTiling.Off.svg +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletTiling.On.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-tiling/srpm.sh b/cosmic-applet-tiling/srpm.sh new file mode 100644 index 0000000..4833824 --- /dev/null +++ b/cosmic-applet-tiling/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-tiling' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-tiling/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-time/cosmic-applet-time.spec b/cosmic-applet-time/cosmic-applet-time.spec new file mode 100644 index 0000000..bfae6a1 --- /dev/null +++ b/cosmic-applet-time/cosmic-applet-time.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-time +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-time +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP time applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-time + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_time + +%files + +%{_bindir}/cosmic-applet-time +%{_datadir}/applications/com.system76.CosmicAppletTime.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletTime.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-time/srpm.sh b/cosmic-applet-time/srpm.sh new file mode 100644 index 0000000..d333c60 --- /dev/null +++ b/cosmic-applet-time/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-time' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-time/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applet-workspaces/cosmic-applet-workspaces.spec b/cosmic-applet-workspaces/cosmic-applet-workspaces.spec new file mode 100644 index 0000000..e5ef6e7 --- /dev/null +++ b/cosmic-applet-workspaces/cosmic-applet-workspaces.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-applet-workspaces +%global repo https://github.com/pop-os/cosmic-applets + +Name: cosmic-applet-workspaces +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP workspaces applet for cosmic-panel + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-applets + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build + +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-workspaces + + +%install +just rootdir=%{buildroot} prefix=%{_prefix} _install_workspace + +%files + +%{_bindir}/cosmic-applet-workspaces +%{_datadir}/applications/com.system76.CosmicAppletWorkspaces.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicAppletWorkspaces.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applet-workspaces/srpm.sh b/cosmic-applet-workspaces/srpm.sh new file mode 100644 index 0000000..bf6f5d9 --- /dev/null +++ b/cosmic-applet-workspaces/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applet-workspaces' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applet-workspaces/*' +pop_repo='cosmic-applets' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-applets/cosmic-applets.spec b/cosmic-applets/cosmic-applets.spec new file mode 100644 index 0000000..0545443 --- /dev/null +++ b/cosmic-applets/cosmic-applets.spec @@ -0,0 +1,41 @@ +# COSMIC Desktop meta package +Name: cosmic-applets +Version: 0.1.0~20240226 + +Release: %autorelease +Summary: WIP applets for the COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-epoch + +Requires: cosmic-applet-app-list +Requires: cosmic-applet-audio +Requires: cosmic-applet-battery +Requires: cosmic-applet-bluetooth +Requires: cosmic-applet-network +Requires: cosmic-applet-notifications +Requires: cosmic-applet-panel-button +Requires: cosmic-applet-power +Requires: cosmic-applet-status-area +Requires: cosmic-applet-tiling +Requires: cosmic-applet-time +Requires: cosmic-applet-workspaces + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%build + +%install + +%files + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-applets/srpm.sh b/cosmic-applets/srpm.sh new file mode 100644 index 0000000..a1bfcd0 --- /dev/null +++ b/cosmic-applets/srpm.sh @@ -0,0 +1,20 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-applets' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-applets/cosmic-applets.spec' + +cd ../.. +# We should be in the base directory now + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date/" $name.spec diff --git a/cosmic-bg/cosmic-bg.spec b/cosmic-bg/cosmic-bg.spec new file mode 100644 index 0000000..4978bc9 --- /dev/null +++ b/cosmic-bg/cosmic-bg.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-bg +%global repo https://github.com/pop-os/cosmic-bg + +Name: cosmic-bg +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: COSMIC session service which applies backgrounds to displays + +License: MPL-2.0 + +URL: https://github.com/pop-os/cosmic-bg + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-bg +%{_datadir}/applications/com.system76.CosmicBackground.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicBackground.svg +%{_datadir}/icons/hicolor/symbolic/apps/com.system76.CosmicBackground-symbolic.svg +%{_metainfodir}/com.system76.CosmicBackground.metainfo.xml + +%{_datadir}/cosmic/com.system76.CosmicBackground/* + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-bg/srpm.sh b/cosmic-bg/srpm.sh new file mode 100644 index 0000000..b6ce8c7 --- /dev/null +++ b/cosmic-bg/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-bg' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-bg/*' +pop_repo='cosmic-bg' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-comp/cosmic-comp.spec b/cosmic-comp/cosmic-comp.spec new file mode 100644 index 0000000..17f0435 --- /dev/null +++ b/cosmic-comp/cosmic-comp.spec @@ -0,0 +1,92 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-comp +%global repo https://github.com/pop-os/cosmic-comp + +Name: cosmic-comp +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Compositor for the COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-comp + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +make all VENDOR=1 + +%install + +make install DESTDIR=%{buildroot} prefix=%{_prefix} +install -Dm0644 config.ron %{buildroot}/%{_sysconfdir}/cosmic-comp/config.ron + + +%files + +%{_bindir}/cosmic-comp + +%{_sysconfdir}/cosmic-comp/config.ron + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-comp/srpm.sh b/cosmic-comp/srpm.sh new file mode 100644 index 0000000..e2bc158 --- /dev/null +++ b/cosmic-comp/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-comp' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-comp/*' +pop_repo='cosmic-comp' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-edit/cosmic-edit.spec b/cosmic-edit/cosmic-edit.spec new file mode 100644 index 0000000..e4f99e0 --- /dev/null +++ b/cosmic-edit/cosmic-edit.spec @@ -0,0 +1,96 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-edit +%global repo https://github.com/pop-os/cosmic-edit + +Name: cosmic-edit +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Text editor built using libcosmic for the COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-edit + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-edit +%{_datadir}/applications/com.system76.CosmicEdit.desktop + +%{_datadir}/icons/hicolor/128x128/apps/com.system76.CosmicEdit.svg +%{_datadir}/icons/hicolor/16x16/apps/com.system76.CosmicEdit.svg +%{_datadir}/icons/hicolor/24x24/apps/com.system76.CosmicEdit.svg +%{_datadir}/icons/hicolor/256x256/apps/com.system76.CosmicEdit.svg +%{_datadir}/icons/hicolor/32x32/apps/com.system76.CosmicEdit.svg +%{_datadir}/icons/hicolor/48x48/apps/com.system76.CosmicEdit.svg +%{_datadir}/icons/hicolor/64x64/apps/com.system76.CosmicEdit.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-edit/srpm.sh b/cosmic-edit/srpm.sh new file mode 100644 index 0000000..6664822 --- /dev/null +++ b/cosmic-edit/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-edit' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-edit/*' +pop_repo='cosmic-edit' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-epoch/cosmic-epoch.spec b/cosmic-epoch/cosmic-epoch.spec new file mode 100644 index 0000000..a106641 --- /dev/null +++ b/cosmic-epoch/cosmic-epoch.spec @@ -0,0 +1,51 @@ +# COSMIC Desktop meta package +Name: cosmic-epoch +Version: 0.1.0~20240226 + +Release: %autorelease +Summary: The next generation COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-epoch + +Requires: cosmic-app-library +Requires: cosmic-applets +Requires: cosmic-bg +Requires: cosmic-comp +Requires: cosmic-edit +Requires: cosmic-files +Requires: cosmic-greeter +Requires: cosmic-icons +Requires: cosmic-launcher +Requires: pop-launcher +Requires: cosmic-notifications +Requires: cosmic-osd +Requires: cosmic-panel +Requires: cosmic-randr +Requires: cosmic-screenshot +Requires: cosmic-session +Requires: cosmic-settings +Requires: cosmic-settings-daemon +Requires: cosmic-store +Requires: cosmic-term +Requires: cosmic-workspaces +Requires: xdg-desktop-portal-cosmic + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%build + +%install + +%files + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-epoch/srpm.sh b/cosmic-epoch/srpm.sh new file mode 100644 index 0000000..ea83655 --- /dev/null +++ b/cosmic-epoch/srpm.sh @@ -0,0 +1,20 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-epoch' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-epoch/cosmic-epoch.spec' + +cd ../.. +# We should be in the base directory now + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date/" $name.spec diff --git a/cosmic-files/cosmic-files.spec b/cosmic-files/cosmic-files.spec new file mode 100644 index 0000000..b01f036 --- /dev/null +++ b/cosmic-files/cosmic-files.spec @@ -0,0 +1,96 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-files +%global repo https://github.com/pop-os/cosmic-files + +Name: cosmic-files +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: File browser built using libcosmic for the COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-files + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-files +%{_datadir}/applications/com.system76.CosmicFiles.desktop + +%{_datadir}/icons/hicolor/128x128/apps/com.system76.CosmicFiles.svg +%{_datadir}/icons/hicolor/16x16/apps/com.system76.CosmicFiles.svg +%{_datadir}/icons/hicolor/24x24/apps/com.system76.CosmicFiles.svg +%{_datadir}/icons/hicolor/256x256/apps/com.system76.CosmicFiles.svg +%{_datadir}/icons/hicolor/32x32/apps/com.system76.CosmicFiles.svg +%{_datadir}/icons/hicolor/48x48/apps/com.system76.CosmicFiles.svg +%{_datadir}/icons/hicolor/64x64/apps/com.system76.CosmicFiles.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-files/srpm.sh b/cosmic-files/srpm.sh new file mode 100644 index 0000000..d2ebc67 --- /dev/null +++ b/cosmic-files/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-files' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-files/*' +pop_repo='cosmic-files' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-greeter/cosmic-greeter.spec b/cosmic-greeter/cosmic-greeter.spec new file mode 100644 index 0000000..1add49e --- /dev/null +++ b/cosmic-greeter/cosmic-greeter.spec @@ -0,0 +1,121 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-greeter +%global repo https://github.com/pop-os/cosmic-greeter + +Name: cosmic-greeter +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Libcosmic greeter for greetd, which can be run inside cosmic-comp + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-greeter + +Source: %{crate}.tar.gz +Source: vendor.tar + +Patch1: service.patch + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + +BuildRequires: systemd-rpm-macros +%{?sysusers_requires_compat} + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install + +install -Dm0755 target/release//cosmic-greeter %{buildroot}/%{_bindir}/cosmic-greeter +install -Dm0755 target/release//cosmic-greeter-daemon %{buildroot}/%{_bindir}/cosmic-greeter-daemon +install -Dm0644 dbus/com.system76.CosmicGreeter.conf %{buildroot}/%{_datadir}/dbus-1/system.d/com.system76.CosmicGreeter.conf +install -Dm0644 debian/cosmic-greeter.sysusers %{buildroot}/%{_sysusersdir}/cosmic-greeter.conf +install -Dm0644 debian/cosmic-greeter.tmpfiles %{buildroot}/%{_tmpfilesdir}/cosmic-greeter.conf +install -Dm0644 cosmic-greeter.toml %{buildroot}/%{_prefix}/etc/greetd/cosmic-greeter.toml +install -Dm0644 debian/cosmic-greeter.service %{buildroot}/%{_unitdir}/cosmic-greeter.service +install -Dm0644 debian/cosmic-greeter-daemon.service %{buildroot}/%{_unitdir}/cosmic-greeter-daemon.service + +%pre +%sysusers_create_compat debian/cosmic-greeter.sysusers + +%post +%systemd_post cosmic-greeter.service +%systemd_post cosmic-greeter-daemon.service + +%preun +%systemd_preun cosmic-greeter.service +%systemd_preun cosmic-greeter-daemon.service + +%postun +%systemd_postun cosmic-greeter.service +%systemd_postun cosmic-greeter-daemon.service + + +%files + +%{_bindir}/cosmic-greeter +%{_bindir}/cosmic-greeter-daemon +%{_datadir}/dbus-1/system.d/com.system76.CosmicGreeter.conf +%{_sysusersdir}/cosmic-greeter.conf +%{_tmpfilesdir}/cosmic-greeter.conf +%{_prefix}/etc/greetd/cosmic-greeter.toml +%{_unitdir}/cosmic-greeter.service +%{_unitdir}/cosmic-greeter-daemon.service + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-greeter/service.patch b/cosmic-greeter/service.patch new file mode 100644 index 0000000..3602bbd --- /dev/null +++ b/cosmic-greeter/service.patch @@ -0,0 +1,12 @@ +--- ./debian/cosmic-greeter.service 2024-02-27 11:31:17.946973142 -0600 ++++ ./debian/cosmic-greeter.patched.service 2024-02-27 11:32:11.538968615 -0600 +@@ -16,6 +16,5 @@ RestartSec=1 + StartLimitBurst=5 + StartLimitInterval=30 + +-# Managed by debconf +-#[Install] +-#Alias=display-manager.service ++[Install] ++Alias=display-manager.service +\ No newline at end of file diff --git a/cosmic-greeter/srpm.sh b/cosmic-greeter/srpm.sh new file mode 100644 index 0000000..3e8ea66 --- /dev/null +++ b/cosmic-greeter/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-greeter' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-greeter/*' +pop_repo='cosmic-greeter' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-icons/cosmic-icons.spec b/cosmic-icons/cosmic-icons.spec new file mode 100644 index 0000000..19f7a83 --- /dev/null +++ b/cosmic-icons/cosmic-icons.spec @@ -0,0 +1,79 @@ +%define debug_package %{nil} +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-icons +%global repo https://github.com/pop-os/cosmic-icons + +Name: cosmic-icons +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: System76 Cosmic icon theme for Linux + +License: CC-BY-SA-4.0 + +URL: https://github.com/pop-os/cosmic-icons +Source: %{crate}.tar.gz + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep +%autosetup -n cosmic-icons + +%build +echo done + +%install +just rootdir=%{buildroot} install + +%files + +%{_datadir}/icons/Cosmic/scalable/* +%{_datadir}/icons/Cosmic/index.theme + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-icons/srpm.sh b/cosmic-icons/srpm.sh new file mode 100644 index 0000000..8ff5999 --- /dev/null +++ b/cosmic-icons/srpm.sh @@ -0,0 +1,59 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-icons' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-icons/cosmic-icons.spec' +pop_repo='cosmic-icons' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-launcher/cosmic-launcher.spec b/cosmic-launcher/cosmic-launcher.spec new file mode 100644 index 0000000..422bce0 --- /dev/null +++ b/cosmic-launcher/cosmic-launcher.spec @@ -0,0 +1,91 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-launcher +%global repo https://github.com/pop-os/cosmic-launcher + +Name: cosmic-launcher +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Layer shell frontend for Pop Launcher + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-launcher + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-launcher +%{_datadir}/applications/com.system76.CosmicLauncher.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicLauncher.svg +%{_metainfodir}/com.system76.CosmicLauncher.metainfo.xml + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-launcher/srpm.sh b/cosmic-launcher/srpm.sh new file mode 100644 index 0000000..909fd36 --- /dev/null +++ b/cosmic-launcher/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-launcher' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-launcher/*' +pop_repo='cosmic-launcher' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-notifications/cosmic-notifications.spec b/cosmic-notifications/cosmic-notifications.spec new file mode 100644 index 0000000..b309dbf --- /dev/null +++ b/cosmic-notifications/cosmic-notifications.spec @@ -0,0 +1,91 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-notifications +%global repo https://github.com/pop-os/cosmic-notifications + +Name: cosmic-notifications +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Layer Shell notifications daemon which integrates with COSMIC + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-notifications + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-notifications +%{_datadir}/applications/com.system76.CosmicNotifications.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicNotifications.svg +%{_metainfodir}/com.system76.CosmicNotifications.metainfo.xml + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-notifications/srpm.sh b/cosmic-notifications/srpm.sh new file mode 100644 index 0000000..79171e6 --- /dev/null +++ b/cosmic-notifications/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-notifications' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-notifications/*' +pop_repo='cosmic-notifications' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-osd/cosmic-osd.spec b/cosmic-osd/cosmic-osd.spec new file mode 100644 index 0000000..30cef90 --- /dev/null +++ b/cosmic-osd/cosmic-osd.spec @@ -0,0 +1,88 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-osd +%global repo https://github.com/pop-os/cosmic-osd + +Name: cosmic-osd +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: OSDs for the COSMIC desktop environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-osd + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +make all VENDOR=1 + +%install +make install DESTDIR=%{buildroot} prefix=%{_prefix} + +%files + +%{_bindir}/cosmic-osd + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-osd/srpm.sh b/cosmic-osd/srpm.sh new file mode 100644 index 0000000..ef3a85d --- /dev/null +++ b/cosmic-osd/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-osd' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-osd/*' +pop_repo='cosmic-osd' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-panel/cosmic-panel.spec b/cosmic-panel/cosmic-panel.spec new file mode 100644 index 0000000..31cf3ee --- /dev/null +++ b/cosmic-panel/cosmic-panel.spec @@ -0,0 +1,91 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-panel +%global repo https://github.com/pop-os/cosmic-panel + +Name: cosmic-panel +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Panel for COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-panel + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-panel + +%{_datadir}/cosmic/com.system76.CosmicPanel.Dock/* +%{_datadir}/cosmic/com.system76.CosmicPanel.Panel/* +%{_datadir}/cosmic/com.system76.CosmicPanel/* + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-panel/srpm.sh b/cosmic-panel/srpm.sh new file mode 100644 index 0000000..9e3a92c --- /dev/null +++ b/cosmic-panel/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-panel' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-panel/*' +pop_repo='cosmic-panel' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-randr/cosmic-randr.spec b/cosmic-randr/cosmic-randr.spec new file mode 100644 index 0000000..6e201cb --- /dev/null +++ b/cosmic-randr/cosmic-randr.spec @@ -0,0 +1,88 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-randr +%global repo https://github.com/pop-os/cosmic-randr + +Name: cosmic-randr +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Library and utility for displaying and configuring Wayland outputs + +License: MPL-2.0 + +URL: https://github.com/pop-os/cosmic-randr + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-randr + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-randr/srpm.sh b/cosmic-randr/srpm.sh new file mode 100644 index 0000000..2f07430 --- /dev/null +++ b/cosmic-randr/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-randr' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-randr/*' +pop_repo='cosmic-randr' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-screenshot/cosmic-screenshot.spec b/cosmic-screenshot/cosmic-screenshot.spec new file mode 100644 index 0000000..c1ad941 --- /dev/null +++ b/cosmic-screenshot/cosmic-screenshot.spec @@ -0,0 +1,89 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-screenshot +%global repo https://github.com/pop-os/cosmic-screenshot + +Name: cosmic-screenshot +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Utility for capturing screenshots via XDG Desktop Portal + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-screenshot + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-screenshot +%{_datadir}/applications/com.system76.CosmicScreenshot.desktop + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-screenshot/srpm.sh b/cosmic-screenshot/srpm.sh new file mode 100644 index 0000000..3000935 --- /dev/null +++ b/cosmic-screenshot/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-screenshot' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-screenshot/*' +pop_repo='cosmic-screenshot' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-session/cosmic-session.spec b/cosmic-session/cosmic-session.spec new file mode 100644 index 0000000..5e5bab9 --- /dev/null +++ b/cosmic-session/cosmic-session.spec @@ -0,0 +1,92 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-session +%global repo https://github.com/pop-os/cosmic-session + +Name: cosmic-session +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Session manager for the COSMIC desktop environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-session + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + +BuildRequires: systemd-rpm-macros + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just vendor=1 all + +%install +just rootdir=%{buildroot} install + +%files + +%{_bindir}/cosmic-session + +%{_bindir}/start-cosmic +%{_userunitdir}/cosmic-session.target +%{_datadir}/wayland-sessions/cosmic.desktop + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-session/srpm.sh b/cosmic-session/srpm.sh new file mode 100644 index 0000000..a8c854d --- /dev/null +++ b/cosmic-session/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-session' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-session/*' +pop_repo='cosmic-session' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-settings-daemon/cosmic-settings-daemon.spec b/cosmic-settings-daemon/cosmic-settings-daemon.spec new file mode 100644 index 0000000..8a9a34e --- /dev/null +++ b/cosmic-settings-daemon/cosmic-settings-daemon.spec @@ -0,0 +1,88 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-settings-daemon +%global repo https://github.com/pop-os/cosmic-settings-daemon + +Name: cosmic-settings-daemon +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Settings daemon for cosmic-settings + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-settings-daemon + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +make all VENDOR=1 + +%install +make install DESTDIR=%{buildroot} prefix=%{_prefix} + +%files + +%{_bindir}/cosmic-settings-daemon + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-settings-daemon/srpm.sh b/cosmic-settings-daemon/srpm.sh new file mode 100644 index 0000000..cedec44 --- /dev/null +++ b/cosmic-settings-daemon/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-settings-daemon' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-settings-daemon/*' +pop_repo='cosmic-settings-daemon' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-settings/cosmic-settings.spec b/cosmic-settings/cosmic-settings.spec new file mode 100644 index 0000000..e25dae5 --- /dev/null +++ b/cosmic-settings/cosmic-settings.spec @@ -0,0 +1,102 @@ +%define debug_package %{nil} +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-settings +%global repo https://github.com/pop-os/cosmic-settings + +Name: cosmic-settings +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: The settings application for the COSMIC desktop environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-settings + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} install + +%files + +%{_bindir}/cosmic-settings +%{_datadir}/applications/com.system76.CosmicSettings.desktop + +%{_datadir}/cosmic/com.system76.CosmicTheme.Dark.Builder/v1/* +%{_datadir}/cosmic/com.system76.CosmicTheme.Dark/v1/* +%{_datadir}/cosmic/com.system76.CosmicTheme.Light.Builder/v1/* +%{_datadir}/cosmic/com.system76.CosmicTheme.Light/v1/* +%{_datadir}/cosmic/com.system76.CosmicTheme.Mode/v1/* +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-dark-style-round.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-dark-style-slightly-round.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-dark-style-square.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-light-style-round.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-light-style-slightly-round.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-light-style-square.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-mode-dark.svg +%{_datadir}/icons/hicolor/scalable/status/illustration-appearance-mode-light.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-settings/srpm.sh b/cosmic-settings/srpm.sh new file mode 100644 index 0000000..37d55d9 --- /dev/null +++ b/cosmic-settings/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-settings' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-settings/*' +pop_repo='cosmic-settings' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-store/cosmic-store.spec b/cosmic-store/cosmic-store.spec new file mode 100644 index 0000000..7a4542f --- /dev/null +++ b/cosmic-store/cosmic-store.spec @@ -0,0 +1,89 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-store +%global repo https://github.com/pop-os/cosmic-store + +Name: cosmic-store +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: COSMIC App Store + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-store + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-store +%{_datadir}/applications/com.system76.CosmicStore.desktop + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-store/srpm.sh b/cosmic-store/srpm.sh new file mode 100644 index 0000000..11dcb57 --- /dev/null +++ b/cosmic-store/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-store' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-store/*' +pop_repo='cosmic-store' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-term/cosmic-term.spec b/cosmic-term/cosmic-term.spec new file mode 100644 index 0000000..2ec5532 --- /dev/null +++ b/cosmic-term/cosmic-term.spec @@ -0,0 +1,96 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-term +%global repo https://github.com/pop-os/cosmic-term + +Name: cosmic-term +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: WIP COSMIC terminal emulator, built using alacritty_terminal that is provided by the alacritty project. cosmic-term provides bidirectional rendering and ligatures with a custom renderer based on cosmic-text. + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-term + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +just rootdir=%{buildroot} prefix=%{_prefix} install + +%files + +%{_bindir}/cosmic-term +%{_datadir}/applications/com.system76.CosmicTerm.desktop + +%{_datadir}/icons/hicolor/128x128/apps/com.system76.CosmicTerm.svg +%{_datadir}/icons/hicolor/16x16/apps/com.system76.CosmicTerm.svg +%{_datadir}/icons/hicolor/24x24/apps/com.system76.CosmicTerm.svg +%{_datadir}/icons/hicolor/256x256/apps/com.system76.CosmicTerm.svg +%{_datadir}/icons/hicolor/32x32/apps/com.system76.CosmicTerm.svg +%{_datadir}/icons/hicolor/48x48/apps/com.system76.CosmicTerm.svg +%{_datadir}/icons/hicolor/64x64/apps/com.system76.CosmicTerm.svg + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-term/srpm.sh b/cosmic-term/srpm.sh new file mode 100644 index 0000000..00b541d --- /dev/null +++ b/cosmic-term/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-term' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-term/*' +pop_repo='cosmic-term' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic-workspaces/cosmic-workspaces.spec b/cosmic-workspaces/cosmic-workspaces.spec new file mode 100644 index 0000000..f4c2737 --- /dev/null +++ b/cosmic-workspaces/cosmic-workspaces.spec @@ -0,0 +1,90 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate cosmic-workspaces +%global repo https://github.com/pop-os/cosmic-workspaces-epoch + +Name: cosmic-workspaces +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: COSMIC Workspaces + +License: GPL-3.0 + +URL: https://github.com/pop-os/cosmic-workspaces-epoch + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +make all VENDOR=1 + +%install +make install DESTDIR=%{buildroot} prefix=%{_prefix} + +%files + +%{_bindir}/cosmic-workspaces +%{_datadir}/applications/com.system76.CosmicWorkspaces.desktop +%{_datadir}/icons/hicolor/scalable/apps/com.system76.CosmicWorkspaces.svg + + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/cosmic-workspaces/srpm.sh b/cosmic-workspaces/srpm.sh new file mode 100644 index 0000000..9a93698 --- /dev/null +++ b/cosmic-workspaces/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='cosmic-workspaces' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='cosmic-workspaces/*' +pop_repo='cosmic-workspaces-epoch' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/cosmic_apps.py b/cosmic_apps.py new file mode 100644 index 0000000..ad1316c --- /dev/null +++ b/cosmic_apps.py @@ -0,0 +1,993 @@ +GPL3 = "GPL-3.0" +MPL2 = "MPL-2.0" +CC = "CC-BY-SA-4.0" + +ROOTDIR = f"%{{buildroot}}" +BUILD_TARGET = f"target/release/" + +def install_(path_from, path_to, perms): + return f"""install -Dm{perms} {path_from} {ROOTDIR}/{path_to}""" + +def contains_(path): + return f"""{path}""" + +def install_app(bin_name, appid, add_bin, add_desktop, add_scaled, add_symbolic, add_metainfo, prescriptor, resdir): + res = """""" + if add_bin: + res += install_(f"target/release/{bin_name}", f"%{{_bindir}}/{bin_name}", "0755") + "\n" + if add_desktop: + res += install_(f"{prescriptor}{resdir}/{appid}.desktop", f"%{{_datadir}}/applications/{appid}.desktop", "0644") + "\n" + if add_scaled: + res += install_(f"{prescriptor}{resdir}/icons/{appid}.svg", f"%{{_datadir}}/icons/hicolor/scalable/apps/{appid}.svg", "0644") + "\n" + if add_symbolic: + res += install_(f"{prescriptor}{resdir}/icons/{appid}-symbolic.svg", f"%{{_datadir}}/icons/hicolor/symbolic/apps/{appid}-symbolic.svg", "0644") + "\n" # TODO + if add_metainfo: + res += install_(f"{prescriptor}{resdir}/{appid}.metainfo.xml", f"%{{_metainfodir}}/{appid}.metainfo.xml", "0644") + "\n" + return res + + + +def contains_app(bin_name, appid, add_bin, add_desktop, add_scaled, add_symbolic, add_metainfo, prescriptor): + res = """""" + if add_bin: + res += contains_(f"""%{{_bindir}}/{bin_name}\n""") + if add_desktop: + res += contains_(f"""%{{_datadir}}/applications/{appid}.desktop\n""") + if add_scaled: + res += contains_(f"""%{{_datadir}}/icons/hicolor/scalable/apps/{appid}.svg\n""") + if add_symbolic: + res += contains_(f"""%{{_datadir}}/icons/hicolor/symbolic/apps/{appid}-symbolic.svg\n""") # TODO + if add_metainfo: + res += contains_(f"""%{{_metainfodir}}/{appid}.metainfo.xml\n""") + return res + +STANDARD_SOURCES = f""" +Source: %{{crate}}.tar.gz +Source: vendor.tar +""" + +STANDARD_REQUIRES = f""" +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts +""" + +RUST_PACKAGING_REQUIRES = f""" +BuildRequires: cargo-rpm-macros >= 26.1 +""" + +STANDARD_BUILDREQUIRES = f""" +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel +""" + +OLDSTANDARD_PREP = f""" +%autosetup -n %{{crate}} -p1 -a1 +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml +""" + +STANDARD_PREP = f""" +%autosetup -n %{{crate}} -p1 +mv %{{_sourcedir}}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml +""" + +STANDARD_BUILD_RUST_PACKAGING = f""" +%{{cargo_license_summary}} +%{{cargo_license}} > LICENSE.dependencies +%{{cargo_vendor_manifest}} +""" + +STANDARD_FILES = f"""""" + +STANDARD_FILES_RUST_PACKAGING = f""" +%license LICENSE.md +%license LICENSE.dependencies +%license cargo-vendor.txt +%doc README.md +""" + +STANDARD_GLOBALS_RUST_PACKAGING = f""" +%bcond_without check +%global __cargo_is_lib() 0 +""" + + +COSMIC_APP_LIBRARY = { +"globals": "", +"name": "cosmic-app-library", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applibrary", +"reposhort": "cosmic-applibrary", +"commit": "latest", +"summary": "A boilerplate template to get started with GTK, Rust, Meson, Flatpak, Debian made for Cosmic.", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-app-library","com.system76.CosmicAppLibrary",True, True, True, False, True, "")} +""", +} + +COSMIC_APPLET_APP_LIST = { +"globals": "", +"name": "cosmic-applet-app-list", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP app list applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-app-list +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_app_list", +"files": f""" +{contains_app("cosmic-app-list","com.system76.CosmicAppList",True, True, True, False, False, "cosmic-app-list/")} +""" +} + +COSMIC_APPLET_AUDIO = { +"globals": "", +"name": "cosmic-applet-audio", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP audio applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-audio +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_audio", +"files": f""" +{contains_app("cosmic-applet-audio","com.system76.CosmicAppletAudio",True, True, True, False, False, "cosmic-applet-audio/")} +""" +} + +COSMIC_APPLET_BATTERY = { +"globals": "", +"name": "cosmic-applet-battery", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP battery applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-battery +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_battery", +"files": f""" +{contains_app("cosmic-applet-battery","com.system76.CosmicAppletBattery",True, True, True, False, False, "cosmic-applet-battery/")} +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-high-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-low-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-medium-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-display-brightness-off-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-0-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-10-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-100-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-100-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-20-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-35-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-5-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-50-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-65-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-limited-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-limited-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-80-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-90-charging-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-battery-level-90-symbolic.svg +""" +} + +COSMIC_APPLET_BLUETOOTH = { +"globals": "", +"name": "cosmic-applet-bluetooth", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP bluetooth applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-bluetooth +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_bluetooth", +"files": f""" +{contains_app("cosmic-applet-bluetooth","com.system76.CosmicAppletBluetooth",True, True, True, False, False, "cosmic-applet-bluetooth/")} +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-bluetooth-active-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-bluetooth-disabled-symbolic.svg +""" +} + +COSMIC_APPLET_NETWORK = { +"globals": "", +"name": "cosmic-applet-network", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP network applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-network +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_network", +"files": f""" +{contains_app("cosmic-applet-network","com.system76.CosmicAppletNetwork",True, True, True, False, False, "cosmic-applet-network/")} +""" +} + +COSMIC_APPLET_NOTIFICATIONS = { +"globals": "", +"name": "cosmic-applet-notifications", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP notifications applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-notifications +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_notifications", +"files": f""" +{contains_app("cosmic-applet-notifications","com.system76.CosmicAppletNotifications",True, True, True, False, False, "cosmic-applet-notifications/")} +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-notification-disabled-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-notification-new-symbolic.svg +%{{_datadir}}/icons/hicolor/scalable/status/cosmic-applet-notification-symbolic.svg +""" +} + +COSMIC_APPLET_POWER = { +"globals": "", +"name": "cosmic-applet-power", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP power applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-power +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_power", +"files": f""" +{contains_app("cosmic-applet-power","com.system76.CosmicAppletPower",True, True, True, False, False, "cosmic-applet-power/")} +""" +} + +COSMIC_APPLET_STATUS_AREA = { +"globals": "", +"name": "cosmic-applet-status-area", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP status area applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-status-area +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_status_area", +"files": f""" +{contains_app("cosmic-applet-status-area","com.system76.CosmicAppletStatusArea",True, True, False, False, False, "cosmic-applet-status-area/")} +%{{_datadir}}/icons/hicolor/scalable/app/com.system76.CosmicAppletStatusArea.svg +""" +} + +COSMIC_APPLET_TILING = { +"globals": "", +"name": "cosmic-applet-tiling", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP tiling applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-tiling +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_tiling", +"files": f""" +{contains_app("cosmic-applet-tiling","com.system76.CosmicAppletTiling",True, True, False, False, False, "cosmic-applet-tiling/")} +%{{_datadir}}/icons/hicolor/scalable/apps/com.system76.CosmicAppletTiling.Off.svg +%{{_datadir}}/icons/hicolor/scalable/apps/com.system76.CosmicAppletTiling.On.svg +""" +} + +COSMIC_APPLET_TIME = { +"globals": "", +"name": "cosmic-applet-time", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP time applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-time +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_time", +"files": f""" +{contains_app("cosmic-applet-time","com.system76.CosmicAppletTime",True, True, True, False, False, "cosmic-applet-time/")} +""" +} + +COSMIC_APPLET_WORKSPACES = { +"globals": "", +"name": "cosmic-applet-workspaces", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP workspaces applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-applet-workspaces +""", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_workspace", +"files": f""" +{contains_app("cosmic-applet-workspaces","com.system76.CosmicAppletWorkspaces",True, True, True, False, False, "cosmic-applet-workspaces/")} +""" +} + +COSMIC_APPLET_PANEL_BUTTON = { +"globals": f"%define debug_package %{{nil}}", +"name": "cosmic-applet-panel-button", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-applets", +"reposhort": "cosmic-applets", +"commit": "latest", +"summary": "WIP panel button applet for cosmic-panel", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f""" +just vendor=1 _extract_vendor +cargo build --frozen --offline --release --bin cosmic-panel-button +""", +"install": f""" +just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_panel_button +just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_app_button +just rootdir=%{{buildroot}} prefix=%{{_prefix}} _install_workspaces_button +""", +"files": f""" +%{{_bindir}}/cosmic-panel-button +%{{_datadir}}/applications/com.system76.CosmicPanelAppButton.desktop +%{{_datadir}}/applications/com.system76.CosmicPanelWorkspacesButton.desktop +%{{_datadir}}/icons/hicolor/scalable/apps/com.system76.CosmicPanelAppButton.svg +%{{_datadir}}/icons/hicolor/scalable/apps/com.system76.CosmicPanelWorkspacesButton.svg +""" +} + +COSMIC_BG = { +"globals": "", +"name": "cosmic-bg", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-bg", +"reposhort": "cosmic-bg", +"commit": "latest", +"summary": "COSMIC session service which applies backgrounds to displays", +"license": MPL2, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-bg","com.system76.CosmicBackground",True, True, True, True, True, "")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicBackground/*")} +""", +} + +COSMIC_COMP = { +"globals": "", +"name": "cosmic-comp", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-comp", +"reposhort": "cosmic-comp", +"commit": "latest", +"summary": "Compositor for the COSMIC Desktop Environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"make all VENDOR=1", +"install": f""" +make install DESTDIR=%{{buildroot}} prefix=%{{_prefix}} +install -Dm0644 config.ron %{{buildroot}}/%{{_sysconfdir}}/cosmic-comp/config.ron +""", +"files": f""" +{contains_app("cosmic-comp","com.system76.CosmicComp",True, False, False, False, False, "")} +{contains_(f"%{{_sysconfdir}}/cosmic-comp/config.ron")} +""", +} + +COSMIC_EDIT = { +"globals": "", +"name": "cosmic-edit", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-edit", +"reposhort": "cosmic-edit", +"commit": "latest", +"summary": "Text editor built using libcosmic for the COSMIC Desktop Environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-edit","com.system76.CosmicEdit",True, True, False, False, False, "")} +%{{_datadir}}/icons/hicolor/128x128/apps/com.system76.CosmicEdit.svg +%{{_datadir}}/icons/hicolor/16x16/apps/com.system76.CosmicEdit.svg +%{{_datadir}}/icons/hicolor/24x24/apps/com.system76.CosmicEdit.svg +%{{_datadir}}/icons/hicolor/256x256/apps/com.system76.CosmicEdit.svg +%{{_datadir}}/icons/hicolor/32x32/apps/com.system76.CosmicEdit.svg +%{{_datadir}}/icons/hicolor/48x48/apps/com.system76.CosmicEdit.svg +%{{_datadir}}/icons/hicolor/64x64/apps/com.system76.CosmicEdit.svg +""", +} + +COSMIC_FILES = { +"globals": "", +"name": "cosmic-files", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-files", +"reposhort": "cosmic-files", +"commit": "latest", +"summary": "File browser built using libcosmic for the COSMIC Desktop Environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-files","com.system76.CosmicFiles",True, True, False, False, False, "")} +%{{_datadir}}/icons/hicolor/128x128/apps/com.system76.CosmicFiles.svg +%{{_datadir}}/icons/hicolor/16x16/apps/com.system76.CosmicFiles.svg +%{{_datadir}}/icons/hicolor/24x24/apps/com.system76.CosmicFiles.svg +%{{_datadir}}/icons/hicolor/256x256/apps/com.system76.CosmicFiles.svg +%{{_datadir}}/icons/hicolor/32x32/apps/com.system76.CosmicFiles.svg +%{{_datadir}}/icons/hicolor/48x48/apps/com.system76.CosmicFiles.svg +%{{_datadir}}/icons/hicolor/64x64/apps/com.system76.CosmicFiles.svg +""", +} + +COSMIC_GREETER = { +"globals": "", +"name": "cosmic-greeter", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-greeter", +"reposhort": "cosmic-greeter", +"commit": "latest", +"summary": "Libcosmic greeter for greetd, which can be run inside cosmic-comp", +"license": GPL3, +"sources": STANDARD_SOURCES + "\nPatch1: service.patch", +"buildrequires": STANDARD_BUILDREQUIRES + f"\nBuildRequires: systemd-rpm-macros\n%{{?sysusers_requires_compat}}", +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f""" +install -Dm0755 {BUILD_TARGET}/cosmic-greeter %{{buildroot}}/%{{_bindir}}/cosmic-greeter +install -Dm0755 {BUILD_TARGET}/cosmic-greeter-daemon %{{buildroot}}/%{{_bindir}}/cosmic-greeter-daemon +install -Dm0644 dbus/com.system76.CosmicGreeter.conf %{{buildroot}}/%{{_datadir}}/dbus-1/system.d/com.system76.CosmicGreeter.conf +install -Dm0644 debian/cosmic-greeter.sysusers %{{buildroot}}/%{{_sysusersdir}}/cosmic-greeter.conf +install -Dm0644 debian/cosmic-greeter.tmpfiles %{{buildroot}}/%{{_tmpfilesdir}}/cosmic-greeter.conf +install -Dm0644 cosmic-greeter.toml %{{buildroot}}/%{{_prefix}}/etc/greetd/cosmic-greeter.toml +install -Dm0644 debian/cosmic-greeter.service %{{buildroot}}/%{{_unitdir}}/cosmic-greeter.service +install -Dm0644 debian/cosmic-greeter-daemon.service %{{buildroot}}/%{{_unitdir}}/cosmic-greeter-daemon.service + +%pre +%sysusers_create_compat debian/cosmic-greeter.sysusers + +%post +%systemd_post cosmic-greeter.service +%systemd_post cosmic-greeter-daemon.service + +%preun +%systemd_preun cosmic-greeter.service +%systemd_preun cosmic-greeter-daemon.service + +%postun +%systemd_postun cosmic-greeter.service +%systemd_postun cosmic-greeter-daemon.service +""", +"files": f""" +%{{_bindir}}/cosmic-greeter +%{{_bindir}}/cosmic-greeter-daemon +%{{_datadir}}/dbus-1/system.d/com.system76.CosmicGreeter.conf +%{{_sysusersdir}}/cosmic-greeter.conf +%{{_tmpfilesdir}}/cosmic-greeter.conf +%{{_prefix}}/etc/greetd/cosmic-greeter.toml +%{{_unitdir}}/cosmic-greeter.service +%{{_unitdir}}/cosmic-greeter-daemon.service +""", +} + +COSMIC_ICONS = { +"globals": f"%define debug_package %{{nil}}", +"name": "cosmic-icons", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-icons", +"reposhort": "cosmic-icons", +"commit": "latest", +"summary": "System76 Cosmic icon theme for Linux", +"license": CC, +"sources": f"Source: %{{crate}}.tar.gz", +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": f"%autosetup -n cosmic-icons", +"build": f"echo done", +"install": f"just rootdir=%{{buildroot}} install", +"files": f""" +{contains_(f"%{{_datadir}}/icons/Cosmic/scalable/*")} +{contains_(f"%{{_datadir}}/icons/Cosmic/index.theme")} +""", +} + +COSMIC_LAUNCHER = { +"globals": "", +"name": "cosmic-launcher", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-launcher", +"reposhort": "cosmic-launcher", +"commit": "latest", +"summary": "Layer shell frontend for Pop Launcher", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-launcher","com.system76.CosmicLauncher",True, True, True, False, True, "")} +""", +} + +COSMIC_NOTIFICATIONS = { +"globals": "", +"name": "cosmic-notifications", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-notifications", +"reposhort": "cosmic-notifications", +"commit": "latest", +"summary": "Layer Shell notifications daemon which integrates with COSMIC", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-notifications","com.system76.CosmicNotifications",True, True, True, False, True, "")} +""", +} + +COSMIC_OSD = { +"globals": "", +"name": "cosmic-osd", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-osd", +"reposhort": "cosmic-osd", +"commit": "latest", +"summary": "OSDs for the COSMIC desktop environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"make all VENDOR=1", +"install": f"make install DESTDIR=%{{buildroot}} prefix=%{{_prefix}}", +"files": f""" +{contains_app("cosmic-osd","com.system76.CosmicOsd",True, False, False, False, False, "")} +""", +} + +COSMIC_PANEL = { +"globals": "", +"name": "cosmic-panel", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-panel", +"reposhort": "cosmic-panel", +"commit": "latest", +"summary": "Panel for COSMIC Desktop Environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-panel","com.system76.CosmicPanel",True, False, False, False, False, "")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicPanel.Dock/*")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicPanel.Panel/*")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicPanel/*")} +""", +} + +COSMIC_PLAYER = { +"globals": "", +"name": "cosmic-player", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-player", +"reposhort": "cosmic-player", +"commit": "latest", +"summary": "WIP COSMIC media player", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-files","com.system76.CosmicFiles",True, True, False, False, False, "")} +""", +} + +COSMIC_RANDR = { +"globals": "", +"name": "cosmic-randr", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-randr", +"reposhort": "cosmic-randr", +"commit": "latest", +"summary": "Library and utility for displaying and configuring Wayland outputs", +"license": MPL2, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-randr","",True, False, False, False, False, "")} +""", +} + +COSMIC_SCREENSHOT = { +"globals": "", +"name": "cosmic-screenshot", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-screenshot", +"reposhort": "cosmic-screenshot", +"commit": "latest", +"summary": "Utility for capturing screenshots via XDG Desktop Portal", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-screenshot","com.system76.CosmicScreenshot",True, True, False, False, False, "")} +""", +} + +COSMIC_SESSION = { +"globals": "", +"name": "cosmic-session", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-session", +"reposhort": "cosmic-session", +"commit": "latest", +"summary": "Session manager for the COSMIC desktop environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES + "\nBuildRequires: systemd-rpm-macros", +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just vendor=1 all", +"install": f"just rootdir=%{{buildroot}} install", +"files": f""" +{contains_app("cosmic-session","",True, False, False, False, False, "")} +{contains_(f"%{{_bindir}}/start-cosmic")} +{contains_(f"%{{_userunitdir}}/cosmic-session.target")} +{contains_(f"%{{_datadir}}/wayland-sessions/cosmic.desktop")} +""", +} + +COSMIC_SETTINGS_DAEMON = { +"globals": "", +"name": "cosmic-settings-daemon", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-settings-daemon", +"reposhort": "cosmic-settings-daemon", +"commit": "latest", +"summary": "Settings daemon for cosmic-settings", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"make all VENDOR=1", +"install": f"make install DESTDIR=%{{buildroot}} prefix=%{{_prefix}}", +"files": f""" +{contains_app("cosmic-settings-daemon","",True, False, False, False, False, "")} +""", +} + +COSMIC_SETTINGS = { +"globals": f"%define debug_package %{{nil}}", +"name": "cosmic-settings", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-settings", +"reposhort": "cosmic-settings", +"commit": "latest", +"summary": "The settings application for the COSMIC desktop environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} install", +"files": f""" +{contains_app("cosmic-settings","com.system76.CosmicSettings",True, True, False, False, False, "")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicTheme.Dark.Builder/v1/*")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicTheme.Dark/v1/*")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicTheme.Light.Builder/v1/*")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicTheme.Light/v1/*")} +{contains_(f"%{{_datadir}}/cosmic/com.system76.CosmicTheme.Mode/v1/*")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-dark-style-round.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-dark-style-slightly-round.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-dark-style-square.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-light-style-round.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-light-style-slightly-round.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-light-style-square.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-mode-dark.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/status/illustration-appearance-mode-light.svg")} +""", +} + +COSMIC_STORE = { +"globals": "", +"name": "cosmic-store", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-store", +"reposhort": "cosmic-store", +"commit": "latest", +"summary": "COSMIC App Store", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-store","com.system76.CosmicStore",True, True, False, False, False, "")} +""", +} + +COSMIC_TERM = { +"globals": "", +"name": "cosmic-term", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-term", +"reposhort": "cosmic-term", +"commit": "latest", +"summary": "WIP COSMIC terminal emulator, built using alacritty_terminal that is provided by the alacritty project. cosmic-term provides bidirectional rendering and ligatures with a custom renderer based on cosmic-text.", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"just rootdir=%{{buildroot}} prefix=%{{_prefix}} install", +"files": f""" +{contains_app("cosmic-term","com.system76.CosmicTerm",True, True, False, False, False, "")} +%{{_datadir}}/icons/hicolor/128x128/apps/com.system76.CosmicTerm.svg +%{{_datadir}}/icons/hicolor/16x16/apps/com.system76.CosmicTerm.svg +%{{_datadir}}/icons/hicolor/24x24/apps/com.system76.CosmicTerm.svg +%{{_datadir}}/icons/hicolor/256x256/apps/com.system76.CosmicTerm.svg +%{{_datadir}}/icons/hicolor/32x32/apps/com.system76.CosmicTerm.svg +%{{_datadir}}/icons/hicolor/48x48/apps/com.system76.CosmicTerm.svg +%{{_datadir}}/icons/hicolor/64x64/apps/com.system76.CosmicTerm.svg +""", +} + +COSMIC_WORKSPACES = { +"globals": "", +"name": "cosmic-workspaces", +"version": "0.1.0", +"repo": "https://github.com/pop-os/cosmic-workspaces-epoch", +"reposhort": "cosmic-workspaces-epoch", +"commit": "latest", +"summary": "COSMIC Workspaces", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"make all VENDOR=1", +"install": f"make install DESTDIR=%{{buildroot}} prefix=%{{_prefix}}", +"files": f""" +{contains_app("cosmic-workspaces","com.system76.CosmicWorkspaces",True, True, True, False, False, "")} +""", +} + +COSMIC_XDG_DESKTOP_PORTAL = { +"globals": "", +"name": "xdg-desktop-portal-cosmic", +"version": "0.1.0", +"repo": "https://github.com/pop-os/xdg-desktop-portal-cosmic", +"reposhort": "xdg-desktop-portal-cosmic", +"commit": "latest", +"summary": "XDG Desktop Portals for the COSMIC Desktop Environment", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"make all VENDOR=1", +"install": f"make install DESTDIR=%{{buildroot}} prefix=%{{_prefix}}", +"files": f""" +{contains_(f"%{{_libexecdir}}/xdg-desktop-portal-cosmic")} +{contains_(f"%{{_datadir}}/dbus-1/services/org.freedesktop.impl.portal.desktop.cosmic.service")} +{contains_(f"%{{_datadir}}/xdg-desktop-portal/portals/cosmic.portal")} +{contains_(f"%{{_datadir}}/xdg-desktop-portal/cosmic-portals.conf")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/actions/screenshot-screen-symbolic.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/actions/screenshot-selection-symbolic.svg")} +{contains_(f"%{{_datadir}}/icons/hicolor/scalable/actions/screenshot-window-symbolic.svg")} +""", +} + +POP_LAUNCHER = { +"globals": "", +"name": "pop-launcher", +"version": "0.1.0", +"repo": "https://github.com/pop-os/launcher", +"reposhort": "launcher", +"commit": "latest", +"summary": "Modular IPC-based desktop launcher service ", +"license": GPL3, +"sources": STANDARD_SOURCES, +"buildrequires": STANDARD_BUILDREQUIRES, +"requires": STANDARD_REQUIRES, +"prep": STANDARD_PREP, +"build": f"just build-vendored", +"install": f"""install -Dm0755 target/release/pop-launcher-bin %{{buildroot}}/%{{_bindir}}/pop-launcher +#!/usr/bin/env sh +set -ex +for plugin in $('calc desktop_entries files find pop_shell pulse recent scripts terminal web cosmic_toplevel'); do + dest=%{{buildroot}}/%{{_prefix}}/lib/pop-launcher/plugins/${{plugin}} + mkdir -p ${{dest}} + install -Dm0644 plugins/src/${{plugin}}/*.ron ${{dest}} + ln -sf %{{buildroot}}/%{{_bindir}}/pop-launcher %{{_prefix}}/lib/pop-launcher/plugins/${{plugin}}/$(echo ${{plugin}} | sed 's/_/-/') +done +mkdir -p %{{buildroot}}/%{{_prefix}}/lib/pop-launcher/scripts/ +for script in scripts/*; do + cp -r ${{script}} %{{buildroot}}/%{{_prefix}}/lib/pop-launcher/scripts/ +done +""", +"files": f""" +{contains_(f"%{{_bindir}}/pop-launcher")} +{contains_(f"%{{_prefix}}/lib/pop-launcher/*")} +""", +} \ No newline at end of file diff --git a/data/dependencies.md b/data/dependencies.md new file mode 100644 index 0000000..53b7424 --- /dev/null +++ b/data/dependencies.md @@ -0,0 +1,174 @@ +# Dependency Tracking for COSMIC + +### cosmic-applets + +### cosmic-applibrary (cosmic-app-library) + +### cosmic-bg + +### cosmic-comp + +#### in fedora repos + +anyhow = {version = "1.0.51", features = ["backtrace"]} | rust-anyhow+backtrace-devel @ 1.0.79 + +bitflags = "2.4" | rust-bitflags-devel @ 2.4.2 + +bytemuck = "1.12" | rust-bytemuck-devel @ 1.14.1 + +calloop = {version = "0.12.2", features = ["executor"]} | rust-calloop+executor-devel @ 0.12.4 + +#### in fedora repos, needs updating + +i18n-embed = {version = "0.14", features = ["fluent-system", "desktop-requester"]} | rust-i18n-embed+desktop-requester-devel @ 0.13.9-2, rust-i18n-embed+fluent-system-devel @ 0.13.9-2 + +i18n-embed-fl = "0.7" | rust-i18n-embed-fl-devel @ 0.6.7-2 + + +#### path-based dependency + +cosmic-comp-config = {path = "cosmic-comp-config"} + +#### git-based dependency + +cosmic-config = {git = "https://github.com/pop-os/libcosmic/", features = ["calloop", "macro"]} + +cosmic-protocols = {git = "https://github.com/pop-os/cosmic-protocols", branch = "main", default-features = false, features = ["server"]} + +#### Not found in fedora repos + +edid-rs = {version = "0.1"} + +egui = {version = "0.23.0", optional = true} + +egui_plot = {version = "0.23.0", optional = true} + +glow = "0.12.0" + +#### unsorted so far +[dependencies] +iced_tiny_skia = {git = "https://github.com/pop-os/libcosmic/"} +indexmap = "2.0" +keyframe = "1.1.1" +lazy_static = "1.4.0" +libc = "0.2.149" +libcosmic = {git = "https://github.com/pop-os/libcosmic/", default-features = false} +libsystemd = {version = "0.7", optional = true} +log-panics = {version = "2", features = ["with-backtrace"]} +once_cell = "1.18.0" +ordered-float = "4.0" +png = "0.17.5" +puffin = {version = "0.17.0", optional = true} +puffin_egui = {version = "0.23.0", optional = true} +regex = "1" +renderdoc = {version = "0.11.0", optional = true} +ron = "0.8" +rust-embed = {version = "8.0", features = ["debug-embed"]} +sanitize-filename = "0.5.0" +sendfd = "0.4.1" +serde = {version = "1", features = ["derive"]} +serde_json = "1" +thiserror = "1.0.26" +time = {version = "0.3.30", features = ["macros", "formatting", "local-offset"]} +tiny-skia = "0.11" +tracing = {version = "0.1.37", features = ["max_level_debug", "release_max_level_info"]} +tracing-journald = "0.3.0" +tracing-subscriber = {version = "0.3.16", features = ["env-filter", "tracing-log"]} +wayland-backend = "0.3.2" +wayland-scanner = "0.31.0" +xcursor = "0.3.3" +xdg = "^2.1" +xdg-user = "0.2.1" +xkbcommon = "0.7" +zbus = "3.15.0" + +[dependencies.id_tree] +branch = "feature/copy_clone" +git = "https://github.com/Drakulix/id-tree.git" + +[dependencies.smithay] +default-features = false +features = [ + "backend_drm", + "backend_gbm", + "backend_egl", + "backend_libinput", + "backend_session_libseat", + "backend_udev", + "backend_winit", + "backend_vulkan", + "backend_x11", + "desktop", + "use_system_lib", + "renderer_glow", + "renderer_multi", + "wayland_frontend", + "xwayland", +] +git = "https://github.com/smithay/smithay.git" +rev = "74ef59a3f" +version = "0.3" + +[dependencies.smithay-egui] +features = ["svg"] +git = "https://github.com/Smithay/smithay-egui.git" +optional = true +rev = "cdc652e0" + +[features] +debug = ["egui", "egui_plot", "smithay-egui", "renderdoc", "puffin", "puffin_egui", "anyhow/backtrace"] +default = ["systemd"] +systemd = ["libsystemd"] + +[profile.dev] +lto = "thin" + +[profile.fastdebug] +debug = true +inherits = "release" + +[profile.release] +lto = "fat" + +[patch."https://github.com/Smithay/smithay.git"] +smithay = {git = "https://github.com/smithay//smithay", rev = "094fa3f7c3"} + +### cosmic-edit + +### cosmic-files + +### cosmic-greeter + +### cosmic-icons + +### cosmic-launcher + +### cosmic-notifications + +### cosmic-osd + +### cosmic-panel + +### cosmic-randr + +### cosmic-screenshot + +### cosmic-session + +### cosmic-settings-daemon + +### cosmic-settings + +### cosmic-store + +### cosmic-term + +### cosmic-workspaces-epoch (cosmic-workspaces) + +### xdg-desktop-portal-cosmic + +### launcher (pop-launcher) + +## Optional to package + +### system76-power \ No newline at end of file diff --git a/pop-launcher/pop-launcher.spec b/pop-launcher/pop-launcher.spec new file mode 100644 index 0000000..6f20c04 --- /dev/null +++ b/pop-launcher/pop-launcher.spec @@ -0,0 +1,101 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate pop-launcher +%global repo https://github.com/pop-os/launcher + +Name: pop-launcher +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: Modular IPC-based desktop launcher service + +License: GPL-3.0 + +URL: https://github.com/pop-os/launcher + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +just build-vendored + +%install +install -Dm0755 target/release/pop-launcher-bin %{buildroot}/%{_bindir}/pop-launcher +#!/usr/bin/env sh +set -ex +for plugin in $('calc desktop_entries files find pop_shell pulse recent scripts terminal web cosmic_toplevel'); do + dest=%{buildroot}/%{_prefix}/lib/pop-launcher/plugins/${plugin} + mkdir -p ${dest} + install -Dm0644 plugins/src/${plugin}/*.ron ${dest} + ln -sf %{buildroot}/%{_bindir}/pop-launcher %{_prefix}/lib/pop-launcher/plugins/${plugin}/$(echo ${plugin} | sed 's/_/-/') +done +mkdir -p %{buildroot}/%{_prefix}/lib/pop-launcher/scripts/ +for script in scripts/*; do + cp -r ${script} %{buildroot}/%{_prefix}/lib/pop-launcher/scripts/ +done + + +%files + +%{_bindir}/pop-launcher +%{_prefix}/lib/pop-launcher/* + + +%changelog +%autochangelog + \ No newline at end of file diff --git a/pop-launcher/srpm.sh b/pop-launcher/srpm.sh new file mode 100644 index 0000000..897b783 --- /dev/null +++ b/pop-launcher/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='pop-launcher' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='pop-launcher/*' +pop_repo='launcher' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/specgen.py b/specgen.py new file mode 100644 index 0000000..da26c4a --- /dev/null +++ b/specgen.py @@ -0,0 +1,178 @@ +import cosmic_apps +import subprocess + +SPEC_FOLDER = "SPECS" +BUILD_SCRIPTS_FOLDER = "BUILD_SCRIPTS" + + +BUILD_APPS = [ + cosmic_apps.COSMIC_APP_LIBRARY, + cosmic_apps.COSMIC_APPLET_APP_LIST, + cosmic_apps.COSMIC_APPLET_AUDIO, + cosmic_apps.COSMIC_APPLET_BATTERY, + cosmic_apps.COSMIC_APPLET_BLUETOOTH, + cosmic_apps.COSMIC_APPLET_NETWORK, + cosmic_apps.COSMIC_APPLET_NOTIFICATIONS, + cosmic_apps.COSMIC_APPLET_POWER, + cosmic_apps.COSMIC_APPLET_STATUS_AREA, + cosmic_apps.COSMIC_APPLET_TILING, + cosmic_apps.COSMIC_APPLET_TIME, + cosmic_apps.COSMIC_APPLET_WORKSPACES, + cosmic_apps.COSMIC_APPLET_PANEL_BUTTON, + cosmic_apps.COSMIC_BG, + cosmic_apps.COSMIC_COMP, + cosmic_apps.COSMIC_EDIT, + cosmic_apps.COSMIC_FILES, + cosmic_apps.COSMIC_GREETER, + cosmic_apps.COSMIC_LAUNCHER, + cosmic_apps.COSMIC_NOTIFICATIONS, + cosmic_apps.COSMIC_OSD, + cosmic_apps.COSMIC_PANEL, + cosmic_apps.COSMIC_RANDR, + cosmic_apps.COSMIC_SCREENSHOT, + cosmic_apps.COSMIC_SESSION, + cosmic_apps.COSMIC_SETTINGS, + cosmic_apps.COSMIC_SETTINGS_DAEMON, + cosmic_apps.COSMIC_STORE, + cosmic_apps.COSMIC_TERM, + cosmic_apps.COSMIC_WORKSPACES, + cosmic_apps.COSMIC_XDG_DESKTOP_PORTAL, + cosmic_apps.POP_LAUNCHER +] + +BUILD_ETC = [cosmic_apps.COSMIC_ICONS] + +def make_spec(specinfo): + spec = f"""{specinfo["globals"]} +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate {specinfo["name"]} +%global repo {specinfo["repo"]} + +Name: {specinfo["name"]} +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: {specinfo["summary"]} + +License: {specinfo["license"]} + +URL: {specinfo["repo"]} +{specinfo["sources"]} + +{specinfo["buildrequires"]} + +{specinfo["requires"]} + +%global _description %{{expand: +%{{summary}}.}} + +%description %{{_description}} + +%prep +{specinfo["prep"]} + +%build +{specinfo["build"]} + +%install +{specinfo["install"]} + +%files +{specinfo["files"]} + +%changelog +%autochangelog + """ + + with open(f'{specinfo["name"]}/{specinfo["name"]}.spec', 'w') as f: + f.write(spec) + +def make_build_srpm_script(specinfo): + scr = f"""#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='{specinfo["name"]}' +version='{specinfo["version"]}' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='{specinfo["name"]}/*' +pop_repo='{specinfo["reposhort"]}' + +# Commit to target. Use "latest" if you want master +commit="{specinfo["commit"]}" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${{commit:0:6}} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec +""" + with open(f'{specinfo["name"]}/srpm.sh', 'w') as f: + f.write(scr) + +def make_makefile(specinfo): + mkf = f"""srpm: + sudo dnf install -y rustc cargo git + . build.sh""" + with open(f'{specinfo["name"]}/.spec/Makefile', 'w') as f: + f.write(mkf) + +for app in BUILD_APPS: + subprocess.run(f"mkdir -p {app["name"]}", shell=True) + make_spec(app) + make_build_srpm_script(app) + +for etc in BUILD_ETC: + subprocess.run(f"mkdir -p {etc["name"]}", shell=True) + make_spec(etc) + # make_simple_srpm(etc) \ No newline at end of file diff --git a/xdg-desktop-portal-cosmic/srpm.sh b/xdg-desktop-portal-cosmic/srpm.sh new file mode 100644 index 0000000..8a73f41 --- /dev/null +++ b/xdg-desktop-portal-cosmic/srpm.sh @@ -0,0 +1,65 @@ +#!/bin/bash -x + +# Variables. LOOK CLOSELY AND MAKE SURE THESE ARE CORRECT + +name='xdg-desktop-portal-cosmic' +version='0.1.0' + +repo='https://pagure.io/fedora-cosmic/cosmic-packaging' +path_to_spec='xdg-desktop-portal-cosmic/*' +pop_repo='xdg-desktop-portal-cosmic' + +# Commit to target. Use "latest" if you want master +commit="latest" + +# Don't edit anything past this line +# ===================================================== # + +LATEST="latest" + +cd ../.. +# We should be in the base directory now + +git clone --recurse-submodules https://github.com/pop-os/$pop_repo + +cd $pop_repo + +if [[ "$commit" == "$LATEST" ]] +then + commit=$(git rev-parse HEAD) +fi + +echo $commit +short_commit=${commit:0:6} + +git reset --hard $commit + +mkdir .vendor + +cargo vendor > .vendor/config.toml + +tar -pcf vendor.tar vendor && mv vendor.tar ../vendor.tar + +rm -rf vendor && cd .. + +# Back into cosmic-rpms + +ls + +if [ "$pop_repo" != "$name" ]; then + mv $pop_repo $name +else + echo "names are equal. continuing..." +fi + +tar -czf $name.tar.gz $name + +rm -rf $name + +cp cosmic-rpms/$path_to_spec . + +rm -rf cosmic-rpms + +current_date=$(date +'%Y%m%d.%H') + +sed -i "/^Version: / s/.*/Version: $version~$current_date.$short_commit/" $name.spec diff --git a/xdg-desktop-portal-cosmic/xdg-desktop-portal-cosmic.spec b/xdg-desktop-portal-cosmic/xdg-desktop-portal-cosmic.spec new file mode 100644 index 0000000..8535e49 --- /dev/null +++ b/xdg-desktop-portal-cosmic/xdg-desktop-portal-cosmic.spec @@ -0,0 +1,93 @@ + +# Generated by rust2rpm 25 + +# prevent library files from being installed + +%global crate xdg-desktop-portal-cosmic +%global repo https://github.com/pop-os/xdg-desktop-portal-cosmic + +Name: xdg-desktop-portal-cosmic +Version: # TO BE REPLACED AUTOMATICALLY + +Release: %autorelease +Summary: XDG Desktop Portals for the COSMIC Desktop Environment + +License: GPL-3.0 + +URL: https://github.com/pop-os/xdg-desktop-portal-cosmic + +Source: %{crate}.tar.gz +Source: vendor.tar + + + +# For now, we require all deps for all of cosmic-epoch +BuildRequires: make +BuildRequires: which +BuildRequires: git-core +BuildRequires: just +BuildRequires: rustc +BuildRequires: lld +BuildRequires: cargo +BuildRequires: glib2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-devel +BuildRequires: wayland-devel +BuildRequires: clang-devel +BuildRequires: libxkbcommon-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: rust-rav1e+nasm-rs-devel +BuildRequires: libappstream-glib +BuildRequires: pipewire-devel +BuildRequires: libglvnd-devel +BuildRequires: libseat-devel +BuildRequires: libinput-devel +BuildRequires: pam-devel +BuildRequires: flatpak-devel + + + +# For now, we require all deps for all of cosmic-epoch +Requires: libseat +Requires: pop-icon-theme +Requires: greetd +Requires: greetd-selinux +Requires: cage +Requires: mozilla-fira-mono-fonts +Requires: mozilla-fira-sans-fonts + + +%global _description %{expand: +%{summary}.} + +%description %{_description} + +%prep + +%autosetup -n %{crate} -p1 +mv %{_sourcedir}/vendor.tar vendor.tar +ls -a +mkdir -p .cargo +cp .vendor/config.toml .cargo/config.toml + + +%build +make all VENDOR=1 + +%install +make install DESTDIR=%{buildroot} prefix=%{_prefix} + +%files + +%{_libexecdir}/xdg-desktop-portal-cosmic +%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.cosmic.service +%{_datadir}/xdg-desktop-portal/portals/cosmic.portal +%{_datadir}/xdg-desktop-portal/cosmic-portals.conf +%{_datadir}/icons/hicolor/scalable/actions/screenshot-screen-symbolic.svg +%{_datadir}/icons/hicolor/scalable/actions/screenshot-selection-symbolic.svg +%{_datadir}/icons/hicolor/scalable/actions/screenshot-window-symbolic.svg + + +%changelog +%autochangelog + \ No newline at end of file