mirror of
https://github.com/terrapkg/packages.git
synced 2026-06-02 18:02:19 +00:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| db5891516e | |||
| 66d3138751 | |||
| 24d3b3023f | |||
| f06b1389ff | |||
| 481f79f0c6 | |||
| 5d58d6fc93 | |||
| 480ef1b0a9 | |||
| 066d126ee4 | |||
| 6acdd17115 |
+1
-1
@@ -2,7 +2,7 @@
|
||||
"repoOwner": "terrapkg",
|
||||
"repoName": "packages",
|
||||
"resetAuthor": true,
|
||||
"targetBranchChoices": ["el10", "f40", "f41", "f42", "frawhide"],
|
||||
"targetBranchChoices": ["f39", "f40", "frawhide"],
|
||||
"branchLabelMapping": {
|
||||
"^sync-(.+)$": "$1"
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global xurl https://files.pythonhosted.org/packages/e3/02/b33d4b92ebeba69d321814af706cdd734e6db7ff8f4ec06b312fa1983ea7/anki-25.02.4-cp39-abi3-manylinux_2_35_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/af/28/789ad6f2ed63281756a609862f778df4cb2ac85b3bc65722a1d6773c16c8/anki-25.02.4-cp39-abi3-manylinux_2_35_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/04/f0/1bef63c18a1cb00bfb1d26bd6532315f7c28681af9636a3bb82fbbffe767/aqt-25.02.4-py3-none-any.whl
|
||||
%global xurl https://files.pythonhosted.org/packages/68/9c/7685bd012e597332f8ce379a31b0d58dd4eae960da96ff43e9fcd978c93f/anki-25.02-cp39-abi3-manylinux_2_35_x86_64.whl
|
||||
%global aurl https://files.pythonhosted.org/packages/da/36/741cef7b7fce943d187784549fd8de8152986067d9226f384959c07770a7/anki-25.02-cp39-abi3-manylinux_2_35_aarch64.whl
|
||||
%global qurl https://files.pythonhosted.org/packages/2c/bc/763589b97aa5c91acf3d834beaa473c25ca7f335c7b40954fd0d5fd41ddc/aqt-25.02-py3-none-any.whl
|
||||
|
||||
Name: anki-bin
|
||||
Version: 25.02.4
|
||||
Version: 25.02
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning (Installed with wheel)
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: anki-qt5
|
||||
Version: 25.02.4
|
||||
Version: 25.02
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: anki
|
||||
Version: 25.02.4
|
||||
Version: 25.02
|
||||
Release: 1%?dist
|
||||
Summary: Flashcard program for using space repetition learning
|
||||
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%global __requires_exclude ^lib-.*.so
|
||||
%global __provides_exclude ^lib-.*.so
|
||||
|
||||
%global ver Audacity-3.7.3
|
||||
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
|
||||
%global ver Audacity 3.7.1
|
||||
%global sanitized_ver %(sed 's/ *//;s/Audacity//' <<< "%{ver}")
|
||||
|
||||
Name: audacity-freeworld
|
||||
Version: %{sanitized_ver}
|
||||
|
||||
@@ -1,4 +1 @@
|
||||
rpm.global("ver", gh("audacity/audacity"));
|
||||
if rpm.changed() {
|
||||
rpm.release();
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ for background device management, as well as a GUI to expertly customize your se
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
Name: coolercontrol
|
||||
Version: 2.1.0
|
||||
Version: 1.4.5
|
||||
Release: 1%?dist
|
||||
Summary: Cooling device control for Linux
|
||||
License: GPL-3.0-or-later
|
||||
@@ -21,19 +21,19 @@ Requires: hicolor-icon-theme
|
||||
Requires: webkit2gtk4.1
|
||||
Requires: libappindicator-gtk3
|
||||
Requires: coolercontrold
|
||||
BuildRequires: nodejs-npm libdrm-devel curl wget file mold
|
||||
BuildRequires: git-core make nodejs-npm libdrm-devel curl wget file mold
|
||||
BuildRequires: systemd-rpm-macros anda-srpm-macros cargo >= 1.75.0 cargo-rpm-macros
|
||||
BuildRequires: binutils bison cmake flex gcc gcc-c++ libtool strace
|
||||
BuildRequires: autoconf automake binutils bison flex gcc gcc-c++ gdb libtool pkgconf strace
|
||||
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
|
||||
BuildRequires: libappindicator-gtk3-devel
|
||||
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: cmake(Qt6)
|
||||
BuildRequires: cmake(Qt6WebEngineWidgets)
|
||||
%description %_desc
|
||||
|
||||
%package liqctld
|
||||
Summary: CoolerControl daemon for interacting with liquidctl devices on a system level
|
||||
Requires: coolercontrold
|
||||
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
|
||||
%description liqctld %_desc
|
||||
coolercontrol-liqctld is a CoolerControl daemon for interacting with liquidctl devices on a system level, and is
|
||||
installed as the coolercontrol-liqctld application. Its main purpose is to wrap the underlying
|
||||
@@ -43,8 +43,6 @@ It also enables parallel device communication and access to specific device prop
|
||||
%package -n coolercontrold
|
||||
Summary: Monitor and control your cooling devices.
|
||||
Requires: coolercontrol-liqctld
|
||||
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
|
||||
BuildRequires: libappindicator-gtk3-devel
|
||||
%description -n coolercontrold %_desc
|
||||
coolercontrold is the main daemon containing the core logic for interfacing with devices, and installed as
|
||||
"coolercontrold". It is meant to run in the background as a system daemon. It handles all device
|
||||
@@ -61,31 +59,33 @@ popd
|
||||
|
||||
pushd coolercontrol-ui
|
||||
npm ci --prefer-offline &
|
||||
pushd src-tauri
|
||||
%cargo_prep_online &
|
||||
popd
|
||||
popd
|
||||
|
||||
wait
|
||||
|
||||
|
||||
%build
|
||||
pushd coolercontrol-ui
|
||||
npm run build-only &
|
||||
pushd coolercontrold
|
||||
%{cargo_license_online} > LICENSE.dependencies &
|
||||
%cargo_build -- &
|
||||
popd
|
||||
|
||||
pushd coolercontrol-liqctld
|
||||
%pyproject_wheel
|
||||
popd
|
||||
|
||||
pushd coolercontrol
|
||||
%cmake
|
||||
%cmake_build &
|
||||
popd
|
||||
|
||||
pushd coolercontrold
|
||||
pushd coolercontrol-ui
|
||||
npm run build &
|
||||
pushd src-tauri
|
||||
%{cargo_license_online} > LICENSE.dependencies &
|
||||
wait
|
||||
cp -rfp ../coolercontrol-ui/dist/* resources/app/
|
||||
%cargo_build
|
||||
%cargo_build -f custom-protocol
|
||||
popd
|
||||
popd
|
||||
|
||||
|
||||
%install
|
||||
pushd coolercontrol-liqctld
|
||||
@@ -99,8 +99,9 @@ install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold
|
||||
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies
|
||||
popd
|
||||
|
||||
pushd coolercontrol/
|
||||
%cmake_install
|
||||
pushd coolercontrol-ui/src-tauri
|
||||
install -Dpm755 target/rpm/coolercontrol %buildroot%_bindir/coolercontrol
|
||||
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/%name/LICENSE.dependencies
|
||||
popd
|
||||
|
||||
install -Dpm644 packaging/systemd/coolercontrol-liqctld.service %buildroot%_unitdir/coolercontrol-liqctld.service
|
||||
@@ -134,6 +135,7 @@ appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/coolercontrol
|
||||
%_datadir/applications/%rdnn.desktop
|
||||
%_datadir/metainfo/%rdnn.metainfo.xml
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 0.0.663
|
||||
Version: 0.0.601
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 0.0.663
|
||||
Version: 0.0.601
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-openasar
|
||||
Version: 0.0.93
|
||||
Version: 0.0.87
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 0.0.140
|
||||
Version: 0.0.132
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb
|
||||
Version: 0.0.140
|
||||
Version: 0.0.132
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord
|
||||
Version: 0.0.93
|
||||
Version: 0.0.87
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1,27 +1,22 @@
|
||||
%global commit 9d85f1c24f5c6234e1672c96ea19b2dc990001e8
|
||||
%global commit_date 20250423
|
||||
%global commit 9c6bfe110a50f7f96cd5204205397a9ccd2548d4
|
||||
%global commit_date 20250224
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision-nightly
|
||||
Version: %commit_date.%shortcommit
|
||||
Release: 1%?dist
|
||||
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
|
||||
SourceLicense: AGPL-3.0-or-later
|
||||
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND AGPL-3.0-or-later AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND ISC AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib
|
||||
License: AGPL-3.0-or-later
|
||||
URL: https://gitlab.com/gabmus/envision/
|
||||
Source0: %url/-/archive/%commit/envision-%commit.tar.gz
|
||||
BuildRequires: anda-srpm-macros
|
||||
BuildRequires: cargo
|
||||
BuildRequires: cargo-rpm-macros
|
||||
BuildRequires: meson
|
||||
BuildRequires: ninja-build
|
||||
BuildRequires: meson ninja-build cargo
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.66
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.66
|
||||
BuildRequires: pkgconfig(gtk4) >= 4.10.0
|
||||
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: openssl-devel-engine
|
||||
BuildRequires: openxr-devel
|
||||
BuildRequires: libappstream-glib
|
||||
BuildRequires: desktop-file-utils
|
||||
@@ -35,27 +30,17 @@ Conflicts: envision
|
||||
|
||||
%prep
|
||||
%autosetup -n envision-%commit
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
# generate constants.rs from constants.rs.in
|
||||
%meson
|
||||
|
||||
# skip subdir
|
||||
sed -E "/^subdir\('src'\)/d" -i meson.build
|
||||
|
||||
%meson --reconfigure
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
%cargo_install
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%_bindir/envision
|
||||
%_datadir/applications/org.gabmus.envision.Devel.desktop
|
||||
%_datadir/envision/
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: feishin
|
||||
Version: 0.12.3
|
||||
Version: 0.12.2
|
||||
Release: 1%?dist
|
||||
Summary: A modern self-hosted music player
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "flatpost.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
commit 86a77b2e3d69a09f75992e6795903ab56df1a900 (HEAD -> main, fork/main)
|
||||
Author: Adam Fidel <adam@fidel.id>
|
||||
Date: Tue Apr 22 14:52:16 2025 -0500
|
||||
|
||||
feat: add MimeType to .desktop file
|
||||
|
||||
diff --git a/data/usr/share/applications/com.flatpost.flatpostapp.desktop b/data/usr/share/applications/com.flatpost.flatpostapp.desktop
|
||||
index 73013fc..d1f321d 100644
|
||||
--- a/data/usr/share/applications/com.flatpost.flatpostapp.desktop
|
||||
+++ b/data/usr/share/applications/com.flatpost.flatpostapp.desktop
|
||||
@@ -4,3 +4,4 @@ Exec=python3 /usr/bin/flatpost
|
||||
Icon=com.flatpost.flatpostapp
|
||||
Type=Application
|
||||
Categories=Utility;
|
||||
+MimeType=application/vnd.flatpak.ref;application/vnd.flatpak.repo;
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/vnd.flatpak.ref">
|
||||
<glob pattern="*.flatpakref"/>
|
||||
<comment>Flatpak Reference File</comment>
|
||||
</mime-type>
|
||||
<mime-type type="application/vnd.flatpak.repo">
|
||||
<glob pattern="*.flatpakrepo"/>
|
||||
<comment>Flatpak Repository File</comment>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
@@ -1,77 +0,0 @@
|
||||
Name: flatpost
|
||||
Version: 1.0.5
|
||||
Release: 1%?dist
|
||||
License: BSD-2-Clause
|
||||
Summary: Desktop environment agnostic Flathub software center.
|
||||
|
||||
URL: https://github.com/gloriouseggroll/flatpost
|
||||
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
|
||||
Source1: flatpost-mime.xml
|
||||
Patch0: flatpost-desktop-mimetype.patch
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
Provides: nobara-updater
|
||||
|
||||
# App Deps
|
||||
Requires: python
|
||||
Requires: python3
|
||||
Requires: python3-gobject
|
||||
Requires: python3-requests
|
||||
Requires: python3-pillow
|
||||
Requires: python3-svgwrite
|
||||
Requires: python3-fonttools
|
||||
Requires: python3-numpy
|
||||
|
||||
Requires: flatpak
|
||||
Requires: glib2
|
||||
Requires: gtk3
|
||||
Requires: gtk4
|
||||
Requires: xdg-utils
|
||||
|
||||
Requires(post): shared-mime-info
|
||||
Requires(postun): shared-mime-info
|
||||
Requires(posttrans): shared-mime-info
|
||||
|
||||
%description
|
||||
Desktop environment agnostic Flathub software center. Allows for browsing,
|
||||
installation, removal, updating, and permission management of flatpak packages and repositories.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
make all DESTDIR=%{buildroot}
|
||||
install -D -m644 %{SOURCE1} %{buildroot}/usr/share/mime/packages/flatpost.xml
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/com.flatpost.flatpostapp.desktop
|
||||
|
||||
%post
|
||||
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
|
||||
update-mime-database usr/share/mime &>/dev/null
|
||||
update-desktop-database -q
|
||||
|
||||
%postun
|
||||
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
|
||||
update-mime-database usr/share/mime &>/dev/null
|
||||
update-desktop-database -q
|
||||
|
||||
%posttrans
|
||||
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
|
||||
update-mime-database usr/share/mime &>/dev/null
|
||||
update-desktop-database -q
|
||||
|
||||
%files
|
||||
%{python3_sitelib}/flatpost/
|
||||
%{_bindir}/flatpost
|
||||
%{_datadir}/applications/com.flatpost.flatpostapp.desktop
|
||||
%{_datadir}/flatpost/collections_data.json
|
||||
%{_datadir}/icons/hicolor/1024x1024/apps/com.flatpost.flatpostapp.png
|
||||
%{_datadir}/icons/hicolor/64x64/apps/com.flatpost.flatpostapp.png
|
||||
%{_datadir}/mime/packages/flatpost.xml
|
||||
%license %{_datadir}/licenses/flatpost/LICENSE
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
let v = gh_rawfile("GloriousEggroll/flatpost", "main", "VERSION.txt");
|
||||
v.trim();
|
||||
rpm.version(v);
|
||||
@@ -1,5 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "rio.spec"
|
||||
spec = "grayjay.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
%define __strip /bin/true
|
||||
%define debug_package %nil
|
||||
|
||||
Name: grayjay
|
||||
Version: 5
|
||||
Release: 1%?dist
|
||||
Summary: Watch content on your own terms, ensuring you retain full ownership and control over what you watch
|
||||
License: SFL-1.1
|
||||
URL: https://grayjay.app/desktop
|
||||
Source0: https://github.com/futo-org/Grayjay.Desktop/archive/refs/tags/%version.tar.gz
|
||||
BuildRequires: npm dotnet-host dotnet-hostfxr-8.0 dotnet-sdk-8.0
|
||||
BuildRequires: anda-srpm-macros git-core
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
%description
|
||||
Grayjay is a multi-platform media application that allows you to watch content from multiple platforms in a single application. Using an extendable plugin system developers can make new integrations with additional platforms. Plugins are cross-compatible between Android and Desktop.
|
||||
|
||||
%prep
|
||||
%autosetup -n Grayjay.Desktop-%version
|
||||
git init
|
||||
git remote add origin https://github.com/futo-org/Grayjay.Desktop
|
||||
git submodule update --init --recursive #{?_smp_mflags}
|
||||
|
||||
%build
|
||||
pushd Grayjay.Desktop.Web
|
||||
npm i
|
||||
rm -rf dist
|
||||
npm run build
|
||||
popd
|
||||
|
||||
pushd Grayjay.Desktop.CEF
|
||||
rm -rf bin
|
||||
dotnet publish -c Release
|
||||
popd
|
||||
|
||||
# Copy wwwroot
|
||||
dir=$(ls Grayjay.Desktop.CEF/bin/Release/net8.0)
|
||||
mkdir -p Grayjay.Desktop.CEF/bin/Release/net8.0/$dir/publish/wwwroot
|
||||
cp -r Grayjay.Desktop.Web/dist Grayjay.Desktop.CEF/bin/Release/net8.0/$dir/publish/wwwroot/web
|
||||
|
||||
gendesk \
|
||||
--name=Grayjay \
|
||||
--pkgname=%name \
|
||||
--pkgdesc='%summary' \
|
||||
--exec=%_bindir/grayjay \
|
||||
--icon=%_datadir/grayjay/logo.ico
|
||||
|
||||
%install
|
||||
mkdir -p %buildroot%_datadir/grayjay %buildroot%_bindir
|
||||
cp -r Grayjay.Desktop.CEF/bin/Release/net8.0/*/publish/* %buildroot%_datadir/grayjay/
|
||||
ln -s %_datadir/Grayjay %buildroot%_bindir/grayjay
|
||||
install -Dm644 %buildroot%_datadir/grayjay/logo.ico %buildroot%_datadir/pixmaps/grayjay.ico
|
||||
install -Dm644 grayjay.desktop -t %buildroot%_datadir/applications
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE.md
|
||||
%_bindir/grayjay
|
||||
%_datadir/applications/grayjay.desktop
|
||||
%_datadir/grayjay/
|
||||
%_iconsdir/hicolor/256x256/apps/grayjay.ico
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh_tag("futo-org/Grayjay.Desktop"));
|
||||
@@ -3,10 +3,9 @@
|
||||
%global gtk4_version 4.14.4
|
||||
%global libadwaita_version 1.5.1
|
||||
%global pure_protobuf_version 2.0.0
|
||||
%global raw_ver v1.75.0
|
||||
|
||||
Name: komikku
|
||||
Version: 1.75.0
|
||||
Version: 1.70.0
|
||||
%forgemeta
|
||||
Release: 1%?dist
|
||||
Summary: A manga reader for GNOME
|
||||
@@ -15,7 +14,7 @@ BuildArch: noarch
|
||||
|
||||
License: GPL-3.0-or-later
|
||||
URL: https://valos.gitlab.io/Komikku
|
||||
Source0: https://codeberg.org/valos/%{appname}/archive/%{raw_ver}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
Source0: https://codeberg.org/valos/%{appname}/archive/v%{version}.tar.gz#/%{name}-v%{version}.tar.gz
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: intltool
|
||||
@@ -23,7 +22,6 @@ BuildRequires: libappstream-glib
|
||||
BuildRequires: meson >= 0.59.0
|
||||
BuildRequires: python3-devel >= 3.8
|
||||
BuildRequires: blueprint-compiler
|
||||
BuildRequires: cmake
|
||||
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.35.9
|
||||
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
|
||||
@@ -94,7 +92,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
|
||||
|
||||
|
||||
%files -f %{name}.lang
|
||||
%license LICENSES/*
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_bindir}/%{name}
|
||||
%{_datadir}/%{name}/
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
let latest_tag = get("https://codeberg.org/api/v1/repos/valos/Komikku/tags").json_arr()[0].name;
|
||||
let new_version = find("([\\.\\d]+)", latest_tag, 1);
|
||||
rpm.global("raw_ver", latest_tag);
|
||||
rpm.version(new_version);
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
|
||||
|
||||
Name: legcord-bin
|
||||
Version: 1.1.1
|
||||
Version: 1.1.0
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit a5e0c2e5ae7d2be97bf8407eb5d2bfc89671b5dd
|
||||
%global commit_date 20250422
|
||||
%global commit 1833760c8be5b5fd4a76bbcd0cf1632d7bff0216
|
||||
%global commit_date 20250215
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%define debug_package %nil
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
|
||||
|
||||
Name: legcord
|
||||
Version: 1.1.1
|
||||
Version: 1.1.0
|
||||
Release: 1%?dist
|
||||
License: OSL-3.0
|
||||
Summary: Custom lightweight Discord client designed to enhance your experience
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 61be67071617889282bc477e8d701333ea834783
|
||||
%global commit 5338f4ba70903e7517bbfc7881e10ff13a912ffc
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250429
|
||||
%global ver 0.40.0
|
||||
%global commit_date 20250227
|
||||
%global ver 0.39.0
|
||||
|
||||
Name: mpv-nightly
|
||||
Version: %ver^%commit_date.%shortcommit
|
||||
@@ -124,33 +124,6 @@ Requires: mpv-nightly-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
%description devel
|
||||
This package contains development header files and libraries for Mpv.
|
||||
|
||||
%package bash-completion
|
||||
Summary: MPV Bash completion
|
||||
Requires: bash
|
||||
Requires: %{name}
|
||||
Supplements: (%{name} and bash)
|
||||
|
||||
%description bash-completion
|
||||
Bash shell completion for MPV.
|
||||
|
||||
%package fish-completion
|
||||
Summary: MPV Fish completion
|
||||
Requires: fish
|
||||
Requires: %{name}
|
||||
Supplements: (%{name} and fish)
|
||||
|
||||
%description fish-completion
|
||||
Fish shell completion for MPV.
|
||||
|
||||
%package zsh-completion
|
||||
Summary: MPV Zsh completion
|
||||
Requires: zsh
|
||||
Requires: %{name}
|
||||
Supplements: (%{name} and zsh)
|
||||
|
||||
%description zsh-completion
|
||||
Zsh shell completion for MPV.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n mpv-%commit
|
||||
sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
|
||||
@@ -232,7 +205,13 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mpv.desktop
|
||||
%{_docdir}/mpv/
|
||||
%{_bindir}/mpv
|
||||
%{_datadir}/applications/mpv.desktop
|
||||
%dir %{_datadir}/bash-completion/
|
||||
%dir %{_datadir}/bash-completion/completions/
|
||||
%{_datadir}/bash-completion/completions/mpv
|
||||
%{_datadir}/icons/hicolor/*/apps/mpv*.*
|
||||
%dir %{_datadir}/zsh/
|
||||
%dir %{_datadir}/zsh/site-functions/
|
||||
%{_datadir}/zsh/site-functions/_mpv
|
||||
%{_mandir}/man1/mpv.*
|
||||
%{_metainfodir}/mpv.metainfo.xml
|
||||
%dir %{_sysconfdir}/mpv/
|
||||
@@ -247,14 +226,5 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mpv.desktop
|
||||
%{_libdir}/libmpv.so
|
||||
%{_libdir}/pkgconfig/mpv.pc
|
||||
|
||||
%files bash-completion
|
||||
%{bash_completions_dir}/mpv
|
||||
|
||||
%files fish-completion
|
||||
%{fish_completions_dir}/mpv.fish
|
||||
|
||||
%files zsh-completion
|
||||
%{zsh_completions_dir}/_mpv
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
v1.11.9
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "nekoray.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Name=nekoray
|
||||
Categories=Network;
|
||||
Comment=Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
||||
Comment[zh_CN]=基于 Qt 的跨平台代理配置管理器 (后端 sing-box)
|
||||
Keywords=Internet;VPN;Proxy;sing-box;
|
||||
Exec=/bin/nekoray
|
||||
Icon=/usr/share/icons/nekoray.ico
|
||||
@@ -1,2 +0,0 @@
|
||||
#!/bin/sh
|
||||
/lib64/nekoray/nekoray -appdata "${@}"
|
||||
@@ -1,93 +0,0 @@
|
||||
%global gomodulesmode GO111MODULE=on
|
||||
Name: nekoray
|
||||
Version: 4.3.4
|
||||
Release: 1%?dist
|
||||
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
||||
URL: https://github.com/Mahdi-zarei/nekoray
|
||||
License: GPLv3
|
||||
|
||||
Source0: https://github.com/Mahdi-zarei/nekoray/archive/refs/tags/%{version}.tar.gz#/nekoray-%{version}.tar.gz
|
||||
Packager: bunzuhbu <g89156436@gmail.com>
|
||||
Source1: vendor-%{version}.tar.gz
|
||||
%define fetch_vendor %{_rpmconfigdir}/rpmuncompress -xv %{SOURCE1}
|
||||
|
||||
Source2: Sagernet.SingBox.Version.txt
|
||||
%define singbox_version $(cat %{SOURCE2})
|
||||
|
||||
Source3: %{name}.desktop
|
||||
Source4: %{name}.sh
|
||||
|
||||
BuildRequires: rpm_macro(cmake)
|
||||
BuildRequires: rpm_macro(cmake_build)
|
||||
BuildRequires: rpm_macro(cmake_install)
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: pkgconfig(protobuf)
|
||||
BuildRequires: pkgconfig(libcurl)
|
||||
BuildRequires: cmake(yaml-cpp)
|
||||
BuildRequires: cmake(ZXing)
|
||||
BuildRequires: cmake(absl)
|
||||
BuildRequires: cmake(cpr)
|
||||
BuildRequires: cmake(Qt6)
|
||||
BuildRequires: cmake(Qt6Svg)
|
||||
BuildRequires: cmake(Qt6Linguist)
|
||||
BuildRequires: cmake(Qt6Charts)
|
||||
BuildRequires: patchelf
|
||||
BuildRequires: sed
|
||||
BuildRequires: golang
|
||||
BuildRequires: rpm_macro(gobuildflags)
|
||||
Requires: %{name}-core
|
||||
%define core nekobox_core
|
||||
|
||||
%package core
|
||||
Summary: %{summary}
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
|
||||
%description core
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}-%{version}
|
||||
sed -i 's~find_package(Protobuf CONFIG REQUIRED)~find_package(Protobuf REQUIRED)~' cmake/myproto.cmake
|
||||
sed -i 's~add_library(qhotkey 3rdparty/QHotkey/qhotkey.cpp)~add_library(qhotkey STATIC 3rdparty/QHotkey/qhotkey.cpp)~' cmake/QHotkey.cmake
|
||||
sed -i 's~ImageFormat::BGRA~ImageFormat::BGR~' 3rdparty/ZxingQtReader.hpp
|
||||
pushd core/server
|
||||
%{fetch_vendor}
|
||||
popd
|
||||
|
||||
%build
|
||||
%cmake
|
||||
%cmake_build
|
||||
DEST=$PWD/%{__cmake_builddir}/%{core}
|
||||
pushd core/server
|
||||
go build %{gobuildflags} -o $DEST -trimpath -ldflags "-B 0x$(echo "%{name}-%{version}-%{release}-${SOURCE_DATE_EPOCH:-}" | sha1sum | cut -d ' ' -f1) -w -s -X 'github.com/sagernet/sing-box/constant.Version=%{singbox_version}'" -tags "with_clash_api,with_gvisor,with_quic,with_wireguard,with_utls,with_ech,with_dhcp"
|
||||
popd
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_libdir}/%{name}
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
mkdir -p %{buildroot}%{_datadir}/icons
|
||||
|
||||
cp %{SOURCE4} %{buildroot}%{_bindir}/%{name}
|
||||
cp %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
sed -i 's~/bin~%{_bindir}~g;s~/usr/share~%{_datadir}~g;s~nekoray~%{name}~g' %{buildroot}%{_datadir}/applications/%{name}.desktop
|
||||
sed -i 's~/bin~%{_bindir}~g;s~/lib64~%{_libdir}~g;s~nekoray~%{name}~g' %{buildroot}%{_bindir}/%{name}
|
||||
cp %{__cmake_builddir}/%{name} %{buildroot}%{_libdir}/%{name}/%{name}
|
||||
cp %{__cmake_builddir}/%{core} %{buildroot}%{_libdir}/%{name}/%{core}
|
||||
cp res/nekoray.ico %{buildroot}%{_datadir}/icons/%{name}.ico
|
||||
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{name}
|
||||
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{core}
|
||||
|
||||
%files
|
||||
%attr(0755, -, -) %{_bindir}/%{name}
|
||||
%attr(0755, -, -) %{_libdir}/%{name}/%{name}
|
||||
%attr(0644, -, -) %{_datadir}/icons/%{name}.ico
|
||||
%attr(0644, -, -) %{_datadir}/applications/%{name}.desktop
|
||||
|
||||
%files core
|
||||
%dir %{_libdir}/%{name}
|
||||
%attr(0755, -, -) %{_libdir}/%{name}/%{core}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
let sourcedir = "anda/apps/nekoray";
|
||||
|
||||
sh(`dnf in -y golang rpmdevtools tar rpm-build coreutils`, #{});
|
||||
sh(`pushd ${sourcedir}; bash -x pre.sh; popd`, #{});
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
export sourcedir="$PWD"
|
||||
rpmdev-spectool --all --get-files nekoray.spec
|
||||
version=$(rpmspec --query --queryformat "%{VERSION}\n" nekoray.spec | uniq)
|
||||
|
||||
tar -xzf "nekoray-${version}.tar.gz"
|
||||
pushd "nekoray-${version}/core/server"
|
||||
go mod vendor
|
||||
tar -czf "${sourcedir}/vendor-${version}.tar.gz" vendor
|
||||
popd
|
||||
@@ -1,3 +0,0 @@
|
||||
rpm.version(find(`([\d.]+)-\d+-\d+-\d+`, gh_rawfile("Mahdi-zarei/nekoray", "dev", "nekoray_version.txt"), 1));
|
||||
|
||||
open_file("anda/apps/nekoray/Sagernet.SingBox.Version.txt", "w").write(gh("sagernet/sing-box"));
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "peazip.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,138 +0,0 @@
|
||||
# can't figure out how to apply usual build flags to lazbuild
|
||||
%define debug_package %nil
|
||||
|
||||
Name: peazip
|
||||
Version: 10.4.0
|
||||
Release: 1%?dist
|
||||
Summary: Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager
|
||||
License: LGPL-3.0-only
|
||||
URL: https://peazip.github.io
|
||||
Source0: https://github.com/peazip/PeaZip/archive/refs/tags/%version.tar.gz
|
||||
# holy smoke this is written in pascal?
|
||||
BuildRequires: lazarus-tools
|
||||
BuildRequires: lazarus-lcl-gtk2
|
||||
BuildRequires: lazarus-lcl-gtk3
|
||||
BuildRequires: lazarus-lcl-qt5
|
||||
BuildRequires: lazarus-lcl-qt6
|
||||
Requires: (peazip-gtk2 or peazip-gtk3 or peazip-gtk4 or peazip-qt5 or peazip-qt6)
|
||||
Requires: p7zip brotli zstd
|
||||
Suggests: (peazip-gtk4 if gtk4)
|
||||
Suggests: (peazip-qt5 if qt5-qtbase)
|
||||
Suggests: (peazip-qt6 if qt6-qtbase)
|
||||
|
||||
%description
|
||||
PeaZip is a free file archiver utility and rar extractor for Linux, macOS, and
|
||||
Windows, which works with 200+ archive types and variants (7z, ace, arc, bz2,
|
||||
cab, gz, iso, paq, pea, rar, tar, wim, zip, zipx...), handles spanned archives
|
||||
(001, r01, z01...), supports multiple archive encryption standards, file
|
||||
hashing, exports tasks as console scripts.
|
||||
|
||||
%package gtk2
|
||||
Summary: GTK2 version of peazip
|
||||
Requires: peazip
|
||||
RemovePathPostFixes: .gtk2
|
||||
%description gtk2
|
||||
GTK2 version of peazip.
|
||||
%package gtk3
|
||||
Summary: GTK3 version of peazip
|
||||
Requires: peazip
|
||||
RemovePathPostFixes: .gtk3
|
||||
%description gtk3
|
||||
GTK3 version of peazip.
|
||||
%package qt5
|
||||
Summary: Qt5 version of peazip
|
||||
Requires: peazip
|
||||
RemovePathPostFixes: .qt5
|
||||
%description qt5
|
||||
Qt5 version of peazip.
|
||||
%package qt6
|
||||
Summary: Qt6 version of peazip
|
||||
Requires: peazip
|
||||
RemovePathPostFixes: .qt6
|
||||
%description qt6
|
||||
Qt6 version of peazip.
|
||||
|
||||
|
||||
%package -n pea
|
||||
Summary: Engine for PEA file format support
|
||||
%description -n pea
|
||||
Engine for PEA file format support.
|
||||
|
||||
%package -n pea-gtk2
|
||||
Summary: GTK2 version of pea
|
||||
Requires: pea
|
||||
RemovePathPostFixes: .gtk2
|
||||
%description -n pea-gtk2
|
||||
GTK2 version of pea.
|
||||
%package -n pea-gtk3
|
||||
Summary: GTK3 version of pea
|
||||
Requires: pea
|
||||
RemovePathPostFixes: .gtk3
|
||||
%description -n pea-gtk3
|
||||
GTK3 version of pea.
|
||||
%package -n pea-qt5
|
||||
Summary: Qt5 version of pea
|
||||
Requires: pea
|
||||
RemovePathPostFixes: .qt5
|
||||
%description -n pea-qt5
|
||||
Qt5 version of pea.
|
||||
%package -n pea-qt6
|
||||
Summary: Qt6 version of pea
|
||||
Requires: pea
|
||||
RemovePathPostFixes: .qt6
|
||||
%description -n pea-qt6
|
||||
Qt6 version of pea.
|
||||
|
||||
%prep
|
||||
%autosetup -n PeaZip-%version
|
||||
|
||||
%build
|
||||
cd peazip-sources
|
||||
lazbuild --add-package dev/metadarkstyle/metadarkstyle.lpk
|
||||
lazbuild --ws=gtk2 dev/project_peach.lpi && cp dev/peazip ../peazip.gtk2
|
||||
lazbuild --ws=gtk3 dev/project_peach.lpi && cp dev/peazip ../peazip.gtk3
|
||||
lazbuild --ws=qt5 dev/project_peach.lpi && cp dev/peazip ../peazip.qt5
|
||||
lazbuild --ws=qt6 dev/project_peach.lpi && cp dev/peazip ../peazip.qt6
|
||||
lazbuild --ws=gtk2 dev/project_pea.lpi && cp dev/pea ../pea.gtk2
|
||||
lazbuild --ws=gtk3 dev/project_pea.lpi && cp dev/pea ../pea.gtk3
|
||||
lazbuild --ws=qt5 dev/project_pea.lpi && cp dev/pea ../pea.qt5
|
||||
lazbuild --ws=qt6 dev/project_pea.lpi && cp dev/pea ../pea.qt6
|
||||
|
||||
%install
|
||||
install -Dm755 peazip.* -t %buildroot%_bindir
|
||||
install -Dm755 pea.* -t %buildroot%_bindir
|
||||
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/peazip.desktop -t %{buildroot}%{_datadir}/applications
|
||||
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/*.png -t %{buildroot}%{_datadir}/pixmaps
|
||||
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE6-dolphin/peazip-kde6.desktop -t %{buildroot}%{_datadir}/kio/servicemenus
|
||||
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/Nautilus-scripts/PeaZip/* -t %{buildroot}%{_datadir}/nautilus/scripts/PeaZip
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE SECURITY.md
|
||||
%{_datadir}/applications/peazip.desktop
|
||||
%{_datadir}/pixmaps/peazip*.png
|
||||
%{_datadir}/kio/servicemenus/peazip-kde6.desktop
|
||||
%dir %{_datadir}/nautilus/scripts/PeaZip
|
||||
%{_datadir}/nautilus/scripts/PeaZip/*
|
||||
|
||||
%files -n pea
|
||||
%doc README.md
|
||||
%license LICENSE SECURITY.md
|
||||
|
||||
%files gtk2
|
||||
%_bindir/peazip.gtk2
|
||||
%files gtk3
|
||||
%_bindir/peazip.gtk3
|
||||
%files qt5
|
||||
%_bindir/peazip.qt5
|
||||
%files qt6
|
||||
%_bindir/peazip.qt6
|
||||
|
||||
%files -n pea-gtk2
|
||||
%_bindir/pea.gtk2
|
||||
%files -n pea-gtk3
|
||||
%_bindir/pea.gtk3
|
||||
%files -n pea-qt5
|
||||
%_bindir/pea.qt5
|
||||
%files -n pea-qt6
|
||||
%_bindir/pea.qt6
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(get("https://raw.githubusercontent.com/peazip/peazip.github.io/master/autoupdate.txt"));
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2025-04-29
|
||||
%global ver 2025-03-01
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "subtitleedit.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
%global pkgdir %_datadir/subtitleedit
|
||||
%global realname subtitleedit
|
||||
|
||||
Name: %realname.bin
|
||||
Version: 4.0.12
|
||||
Release: 2%?dist
|
||||
Summary: An advanced subtitle editor and converter
|
||||
License: GPL-3.0-only
|
||||
URL: https://www.nikse.dk/SubtitleEdit
|
||||
Source0: https://github.com/SubtitleEdit/subtitleedit/releases/download/%version/SE%{gsub %version %. %{quote:}}.zip
|
||||
Source1: https://github.com/SubtitleEdit/subtitleedit/blob/%version/src/libse/Icon.png?raw=true
|
||||
Packager: madonuko <mado@fyralabs.com>
|
||||
Provides: %realname = %evr
|
||||
Conflicts: %realname
|
||||
BuildRequires: unzip anda-srpm-macros
|
||||
Requires: dejavu-sans-mono-fonts mono-core
|
||||
|
||||
%description
|
||||
%summary.
|
||||
|
||||
|
||||
%prep
|
||||
cat<<EOF > subtitleedit.desktop
|
||||
[Desktop Entry]
|
||||
Name=Subtitle Edit
|
||||
Comment=An advanced subtitle editor and converter
|
||||
Exec=/usr/bin/subtitleedit %%F
|
||||
Icon=subtitleedit
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Video;AudioVideo;AudioVideoEditing;
|
||||
EOF
|
||||
|
||||
cat<<EOF > subtitleedit
|
||||
#!/usr/bin/sh
|
||||
exec mono /usr/share/subtitleedit/SubtitleEdit.exe "$@"
|
||||
EOF
|
||||
|
||||
|
||||
%install
|
||||
mkdir -p %buildroot%pkgdir
|
||||
unzip %{S:0} -d %buildroot%pkgdir
|
||||
rm -r %buildroot%pkgdir/Tesseract302
|
||||
rm %buildroot%pkgdir/Hunspell{x86,x64}.dll
|
||||
touch %buildroot%pkgdir/.PACKAGE-MANAGER
|
||||
|
||||
install -Dm755 subtitleedit -t %buildroot%_bindir
|
||||
install -Dm644 subtitleedit.desktop -t %buildroot%_datadir/applications
|
||||
install -Dm644 %{S:1} %buildroot%_datadir/pixmaps/subtitleedit.png
|
||||
|
||||
|
||||
%files
|
||||
%pkgdir
|
||||
%_bindir/%realname
|
||||
%_datadir/applications/%realname.desktop
|
||||
%_datadir/pixmaps/%realname.png
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("SubtitleEdit/subtitleedit"));
|
||||
@@ -0,0 +1,27 @@
|
||||
From 44046bfbcb30a19c45416113a2a82a4d17a1a998 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 14:06:45 +0200
|
||||
Subject: [PATCH 01/10] main: update GPUs comment for dbus property
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/net.hadess.SwitcherooControl.xml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/net.hadess.SwitcherooControl.xml b/src/net.hadess.SwitcherooControl.xml
|
||||
index e52bc1a..59a8896 100644
|
||||
--- a/src/net.hadess.SwitcherooControl.xml
|
||||
+++ b/src/net.hadess.SwitcherooControl.xml
|
||||
@@ -38,7 +38,8 @@
|
||||
will contain a user-facing name for the GPU, the "Environment" (as) key will
|
||||
contain an array of even number of strings, each being an environment
|
||||
variable to set to use the GPU, followed by its value, the "Default" (b) key
|
||||
- will tag the default (usually integrated) GPU.
|
||||
+ will tag the default GPU, the "Discrete" (b) key tags if the GPU is a
|
||||
+ dedicated component.
|
||||
-->
|
||||
<property name="GPUs" type="aa{sv}" access="read"/>
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,379 @@
|
||||
From 4f31415cb61a50c2bcba1510a7511518417d0970 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 11 Sep 2023 15:21:46 +0200
|
||||
Subject: [PATCH 02/10] main: add Discrete key
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
.gitlab-ci.yml | 1 +
|
||||
data/30-discrete-gpu.rules.in | 3 +
|
||||
data/meson.build | 7 ++
|
||||
meson.build | 9 +++
|
||||
meson_options.txt | 24 +++++++
|
||||
src/discrete-detection/amdgpu.c | 46 +++++++++++++
|
||||
src/discrete-detection/meson.build | 18 +++++
|
||||
src/discrete-detection/nouveau.c | 105 +++++++++++++++++++++++++++++
|
||||
src/meson.build | 4 +-
|
||||
src/switcheroo-control.c | 16 +++++
|
||||
10 files changed, 232 insertions(+), 1 deletion(-)
|
||||
create mode 100644 data/30-discrete-gpu.rules.in
|
||||
create mode 100644 src/discrete-detection/amdgpu.c
|
||||
create mode 100644 src/discrete-detection/meson.build
|
||||
create mode 100644 src/discrete-detection/nouveau.c
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
index a6aa3c7..a09fe20 100644
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ b/.gitlab-ci.yml
|
||||
@@ -3,6 +3,7 @@ image: fedora:rawhide
|
||||
variables:
|
||||
DEPENDENCIES: glib2-devel
|
||||
libgudev-devel
|
||||
+ libdrm-devel
|
||||
gtk-doc
|
||||
gcc
|
||||
gcc-c++
|
||||
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
|
||||
new file mode 100644
|
||||
index 0000000..a803ed4
|
||||
--- /dev/null
|
||||
+++ b/data/30-discrete-gpu.rules.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 85e5c93..38cf96c 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -17,3 +17,10 @@ install_data(
|
||||
'30-pci-intel-gpu.hwdb',
|
||||
install_dir: hwdb_dir,
|
||||
)
|
||||
+
|
||||
+configure_file(
|
||||
+ input: '30-discrete-gpu.rules.in',
|
||||
+ output: '30-discrete-gpu.rules',
|
||||
+ configuration: data_conf,
|
||||
+ install_dir: rules_dir,
|
||||
+)
|
||||
diff --git a/meson.build b/meson.build
|
||||
index b8f4bff..b3aaf0c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -20,6 +20,9 @@ gnome = import('gnome')
|
||||
glib = dependency('glib-2.0', version: '>= 2.56.0')
|
||||
gio = dependency('gio-2.0', version: '>= 2.56.0')
|
||||
gudev = dependency('gudev-1.0', version: '>= 232')
|
||||
+libdrm = dependency('libdrm', version: '>= 2.4.97', required: get_option('libdrm'))
|
||||
+libdrm_nouveau = dependency('libdrm_nouveau', version: '>= 2.4.97', required: get_option('libdrm_nouveau'))
|
||||
+libdrm_amdgpu = dependency('libdrm_amdgpu', version: '>= 2.4.97', required: get_option('libdrm_amdgpu'))
|
||||
|
||||
systemd_systemunitdir = get_option('systemdsystemunitdir')
|
||||
if systemd_systemunitdir == ''
|
||||
@@ -32,6 +35,12 @@ if hwdb_dir == ''
|
||||
hwdb_dir = udevdir / 'hwdb.d'
|
||||
endif
|
||||
|
||||
+rules_dir = get_option('rulesdir')
|
||||
+if rules_dir == ''
|
||||
+ udevdir = dependency('udev').get_pkgconfig_variable('udevdir')
|
||||
+ rules_dir = udevdir / 'rules.d'
|
||||
+endif
|
||||
+
|
||||
# Make like license available in the build root for docs
|
||||
configure_file(
|
||||
input: 'COPYING',
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index c8d9619..b8d671a 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -10,6 +10,12 @@ option('hwdbdir',
|
||||
description: 'Directory for hwdb files',
|
||||
)
|
||||
|
||||
+option('rulesdir',
|
||||
+ type: 'string',
|
||||
+ value: '',
|
||||
+ description: 'Directory for ruke files',
|
||||
+)
|
||||
+
|
||||
option('gtk_doc',
|
||||
type: 'boolean',
|
||||
value: false,
|
||||
@@ -21,3 +27,21 @@ option('tests',
|
||||
type: 'boolean',
|
||||
value: false
|
||||
)
|
||||
+
|
||||
+option('libdrm',
|
||||
+ description: 'Whether libdrm should be used to probe GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
+
|
||||
+option('libdrm_nouveau',
|
||||
+ description: 'Whether libdrm_nouveau should be used to probe Nvidia GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
+
|
||||
+option('libdrm_amdgpu',
|
||||
+ description: 'Whether libdrm_amdgpu should be used to probe AMD GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
|
||||
new file mode 100644
|
||||
index 0000000..2d9804f
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/amdgpu.c
|
||||
@@ -0,0 +1,46 @@
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <gio/gio.h>
|
||||
+#include <gudev/gudev.h>
|
||||
+
|
||||
+#include <amdgpu.h>
|
||||
+#include <amdgpu_drm.h>
|
||||
+
|
||||
+typedef int handle;
|
||||
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ puts ("check-discrete-amdgpu [DEVNAME]");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const char *devname;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+ g_autoptr(GUdevDevice) parent = NULL;
|
||||
+ struct drm_amdgpu_info_device device_info = {0};
|
||||
+ amdgpu_device_handle device = NULL;
|
||||
+ uint32_t drm_major, drm_minor;
|
||||
+
|
||||
+ devname = argv[1];
|
||||
+ fd = open (devname, O_RDWR);
|
||||
+ if (fd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ if (amdgpu_device_initialize (fd, &drm_major, &drm_minor, &device))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ if (amdgpu_query_info (device, AMDGPU_INFO_DEV_INFO, sizeof(device_info), &device_info))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ /* AMDGPU_IDS_FLAGS_FUSION is set for all APUs */
|
||||
+ if (device_info.ids_flags & AMDGPU_IDS_FLAGS_FUSION)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ return EXIT_SUCCESS;
|
||||
+}
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..3a6c03f
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -0,0 +1,18 @@
|
||||
+
|
||||
+if libdrm_amdgpu.found()
|
||||
+ executable('check-discrete-amdgpu',
|
||||
+ files('amdgpu.c'),
|
||||
+ dependencies: deps,
|
||||
+ install: true,
|
||||
+ install_dir: libexecdir,
|
||||
+ )
|
||||
+endif
|
||||
+
|
||||
+if libdrm.found() and libdrm_nouveau.found()
|
||||
+ executable('check-discrete-nouveau',
|
||||
+ files('nouveau.c'),
|
||||
+ dependencies: deps,
|
||||
+ install: true,
|
||||
+ install_dir: libexecdir,
|
||||
+ )
|
||||
+endif
|
||||
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
|
||||
new file mode 100644
|
||||
index 0000000..0a1f220
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/nouveau.c
|
||||
@@ -0,0 +1,105 @@
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <gio/gio.h>
|
||||
+#include <gudev/gudev.h>
|
||||
+
|
||||
+#include <xf86drm.h>
|
||||
+#include <nouveau_drm.h>
|
||||
+#include <nouveau/nvif/ioctl.h>
|
||||
+#include <nvif/cl0080.h>
|
||||
+#include <nvif/class.h>
|
||||
+
|
||||
+typedef int handle;
|
||||
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ puts ("check-discrete-nouveau [DEVNAME]");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const char *devname;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+
|
||||
+ devname = argv[1];
|
||||
+ fd = open (devname, O_RDWR);
|
||||
+ if (fd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ g_autofree void *device = malloc(352);
|
||||
+
|
||||
+ /* Init device */
|
||||
+ {
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_new_v0 new;
|
||||
+ struct nv_device_v0 dev;
|
||||
+ } init_args = {
|
||||
+ .ioctl = {
|
||||
+ .object = 0,
|
||||
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
|
||||
+ .route = 0x00,
|
||||
+ .type = NVIF_IOCTL_V0_NEW,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .new = {
|
||||
+ .handle = 0,
|
||||
+ .object = (uintptr_t)device,
|
||||
+ .oclass = NV_DEVICE,
|
||||
+ .route = NVIF_IOCTL_V0_ROUTE_NVIF,
|
||||
+ .token = (uintptr_t)device,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .dev = {
|
||||
+ .device = ~0ULL,
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
+ if (drmCommandWrite (fd, DRM_NOUVEAU_NVIF, &init_args, sizeof(init_args)))
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ /* Query device info */
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_mthd_v0 mthd;
|
||||
+ struct nv_device_info_v0 info;
|
||||
+ } args = {
|
||||
+ .ioctl = {
|
||||
+ .object = (uintptr_t)device,
|
||||
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
|
||||
+ .route = 0x00,
|
||||
+ .type = NVIF_IOCTL_V0_MTHD,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .mthd = {
|
||||
+ .method = NV_DEVICE_V0_INFO,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .info = {
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
+ if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+
|
||||
+ switch (args.info.platform)
|
||||
+ {
|
||||
+ case NV_DEVICE_INFO_V0_IGP:
|
||||
+ case NV_DEVICE_INFO_V0_SOC:
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ case NV_DEVICE_INFO_V0_PCI:
|
||||
+ case NV_DEVICE_INFO_V0_AGP:
|
||||
+ case NV_DEVICE_INFO_V0_PCIE:
|
||||
+ default:
|
||||
+ return EXIT_SUCCESS;
|
||||
+ }
|
||||
+ return EXIT_FAILURE;
|
||||
+}
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index ab3a77d..da4267f 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
-deps = [glib, gio, gudev]
|
||||
+deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
|
||||
sources = [
|
||||
'info-cleanup.c',
|
||||
@@ -34,3 +34,5 @@ configure_file(
|
||||
configuration: switcherooctl_conf,
|
||||
install_dir: get_option('bindir')
|
||||
)
|
||||
+
|
||||
+subdir('discrete-detection')
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index abd8154..e407bfb 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -31,6 +31,7 @@ typedef struct {
|
||||
char *name;
|
||||
GPtrArray *env;
|
||||
gboolean is_default;
|
||||
+ gboolean is_discrete;
|
||||
} CardData;
|
||||
|
||||
typedef struct {
|
||||
@@ -94,6 +95,8 @@ build_gpus_variant (ControlData *data)
|
||||
g_variant_new_strv ((const gchar * const *) card->env->pdata, card->env->len));
|
||||
g_variant_builder_add (&asv_builder, "{sv}", "Default",
|
||||
g_variant_new_boolean (card->is_default));
|
||||
+ g_variant_builder_add (&asv_builder, "{sv}", "Discrete",
|
||||
+ g_variant_new_boolean (card->is_discrete));
|
||||
|
||||
g_variant_builder_add (&builder, "a{sv}", &asv_builder);
|
||||
}
|
||||
@@ -312,6 +315,18 @@ get_card_is_default (GUdevDevice *d)
|
||||
return g_udev_device_get_sysfs_attr_as_boolean (parent, "boot_vga");
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+get_card_is_discrete (GUdevDevice *d)
|
||||
+{
|
||||
+ const char * const * tags;
|
||||
+ g_autoptr (GUdevDevice) platform_device = NULL;
|
||||
+
|
||||
+ tags = g_udev_device_get_tags (d);
|
||||
+ if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
|
||||
+ return TRUE;
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
static CardData *
|
||||
get_card_data (GUdevClient *client,
|
||||
GUdevDevice *d)
|
||||
@@ -328,6 +343,7 @@ get_card_data (GUdevClient *client,
|
||||
data->name = get_card_name (d);
|
||||
data->env = env;
|
||||
data->is_default = get_card_is_default (d);
|
||||
+ data->is_discrete = get_card_is_discrete (d);
|
||||
|
||||
return data;
|
||||
}
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 1b115ed72e03ff1169cbfddd79ef10890baca133 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:53:40 +0200
|
||||
Subject: [PATCH 03/10] tests: fix integration tests without UMockdev
|
||||
`gi.require_version` throws ValueError if the dependency cannot be found
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
tests/integration-test.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/integration-test.py b/tests/integration-test.py
|
||||
index d8dea16..e3dd996 100755
|
||||
--- a/tests/integration-test.py
|
||||
+++ b/tests/integration-test.py
|
||||
@@ -37,7 +37,7 @@ except ImportError as e:
|
||||
try:
|
||||
gi.require_version('UMockdev', '1.0')
|
||||
from gi.repository import UMockdev
|
||||
-except ImportError:
|
||||
+except (ImportError, ValueError):
|
||||
sys.stderr.write('Skipping tests, umockdev not available (https://github.com/martinpitt/umockdev)\n')
|
||||
sys.exit(0)
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
+278
@@ -0,0 +1,278 @@
|
||||
From d933e96bdb15679ae7653f929461982aa66973ba Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:58:16 +0200
|
||||
Subject: [PATCH 04/10] tests: add tests for discrete detection with mock libs
|
||||
Both tests have 4 different ways of testing: - Invalid Device - Unexpected
|
||||
Device - Non Discrete GPU (iGPU/APU) - Discrete GPU
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/meson.build | 4 +-
|
||||
tests/discrete-detection/libdrm_amdgpu_mock.c | 57 +++++++++++++
|
||||
.../discrete-detection/libdrm_nouveau_mock.c | 68 ++++++++++++++++
|
||||
tests/discrete-detection/meson.build | 80 +++++++++++++++++++
|
||||
tests/meson.build | 2 +
|
||||
5 files changed, 209 insertions(+), 2 deletions(-)
|
||||
create mode 100644 tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
create mode 100644 tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
create mode 100644 tests/discrete-detection/meson.build
|
||||
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
index 3a6c03f..8eb8437 100644
|
||||
--- a/src/discrete-detection/meson.build
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
if libdrm_amdgpu.found()
|
||||
- executable('check-discrete-amdgpu',
|
||||
+ amdgpu_discrete = executable('check-discrete-amdgpu',
|
||||
files('amdgpu.c'),
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
@@ -9,7 +9,7 @@ if libdrm_amdgpu.found()
|
||||
endif
|
||||
|
||||
if libdrm.found() and libdrm_nouveau.found()
|
||||
- executable('check-discrete-nouveau',
|
||||
+ nouveau_discrete = executable('check-discrete-nouveau',
|
||||
files('nouveau.c'),
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
diff --git a/tests/discrete-detection/libdrm_amdgpu_mock.c b/tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
new file mode 100644
|
||||
index 0000000..20fa4aa
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+#include <string.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#include <amdgpu_drm.h>
|
||||
+
|
||||
+enum {
|
||||
+ OTHER_GPU,
|
||||
+ AMD_APU,
|
||||
+ AMD_GPU,
|
||||
+};
|
||||
+
|
||||
+/* Mock open(2) so we can test multiple devices configurations */
|
||||
+int open(const char *pathname, int flags)
|
||||
+{
|
||||
+ if (!strcmp(pathname, "OTHER_GPU"))
|
||||
+ return OTHER_GPU;
|
||||
+ if (!strcmp (pathname, "AMD_APU"))
|
||||
+ return AMD_APU;
|
||||
+ if (!strcmp (pathname, "AMD_GPU"))
|
||||
+ return AMD_GPU;
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+/* open64 may be used for large file support */
|
||||
+int open64(const char *pathname, int flags)
|
||||
+{
|
||||
+ return open (pathname, flags);
|
||||
+}
|
||||
+
|
||||
+int amdgpu_device_initialize(int fd, uint32_t *major_version, uint32_t *minor_version, int *device_handle)
|
||||
+{
|
||||
+ // Store the fd in the device handle for access in query_info
|
||||
+ *device_handle = fd;
|
||||
+
|
||||
+ if (fd != AMD_GPU && fd != AMD_APU)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int amdgpu_query_info(int device_handle, unsigned info_id, unsigned size, void *value)
|
||||
+{
|
||||
+ struct drm_amdgpu_info_device* device_info = value;
|
||||
+
|
||||
+ if (device_handle == AMD_GPU) {
|
||||
+ device_info->ids_flags = 0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (device_handle == AMD_APU) {
|
||||
+ device_info->ids_flags = AMDGPU_IDS_FLAGS_FUSION;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
diff --git a/tests/discrete-detection/libdrm_nouveau_mock.c b/tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
new file mode 100644
|
||||
index 0000000..cdbfda8
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
@@ -0,0 +1,68 @@
|
||||
+#include <string.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#include <xf86drm.h>
|
||||
+#include <nouveau_drm.h>
|
||||
+#include <nouveau/nvif/ioctl.h>
|
||||
+#include <nvif/cl0080.h>
|
||||
+#include <nvif/class.h>
|
||||
+
|
||||
+enum {
|
||||
+ OTHER_GPU,
|
||||
+ NVIDIA_IGPU,
|
||||
+ NVIDIA_GPU,
|
||||
+};
|
||||
+
|
||||
+/* Mock open(2) so we can test multiple devices configurations */
|
||||
+int open(const char *pathname, int flags)
|
||||
+{
|
||||
+ if (!strcmp(pathname, "OTHER_GPU"))
|
||||
+ return OTHER_GPU;
|
||||
+ if (!strcmp (pathname, "NVIDIA_IGPU"))
|
||||
+ return NVIDIA_IGPU;
|
||||
+ if (!strcmp (pathname, "NVIDIA_GPU"))
|
||||
+ return NVIDIA_GPU;
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+/* open64 may be used for large file support */
|
||||
+int open64(const char *pathname, int flags)
|
||||
+{
|
||||
+ return open (pathname, flags);
|
||||
+}
|
||||
+
|
||||
+int drmCommandWrite(int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
|
||||
+{
|
||||
+ if (drmCommandIndex != DRM_NOUVEAU_NVIF)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (fd != NVIDIA_GPU && fd != NVIDIA_IGPU)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int drmCommandWriteRead(int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
|
||||
+{
|
||||
+ if (drmCommandIndex != DRM_NOUVEAU_NVIF)
|
||||
+ return 1;
|
||||
+
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_mthd_v0 mthd;
|
||||
+ struct nv_device_info_v0 info;
|
||||
+ } *args = data;
|
||||
+
|
||||
+ if (fd == NVIDIA_GPU) {
|
||||
+ args->info.platform = NV_DEVICE_INFO_V0_PCIE;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (fd == NVIDIA_IGPU) {
|
||||
+ args->info.platform = NV_DEVICE_INFO_V0_IGP;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/discrete-detection/meson.build b/tests/discrete-detection/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..f01a014
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/meson.build
|
||||
@@ -0,0 +1,80 @@
|
||||
+
|
||||
+if libdrm_amdgpu.found()
|
||||
+ amdgpu_mock_lib = shared_library(
|
||||
+ 'drm_amdgpu_mock',
|
||||
+ files('libdrm_amdgpu_mock.c'),
|
||||
+ dependencies: libdrm_amdgpu
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with invalid device',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['NO_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with non-AMD GPU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['OTHER_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with AMD APU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['AMD_APU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with AMD GPU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['AMD_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: false
|
||||
+ )
|
||||
+endif
|
||||
+
|
||||
+if libdrm.found() and libdrm_nouveau.found()
|
||||
+ nouveau_mock_lib = shared_library(
|
||||
+ 'drm_nouveau_mock',
|
||||
+ files('libdrm_nouveau_mock.c'),
|
||||
+ dependencies: [libdrm, libdrm_nouveau]
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with invalid device',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NO_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with non-Nvidia GPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['OTHER_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with Nvidia iGPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NVIDIA_IGPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with Nvidia GPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NVIDIA_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: false
|
||||
+ )
|
||||
+endif
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index b0b7476..61ef00c 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -15,3 +15,5 @@ foreach ut: unit_tests
|
||||
env: envs,
|
||||
)
|
||||
endforeach
|
||||
+
|
||||
+subdir('discrete-detection')
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From c102b643945dc076d881497dd2ca5865938f7053 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:57:47 +0200
|
||||
Subject: [PATCH 05/10] main: remove leftover and fix typo
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
meson_options.txt | 2 +-
|
||||
src/switcheroo-control.c | 1 -
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index b8d671a..c77fea8 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -13,7 +13,7 @@ option('hwdbdir',
|
||||
option('rulesdir',
|
||||
type: 'string',
|
||||
value: '',
|
||||
- description: 'Directory for ruke files',
|
||||
+ description: 'Directory for rule files',
|
||||
)
|
||||
|
||||
option('gtk_doc',
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index e407bfb..0f6a548 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -319,7 +319,6 @@ static gboolean
|
||||
get_card_is_discrete (GUdevDevice *d)
|
||||
{
|
||||
const char * const * tags;
|
||||
- g_autoptr (GUdevDevice) platform_device = NULL;
|
||||
|
||||
tags = g_udev_device_get_tags (d);
|
||||
if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
|
||||
--
|
||||
2.46.0
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
From f764db4eb565c19ba14155791fbfced3fb5d34c8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:58:27 +0200
|
||||
Subject: [PATCH 06/10] main: move discrete dependencies out of main deps
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/meson.build | 5 +++--
|
||||
src/meson.build | 2 +-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
index 8eb8437..353316f 100644
|
||||
--- a/src/discrete-detection/meson.build
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -1,8 +1,9 @@
|
||||
+discrete_deps = deps + [libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
|
||||
if libdrm_amdgpu.found()
|
||||
amdgpu_discrete = executable('check-discrete-amdgpu',
|
||||
files('amdgpu.c'),
|
||||
- dependencies: deps,
|
||||
+ dependencies: discrete_deps,
|
||||
install: true,
|
||||
install_dir: libexecdir,
|
||||
)
|
||||
@@ -11,7 +12,7 @@ endif
|
||||
if libdrm.found() and libdrm_nouveau.found()
|
||||
nouveau_discrete = executable('check-discrete-nouveau',
|
||||
files('nouveau.c'),
|
||||
- dependencies: deps,
|
||||
+ dependencies: discrete_deps,
|
||||
install: true,
|
||||
install_dir: libexecdir,
|
||||
)
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index da4267f..22d69e7 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
-deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
+deps = [glib, gio, gudev]
|
||||
|
||||
sources = [
|
||||
'info-cleanup.c',
|
||||
--
|
||||
2.46.0
|
||||
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
From d2ecc29469d5572fd171926c9d1dbb1b851c7b09 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 17:12:00 +0200
|
||||
Subject: [PATCH 07/10] main: use glib for discrete command-line arguments
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/amdgpu.c | 29 ++++++++++++++++++++---------
|
||||
src/discrete-detection/nouveau.c | 29 ++++++++++++++++++++---------
|
||||
2 files changed, 40 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
|
||||
index 2d9804f..5a9a4ab 100644
|
||||
--- a/src/discrete-detection/amdgpu.c
|
||||
+++ b/src/discrete-detection/amdgpu.c
|
||||
@@ -1,9 +1,10 @@
|
||||
-
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <locale.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gudev/gudev.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <amdgpu.h>
|
||||
#include <amdgpu_drm.h>
|
||||
@@ -12,22 +13,32 @@ typedef int handle;
|
||||
G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
|
||||
|
||||
-int main(int argc, char** argv)
|
||||
+int main (int argc, char** argv)
|
||||
{
|
||||
- if (argc < 2)
|
||||
- {
|
||||
- puts ("check-discrete-amdgpu [DEVNAME]");
|
||||
- return EXIT_FAILURE;
|
||||
- }
|
||||
-
|
||||
const char *devname;
|
||||
g_auto(handle) fd = -1;
|
||||
- g_autoptr(GUdevDevice) parent = NULL;
|
||||
struct drm_amdgpu_info_device device_info = {0};
|
||||
amdgpu_device_handle device = NULL;
|
||||
uint32_t drm_major, drm_minor;
|
||||
+ g_autoptr(GOptionContext) option_context = NULL;
|
||||
+ g_autoptr(GError) error = NULL;
|
||||
|
||||
+ setlocale (LC_ALL, "");
|
||||
+ option_context = g_option_context_new ("");
|
||||
+
|
||||
+ if (!g_option_context_parse (option_context, &argc, &argv, &error)) {
|
||||
+ g_print ("Failed to parse arguments: %s\n", error->message);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ g_print ("%s\n", g_option_context_get_help (option_context, TRUE, NULL));
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
devname = argv[1];
|
||||
+;
|
||||
+
|
||||
fd = open (devname, O_RDWR);
|
||||
if (fd < 0)
|
||||
return EXIT_FAILURE;
|
||||
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
|
||||
index 0a1f220..1d61cbb 100644
|
||||
--- a/src/discrete-detection/nouveau.c
|
||||
+++ b/src/discrete-detection/nouveau.c
|
||||
@@ -1,9 +1,10 @@
|
||||
-
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <locale.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gudev/gudev.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <xf86drm.h>
|
||||
#include <nouveau_drm.h>
|
||||
@@ -14,23 +15,34 @@
|
||||
typedef int handle;
|
||||
G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
|
||||
-int main(int argc, char** argv)
|
||||
+int main (int argc, char** argv)
|
||||
{
|
||||
+ const gchar *devname = NULL;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+ g_autofree void *device = NULL;
|
||||
+ g_autoptr(GOptionContext) option_context = NULL;
|
||||
+ g_autoptr(GError) error = NULL;
|
||||
+
|
||||
+ setlocale (LC_ALL, "");
|
||||
+ option_context = g_option_context_new ("");
|
||||
+
|
||||
+ if (!g_option_context_parse (option_context, &argc, &argv, &error)) {
|
||||
+ g_print ("Failed to parse arguments: %s\n", error->message);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
if (argc < 2)
|
||||
{
|
||||
- puts ("check-discrete-nouveau [DEVNAME]");
|
||||
+ g_print ("%s\n", g_option_context_get_help (option_context, TRUE, NULL));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
-
|
||||
- const char *devname;
|
||||
- g_auto(handle) fd = -1;
|
||||
-
|
||||
devname = argv[1];
|
||||
+
|
||||
fd = open (devname, O_RDWR);
|
||||
if (fd < 0)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
- g_autofree void *device = malloc(352);
|
||||
+ device = malloc(352);
|
||||
|
||||
/* Init device */
|
||||
{
|
||||
@@ -88,7 +100,6 @@ int main(int argc, char** argv)
|
||||
if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
-
|
||||
switch (args.info.platform)
|
||||
{
|
||||
case NV_DEVICE_INFO_V0_IGP:
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 462b09f02de37dfd2965d23cc7c4137bcf45a4ae Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 20:25:42 +0100
|
||||
Subject: [PATCH 08/10] main: add udev rule for i915 checking a lot of systems
|
||||
has shown that the intel iGPU will always be available at `0000:00:02.0`.
|
||||
Using ID_PATH would have been cleaner, but I couldn't get it to work.
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
data/30-discrete-gpu.rules.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
|
||||
index a803ed4..f30f315 100644
|
||||
--- a/data/30-discrete-gpu.rules.in
|
||||
+++ b/data/30-discrete-gpu.rules.in
|
||||
@@ -1,3 +1,4 @@
|
||||
DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
-DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nvidia", SUBSYSTEM=="drm", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="i915", SUBSYSTEM=="drm", DEVPATH!="/devices/pci0000:00/0000:00:02.0/drm/*", TAG+="switcheroo-discrete-gpu"
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 55db3aeaeb962952881f73e94432f750cfb64fc8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Thu, 15 Feb 2024 16:24:00 +0100
|
||||
Subject: [PATCH 09/10] main: use Discrete key in switcherooctl
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/switcherooctl.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/switcherooctl.in b/src/switcherooctl.in
|
||||
index 96c21cc..c0e3f07 100755
|
||||
--- a/src/switcherooctl.in
|
||||
+++ b/src/switcherooctl.in
|
||||
@@ -77,6 +77,7 @@ def print_gpu(gpu, index):
|
||||
print('Device:', index)
|
||||
print(' Name: ', gpu['Name'])
|
||||
print(' Default: ', "yes" if gpu['Default'] else "no")
|
||||
+ print(' Discrete: ', "yes" if gpu['Discrete'] else "no")
|
||||
print(' Environment:', env_to_str(gpu['Environment']))
|
||||
|
||||
def _list():
|
||||
@@ -126,7 +127,7 @@ def get_discrete_gpu():
|
||||
return None
|
||||
|
||||
try:
|
||||
- gpu = next(gpu for gpu in gpus if not gpu['Default'])
|
||||
+ gpu = next(gpu for gpu in gpus if gpu['Discrete'])
|
||||
except StopIteration:
|
||||
return None
|
||||
else:
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 4232c75fe41158bb5063d630d36b3ffd6a8a57ec Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Fri, 6 Sep 2024 22:31:56 +0200
|
||||
Subject: [PATCH 10/10] main: use new GPU list on uevent the amount of GPUs may
|
||||
still be the same but underlying attributes may have changed On the ASUS TUF
|
||||
Dash F15 running Fedora 40 6.10.7-200.fc40.x86_64 the udev tags are not
|
||||
applied at the time switcheroo-control starts but at a later uevent they are
|
||||
correct. Memory gets allocated anyways to check if the GPU count has changed,
|
||||
so this shouldn't affect memory usage.
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/switcheroo-control.c | 16 ++++++----------
|
||||
1 file changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index 0f6a548..01954c7 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -438,16 +438,12 @@ uevent_cb (GUdevClient *client,
|
||||
|
||||
cards = get_drm_cards (data);
|
||||
num_gpus = cards->len;
|
||||
- if (num_gpus != data->num_gpus) {
|
||||
- g_debug ("GPUs added or removed (old: %d new: %d)",
|
||||
- data->num_gpus, num_gpus);
|
||||
- g_ptr_array_free (data->cards, TRUE);
|
||||
- data->cards = cards;
|
||||
- data->num_gpus = cards->len;
|
||||
- send_dbus_event (data);
|
||||
- } else {
|
||||
- g_ptr_array_free (cards, TRUE);
|
||||
- }
|
||||
+ g_debug ("GPUs updated (old: %d new: %d)",
|
||||
+ data->num_gpus, num_gpus);
|
||||
+ g_ptr_array_free (data->cards, TRUE);
|
||||
+ data->cards = cards;
|
||||
+ data->num_gpus = cards->len;
|
||||
+ send_dbus_event (data);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
2.46.0
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,16 +1,22 @@
|
||||
Name: switcheroo-control
|
||||
Version: 2.6
|
||||
Release: 9%{?dist}
|
||||
Release: 8%{?dist}
|
||||
Summary: D-Bus service to check the availability of dual-GPU
|
||||
|
||||
License: GPLv3
|
||||
URL: https://gitlab.freedesktop.org/hadess/switcheroo-control/
|
||||
# URL from https://gitlab.freedesktop.org/hadess/switcheroo-control/-/releases
|
||||
Source0: https://gitlab.freedesktop.org/hadess/switcheroo-control/uploads/86ea54ac7ddb901b6bf6e915209151f8/switcheroo-control-2.6.tar.xz
|
||||
# Adds proper discrete GPU detection to switcheroo-control
|
||||
# https://gitlab.freedesktop.org/hadess/switcheroo-control/-/merge_requests/69
|
||||
Patch: discrete.patch
|
||||
|
||||
Patch: 0001-main-update-GPUs-comment-for-dbus-property.patch
|
||||
Patch: 0002-main-add-Discrete-key.patch
|
||||
Patch: 0003-tests-fix-integration-tests-without-UMockdev.patch
|
||||
Patch: 0004-tests-add-tests-for-discrete-detection-with-mock-lib.patch
|
||||
Patch: 0005-main-remove-leftover-and-fix-typo.patch
|
||||
Patch: 0006-main-move-discrete-dependencies-out-of-main-deps.patch
|
||||
Patch: 0007-main-use-glib-for-discrete-command-line-arguments.patch
|
||||
Patch: 0008-main-add-udev-rule-for-i915.patch
|
||||
Patch: 0009-main-use-Discrete-key-in-switcherooctl.patch
|
||||
Patch: 0010-main-use-new-GPU-list-on-uevent.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: pkgconfig(gudev-1.0)
|
||||
@@ -19,7 +25,6 @@ BuildRequires: gtk-doc
|
||||
BuildRequires: meson
|
||||
BuildRequires: systemd
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: kernel-headers
|
||||
BuildRequires: python3-dbusmock
|
||||
BuildRequires: umockdev
|
||||
|
||||
@@ -73,7 +78,6 @@ fi
|
||||
%{_mandir}/man1/switcherooctl.1*
|
||||
%{_libexecdir}/check-discrete-amdgpu
|
||||
%{_libexecdir}/check-discrete-nouveau
|
||||
%{_libexecdir}/check-discrete-xe
|
||||
%{_udevrulesdir}/30-discrete-gpu.rules
|
||||
|
||||
%files docs
|
||||
@@ -82,17 +86,14 @@ fi
|
||||
%{_datadir}/gtk-doc/html/%{name}/
|
||||
|
||||
%changelog
|
||||
* Tue Apr 29 2025 Jan200101 <sentrycraft123@gmail.com> - 2.6-9
|
||||
* Fri Sep 06 2024 Jan200101 <sentrycraft123@gmail.com> - 2.6-8
|
||||
- Update discrete patch
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-8
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
* Thu Feb 15 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-7
|
||||
- Update discrete patch
|
||||
|
||||
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.6-7
|
||||
- convert license to SPDX
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
* Wed Feb 14 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-6
|
||||
- Add discrete patch
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
Name: vencord-desktop
|
||||
Provides: VencordDesktop = %{version}-%{release}
|
||||
Version: 1.5.6
|
||||
Version: 1.5.5
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
%define __strip /bin/true
|
||||
|
||||
# do not perform compression in cpio
|
||||
%define _source_payload w19.zstdio
|
||||
%define _source_payload w0.ufdio
|
||||
%define _binary_payload w19.zstdio
|
||||
|
||||
# Exclude private libraries
|
||||
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: voicevox
|
||||
Version: 0.23.0
|
||||
Release: 2%?dist
|
||||
Release: 1%?dist
|
||||
Summary: Free Japanese text-to-speech editor
|
||||
License: LGPL-3.0
|
||||
URL: https://voicevox.hiroshiba.jp
|
||||
@@ -52,7 +52,7 @@ sed -i "s|Exec=.*|Exec=/usr/share/voicevox/VOICEVOX.AppImage|" squashfs-root/voi
|
||||
%install
|
||||
install -Dm755 VOICEVOX.AppImage %buildroot%_datadir/voicevox/VOICEVOX.AppImage
|
||||
install -Dm755 voicevox.sh %buildroot%_bindir/voicevox
|
||||
install -Dm644 squashfs-root%_iconsdir/hicolor/256x256/apps/voicevox.png %buildroot%_iconsdir/hicolor/256x256/apps/voicevox.png
|
||||
install -Dm644 squashfs-root%_iconsdir/hicolor/0x0/apps/voicevox.png %buildroot%_iconsdir/hicolor/256x256/apps/voicevox.png
|
||||
install -Dm644 squashfs-root/voicevox.desktop %buildroot%_datadir/applications/voicevox.desktop
|
||||
|
||||
%files
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%define debug_package %nil
|
||||
|
||||
# Exclude private libraries since this is bundled with electron
|
||||
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
|
||||
%global __requires_exclude libffmpeg.so
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
# macro shorthand for calling pnpm
|
||||
%global pnpm npx pnpm@%{pnpm_version}
|
||||
@@ -12,8 +12,8 @@
|
||||
%global vendor_pnpm 1
|
||||
|
||||
Name: youtube-music
|
||||
Version: 3.9.0
|
||||
Release: 1%?dist
|
||||
Version: 3.7.5
|
||||
Release: 2%?dist
|
||||
Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
|
||||
Source1: youtube-music.desktop
|
||||
License: MIT
|
||||
@@ -32,10 +32,6 @@ BuildRequires: python3 gcc-c++
|
||||
BuildRequires: pnpm nodejs20
|
||||
%endif
|
||||
|
||||
Requires: nss
|
||||
Requires: libXext
|
||||
Requires: libXfixes
|
||||
|
||||
%description
|
||||
YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
|
||||
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ BuildArch: noarch
|
||||
Source0: https://github.com/fthx/appmenu-is-back/archive/refs/tags/v%{version}.tar.gz
|
||||
Patch0: https://github.com/fthx/appmenu-is-back/compare/v2..703a31acf900eb7bcab3462baeefa815ec7f13ab.patch
|
||||
|
||||
Requires: (gnome-shell >= 47~ with gnome-shell < 49~)
|
||||
Requires: (gnome-shell >= 46~ with gnome-shell < 48~)
|
||||
Recommends: gnome-extensions-app
|
||||
|
||||
%description
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
From 78a733bae62f8af15f0771d7efde55473f295e46 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 16 Aug 2023 18:46:54 -0400
|
||||
Subject: [PATCH 1/3] status/keyboard: Add a catch around reload call
|
||||
|
||||
Now that system input settings can get used in the user session
|
||||
they're getting seen by the tests and the tests are complaining:
|
||||
|
||||
Unhandled promise rejection. To suppress this warning, add an
|
||||
error handler to your promise chain with .catch() or a try-catch block
|
||||
around your await expression.
|
||||
|
||||
This commit adds the catch it's asking for.
|
||||
---
|
||||
js/ui/status/keyboard.js | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index cfc0a01f6b..4ef2f355d3 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -204,7 +204,9 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
this._options = '';
|
||||
this._model = '';
|
||||
|
||||
- this._reload();
|
||||
+ this._reload().catch(error => {
|
||||
+ logError(error, 'Could not reload system input settings');
|
||||
+ });
|
||||
|
||||
Gio.DBus.system.signal_subscribe(this._BUS_NAME,
|
||||
this._BUS_PROPS_IFACE,
|
||||
--
|
||||
2.43.1
|
||||
|
||||
+136
@@ -0,0 +1,136 @@
|
||||
From 0c0cc4ce1d3e08eba3e701d565398e01aa479ff7 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 16 Aug 2023 11:13:39 -0400
|
||||
Subject: [PATCH 2/3] status/keyboard: Load keyboard from system settings if
|
||||
gsettings unconfigured
|
||||
|
||||
Right now if a user hasn't configured their input sources, the code
|
||||
falls back to
|
||||
using the current layout on Xorg and the mutter default with wayland.
|
||||
|
||||
This commit changes the code to instead fall back to using the system
|
||||
default (as configured by localed).
|
||||
---
|
||||
js/ui/status/keyboard.js | 62 +++++++++++++++++++++++++++++++---------
|
||||
1 file changed, 48 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index 4ef2f355d3..d91eb41bc6 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -22,6 +22,9 @@ import * as Util from '../../misc/util.js';
|
||||
export const INPUT_SOURCE_TYPE_XKB = 'xkb';
|
||||
export const INPUT_SOURCE_TYPE_IBUS = 'ibus';
|
||||
|
||||
+const DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
|
||||
+const KEY_INPUT_SOURCES = 'sources';
|
||||
+
|
||||
export const LayoutMenuItem = GObject.registerClass(
|
||||
class LayoutMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(displayName, shortName) {
|
||||
@@ -278,18 +281,16 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
class InputSourceSessionSettings extends InputSourceSettings {
|
||||
- constructor() {
|
||||
+ constructor(settings) {
|
||||
super();
|
||||
|
||||
- this._DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
|
||||
- this._KEY_INPUT_SOURCES = 'sources';
|
||||
this._KEY_MRU_SOURCES = 'mru-sources';
|
||||
this._KEY_KEYBOARD_OPTIONS = 'xkb-options';
|
||||
this._KEY_KEYBOARD_MODEL = 'xkb-model';
|
||||
this._KEY_PER_WINDOW = 'per-window';
|
||||
|
||||
- this._settings = new Gio.Settings({schema_id: this._DESKTOP_INPUT_SOURCES_SCHEMA});
|
||||
- this._settings.connect(`changed::${this._KEY_INPUT_SOURCES}`, this._emitInputSourcesChanged.bind(this));
|
||||
+ this._settings = settings;
|
||||
+ this._settings.connect(`changed::${KEY_INPUT_SOURCES}`, this._emitInputSourcesChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_KEYBOARD_OPTIONS}`, this._emitKeyboardOptionsChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_KEYBOARD_MODEL}`, this._emitKeyboardModelChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_PER_WINDOW}`, this._emitPerWindowChanged.bind(this));
|
||||
@@ -308,7 +309,7 @@ class InputSourceSessionSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
get inputSources() {
|
||||
- return this._getSourcesList(this._KEY_INPUT_SOURCES);
|
||||
+ return this._getSourcesList(KEY_INPUT_SOURCES);
|
||||
}
|
||||
|
||||
get mruSources() {
|
||||
@@ -363,13 +364,6 @@ export class InputSourceManager extends Signals.EventEmitter {
|
||||
Meta.KeyBindingFlags.IS_REVERSED,
|
||||
Shell.ActionMode.ALL,
|
||||
this._switchInputSource.bind(this));
|
||||
- if (Main.sessionMode.isGreeter)
|
||||
- this._settings = new InputSourceSystemSettings();
|
||||
- else
|
||||
- this._settings = new InputSourceSessionSettings();
|
||||
- this._settings.connect('input-sources-changed', this._inputSourcesChanged.bind(this));
|
||||
- this._settings.connect('keyboard-options-changed', this._keyboardOptionsChanged.bind(this));
|
||||
- this._settings.connect('keyboard-model-changed', this._keyboardModelChanged.bind(this));
|
||||
|
||||
this._xkbInfo = KeyboardManager.getXkbInfo();
|
||||
this._keyboardManager = KeyboardManager.getKeyboardManager();
|
||||
@@ -381,16 +375,56 @@ export class InputSourceManager extends Signals.EventEmitter {
|
||||
this._ibusManager.connect('property-updated', this._ibusPropertyUpdated.bind(this));
|
||||
this._ibusManager.connect('set-content-type', this._ibusSetContentType.bind(this));
|
||||
|
||||
+ this._inputSettings = new Gio.Settings({schema_id: DESKTOP_INPUT_SOURCES_SCHEMA});
|
||||
+ this._setupInputSettings();
|
||||
+
|
||||
global.display.connect('modifiers-accelerator-activated', this._modifiersSwitcher.bind(this));
|
||||
|
||||
this._sourcesPerWindow = false;
|
||||
this._focusWindowNotifyId = 0;
|
||||
- this._settings.connect('per-window-changed', this._sourcesPerWindowChanged.bind(this));
|
||||
this._sourcesPerWindowChanged();
|
||||
this._disableIBus = false;
|
||||
this._reloading = false;
|
||||
}
|
||||
|
||||
+ _sessionHasNoInputSettings() {
|
||||
+ return this._inputSettings.get_user_value(KEY_INPUT_SOURCES) === null;
|
||||
+ }
|
||||
+
|
||||
+ _reloadInputSettings() {
|
||||
+ const hadNoSessionInputSettings = this._hasNoSessionInputSettings;
|
||||
+
|
||||
+ if (Main.sessionMode.isGreeter)
|
||||
+ this._hasNoSessionInputSettings = true;
|
||||
+ else
|
||||
+ this._hasNoSessionInputSettings = this._sessionHasNoInputSettings();
|
||||
+
|
||||
+ if (this._settings && hadNoSessionInputSettings === this._hasNoSessionInputSettings)
|
||||
+ return;
|
||||
+
|
||||
+ this._settings?.disconnectObject(this);
|
||||
+
|
||||
+ if (this._hasNoSessionInputSettings)
|
||||
+ this._settings = new InputSourceSystemSettings();
|
||||
+ else
|
||||
+ this._settings = new InputSourceSessionSettings(this._inputSettings);
|
||||
+
|
||||
+ this._settings.connectObject(
|
||||
+ 'input-sources-changed', this._inputSourcesChanged.bind(this),
|
||||
+ 'keyboard-options-changed', this._keyboardOptionsChanged.bind(this),
|
||||
+ 'keyboard-model-changed', this._keyboardModelChanged.bind(this),
|
||||
+ 'per-window-changed', this._sourcesPerWindowChanged.bind(this),
|
||||
+ this);
|
||||
+ this.reload();
|
||||
+ }
|
||||
+
|
||||
+ _setupInputSettings() {
|
||||
+ if (!Main.sessionMode.isGreeter)
|
||||
+ this._inputSettings.connect(`changed::${KEY_INPUT_SOURCES}`, this._reloadInputSettings.bind(this));
|
||||
+
|
||||
+ this._reloadInputSettings();
|
||||
+ }
|
||||
+
|
||||
reload() {
|
||||
this._reloading = true;
|
||||
this._keyboardManager.setKeyboardOptions(this._settings.keyboardOptions);
|
||||
--
|
||||
2.43.1
|
||||
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
From d060baeb69a2a7d80fe403fc8eec90e20aa6cb7f Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 16 Aug 2023 14:09:50 -0400
|
||||
Subject: [PATCH 3/3] status/keyboard: Use gnome-desktop API for getting
|
||||
default input sources list
|
||||
|
||||
At the moment, gnome-shell tries to figure out the default input sources
|
||||
from localed. It fails to take into account the system locale and input
|
||||
methods.
|
||||
|
||||
This commit switches it to use a new function in gnome-desktop,
|
||||
gnome_get_default_input_sources, which does most of the heavy
|
||||
lifting itself, instead.
|
||||
---
|
||||
js/ui/status/keyboard.js | 59 ++++++++++++++++++----------------------
|
||||
1 file changed, 27 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index d91eb41bc6..19c36031f6 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -3,6 +3,7 @@
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
+import GnomeDesktop from 'gi://GnomeDesktop';
|
||||
import GObject from 'gi://GObject';
|
||||
import IBus from 'gi://IBus';
|
||||
import Meta from 'gi://Meta';
|
||||
@@ -25,6 +26,8 @@ export const INPUT_SOURCE_TYPE_IBUS = 'ibus';
|
||||
const DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
|
||||
const KEY_INPUT_SOURCES = 'sources';
|
||||
|
||||
+Gio._promisify(GnomeDesktop, 'get_default_input_sources');
|
||||
+
|
||||
export const LayoutMenuItem = GObject.registerClass(
|
||||
class LayoutMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(displayName, shortName) {
|
||||
@@ -202,9 +205,9 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
this._BUS_IFACE = 'org.freedesktop.locale1';
|
||||
this._BUS_PROPS_IFACE = 'org.freedesktop.DBus.Properties';
|
||||
|
||||
- this._layouts = '';
|
||||
- this._variants = '';
|
||||
- this._options = '';
|
||||
+ this._inputSourceIds = [];
|
||||
+ this._inputSourceTypes = [];
|
||||
+ this._options = [];
|
||||
this._model = '';
|
||||
|
||||
this._reload().catch(error => {
|
||||
@@ -221,30 +224,22 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
async _reload() {
|
||||
- let props;
|
||||
+ let inputSourceIds;
|
||||
+ let inputSourceTypes;
|
||||
+ let options;
|
||||
+ let model;
|
||||
try {
|
||||
- const result = await Gio.DBus.system.call(
|
||||
- this._BUS_NAME,
|
||||
- this._BUS_PATH,
|
||||
- this._BUS_PROPS_IFACE,
|
||||
- 'GetAll',
|
||||
- new GLib.Variant('(s)', [this._BUS_IFACE]),
|
||||
- null, Gio.DBusCallFlags.NONE, -1, null);
|
||||
- [props] = result.deepUnpack();
|
||||
+ [inputSourceIds, inputSourceTypes, options, model] =
|
||||
+ await GnomeDesktop.get_default_input_sources(null);
|
||||
} catch (e) {
|
||||
- log(`Could not get properties from ${this._BUS_NAME}`);
|
||||
+ logError(e, 'Could not get default input sources');
|
||||
return;
|
||||
}
|
||||
|
||||
- const layouts = props['X11Layout'].unpack();
|
||||
- const variants = props['X11Variant'].unpack();
|
||||
- const options = props['X11Options'].unpack();
|
||||
- const model = props['X11Model'].unpack();
|
||||
-
|
||||
- if (layouts !== this._layouts ||
|
||||
- variants !== this._variants) {
|
||||
- this._layouts = layouts;
|
||||
- this._variants = variants;
|
||||
+ if (inputSourceIds !== this._inputSourceIds ||
|
||||
+ inputSourceTypes !== this._inputSourceTypes) {
|
||||
+ this._inputSourceIds = inputSourceIds;
|
||||
+ this._inputSourceTypes = inputSourceTypes;
|
||||
this._emitInputSourcesChanged();
|
||||
}
|
||||
if (options !== this._options) {
|
||||
@@ -258,21 +253,21 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
get inputSources() {
|
||||
- let sourcesList = [];
|
||||
- let layouts = this._layouts.split(',');
|
||||
- let variants = this._variants.split(',');
|
||||
-
|
||||
- for (let i = 0; i < layouts.length && !!layouts[i]; i++) {
|
||||
- let id = layouts[i];
|
||||
- if (variants[i])
|
||||
- id += `+${variants[i]}`;
|
||||
- sourcesList.push({type: INPUT_SOURCE_TYPE_XKB, id});
|
||||
+ let sourcesList;
|
||||
+
|
||||
+ if (this._inputSourceIds) {
|
||||
+ sourcesList = this._inputSourceIds.map((id, index) => {
|
||||
+ return {type: this._inputSourceTypes[index], id};
|
||||
+ });
|
||||
+ } else {
|
||||
+ sourcesList = [];
|
||||
}
|
||||
+
|
||||
return sourcesList;
|
||||
}
|
||||
|
||||
get keyboardOptions() {
|
||||
- return this._options.split(',');
|
||||
+ return this._options;
|
||||
}
|
||||
|
||||
get keyboardModel() {
|
||||
--
|
||||
2.43.1
|
||||
|
||||
@@ -1,9 +1,38 @@
|
||||
diff --git a/data/default-apps/dash.txt b/data/default-apps/dash.txt
|
||||
index 65db4babc..f354d621b 100644
|
||||
--- a/data/default-apps/dash.txt
|
||||
+++ b/data/default-apps/dash.txt
|
||||
@@ -1,2 +1,2 @@
|
||||
-org.gnome.Epiphany.desktop
|
||||
+org.mozilla.firefox.desktop
|
||||
org.gnome.Calendar.desktop
|
||||
--
|
||||
From 551b8979483e127471c726fd1db1d52e063a7d81 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 17 Sep 2014 07:11:12 +0200
|
||||
Subject: [PATCH] Replace Web with Firefox in default favorites
|
||||
|
||||
---
|
||||
data/org.gnome.shell.gschema.xml.in | 2 +-
|
||||
js/ui/appFavorites.js | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
|
||||
index f4fa86d013..86b4bf85ee 100644
|
||||
--- a/data/org.gnome.shell.gschema.xml.in
|
||||
+++ b/data/org.gnome.shell.gschema.xml.in
|
||||
@@ -50,7 +50,7 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="favorite-apps" type="as">
|
||||
- <default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'org.gnome.TextEditor.desktop']</default>
|
||||
+ <default>[ 'org.mozilla.firefox.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'org.gnome.TextEditor.desktop']</default>
|
||||
<summary>List of desktop file IDs for favorite applications</summary>
|
||||
<description>
|
||||
The applications corresponding to these identifiers
|
||||
diff --git a/js/ui/appFavorites.js b/js/ui/appFavorites.js
|
||||
index 576df3800d..1f55a3c881 100644
|
||||
--- a/js/ui/appFavorites.js
|
||||
+++ b/js/ui/appFavorites.js
|
||||
@@ -51,6 +51,7 @@ const RENAMED_DESKTOP_IDS = {
|
||||
'gnotski.desktop': 'org.gnome.Klotski.desktop',
|
||||
'gtali.desktop': 'org.gnome.Tali.desktop',
|
||||
'iagno.desktop': 'org.gnome.Reversi.desktop',
|
||||
+ 'firefox.desktop': 'org.mozilla.firefox.desktop',
|
||||
'nautilus.desktop': 'org.gnome.Nautilus.desktop',
|
||||
'org.gnome.gnome-2048.desktop': 'org.gnome.TwentyFortyEight.desktop',
|
||||
'org.gnome.taquin.desktop': 'org.gnome.Taquin.desktop',
|
||||
--
|
||||
2.43.0
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||
%global major_version 48
|
||||
%global minor_version 1
|
||||
%global major_version 47
|
||||
%global minor_version 3
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global portal_helper 0
|
||||
@@ -8,13 +8,12 @@
|
||||
%global portal_helper 1
|
||||
%endif
|
||||
|
||||
Name: gnome-shell
|
||||
Name: gnome-shell.switcheroo
|
||||
Version: %{major_version}.%{minor_version}
|
||||
Release: 2%{?dist}.switcheroo
|
||||
Release: 1%{?dist}.switcheroo
|
||||
Summary: Window management and application launching for GNOME
|
||||
|
||||
Provides: gnome-shell.switcheroo = %version-%release
|
||||
Obsoletes: gnome-shell.switcheroo <= 47.3-2
|
||||
Provides: gnome-shell = %version-%release
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://wiki.gnome.org/Projects/GnomeShell
|
||||
Source0: https://download.gnome.org/sources/gnome-shell/%{major_version}/gnome-shell-%{tarball_version}.tar.xz
|
||||
@@ -26,6 +25,10 @@ Patch: gnome-shell-favourite-apps-firefox.patch
|
||||
# downstream patch to stop trying on configuration errors.
|
||||
Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch
|
||||
|
||||
Patch: 0001-status-keyboard-Add-a-catch-around-reload-call.patch
|
||||
Patch: 0002-status-keyboard-Load-keyboard-from-system-settings-i.patch
|
||||
Patch: 0003-status-keyboard-Use-gnome-desktop-API-for-getting-de.patch
|
||||
|
||||
# shell-app: improve discrete GPU detection
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3193
|
||||
Patch: 3193.patch
|
||||
@@ -37,21 +40,20 @@ Patch: 3193.patch
|
||||
%define gjs_version 1.73.1
|
||||
%define gtk4_version 4.0.0
|
||||
%define adwaita_version 1.5.0
|
||||
%define mutter_version 48~rc
|
||||
%define mutter_version 47.0
|
||||
%define polkit_version 0.100
|
||||
%define gsettings_desktop_schemas_version 48~rc
|
||||
%define gsettings_desktop_schemas_version 47~alpha
|
||||
%define ibus_version 1.5.2
|
||||
%define gnome_bluetooth_version 1:42.3
|
||||
%define gstreamer_version 1.4.5
|
||||
%define pipewire_version 0.3.49
|
||||
%define pipewire_version 0.3.0
|
||||
%define gnome_settings_daemon_version 3.37.1
|
||||
|
||||
%define major_version %(c=%{version}; echo $c | cut -d. -f1 | cut -d~ -f1)
|
||||
|
||||
BuildRequires: pkgconfig(bash-completion)
|
||||
BuildRequires: gcc
|
||||
BuildRequires: meson
|
||||
BuildRequires: git
|
||||
BuildRequires: pkgconfig(ibus-1.0) >= %{ibus_version}
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: pkgconfig(libedataserver-1.2) >= %{eds_version}
|
||||
BuildRequires: pkgconfig(gcr-4)
|
||||
@@ -86,12 +88,9 @@ BuildRequires: gnome-bluetooth-libs-devel >= %{gnome_bluetooth_version}
|
||||
%endif
|
||||
# Bootstrap requirements
|
||||
BuildRequires: gtk-doc
|
||||
# Handle upgrade path
|
||||
Conflicts: %{name} < 48~rc-3
|
||||
%ifnarch s390 s390x
|
||||
Recommends: gnome-bluetooth%{?_isa} >= %{gnome_bluetooth_version}
|
||||
%endif
|
||||
Requires: %{name}-common = %{version}-%{release}
|
||||
Requires: gnome-desktop3%{?_isa} >= %{gnome_desktop_version}
|
||||
Requires: gcr%{?_isa}
|
||||
Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version}
|
||||
@@ -116,9 +115,7 @@ Requires: xdg-user-dirs-gtk
|
||||
# needed for schemas
|
||||
Requires: at-spi2-atk%{?_isa}
|
||||
# needed for on-screen keyboard
|
||||
Recommends: ibus%{?_isa} >= %{ibus_version}
|
||||
# needed for gobject-introspection typelib
|
||||
Requires: ibus-libs%{?_isa} >= %{ibus_version}
|
||||
Requires: ibus%{?_isa} >= %{ibus_version}
|
||||
# needed for "show keyboard layout"
|
||||
Requires: tecla
|
||||
# needed for the user menu
|
||||
@@ -154,7 +151,6 @@ Requires: webkitgtk6.0%{?_isa}
|
||||
ExcludeArch: %{ix86}
|
||||
%endif
|
||||
|
||||
Provides: gnome-shell(api) = %{major_version}
|
||||
Provides: desktop-notification-daemon = %{version}-%{release}
|
||||
Provides: PolicyKit-authentication-agent = %{version}-%{release}
|
||||
Provides: bundled(gvc)
|
||||
@@ -182,14 +178,6 @@ advantage of the capabilities of modern graphics hardware and introduces
|
||||
innovative user interface concepts to provide a visually attractive and
|
||||
easy to use experience.
|
||||
|
||||
%package common
|
||||
Summary: Common files used by %{name}
|
||||
Conflicts: %{name} < 48~rc-3
|
||||
BuildArch: noarch
|
||||
|
||||
%description common
|
||||
%{summary}
|
||||
|
||||
%prep
|
||||
%autosetup -S git -n gnome-shell-%{tarball_version}
|
||||
|
||||
@@ -228,6 +216,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
|
||||
%{_bindir}/gnome-extensions
|
||||
%{_bindir}/gnome-shell-extension-tool
|
||||
%{_bindir}/gnome-shell-test-tool
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
|
||||
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
|
||||
%{_datadir}/applications/org.gnome.Shell.desktop
|
||||
@@ -247,11 +236,8 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.ScreenTime.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
|
||||
%{_datadir}/desktop-directories/X-GNOME-Shell-System.directory
|
||||
%{_datadir}/desktop-directories/X-GNOME-Shell-Utilities.directory
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
|
||||
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
|
||||
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
|
||||
@@ -273,8 +259,5 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Porta
|
||||
%{_libexecdir}/gnome-shell-portal-helper
|
||||
%endif
|
||||
|
||||
%files common
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -1,16 +1,13 @@
|
||||
%global framework kio
|
||||
|
||||
%global stable_kf6 stable
|
||||
%global majmin_ver_kf6 6.13
|
||||
%global majmin_ver_kf6 6.11
|
||||
|
||||
Name: kf6-%{framework}
|
||||
Name: kf6-%{framework}.switcheroo
|
||||
Version: %{majmin_ver_kf6}.0
|
||||
Release: 1%{?dist}.switcheroo
|
||||
Summary: KDE Frameworks 6 Tier 3 solution for filesystem abstraction
|
||||
|
||||
Provides: kf6-%{framework}.switcheroo = %version-%release
|
||||
Obsoletes: kf6-%{framework}.switcheroo < 6.13.0-2
|
||||
|
||||
License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT
|
||||
URL: https://invent.kde.org/frameworks/%{framework}
|
||||
|
||||
@@ -112,7 +109,6 @@ Summary: Documentation files for %{name}
|
||||
Requires: %{name}-core = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
Provides: kf6-kio-doc = %version-%release
|
||||
Obsoletes: kf6-kio-doc <= %version-%release
|
||||
%description doc
|
||||
Documentation for %{name}.
|
||||
|
||||
@@ -124,7 +120,6 @@ Requires: %{name}-doc = %{version}-%{release}
|
||||
Requires: kf6-filesystem
|
||||
Recommends: switcheroo-control
|
||||
Provides: kf6-kio-core = %version-%release
|
||||
Obsoletes: kf6-kio-core <= %version-%release
|
||||
%description core
|
||||
KIOCore library provides core non-GUI components for working with KIO.
|
||||
|
||||
@@ -132,7 +127,6 @@ KIOCore library provides core non-GUI components for working with KIO.
|
||||
Summary: Runtime libraries for KIO Core
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Provides: kf6-kio-core-libs = %version-%release
|
||||
Obsoletes: kf6-kio-core-libs <= %version-%release
|
||||
%description core-libs
|
||||
%{summary}.
|
||||
|
||||
@@ -143,7 +137,6 @@ Summary: Widgets for KIO Framework
|
||||
%{?kf6_kinit_requires}
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Provides: kf6-kio-widgets = %version-%release
|
||||
Obsoletes: kf6-kio-widgets <= %version-%release
|
||||
%description widgets
|
||||
KIOWidgets contains classes that provide generic job control, progress
|
||||
reporting, etc.
|
||||
@@ -152,7 +145,6 @@ reporting, etc.
|
||||
Summary: Runtime libraries for KIO Widgets library
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
Provides: kf6-kio-widgets-libs = %version-%release
|
||||
Obsoletes: kf6-kio-widgets-libs <= %version-%release
|
||||
%description widgets-libs
|
||||
%{summary}.
|
||||
|
||||
@@ -160,7 +152,6 @@ Obsoletes: kf6-kio-widgets-libs <= %version-%release
|
||||
Summary: Widgets for file-handling for KIO Framework
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
Provides: kf6-kio-file-widgets = %version-%release
|
||||
Obsoletes: kf6-kio-file-widgets <= %version-%release
|
||||
%description file-widgets
|
||||
The KIOFileWidgets library provides the file selection dialog and
|
||||
its components.
|
||||
@@ -169,7 +160,6 @@ its components.
|
||||
Summary: Gui components for the KIO Framework
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Provides: kf6-kio-gui = %version-%release
|
||||
Obsoletes: kf6-kio-gui <= %version-%release
|
||||
%description gui
|
||||
%{summary}.
|
||||
|
||||
@@ -177,7 +167,6 @@ Obsoletes: kf6-kio-gui <= %version-%release
|
||||
Summary: Developer Documentation files for %{name}
|
||||
BuildArch: noarch
|
||||
Provides: kf6-kio-qch-doc = %version-%release
|
||||
Obsoletes: kf6-kio-qch-doc <= %version-%release
|
||||
%description qch-doc
|
||||
Developer Documentation files for %{name} for use with KDevelop or QtCreator.
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/CMakeLists.txt 2025-04-18 01:46:49.810910663 -0500
|
||||
+++ b/CMakeLists.txt 2025-04-18 02:07:05.663396088 -0500
|
||||
@@ -77,7 +77,7 @@
|
||||
-pthread
|
||||
)
|
||||
|
||||
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99")
|
||||
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
|
||||
|
||||
pkg_check_modules(GLIB2 REQUIRED glib-2.0)
|
||||
@@ -4,19 +4,16 @@
|
||||
|
||||
Name: lomiri-app-launch
|
||||
Version: 0.1.11
|
||||
Release: 2%?dist
|
||||
Release: 1%?dist
|
||||
Summary: Provides the Lomiri App Launch user space daemon
|
||||
License: GPL-3.0
|
||||
URL: https://gitlab.com/ubports/development/core/lomiri-app-launch
|
||||
Source0: %{url}/-/archive/%commit/lomiri-app-launch-%commit.tar.gz
|
||||
Patch0: https://sources.debian.org/data/main/l/lomiri-app-launch/0.1.11-1/debian/patches/2003_remove-werror.patch
|
||||
Patch1: 2004-std-workaround.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: g++
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libatomic
|
||||
BuildRequires: pkgconfig(glib-2.0)
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0)
|
||||
BuildRequires: pkgconfig(lttng-ust)
|
||||
@@ -52,6 +49,8 @@ This package contains development files needed for lomiri-app-launch.
|
||||
%autosetup -n lomiri-app-launch-%commit
|
||||
|
||||
%build
|
||||
sed -i 's/-Werror//' ./CMakeLists.txt
|
||||
|
||||
# For some reason the macro of cmake fails on both clang and gcc
|
||||
cmake -DLOMIRI_APP_LAUNCH_ARCH=%{_arch} -DENABLE_COVERAGE=OFF -DENABLE_TESTS=OFF -B redhat-linux-build -DCMAKE_INSTALL_PREFIX:PATH=/usr -DENABLE_MIRCLIENT=off -DUSE_SYSTEMD=ON
|
||||
%cmake_build
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-download-manager
|
||||
%global commit 7f4c49f125209235b9a808a6e72d1fdfdd2b01ca
|
||||
%global commit 682c4928a91da598767e0be2496d9c35af7db035
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-download-manager
|
||||
Version: 0.2.1
|
||||
Version: 0.1.3
|
||||
Release: 1%?dist
|
||||
Summary: Upload Download Manager for Lomiri
|
||||
License: LGPLv3
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit e583c542521ada6c88c5e7c09eb745b6794bc7b6
|
||||
%global commit 1b3d0ee6c1142d928a2b08a929723dbc41dc7fea
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
Version: 1.3.0
|
||||
Release: 2%?dist
|
||||
Release: 1%?dist
|
||||
Summary: The system settings application for Lomiri
|
||||
License: GPLv3
|
||||
URL: https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
Source0: %{url}/-/archive/%commit/lomiri-system-settings-%commit.tar.gz
|
||||
Patch0: https://sources.debian.org/data/main/l/lomiri-system-settings/1.3.0-4/debian/patches/2011_build-without-trust-store.patch
|
||||
Patch0: https://sources.debian.org/data/main/l/lomiri-system-settings/1.0.1-2/debian/patches/1001_use-maliit-keyboard-for-language-plugin.patch
|
||||
Patch1: https://sources.debian.org/data/main/l/lomiri-system-settings/1.0.1-2/debian/patches/2001_disable-current-language-switching.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
@@ -10,7 +10,8 @@ Summary: QML components to ease the creation of beautiful applications in
|
||||
License: LGPL-3.0
|
||||
URL: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
|
||||
Source0: %{url}/-/archive/%commit/lomiri-ui-toolkit-%commit.tar.gz
|
||||
Patch0: https://sources.debian.org/data/main/l/lomiri-ui-toolkit/1.3.5110+dfsg-2/debian/patches/2003_stop-using-Ubuntu-fonts.patch
|
||||
Patch0: https://sources.debian.org/data/main/l/lomiri-ui-toolkit/1.3.5010%2Bdfsg-1/debian/patches/0002-fix-tests-on-qt-5.15.5.patch
|
||||
Patch1: https://sources.debian.org/data/main/l/lomiri-ui-toolkit/1.3.5010%2Bdfsg-1/debian/patches/2003_stop-using-Ubuntu-fonts.patch
|
||||
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: make
|
||||
@@ -30,11 +31,9 @@ BuildRequires: qt5-qtfeedback
|
||||
BuildRequires: qt5-qtsystems-devel
|
||||
BuildRequires: qt5-qtdeclarative-devel
|
||||
BuildRequires: qt5-pim-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: python3-rpm-macros
|
||||
BuildRequires: qt5-qtsvg-devel
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python3dist(setuptools)
|
||||
Requires: qt5-qtgraphicaleffects
|
||||
Requires: qt5-qtfeedback
|
||||
|
||||
@@ -83,9 +82,7 @@ Examples for Lomiri-ui-toolkit.
|
||||
|
||||
%build
|
||||
%{qmake_qt5} 'CONFIG+=ubuntu-uitk-compat' 'CONFIG+=test'
|
||||
pushd tests/autopilot
|
||||
%py3_build
|
||||
popd
|
||||
|
||||
%make_build
|
||||
|
||||
%install
|
||||
@@ -95,11 +92,6 @@ rm -rf %{buildroot}%{_qt5_qmldir}/Extinct
|
||||
%fdupes %buildroot%_libdir/qt5/qml/Lomiri/Components/
|
||||
%fdupes %buildroot%_libdir/qt5/examples/%name/examples/
|
||||
|
||||
pushd tests/autopilot
|
||||
%py3_install
|
||||
mv lomiriuitoolkit/{tests,_custom_proxy_objects} %{buildroot}%{python3_sitelib}/lomiriuitoolkit/
|
||||
popd
|
||||
|
||||
%find_lang %{name}
|
||||
%find_lang %{name}-gallery
|
||||
|
||||
@@ -143,8 +135,6 @@ popd
|
||||
%doc README.md
|
||||
%dir %{python3_sitelib}/lomiriuitoolkit
|
||||
%{python3_sitelib}/lomiriuitoolkit/*.py
|
||||
%dir %{python3_sitelib}/lomiriuitoolkit-%{version}-py%{python3_version}.egg-info
|
||||
%{python3_sitelib}/lomiriuitoolkit-%{version}-py%{python3_version}.egg-info/*
|
||||
%{python3_sitelib}/lomiriuitoolkit/_custom_proxy_objects/
|
||||
%{python3_sitelib}/lomiriuitoolkit/__pycache__/
|
||||
%{python3_sitelib}/lomiriuitoolkit/tests/
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri
|
||||
%global commit 5911df7b4f25210e4d88d3e959e04538fe64387f
|
||||
%global commit 0b85fddd0123c86fe6b3464143df86a6d0ad6bb9
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri
|
||||
Version: 0.4.1
|
||||
Version: 0.3.0
|
||||
Release: 1%?dist
|
||||
Summary: A convergent desktop environment by Ubports
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%define _ubuntu_rel 2ubuntu3
|
||||
%define _ubuntu_rel 1ubuntu1
|
||||
|
||||
Name: unity-session
|
||||
Summary: Lightdm profile for Unity 7
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: ayatana-indicator-datetime
|
||||
Summary: A GTK implementation of the StatusNotifierItem Specification
|
||||
Version: 25.4.0
|
||||
Version: 24.5.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/AyatanaIndicators/ayatana-indicator-datetime
|
||||
@@ -27,7 +27,6 @@ BuildRequires: pkgconfig(uuid)
|
||||
BuildRequires: pkgconfig(lomiri-sounds)
|
||||
BuildRequires: pkgconfig(dbustest-1)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: cmake(ECM)
|
||||
|
||||
%description
|
||||
The Ayatana Indicators project is the continuation of Application Indicators
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: ayatana-indicator-messages
|
||||
Summary: Ayatana Indicator Messages Applet
|
||||
Version: 24.5.1
|
||||
Version: 24.5.0
|
||||
Release: 1%?dist
|
||||
License: GPLv3
|
||||
URL: https://github.com/AyatanaIndicators/ayatana-indicator-messages
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: ayatana-indicator-session
|
||||
Summary: Ayatana Indicator Session Applet
|
||||
Version: 24.5.1
|
||||
Version: 24.5.0
|
||||
Release: 1%?dist
|
||||
License: GPL-3.0
|
||||
URL: https://github.com/AyatanaIndicators/ayatana-indicator-session
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 33b49684edb7a8ac65bbca4d7378959208fbe604
|
||||
%global commit_date 20250317
|
||||
%global commit 9b9d4256be440b511e6c37165e01a6c2686e606f
|
||||
%global commit_date 20250301
|
||||
%global shortcommit %{sub %{commit} 1 7 }
|
||||
%global ver 0.1.3
|
||||
%global ver 0.1.2
|
||||
|
||||
Name: mwc
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%global swayVersion 1.10.1
|
||||
%global swayVersion 1.9
|
||||
|
||||
Name: swayfx
|
||||
Version: 0.5
|
||||
Release: 2%?dist
|
||||
Release: 1%?dist
|
||||
|
||||
Summary: SwayFX: Sway, but with eye candy!
|
||||
URL: https://github.com/WillPower3309/swayfx
|
||||
@@ -21,7 +21,7 @@ BuildRequires: pkgconfig(glesv2)
|
||||
BuildRequires: pkgconfig(json-c) >= 0.13
|
||||
BuildRequires: pkgconfig(libdrm)
|
||||
BuildRequires: pkgconfig(libevdev)
|
||||
BuildRequires: pkgconfig(libinput) >= 1.26.0
|
||||
BuildRequires: pkgconfig(libinput) >= 1.21.0
|
||||
BuildRequires: pkgconfig(libpcre2-8)
|
||||
BuildRequires: pkgconfig(libsystemd) >= 239
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
@@ -33,8 +33,8 @@ BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-cursor)
|
||||
BuildRequires: pkgconfig(wayland-server) >= 1.21.0
|
||||
BuildRequires: pkgconfig(wayland-protocols) >= 1.24
|
||||
BuildRequires: pkgconfig(scenefx-0.2)
|
||||
BuildRequires: pkgconfig(wlroots-0.18)
|
||||
BuildRequires: (pkgconfig(wlroots) >= 0.17.0 with pkgconfig(wlroots) < 0.18)
|
||||
BuildRequires: (pkgconfig(scenefx) >= 0.1 with pkgconfig(scenefx) < 0.2)
|
||||
BuildRequires: pkgconfig(xcb)
|
||||
BuildRequires: pkgconfig(xcb-icccm)
|
||||
BuildRequires: pkgconfig(xkbcommon) >= 1.5.0
|
||||
@@ -46,7 +46,7 @@ Conflicts: sway
|
||||
Provides: sway = %{swayVersion}
|
||||
|
||||
|
||||
Packager: Atmois <info@atmois.com>
|
||||
Packager: Atmois <atmois@atmois.com>
|
||||
|
||||
%description
|
||||
%{summary}
|
||||
@@ -61,6 +61,15 @@ Provides: sway-config = %{version}-%{release}
|
||||
Conflicts: sway-config
|
||||
|
||||
|
||||
%package wallpapers
|
||||
Summary: Wallpapers for Sway
|
||||
BuildArch: noarch
|
||||
License: CC0
|
||||
|
||||
%description wallpapers
|
||||
Wallpaper collection provided with Sway
|
||||
|
||||
|
||||
# Require the wallpaper referenced in the config.
|
||||
# Weak dependency here causes a swaynag warning during the configuration load
|
||||
Requires: sway-wallpapers
|
||||
@@ -97,20 +106,10 @@ Recommends: (qt6-qtwayland if qt6-qtbase-gui)
|
||||
Upstream configuration for Sway.
|
||||
Includes all important dependencies for a typical desktop system with minimal or no divergence from the upstream.
|
||||
|
||||
%package wallpapers
|
||||
Summary: Wallpapers for Sway
|
||||
BuildArch: noarch
|
||||
License: CC0
|
||||
|
||||
%description wallpapers
|
||||
Wallpaper collection provided with Sway
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -N -n %{name}-%{version}
|
||||
|
||||
%autopatch -p1 -M99
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-Dsd-bus-provider=libsystemd \
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Generated by rust2rpm 27
|
||||
%global commit c999033c297582cd56b57d2a6062bfd36cc1dfed
|
||||
%global commit 5b4cc3e7a8055afb758421f4a114ef4032806e39
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250426
|
||||
%global commit_date 20250216
|
||||
%global ver v0.6.0
|
||||
%bcond check 0
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# https://github.com/abenz1267/walker
|
||||
%global goipath github.com/abenz1267/walker
|
||||
Version: 0.12.21
|
||||
Version: 0.12.16
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%bcond check 1
|
||||
|
||||
Name: wpaperd
|
||||
Version: 1.2.1
|
||||
Version: 1.1.1
|
||||
Release: 1%?dist
|
||||
Summary: Modern wallpaper daemon for Wayland
|
||||
License: (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR Artistic-2.0) AND GPL-3.0+ AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: asar
|
||||
Version: 3.4.1
|
||||
Version: 3.3.1
|
||||
Release: 1%?dist
|
||||
Summary: Simple extensive tar-like archive format with indexing
|
||||
License: MIT
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "atac.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
%global crate atac
|
||||
|
||||
%if 0%{?fedora} >= 42
|
||||
%global build_cflags %{__build_flags_lang_c} %{?_distro_extra_cflags} -std=gnu18
|
||||
%endif
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
Name: atac
|
||||
Version: 0.19.0
|
||||
Release: 1%?dist
|
||||
Summary: Arguably a Terminal API Client
|
||||
|
||||
License: MIT
|
||||
URL: https://crates.io/crates/atac
|
||||
Source: %{crates_source}
|
||||
|
||||
Packager: xiaoshihou <xiaoshihou@tutamail.com>
|
||||
BuildRequires: anda-srpm-macros cargo-rpm-macros mold
|
||||
|
||||
%global _description %{expand:
|
||||
Arguably a Terminal API Client. Feature-full, free, open-source, offline
|
||||
and account-less.}
|
||||
|
||||
%description -n %{crate} %{_description}
|
||||
|
||||
%files -n %{crate}
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%doc README.md
|
||||
%{_bindir}/%{crate}
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version} -p1
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
%{cargo_license_summary_online}
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
|
||||
%install
|
||||
%cargo_install
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(crates("atac"));
|
||||
@@ -6,7 +6,7 @@
|
||||
%endif
|
||||
|
||||
Name: bun-bin
|
||||
Version: 1.2.11
|
||||
Version: 1.2.4
|
||||
Release: 1%?dist
|
||||
Summary: Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
|
||||
License: MIT
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Name: codium-marketplace
|
||||
Version: 1.65.0
|
||||
Release: 2%?dist
|
||||
Release: 1%?dist
|
||||
Summary: Enable vscode marketplace in vscodium
|
||||
License: MIT
|
||||
BuildArch: noarch
|
||||
@@ -22,7 +22,7 @@ if [ $1 -gt 1 ]; then # update/install
|
||||
sed -i -e 's/^[[:blank:]]*"serviceUrl":.*/ "serviceUrl": "https:\/\/marketplace.visualstudio.com\/_apis\/public\/gallery",/' \
|
||||
-e '/^[[:blank:]]*"cacheUrl/d' \
|
||||
-e '/^[[:blank:]]*"serviceUrl/a\ "cacheUrl": "https:\/\/vscode.blob.core.windows.net\/gallery\/index",' \
|
||||
-e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/marketplace.visualstudio.com\/items",/' \
|
||||
-e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/marketplace.visualstudio.com\/items"/' \
|
||||
-e '/^[[:blank:]]*"linkProtectionTrustedDomains/d' \
|
||||
/usr/share/codium/resources/app/product.json || true
|
||||
fi
|
||||
@@ -30,7 +30,7 @@ fi
|
||||
%preun
|
||||
sed -i -e 's/^[[:blank:]]*"serviceUrl":.*/ "serviceUrl": "https:\/\/open-vsx.org\/vscode\/gallery",/' \
|
||||
-e '/^[[:blank:]]*"cacheUrl/d' \
|
||||
-e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/open-vsx.org\/vscode\/item",/' \
|
||||
-e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/open-vsx.org\/vscode\/item"/' \
|
||||
-e '/^[[:blank:]]*"linkProtectionTrustedDomains/d' \
|
||||
-e '/^[[:blank:]]*"documentationUrl/i\ "linkProtectionTrustedDomains": ["https://open-vsx.org"],' \
|
||||
/usr/share/codium/resources/app/product.json || true
|
||||
@@ -39,9 +39,9 @@ sed -i -e 's/^[[:blank:]]*"serviceUrl":.*/ "serviceUrl": "https:\/\/open-vsx.
|
||||
sed -i -e 's/^[[:blank:]]*"serviceUrl":.*/ "serviceUrl": "https:\/\/marketplace.visualstudio.com\/_apis\/public\/gallery",/' \
|
||||
-e '/^[[:blank:]]*"cacheUrl/d' \
|
||||
-e '/^[[:blank:]]*"serviceUrl/a\ "cacheUrl": "https:\/\/vscode.blob.core.windows.net\/gallery\/index",' \
|
||||
-e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/marketplace.visualstudio.com\/items",/' \
|
||||
-e 's/^[[:blank:]]*"itemUrl":.*/ "itemUrl": "https:\/\/marketplace.visualstudio.com\/items"/' \
|
||||
-e '/^[[:blank:]]*"linkProtectionTrustedDomains/d' \
|
||||
/usr/share/codium/resources/app/product.json || true
|
||||
|
||||
%files
|
||||
/tmp/terra-codium-marketplace-dummy-file
|
||||
/tmp/terra-codium-marketplace-dummy-file
|
||||
@@ -12,7 +12,7 @@
|
||||
%endif
|
||||
|
||||
Name: codium
|
||||
Version: 1.99.32846
|
||||
Version: 1.97.2.25045
|
||||
Release: 1%?dist
|
||||
Summary: Code editing. Redefined.
|
||||
License: MIT
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=DevPod
|
||||
Comment=Spin up dev environments in any infra
|
||||
Exec=dev-pod-desktop
|
||||
Icon=dev-pod-desktop
|
||||
Terminal=false
|
||||
StartupNotify=false
|
||||
Categories=Development;
|
||||
@@ -1,100 +0,0 @@
|
||||
%bcond check 0
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
|
||||
# https://github.com/loft-sh/devpod
|
||||
%global goipath github.com/loft-sh/devpod
|
||||
Version: 0.6.15
|
||||
|
||||
%gometa -f
|
||||
|
||||
%global common_description %{expand:
|
||||
Codespaces but open-source, client-only and unopinionated: Works with any IDE
|
||||
and lets you use any cloud, kubernetes or just localhost docker.}
|
||||
|
||||
%global golicenses LICENSE
|
||||
%global godocs docs examples COMMUNITY.md CONTRIBUTING.md README.md\\\
|
||||
SECURITY.md desktop/README.md e2e/README.md\\\
|
||||
loadtest/README.md
|
||||
|
||||
Name: devpod
|
||||
Release: 2%?dist
|
||||
Summary: Spin up dev environments in any infra
|
||||
Provides: golang-github-loft-sh-devpod
|
||||
BuildRequires: anda-srpm-macros mold
|
||||
BuildRequires: yarnpkg rust-packaging
|
||||
Recommends: devpod-desktop
|
||||
|
||||
License: MPL-2.0
|
||||
URL: https://devpod.sh
|
||||
Source: %{gosource}
|
||||
# gendesk --pkgname=DevPod --name=DevPod --exec=dev-pod-desktop --icon=dev-pod-desktop --categories='Development' -n
|
||||
Source1: DevPod.desktop
|
||||
|
||||
%description %{common_description}
|
||||
|
||||
%package desktop
|
||||
Summary: %summary
|
||||
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND (BSD-3-Clause AND MIT) AND (BSD-3-Clause OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND BSL-1.0 AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR MIT-0 OR Apache-2.0) AND ISC AND MIT AND (MIT AND BSD-3-Clause) AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gdk-3.0)
|
||||
BuildRequires: pkgconfig(javascriptcoregtk-4.1)
|
||||
BuildRequires: pkgconfig(libsoup-3.0)
|
||||
BuildRequires: pkgconfig(webkit2gtk-4.1)
|
||||
Requires: libappindicator-gtk3
|
||||
|
||||
%description desktop %{common_description}
|
||||
|
||||
%prep
|
||||
#yarn set version 1.22.1
|
||||
%autosetup -n %name-%version
|
||||
rm go.sum
|
||||
cd desktop/src-tauri
|
||||
%cargo_prep_online
|
||||
sed -i '/"targets"/s@"all"@[]@' tauri.conf.json
|
||||
|
||||
sed -i '/Comment=/s@DevPod@%summary@' %{S:1}
|
||||
|
||||
%build
|
||||
%define gomodulesmode GO111MODULE=on
|
||||
# just remove -v -x for godsake
|
||||
%define gobuild_baseflags %{gocompilerflags} -tags="rpm_crashtraceback ${GO_BUILDTAGS-${BUILDTAGS-}}" -a
|
||||
%define gobuild_ldflags -s -w -X github.com/loft-sh/devpod/pkg/version.version="v%version" ${GO_LDFLAGS-${LDFLAGS-}} %{?currentgoldflags} -B 0x$(echo "%{name}-%{version}-%{release}-${SOURCE_DATE_EPOCH:-}" | sha1sum | cut -d ' ' -f1) -compressdwarf=false -linkmode=external -extldflags '%{build_ldflags} %{?__golang_extldflags}'
|
||||
%define gobuilddir %_builddir/%buildsubdir
|
||||
# build cli
|
||||
(%{gobuild -o %{gobuilddir}/bin/devpod .}) &
|
||||
|
||||
pushd desktop
|
||||
yarn version --new-version %version --no-git-tag-version &
|
||||
yarn install &
|
||||
pushd src-tauri
|
||||
# cargo licenses
|
||||
%{cargo_license_summary_online} &
|
||||
%{cargo_license_online} > %_builddir/%buildsubdir/LICENSE.dependencies &
|
||||
wait
|
||||
cp %{gobuilddir}/bin/devpod bin/devpod-cli-%_arch-unknown-linux-gnu
|
||||
popd # src-tauri
|
||||
# ≈ %%cargo_build
|
||||
/usr/bin/env CARGO_HOME=.cargo RUSTC_BOOTSTRAP=1 RUSTFLAGS='%{build_rustflags}' \
|
||||
yarn run desktop:build -- -- %{__cargo_common_opts} --profile rpm
|
||||
popd # desktop
|
||||
|
||||
|
||||
%install
|
||||
# go
|
||||
install -m 0755 -vd %{buildroot}%{_bindir}
|
||||
install -m 0755 -vp bin/devpod %{buildroot}%{_bindir}/devpod-cli
|
||||
# tauri
|
||||
install -Dm755 "desktop/src-tauri/target/rpm/DevPod Desktop" %buildroot%_bindir/dev-pod-desktop
|
||||
install -Dm644 %{S:1} -t %buildroot%_datadir/applications/
|
||||
install -Dm644 desktop/devpod.png %buildroot%_datadir/pixmaps/dev-pod-desktop.png
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md SECURITY.md
|
||||
%{_bindir}/devpod-cli
|
||||
|
||||
%files desktop
|
||||
%_bindir/dev-pod-desktop
|
||||
%_datadir/applications/DevPod.desktop
|
||||
%_datadir/pixmaps/dev-pod-desktop.png
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(gh("loft-sh/devpod"));
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: flutter
|
||||
Version: 3.29.3
|
||||
Version: 3.29.0
|
||||
Release: 1%?dist
|
||||
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
|
||||
License: BSD-3-Clause
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
%global commit 9a4419ce85b11b66af6b1c6974be6c848a4cc5e4
|
||||
%global commit c6485b9fd5514992e9acf8f6986e7986195dc3fc
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global fulldate 2025-04-28
|
||||
%global fulldate 2025-02-28
|
||||
%global commit_date %(echo %{fulldate} | sed 's/-//g')
|
||||
%global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV
|
||||
%global ver 1.1.4
|
||||
%global base_name ghostty
|
||||
%global reverse_dns com.mitchellh.%{base_name}
|
||||
%global ver 1.1.3
|
||||
%if 0%{?fedora} <= 40
|
||||
%global cache_dir %{_builddir}/zig-cache
|
||||
%else
|
||||
%global cache_dir %{builddir}/zig-cache
|
||||
%endif
|
||||
|
||||
Name: %{base_name}-nightly
|
||||
Name: ghostty-nightly
|
||||
Version: %{ver}~tip^%{commit_date}git%{shortcommit}
|
||||
Release: 1%?dist
|
||||
%if 0%{?fedora} <= 41
|
||||
@@ -20,10 +18,9 @@ Epoch: 1
|
||||
%endif
|
||||
Summary: A fast, native terminal emulator written in Zig; this is the Tip (nightly) build.
|
||||
License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
URL: https://%{base_name}.org
|
||||
Source0: https://github.com/%{base_name}-org/%{base_name}/releases/download/tip/%{base_name}-source.tar.gz
|
||||
Source1: https://github.com/%{base_name}-org/%{base_name}/releases/download/tip/%{base_name}-source.tar.gz.minisig
|
||||
BuildRequires: gettext
|
||||
URL: https://ghostty.org/
|
||||
Source0: https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz
|
||||
Source1: https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz.minisig
|
||||
BuildRequires: gtk4-devel
|
||||
BuildRequires: libadwaita-devel
|
||||
BuildRequires: libX11-devel
|
||||
@@ -37,7 +34,6 @@ BuildRequires: pkgconfig(bzip2)
|
||||
BuildRequires: pkgconfig(freetype2)
|
||||
BuildRequires: pkgconfig(fontconfig)
|
||||
BuildRequires: pkgconfig(gtk4)
|
||||
BuildRequires: pkgconfig(gtk4-layer-shell-0)
|
||||
BuildRequires: pkgconfig(harfbuzz)
|
||||
BuildRequires: pkgconfig(libadwaita-1)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
@@ -47,15 +43,14 @@ BuildRequires: pkgconfig(zlib)
|
||||
Requires: %{name}-terminfo
|
||||
Requires: %{name}-shell-integration
|
||||
Requires: gtk4
|
||||
Requires: gtk4-layer-shell
|
||||
Requires: libadwaita
|
||||
Conflicts: %{base_name}
|
||||
Provides: %{base_name}-tip = %{ver}^%{commit_date}git%{shortcommit}
|
||||
Conflicts: ghostty
|
||||
Provides: ghostty-tip = %{version}-%{release}
|
||||
%if 0%{?fedora} <= 41
|
||||
Provides: %{name} = %{commit_date}.%{shortcommit}
|
||||
%endif
|
||||
Obsoletes: %{name} = 20250130.04d3636
|
||||
Packager: Gilver E. <rockgrub@disroot.org>
|
||||
Packager: ShinyGil <rockgrub@disroot.org>
|
||||
|
||||
%description
|
||||
👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.
|
||||
@@ -116,9 +111,6 @@ Supplements: %{name}
|
||||
%if 0%{?fedora} <= 41
|
||||
Provides: %{name}-terminfo = %{commit_date}.%{shortcommit}
|
||||
%endif
|
||||
%if 0%{?fedora} >= 42
|
||||
Requires: ncurses-term >= 6.5-5.20250125%{?dist}
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description terminfo
|
||||
@@ -135,7 +127,7 @@ This package contains files for Ghostty's terminfo. Available for debugging use.
|
||||
|
||||
%prep
|
||||
/usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key}
|
||||
%autosetup -n %{base_name}-%{ver}-main+%{shortcommit}
|
||||
%autosetup -n ghostty-source
|
||||
|
||||
ZIG_GLOBAL_CACHE_DIR="%{cache_dir}" ./nix/build-support/fetch-zig-cache.sh
|
||||
|
||||
@@ -158,86 +150,72 @@ zig build \
|
||||
-Demit-termcap \
|
||||
-Demit-terminfo
|
||||
|
||||
#Don't conflict with ncurses-term on F42 and up
|
||||
%if 0%{?fedora} >= 42
|
||||
rm -rf %{buildroot}%{_datadir}/terminfo/g/ghostty
|
||||
%endif
|
||||
|
||||
%find_lang %{reverse_dns}
|
||||
|
||||
%files -f %{reverse_dns}.lang
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/%{base_name}
|
||||
%{_datadir}/applications/%{reverse_dns}.desktop
|
||||
%{_datadir}/bat/syntaxes/%{base_name}.sublime-syntax
|
||||
%dir %{_datadir}/%{base_name}
|
||||
%{_datadir}/%{base_name}/doc
|
||||
%{_datadir}/%{base_name}/themes
|
||||
%{_datadir}/kio/servicemenus/%{reverse_dns}.desktop
|
||||
%{_datadir}/nautilus-python/extensions/%{base_name}.py
|
||||
%{_datadir}/nvim/site/compiler/%{base_name}.vim
|
||||
%{_datadir}/nvim/site/ftdetect/%{base_name}.vim
|
||||
%{_datadir}/nvim/site/ftplugin/%{base_name}.vim
|
||||
%{_datadir}/nvim/site/syntax/%{base_name}.vim
|
||||
%{_datadir}/vim/vimfiles/compiler/%{base_name}.vim
|
||||
%{_datadir}/vim/vimfiles/ftdetect/%{base_name}.vim
|
||||
%{_datadir}/vim/vimfiles/ftplugin/%{base_name}.vim
|
||||
%{_datadir}/vim/vimfiles/syntax/%{base_name}.vim
|
||||
%{_iconsdir}/hicolor/16x16/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/16x16@2/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/32x32@2/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/128x128@2/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/256x256/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/256x256@2/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/512x512/apps/%{reverse_dns}.png
|
||||
%{_iconsdir}/hicolor/1024x1024/apps/%{reverse_dns}.png
|
||||
%{_mandir}/man1/%{base_name}.1.gz
|
||||
%{_mandir}/man5/%{base_name}.5.gz
|
||||
%_bindir/ghostty
|
||||
%_datadir/applications/com.mitchellh.ghostty.desktop
|
||||
%_datadir/bat/syntaxes/ghostty.sublime-syntax
|
||||
%_datadir/ghostty/
|
||||
%_datadir/kio/servicemenus/com.mitchellh.ghostty.desktop
|
||||
%_datadir/nautilus-python/extensions/ghostty.py
|
||||
%_datadir/nvim/site/compiler/ghostty.vim
|
||||
%_datadir/nvim/site/ftdetect/ghostty.vim
|
||||
%_datadir/nvim/site/ftplugin/ghostty.vim
|
||||
%_datadir/nvim/site/syntax/ghostty.vim
|
||||
%_datadir/vim/vimfiles/compiler/ghostty.vim
|
||||
%_datadir/vim/vimfiles/ftdetect/ghostty.vim
|
||||
%_datadir/vim/vimfiles/ftplugin/ghostty.vim
|
||||
%_datadir/vim/vimfiles/syntax/ghostty.vim
|
||||
%_iconsdir/hicolor/16x16/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/16x16@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/32x32/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/32x32@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/128x128/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/128x128@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/256x256/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/256x256@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/512x512/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/1024x1024/apps/com.mitchellh.ghostty.png
|
||||
%_mandir/man1/ghostty.1.gz
|
||||
%_mandir/man5/ghostty.5.gz
|
||||
|
||||
%files bash-completion
|
||||
%{bash_completions_dir}/%{base_name}.bash
|
||||
%bash_completions_dir/ghostty.bash
|
||||
|
||||
%files fish-completion
|
||||
%{fish_completions_dir}/%{base_name}.fish
|
||||
%fish_completions_dir/ghostty.fish
|
||||
|
||||
%files zsh-completion
|
||||
%{zsh_completions_dir}/_%{base_name}
|
||||
%zsh_completions_dir/_ghostty
|
||||
|
||||
%files shell-integration
|
||||
%dir %{_datadir}/%{base_name}/shell-integration
|
||||
%{_datadir}/%{base_name}/shell-integration/bash/bash-preexec.sh
|
||||
%{_datadir}/%{base_name}/shell-integration/bash/%{base_name}.bash
|
||||
%{_datadir}/%{base_name}/shell-integration/elvish/lib/%{base_name}-integration.elv
|
||||
%{_datadir}/%{base_name}/shell-integration/fish/vendor_conf.d/%{base_name}-shell-integration.fish
|
||||
%{_datadir}/%{base_name}/shell-integration/zsh/.zshenv
|
||||
%{_datadir}/%{base_name}/shell-integration/zsh/%{base_name}-integration
|
||||
%_datadir/ghostty/shell-integration/bash/bash-preexec.sh
|
||||
%_datadir/ghostty/shell-integration/bash/ghostty.bash
|
||||
%_datadir/ghostty/shell-integration/elvish/lib/ghostty-integration.elv
|
||||
%_datadir/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish
|
||||
%_datadir/ghostty/shell-integration/zsh/.zshenv
|
||||
%_datadir/ghostty/shell-integration/zsh/ghostty-integration
|
||||
|
||||
%files terminfo
|
||||
%if 0%{?fedora} < 42
|
||||
%{_datadir}/terminfo/g/%{base_name}
|
||||
%endif
|
||||
%{_datadir}/terminfo/x/xterm-%{base_name}
|
||||
%_datadir/terminfo/g/ghostty
|
||||
%_datadir/terminfo/x/xterm-ghostty
|
||||
|
||||
%files terminfo-source
|
||||
%{_datadir}/terminfo/%{base_name}.termcap
|
||||
%{_datadir}/terminfo/%{base_name}.terminfo
|
||||
%_datadir/terminfo/ghostty.termcap
|
||||
%_datadir/terminfo/ghostty.terminfo
|
||||
|
||||
%changelog
|
||||
* Wed Mar 05 2025 Gilver E. <rockgrub@disroot.org>
|
||||
- Update to 1.1.3~tip^20250305git66e8d91-2%{?dist}
|
||||
* Ghostty now has localization support via gettext as well as corresponding localization files
|
||||
* Fri Jan 31 2025 Gilver E. <rockgrub@disroot.org>
|
||||
- Update to 1.1.1~tip^20250131git5508e7-1%{?dist}
|
||||
* Fri Jan 31 2025 ShinyGil <rockgrub@disroot.org>
|
||||
- Update to 1.1.1-1%{?dist}.20250131tipc5508e7
|
||||
* Low GHSA-98wc-794w-gjx3: Ghostty leaked file descriptors allowing the shell and any of its child processes to impact other Ghostty terminal instances
|
||||
* Better Git versioning scheme
|
||||
* Ghostty terminfo source files are now a subpackage
|
||||
* Shell integration and completion and terminfo subpackages are now properly noarch
|
||||
* Tue Dec 31 2024 Gilver E. <rockgrub@disroot.org>
|
||||
* Tue Dec 31 2024 ShinyGil <rockgrub@disroot.org>
|
||||
- Update to 20241231.3f7c3af
|
||||
* High CVE-2003-0063: Allows execution of arbitrary commands
|
||||
* Medium CVE-2003-0070: Allows execution of arbitrary commands
|
||||
* Thu Dec 26 2024 Gilver E. <rockgrub@disroot.org>
|
||||
|
||||
* Thu Dec 26 2024 ShinyGil <rockgrub@disroot.org>
|
||||
- Initial package
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
%endif
|
||||
|
||||
Name: ghostty
|
||||
Version: 1.1.3
|
||||
Release: 1%?dist
|
||||
Version: 1.1.2
|
||||
Release: 2%?dist
|
||||
Summary: A fast, native terminal emulator written in Zig.
|
||||
License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0
|
||||
URL: https://ghostty.org/
|
||||
@@ -37,7 +37,7 @@ Requires: %{name}-shell-integration = %{version}-%{release}
|
||||
Requires: gtk4
|
||||
Requires: libadwaita
|
||||
Conflicts: ghostty-nightly
|
||||
Packager: Gilver E. <rockgrub@disroot.org>
|
||||
Packager: ShinyGil <rockgrub@disroot.org>
|
||||
|
||||
%description
|
||||
👻 Ghostty is a fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.
|
||||
@@ -83,9 +83,6 @@ This package contains files allowing Ghostty to integrate with various shells.
|
||||
%package terminfo
|
||||
Summary: Ghostty terminfo
|
||||
Supplements: %{name}
|
||||
%if 0%{?fedora} >= 42
|
||||
Requires: ncurses-term >= 6.5-5.20250125%{?dist}
|
||||
%endif
|
||||
BuildArch: noarch
|
||||
|
||||
%description terminfo
|
||||
@@ -128,78 +125,71 @@ zig build \
|
||||
-Demit-termcap \
|
||||
-Demit-terminfo
|
||||
|
||||
#Don't conflict with ncurses-term on F42 and up
|
||||
%if 0%{?fedora} >= 42
|
||||
rm -rf %{buildroot}%{_datadir}/terminfo/g/ghostty
|
||||
%endif
|
||||
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/ghostty
|
||||
%{_datadir}/applications/com.mitchellh.ghostty.desktop
|
||||
%{_datadir}/bat/syntaxes/ghostty.sublime-syntax
|
||||
%{_datadir}/ghostty/
|
||||
%{_datadir}/kio/servicemenus/com.mitchellh.ghostty.desktop
|
||||
%{_datadir}/nautilus-python/extensions/ghostty.py
|
||||
%{_datadir}/nvim/site/compiler/ghostty.vim
|
||||
%{_datadir}/nvim/site/ftdetect/ghostty.vim
|
||||
%{_datadir}/nvim/site/ftplugin/ghostty.vim
|
||||
%{_datadir}/nvim/site/syntax/ghostty.vim
|
||||
%{_datadir}/vim/vimfiles/compiler/ghostty.vim
|
||||
%{_datadir}/vim/vimfiles/ftdetect/ghostty.vim
|
||||
%{_datadir}/vim/vimfiles/ftplugin/ghostty.vim
|
||||
%{_datadir}/vim/vimfiles/syntax/ghostty.vim
|
||||
%{_iconsdir}/hicolor/16x16/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/16x16@2/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/32x32/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/32x32@2/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/128x128/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/128x128@2/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/256x256/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/256x256@2/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/512x512/apps/com.mitchellh.ghostty.png
|
||||
%{_iconsdir}/hicolor/1024x1024/apps/com.mitchellh.ghostty.png
|
||||
%{_mandir}/man1/ghostty.1.gz
|
||||
%{_mandir}/man5/ghostty.5.gz
|
||||
%_bindir/ghostty
|
||||
%_datadir/applications/com.mitchellh.ghostty.desktop
|
||||
%_datadir/bat/syntaxes/ghostty.sublime-syntax
|
||||
%_datadir/ghostty/
|
||||
%_datadir/kio/servicemenus/com.mitchellh.ghostty.desktop
|
||||
%_datadir/nautilus-python/extensions/ghostty.py
|
||||
%_datadir/nvim/site/compiler/ghostty.vim
|
||||
%_datadir/nvim/site/ftdetect/ghostty.vim
|
||||
%_datadir/nvim/site/ftplugin/ghostty.vim
|
||||
%_datadir/nvim/site/syntax/ghostty.vim
|
||||
%_datadir/vim/vimfiles/compiler/ghostty.vim
|
||||
%_datadir/vim/vimfiles/ftdetect/ghostty.vim
|
||||
%_datadir/vim/vimfiles/ftplugin/ghostty.vim
|
||||
%_datadir/vim/vimfiles/syntax/ghostty.vim
|
||||
%_iconsdir/hicolor/16x16/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/16x16@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/32x32/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/32x32@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/128x128/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/128x128@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/256x256/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/256x256@2/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/512x512/apps/com.mitchellh.ghostty.png
|
||||
%_iconsdir/hicolor/1024x1024/apps/com.mitchellh.ghostty.png
|
||||
%_mandir/man1/ghostty.1.gz
|
||||
%_mandir/man5/ghostty.5.gz
|
||||
|
||||
%files bash-completion
|
||||
%{bash_completions_dir}/ghostty.bash
|
||||
%bash_completions_dir/ghostty.bash
|
||||
|
||||
%files fish-completion
|
||||
%{fish_completions_dir}/ghostty.fish
|
||||
%fish_completions_dir/ghostty.fish
|
||||
|
||||
%files zsh-completion
|
||||
%{zsh_completions_dir}/_ghostty
|
||||
%zsh_completions_dir/_ghostty
|
||||
|
||||
%files shell-integration
|
||||
%{_datadir}/ghostty/shell-integration/bash/bash-preexec.sh
|
||||
%{_datadir}/ghostty/shell-integration/bash/ghostty.bash
|
||||
%{_datadir}/ghostty/shell-integration/elvish/lib/ghostty-integration.elv
|
||||
%{_datadir}/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish
|
||||
%{_datadir}/ghostty/shell-integration/zsh/.zshenv
|
||||
%{_datadir}/ghostty/shell-integration/zsh/ghostty-integration
|
||||
%_datadir/ghostty/shell-integration/bash/bash-preexec.sh
|
||||
%_datadir/ghostty/shell-integration/bash/ghostty.bash
|
||||
%_datadir/ghostty/shell-integration/elvish/lib/ghostty-integration.elv
|
||||
%_datadir/ghostty/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish
|
||||
%_datadir/ghostty/shell-integration/zsh/.zshenv
|
||||
%_datadir/ghostty/shell-integration/zsh/ghostty-integration
|
||||
|
||||
%files terminfo
|
||||
%if 0%{?fedora} < 42
|
||||
%{_datadir}/terminfo/g/ghostty
|
||||
%endif
|
||||
%{_datadir}/terminfo/x/xterm-ghostty
|
||||
%_datadir/terminfo/g/ghostty
|
||||
%_datadir/terminfo/x/xterm-ghostty
|
||||
|
||||
%files terminfo-source
|
||||
%{_datadir}/terminfo/ghostty.termcap
|
||||
%{_datadir}/terminfo/ghostty.terminfo
|
||||
%_datadir/terminfo/ghostty.termcap
|
||||
%_datadir/terminfo/ghostty.terminfo
|
||||
|
||||
%changelog
|
||||
* Fri Jan 31 2025 Gilver E. <rockgrub@disroot.org>
|
||||
* Fri Jan 31 2025 ShinyGil <rockgrub@disroot.org>
|
||||
- Update to 1.1.0-1%{?dist}
|
||||
* Low GHSA-98wc-794w-gjx3: Ghostty leaked file descriptors allowing the shell and any of its child processes to impact other Ghostty terminal instances
|
||||
* Ghostty terminfo source files are now a subpackage
|
||||
* Shell integration and completion and terminfo subpackages are now properly noarch
|
||||
* Tue Dec 31 2024 Gilver E. <rockgrub@disroot.org>
|
||||
* Tue Dec 31 2024 ShinyGil <rockgrub@disroot.org>
|
||||
- Update to 1.0.1
|
||||
* High CVE-2003-0063: Allows execution of arbitrary commands
|
||||
* Medium CVE-2003-0070: Allows execution of arbitrary commands
|
||||
|
||||
* Thu Dec 26 2024 Gilver E. <rockgrub@disroot.org>
|
||||
* Thu Dec 26 2024 ShinyGil <rockgrub@disroot.org>
|
||||
- Initial package
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "git-biance.spec"
|
||||
}
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
%global crate git-biance
|
||||
|
||||
Name: git-biance
|
||||
Version: 0.1.2
|
||||
Release: 1%?dist
|
||||
Summary: Visualize code contributions in a GitHub-style graph.
|
||||
|
||||
License: GPL-3.0
|
||||
URL: https://crates.io/crates/git-biance
|
||||
Source: %{crates_source}
|
||||
|
||||
Packager: xiaoshihou <xiaoshihou@tutamail.com>
|
||||
BuildRequires: anda-srpm-macros cargo-rpm-macros mold
|
||||
|
||||
%global _description %{expand:
|
||||
biance(鞭策,biān cè,spur)is a small rust
|
||||
program that shows and visualizes code contributions
|
||||
in a git repository.
|
||||
}
|
||||
|
||||
%description %{_description}
|
||||
|
||||
%description -n %{crate} %{_description}
|
||||
|
||||
%files -n %{crate}
|
||||
%license LICENSE
|
||||
%license LICENSE.dependencies
|
||||
%doc README.md README-zh.md
|
||||
%{_bindir}/%{crate}
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{crate}-%{version} -p1
|
||||
%cargo_prep_online
|
||||
|
||||
%build
|
||||
%{cargo_license_summary_online}
|
||||
%{cargo_license_online} > LICENSE.dependencies
|
||||
|
||||
%install
|
||||
%cargo_install
|
||||
@@ -1 +0,0 @@
|
||||
rpm.version(crates("git-biance"));
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: kvrocks
|
||||
Version: 2.12.0
|
||||
Version: 2.11.1
|
||||
Release: 1%?dist
|
||||
Summary: Distributed key value NoSQL database that uses RocksDB
|
||||
License: Apache-2.0
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
%global crate lowfi
|
||||
|
||||
Name: rust-lowfi
|
||||
Version: 1.6.0
|
||||
Release: 1%?dist
|
||||
Version: 1.5.6
|
||||
Release: 1%{?dist}
|
||||
Summary: Extremely simple lofi player
|
||||
|
||||
License: MIT
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
# Naming variable as something other than "commit" is necessary
|
||||
# to stop %%gometa from putting commit hash in release
|
||||
%global commit_hash b61c8a4e1ae6810f307b2fc4bc30c25f2fb04729
|
||||
%global commit_date 20250429
|
||||
%global commit_hash 272a308275f3b543647c6171e86dc521ce2822a0
|
||||
%global commit_date 20250228
|
||||
%global shortcommit %{sub %{commit_hash} 1 7}
|
||||
%global ver 2.0.14
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user