Compare commits

..

20 Commits

Author SHA1 Message Date
Gilver 1e14850c64 Merge branch 'frawhide' into gil/fix/anki 2025-11-29 00:58:39 -06:00
Gilver ca1dfbb4b7 Merge branch 'frawhide' into gil/fix/anki 2025-07-09 18:34:04 -05:00
Gilver 5596acd76b Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-28 08:33:47 -05:00
Gilver 96dc963c94 Merge branch 'frawhide' into gil/fix/anki 2025-06-28 08:28:06 -05:00
madonuko 27d1986228 Revert "Update anki.spec"
This reverts commit 4f9550d40b.
2025-06-16 21:23:29 +08:00
Gilver 4f9550d40b Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-16 07:58:22 -05:00
Gilver 34d5da758e Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-16 07:56:24 -05:00
Gilver e2eba7be16 Merge branch 'frawhide' into gil/fix/anki 2025-06-16 07:45:06 -05:00
Gilver b0b810e11d Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-01 21:02:11 -05:00
Gilver c75069dedc Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-01 20:56:35 -05:00
Gilver 0651ff7238 Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-01 20:52:08 -05:00
Gilver 02e4c7223d Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-01 20:40:09 -05:00
Gilver 0f0cb91836 This is so stupid if this works
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-06-01 20:37:20 -05:00
Gilver 2a3cfb3c83 Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-05-31 13:47:18 -05:00
Gilver f4d4aa7ab4 Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-05-31 13:07:06 -05:00
Gilver 7b52db52c0 Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-05-31 12:56:55 -05:00
Gilver 40af563bdc Update anki.spec
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-05-31 12:45:07 -05:00
Gilver 7e73ea1818 Merge branch 'frawhide' into gil/fix/anki 2025-05-31 12:36:47 -05:00
Gilver cb2a49f916 fix: Add PyQt5 too
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-05-17 16:37:41 -05:00
Gilver a8b7d6be60 fix(anki): Add PyQt6 build deps
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-05-17 16:26:15 -05:00
606 changed files with 3697 additions and 12345 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
"repoOwner": "terrapkg",
"repoName": "packages",
"resetAuthor": true,
"targetBranchChoices": ["frawhide", "f43", "f42", "el10"],
"targetBranchChoices": ["el10", "f41", "f42", "f43", "frawhide"],
"branchLabelMapping": {
"^sync-(.+)$": "$1"
}
+1
View File
@@ -15,6 +15,7 @@ jobs:
- frawhide
- f43
- f42
- f41
- el10
container:
image: ghcr.io/terrapkg/builder:frawhide
+1
View File
@@ -8,6 +8,7 @@ on:
- frawhide
- f43
- f42
- f41
- el10
paths:
- comps.xml
+1
View File
@@ -50,6 +50,7 @@ jobs:
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+1
View File
@@ -50,6 +50,7 @@ jobs:
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+1
View File
@@ -50,6 +50,7 @@ jobs:
}
copy_over f43 || true
copy_over f42 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+2 -4
View File
@@ -1,7 +1,5 @@
# Terra Sources
[![Repository status](https://repology.org/badge/repository-big/terra_rawhide.svg?header=Terra+Rawhide)](https://repology.org/repository/terra_rawhide)
Terra is a rolling-release Fedora repository for all the software you need.
With Terra, you can install the latest packages knowing that quality and security are assured.
@@ -57,9 +55,9 @@ First of all, thanks for being interested in contributing to Terra! If you have
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
## Searching Packages
## pkgs.org
[pkgs.org](https://fedora.pkgs.org/rawhide/terra/) and [Repology](https://repology.org/) provide a list of the packages available in Terra.
pkgs.org provides a list of the packages available in the main stream: https://fedora.pkgs.org/rawhide/terra/
## Questions?
+6 -1
View File
@@ -7,6 +7,11 @@ URL: https://apps.ankiweb.net/
BuildRequires: python3-devel python3-setuptools python3-waitress python3-protobuf python3-pysocks rpm_macro(fdupes)
BuildRequires: python3-distro python3-flask-cors python3-jsonschema python3-send2trash python3-certifi python3-simplejson
BuildRequires: python3-installer make mold cargo git rsync ninja-build libxcrypt-compat nodejs python3.9 python-unversioned-command gcc python3-pyqt6-webengine
BuildRequires: python3-qt5 python3-qt5-devel python3-pyqt6 python3-pyqt6-devel protobuf-compiler protobuf-devel
BuildRequires: python3dist(pyqt5)
BuildRequires: python3dist(pyqt5-sip)
BuildRequires: python3dist(pyqt6)
BuildRequires: python3dist(pyqt6-sip)
Requires: hicolor-icon-theme python3-sqlalchemy python3-simplejson python3-matplotlib python3-decorator python3-markdown python3-send2trash
Requires: python3-requests python3-pygame python3-beautifulsoup4 python3-httplib2 python3-pyaudio python3-jsonschema sox libxcrypt-compat python3-pyqt6-webengine
Recommends: (mpv or mpv-nightly)
@@ -29,7 +34,7 @@ git checkout %{version}
%build
export RELEASE=1
export PYTHONPATH=%_libdir/python3/dist-packages
export PYTHONPATH="%{python3_sitelib}:%{python3_sitearch}:%{buildroot}%{python3_sitelib}:%{buildroot}%{python3_sitearch}:$PYTHONPATH"
cargo update
mold -run ./tools/build
@@ -1,7 +1,7 @@
%global __requires_exclude ^lib-.*.so
%global __provides_exclude ^lib-.*.so
%global ver Audacity-3.7.7
%global ver Audacity-3.7.5
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
Name: audacity-freeworld
@@ -1,5 +1,5 @@
Name: bitwarden-cli.bin
Version: 2025.12.0
Version: 2025.11.0
Release: 1%?dist
Summary: Bitwarden command-line client
License: GPL-3.0-only
+1 -1
View File
@@ -6,7 +6,7 @@
%endif
Name: bitwarden-cli
Version: 2025.12.0
Version: 2025.10.0
Release: 1%?dist
Summary: Bitwarden command-line client
License: GPL-3.0-only
+1 -1
View File
@@ -1,7 +1,7 @@
%undefine __brp_mangle_shebangs
Name: chdig
Version: 25.12.1
Version: 25.11.2
Release: 1%?dist
Summary: Dig into ClickHouse with TUI interface
URL: https://github.com/azat/chdig
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 0.0.839
Version: 0.0.814
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+2 -2
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.839
Version: 0.0.814
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -33,7 +33,7 @@ mkdir -p %{buildroot}%{_datadir}/applications/
mkdir -p %{buildroot}%{_datadir}/pixmaps
ln -s %_datadir/discord-canary/discord-canary.desktop %{buildroot}%{_datadir}/applications/
ln -s %_datadir/discord-canary/discord.png %{buildroot}%{_datadir}/pixmaps/discord-canary.png
ln -s %_datadir/discord-canary/DiscordCanary %buildroot%_bindir/discord-canary
ln -s %_datadir/discord/DiscordCanary %buildroot%_bindir/discord-canary
%files
%_bindir/discord-canary
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.119
Version: 0.0.116
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.171
Version: 0.0.168
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.171
Version: 0.0.168
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.119
Version: 0.0.116
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit b50c32d7c3e74af4faeb92fb0e8f49108d85ff90
%global commit_date 20251211
%global commit 9615228a515fd77abb0cab5de21528f1f33d26f6
%global commit_date 20251104
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 0.22.0
Version: 0.21.2
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
+2 -2
View File
@@ -1,9 +1,9 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 13.3.0
%global commit bee989ec55e7034a782fd18bd4e694b74a62ac32
%global commit e9a8aed8ac33d455da40cac004250f710a167b1a
%global shortcommit %{sub %{commit} 1 7}
%global commit_date 20251224
%global commit_date 20251129
%global devel_name QtColorWidgets
%global _distro_extra_cflags -fuse-ld=mold
%global _distro_extra_cxxflags -fuse-ld=mold
@@ -1,22 +1,38 @@
%global commit 8076be6b34f72b721f9bc00d9e3f8cbe26dfeb9b
%global commit 3f5eda113f33fead76a5a53e0b71c11b254d68fd
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20251226
%global ver 1.11.4^
%global commit_date 20250615
%global ver 1.10.1
%global base_name goofcord
%global git_name GoofCord
%electronmeta
%global debug_package %{nil}
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: %{base_name}-nightly
Version: %{ver}%{commit_date}.git.%{shortcommit}
Release: 1%?dist
Version: %{ver}^%{commit_date}.git.%{shortcommit}
Release: 1%{?dist}
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/%{commit}/%{git_name}-%{commit}.tar.gz
BuildRequires: anda-srpm-macros >= 0.2.26
BuildRequires: bun-bin
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: git
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: python3
%ifarch aarch64
BuildRequires: zlib-ng-compat-devel
%endif
Packager: Gilver E. <rockgrub@disroot.org>
%description
@@ -26,31 +42,59 @@ A highly configurable and privacy minded Discord client.
%autosetup -n %{git_name}-%{commit}
%build
%ifarch %{arm64} armv7hl armv7l
%ifarch aarch64 armv7hl armv7l
sed -i '/\"x64\",/d' electron-builder.ts
%endif
%bun_build -r build -R
bun install
bun run packageLinux --publish=never
%install
%electron_install -d %{base_name} -s %{base_name} -i %{base_name} -D -O -U %U -E UseOzonePlatform,WaylandWindowDecorations
mkdir -p %{buildroot}%{_datadir}/%{git_name}
%ifarch x86_64
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%elifarch aarch64
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%elifarch armv7hl armv7l
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/%{git_name}/%{git_name} %{buildroot}%{_bindir}/%{git_name}
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
%ifarch x86_64
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
%elifarch aarch64
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
%elifarch armv7hl armv7l
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
%endif
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{git_name}/%{git_name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{git_name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{base_name}.desktop
desktop-file-validate %{buildroot}%{_datadir}/applications/%{git_name}.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/%{base_name}
%{_datadir}/applications/%{base_name}.desktop
%{_libdir}/%{base_name}/
%{_iconsdir}/hicolor/16x16/apps/%{base_name}.png
%{_iconsdir}/hicolor/32x32/apps/%{base_name}.png
%{_iconsdir}/hicolor/48x48/apps/%{base_name}.png
%{_iconsdir}/hicolor/64x64/apps/%{base_name}.png
%{_iconsdir}/hicolor/128x128/apps/%{base_name}.png
%{_iconsdir}/hicolor/256x256/apps/%{base_name}.png
%{_iconsdir}/hicolor/512x512/apps/%{base_name}.png
%{_iconsdir}/hicolor/1024x1024/apps/%{base_name}.png
%{_bindir}/%{git_name}
%{_datadir}/applications/%{git_name}.desktop
%{_datadir}/%{git_name}/
%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
%changelog
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1^20250615.git.3f5eda1
+2 -7
View File
@@ -1,13 +1,8 @@
rpm.global("commit", gh_commit("Milkshiift/GoofCord"));
if rpm.changed() {
if rpm.changed {
let v = gh_tag("Milkshiift/GoofCord");
v.crop(1);
if `[\d.]+-beta\.\d+`.find_all(v).len == 1 {
let v = sub(`-beta\.\d+`, `~`, v);
rpm.global("ver", v);
} else {
rpm.global("ver", v + `^`);
}
rpm.global("ver", v);
rpm.global("commit_date", date());
rpm.release();
}
+3 -3
View File
@@ -2,7 +2,7 @@ project pkg {
rpm {
spec = "goofcord.spec"
}
labels {
mock = 1
}
labels {
mock = 1
}
}
+51 -8
View File
@@ -1,17 +1,32 @@
%global git_name GoofCord
%electronmeta
%global debug_package %{nil}
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: goofcord
Version: 1.11.4
Version: 1.11.2
Release: 1%?dist
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: anda-srpm-macros >= 0.2.26
BuildRequires: bun-bin
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: python3
%ifarch aarch64
BuildRequires: zlib-ng-compat-devel
%endif
Packager: Gilver E. <rockgrub@disroot.org>
%description
@@ -21,13 +36,41 @@ A highly configurable and privacy minded Discord client.
%autosetup -n %{git_name}-%{version}
%build
%ifarch %{arm64} armv7hl armv7l
%ifarch aarch64 armv7hl armv7l
sed -i '/\"x64\",/d' electron-builder.ts
%endif
%bun_build -r build -R
bun install
bun run packageLinux
%install
%electron_install -D -O -U %U -E UseOzonePlatform,WaylandWindowDecorations
mkdir -p %{buildroot}%{_datadir}/%{name}
%ifarch x86_64
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{name}
%elifarch aarch64
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{name}
%elifarch armv7hl armv7l
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{name}
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{name}.png
%ifarch x86_64
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
%elifarch aarch64
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
%elifarch armv7hl armv7l
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
%endif
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{name}/%{name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
@@ -37,7 +80,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%license LICENSE
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_libdir}/%{name}/
%{_datadir}/%{name}/
%{_iconsdir}/hicolor/16x16/apps/%{name}.png
%{_iconsdir}/hicolor/32x32/apps/%{name}.png
%{_iconsdir}/hicolor/48x48/apps/%{name}.png
+1 -5
View File
@@ -1,5 +1 @@
let v = gh_tag("Milkshiift/GoofCord");
if `[\d.]+-beta\.\d+`.find_all(v).len == 0 {
rpm.version(v);
}
rpm.version(gh_tag("Milkshiift/GoofCord"));
-1
View File
@@ -18,7 +18,6 @@ BuildRequires: alsa-lib-devel
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: desktop-file-utils
BuildRequires: openssl-devel
BuildRequires: pkgconfig(xcb)
%description
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "helium-browser-bin.spec"
}
}
@@ -1,123 +0,0 @@
%define debug_package %{nil}
%global __requires_exclude libffmpeg.so|libvk_swiftshader.so|libvulkan.so|libEGL.so|libGLESv2.so
%global __provides_exclude_from %{_libdir}/%{name}/.*\\.so
%global appid net.imput.helium
%ifarch x86_64
%define arch x86_64
%elifarch aarch64
%define arch arm64
%endif
Name: helium-browser-bin
Version: 0.7.7.1
Release: 1%?dist
Summary: Private, fast, and honest web browser based on Chromium
URL: https://helium.computer
License: GPL-3.0-only AND BSD-3-Clause
Source0: https://github.com/imputnet/helium-linux/releases/download/%{version}/helium-%{version}-%{arch}_linux.tar.xz
Source1: https://github.com/imputnet/helium-linux/archive/refs/tags/%{version}.tar.gz
Source2: net.imput.helium.metainfo.xml
ExclusiveArch: x86_64 aarch64
BuildRequires: terra-appstream-helper
Requires: xdg-utils
Requires: liberation-fonts
Packager: Nadia P <nyadiia@pm.me>
%description
Private, fast, and honest web browser based on Chromium.
Based on ungoogled-chromium with additional privacy and usability improvements.
%prep
%autosetup -n helium-%{version}-%{arch}_linux
tar --strip-components=1 -zxvf %{SOURCE1}
sed -i \
-e 's/Exec=chromium/Exec=%{name}/' \
-e 's/Name=Helium$/Name=Helium Browser/' \
-e 's/Icon=helium/Icon=%{appid}/' \
helium.desktop
%build
%install
install -dm755 %{buildroot}%{_libdir}/%{name}
cp -a * %{buildroot}%{_libdir}/%{name}/
sed -i 's/exists_desktop_file || generate_desktop_file/true/' \
%{buildroot}%{_libdir}/%{name}/chrome-wrapper
install -Dm644 helium.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
install -Dm644 product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{appid}.png
rm -f %{buildroot}%{_libdir}/%{name}/helium.desktop
rm -f %{buildroot}%{_libdir}/%{name}/product_logo_256.png
install -dm755 %{buildroot}%{_bindir}
cat > %{buildroot}%{_bindir}/%{name} << EOF
#!/bin/bash
set -euo pipefail
XDG_CONFIG_HOME="\${XDG_CONFIG_HOME:-\"\$HOME/.config\"}"
SYS_CONF="%{_sysconfdir}/helium-browser-flags.conf"
USR_CONF="\${XDG_CONFIG_HOME}/helium-browser-flags.conf"
FLAGS=()
append_flags_file() {
local file="\$1"
[[ -r "\$file" ]] || return 0
local line safe_line
while IFS= read -r line; do
[[ "\$line" =~ ^[[:space:]]*(#|\$) ]] && continue
case "\$line" in
*'\$('*|*'\`'*)
echo "Warning: ignoring unsafe line in \$file: \$line" >&2
continue
;;
esac
set -f
safe_line=\${line//\$/\\\\\$}
safe_line=\${safe_line//~/\\\\~}
eval "set -- \$safe_line"
set +f
for token in "\$@"; do
FLAGS+=("\$token")
done
done < "\$file"
}
append_flags_file "\$SYS_CONF"
append_flags_file "\$USR_CONF"
if [[ -n "\${HELIUM_USER_FLAGS:-}" ]]; then
read -r -a ENV_FLAGS <<< "\$HELIUM_USER_FLAGS"
FLAGS+=("\${ENV_FLAGS[@]}")
fi
exec %{_libdir}/%{name}/chrome-wrapper "\${FLAGS[@]}" "\$@"
EOF
chmod 755 %{buildroot}%{_bindir}/%{name}
%terra_appstream -o %{SOURCE2}
%files
%doc README.md
%license LICENSE LICENSE.ungoogled_chromium
%{_libdir}/%{name}/
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/256x256/apps/%{appid}.png
%{_metainfodir}/%{appid}.metainfo.xml
%changelog
* Wed Dec 03 2025 Nadia P <nyadiia@pm.me> - 0.6.9.1-1
- Initial package
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<component type="runtime">
<id>net.imput.helium</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-only AND BSD-3-Clause</project_license>
<name>Helium Browser</name>
<summary>Private, fast, and honest web browser based on Chromium.</summary>
<icon type="local">
/usr/share/icons/hicolor/256x256/apps/net.imput.helium.png
</icon>
<description>
<p>
Private, fast, and honest web browser based on Chromium.
Based on ungoogled-chromium with additional privacy and usability improvements.
</p>
</description>
<url type="homepage">https://helium.computer</url>
<releases>
<release version="0.6.9.1" />
</releases>
</component>
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("imputnet/helium-linux"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "juce.spec"
}
}
-60
View File
@@ -1,60 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8864a6dc5..6518db0532 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,10 +137,10 @@ write_basic_package_version_file("${JUCE_BINARY_DIR}/JUCEConfigVersion.cmake"
VERSION ${JUCE_VERSION}
COMPATIBILITY ExactVersion)
-set(JUCE_INSTALL_DESTINATION "lib/cmake/JUCE-${JUCE_VERSION}" CACHE STRING
+set(JUCE_INSTALL_DESTINATION "lib64/cmake/juce" CACHE STRING
"The location, relative to the install prefix, where the JUCE config file will be installed")
-set(JUCE_MODULE_PATH "include/JUCE-${JUCE_VERSION}/modules")
+set(JUCE_MODULE_PATH "share/juce/modules")
set(UTILS_INSTALL_DIR "${JUCE_INSTALL_DESTINATION}")
set(JUCEAIDE_PATH "${JUCE_TOOL_INSTALL_DIR}/${JUCE_JUCEAIDE_NAME}")
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
@@ -148,7 +148,6 @@ configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
PATH_VARS UTILS_INSTALL_DIR JUCEAIDE_PATH JUCE_MODULE_PATH
INSTALL_DESTINATION "${JUCE_INSTALL_DESTINATION}")
-set(JUCE_MODULE_PATH "${JUCE_MODULES_DIR}")
set(UTILS_INSTALL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/extras/Build/CMake")
get_target_property(JUCEAIDE_PATH juceaide IMPORTED_LOCATION)
configure_package_config_file("${JUCE_CMAKE_UTILS_DIR}/JUCEConfig.cmake.in"
@@ -181,7 +180,7 @@ if(("${CMAKE_SOURCE_DIR}" STREQUAL "${JUCE_SOURCE_DIR}") AND (NOT JUCE_BUILD_HEL
_juce_add_lv2_manifest_helper_target()
if(TARGET juce_lv2_helper)
- install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin/JUCE-${JUCE_VERSION}")
+ install(TARGETS juce_lv2_helper EXPORT LV2_HELPER DESTINATION "bin")
install(EXPORT LV2_HELPER NAMESPACE juce:: DESTINATION "${JUCE_INSTALL_DESTINATION}")
endif()
endif()
diff --git a/extras/Build/juceaide/CMakeLists.txt b/extras/Build/juceaide/CMakeLists.txt
index 17e5520974..afcd55981d 100644
--- a/extras/Build/juceaide/CMakeLists.txt
+++ b/extras/Build/juceaide/CMakeLists.txt
@@ -168,7 +168,7 @@ else()
add_executable(juce::juceaide ALIAS juceaide)
- set(JUCE_TOOL_INSTALL_DIR "bin/JUCE-${JUCE_VERSION}" CACHE STRING
+ set(JUCE_TOOL_INSTALL_DIR "bin" CACHE STRING
"The location, relative to the install prefix, where juceaide will be installed")
install(PROGRAMS "${imported_location}" DESTINATION "${JUCE_TOOL_INSTALL_DIR}")
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
index db8a56774d..652da64743 100644
--- a/modules/CMakeLists.txt
+++ b/modules/CMakeLists.txt
@@ -31,7 +31,7 @@
# ==============================================================================
juce_add_modules(
- INSTALL_PATH "include/JUCE-${JUCE_VERSION}/modules"
+ INSTALL_PATH "share/juce/modules"
ALIAS_NAMESPACE juce
juce_analytics
juce_animation
-87
View File
@@ -1,87 +0,0 @@
Name: juce
Version: 8.0.12
Release: 2%{?dist}
License: AGPL-3.0
Summary: framework for audio application and plug-in development
URL: https://juce.com
Source: https://github.com/juce-framework/JUCE/archive/refs/tags/%{version}.tar.gz
Patch0: fix-install-dirs.patch
Packager: metcya <metcya@gmail.com>
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(flac)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(jack)
BuildRequires: ladspa-devel
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libcurl)
BuildRequires: webkit2gtk4.1-devel
# for building docs
BuildRequires: doxygen
BuildRequires: python3
BuildRequires: graphviz
%description
JUCE is an open-source cross-platform C++ application framework for creating
desktop and mobile applications, including VST, VST3, AU, AUv3, AAX and LV2
audio plug-ins and plug-in hosts. JUCE can be easily integrated with existing
projects via CMake, or can be used as a project generation tool via the
Projucer, which supports exporting projects for Xcode (macOS and iOS), Visual
Studio, Android Studio, and Linux Makefiles as well as containing a source code
editor.
%package doc
Summary: Documentation files for %{name}
%description doc
Documentation files for %{name}
%prep
%autosetup -p1 -n JUCE-%{version}
%build
%cmake -DJUCER_ENABLE_GPL_MODE=1 \
-DJUCE_BUILD_EXTRAS=ON \
-DJUCE_TOOL_INSTALL_DIR=bin
%cmake_build
pushd docs/doxygen
python3 build.py
popd
%install
%cmake_install
pushd docs/doxygen/doc
find -type f -exec install -Dm 644 '{}' -t %{buildroot}%{_pkgdocdir} \;
popd
%files
%doc README.md CODE_OF_CONDUCT.md CHANGE_LIST.md BREAKING_CHANGES.md
%license LICENSE.md
%{_bindir}/juceaide
%{_bindir}/juce_lv2_helper
%dir %{_libdir}/cmake/%{name}
%{_libdir}/cmake/%{name}/*
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/modules
%{_datadir}/%{name}/modules/*
%files doc
%license LICENSE.md
%doc %{_pkgdocdir}/*
%changelog
* Tue Dec 23 2025 Owen Zimmerman <owen@fyralabs.com>
- Install doc subpackage license
* Fri Dec 19 2025 metcya <metcya@gmail.com> - 8.0.12
- Package juce
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("juce-framework/JUCE"));
+3 -3
View File
@@ -3,10 +3,10 @@
%global gtk4_version 4.14.4
%global libadwaita_version 1.5.1
%global pure_protobuf_version 2.0.0
%global raw_ver v1.98.0
%global raw_ver v1.95.0
Name: komikku
Version: 1.98.0
Version: 1.95.0
%forgemeta
Release: 1%?dist
Summary: A manga reader for GNOME
@@ -14,7 +14,7 @@ Summary: A manga reader for GNOME
BuildArch: noarch
License: GPL-3.0-or-later
URL: https://apps.gnome.org/Komikku/
URL: https://valos.gitlab.io/Komikku
Source0: https://codeberg.org/valos/%{appname}/archive/%{raw_ver}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: desktop-file-utils
@@ -1,5 +1,5 @@
%global commit baf407ce7cf37b279999ca22ca03b06a44415da7
%global commit_date 20251216
%global commit 94128d8fbcac0a14af4c529b29e0d91b0b997796
%global commit_date 20251114
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global debug_package %nil
%global __strip /bin/true
+4 -3
View File
@@ -1,10 +1,10 @@
# Disable X11 for RHEL 10+
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
%global commit c0d989c83913fb9c990d961c44da4816b8d2de18
%global commit 23f9381b8053ad7fcba11b61607497ce43eaebc7
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20251225
%global ver 0.41.0
%global commit_date 20251129
%global ver 0.40.0
Name: mpv-nightly
Version: %ver^%commit_date.%shortcommit
@@ -188,6 +188,7 @@ sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
-Dsdl2-audio=enabled \
-Dsdl2-gamepad=enabled \
-Dsdl2-video=enabled \
-Dsdl2=enabled \
-Dshaderc=disabled \
-Dsndio=disabled \
-Dspirv-cross=disabled \
+10 -16
View File
@@ -20,7 +20,6 @@ BuildRequires: gtk3-devel
BuildRequires: rust-gdk-pixbuf-sys-devel
BuildRequires: glib2-devel
BuildRequires: openssl-devel
BuildRequires: desktop-file-utils
BuildRequires: anda-srpm-macros
BuildRequires: terra-appstream-helper
@@ -37,31 +36,26 @@ npm install
npm run tauri build
%install
install -Dpm755 src-tauri/target/release/NeoHtop %{buildroot}%{_bindir}/NeoHtop
install -Dpm644 %{SOURCE1} %{buildroot}%{_appsdir}/NeoHtop.desktop
install -Dpm755 src-tauri/target/release/NeoHtop %buildroot%_bindir/NeoHtop
install -Dpm644 %{SOURCE1} %buildroot%{_datadir}/applications/NeoHtop.desktop
# don't mind the numbers not matching, this is how the offical rpm installs these files
install -Dpm644 src-tauri/icons/128x128@2x.png %{buildroot}%{_hicolordir}/256x256@2/apps/NeoHtop.png
install -Dpm644 src-tauri/icons/32x32.png %{buildroot}%{_hicolordir}/32x32/apps/NeoHtop.png
install -Dpm644 src-tauri/icons/128x128.png %{buildroot}%{_hicolordir}/128x128/apps/NeoHtop.png
install -Dpm644 src-tauri/icons/128x128@2x.png %buildroot%{_iconsdir}/hicolor/256x256@2/apps/NeoHtop.png
install -Dpm644 src-tauri/icons/32x32.png %buildroot%{_iconsdir}/hicolor/32x32/apps/NeoHtop.png
install -Dpm644 src-tauri/icons/128x128.png %buildroot%{_iconsdir}/hicolor/128x128/apps/NeoHtop.png
%terra_appstream -o %{SOURCE2}
%check
desktop-file-validate %{buildroot}%{_appsdir}/NeoHtop.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/NeoHtop
%{_appsdir}/NeoHtop.desktop
%{_hicolordir}/256x256@2/apps/NeoHtop.png
%{_hicolordir}/32x32/apps/NeoHtop.png
%{_hicolordir}/128x128/apps/NeoHtop.png
%_bindir/NeoHtop
%{_datadir}/applications/NeoHtop.desktop
%{_iconsdir}/hicolor/256x256@2/apps/NeoHtop.png
%{_iconsdir}/hicolor/32x32/apps/NeoHtop.png
%{_iconsdir}/hicolor/128x128/apps/NeoHtop.png
%{_metainfodir}/com.github.neohtop.metainfo.xml
%changelog
* Wed Dec 24 2025 Owen Zimmerman <owen@fyralabs.com>
- Clean up build, add %check
* Wed Nov 19 2025 Owen Zimmerman <owen@fyralabs.com>
- Add metainfo
* Sat Feb 15 2025 Owen Zimmerman <owen@fyralabs.com>
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "newsraft.spec"
}
}
-61
View File
@@ -1,61 +0,0 @@
%define debug_package %{nil}
Name: newsraft
Version: 0.34
Release: 1%?dist
Summary: Newsraft is a feed reader with text-based user interface.
# It's hosted on codeberg but updates are easier from the github mirror.
URL: https://codeberg.org/newsraft/%{name}
Source0: https://github.com/newsraft/%{name}/archive/refs/tags/%{name}-%{version}.tar.gz
License: ISC
# The Requires and BuildRequires are duplicated because they are used both
# at build and runtime.
BuildRequires: anda-srpm-macros gcc make
BuildRequires: sqlite-devel
BuildRequires: gumbo-parser-devel
BuildRequires: expat-devel
BuildRequires: libcurl-devel
BuildRequires: scdoc %dnl This is just for man pages.
Requires: sqlite-devel
Requires: gumbo-parser-devel
Requires: expat-devel
Requires: libcurl-devel
Packager: arbormoss <arbormoss@woodsprite.dev>
%description
%summary.
It's greatly inspired by Newsboat and tries to be its lightweight counterpart.
%prep
# The source just has an ugly dir name.
%autosetup -n %name-%name-%version
%build
%{make_build}
%{make_build} man
%install
mkdir -p %{buildroot}%{_mandir}/man1/
mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps/
mkdir -p %{buildroot}%{_datadir}/applications/
install -Dm755 %{name} %{buildroot}%{_bindir}/%{name}
install -Dm644 doc/%{name}.1 %{buildroot}%{_mandir}/man1/
install -Dm644 doc/%{name}.svg %{buildroot}%{_iconsdir}/hicolor/scalable/apps/
install -Dm644 doc/%{name}.desktop %{buildroot}%{_datadir}/applications/
%files
%doc README.md
%license doc/license.txt
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1.*
%{_datadir}/applications/%{name}.desktop
%{_iconsdir}/hicolor/scalable/apps/%{name}.svg
%changelog
* Wed Dec 10 2025 arbormoss <arbormoss@woodsprite.dev>
- Intial Commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("newsraft/newsraft"));
+11 -16
View File
@@ -2,8 +2,8 @@
%define debug_package %nil
Name: peazip
Version: 10.8.0
Release: 3%?dist
Version: 10.7.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
@@ -88,20 +88,15 @@ Qt6 version of pea.
%build
cd peazip-sources
rm res/portable
# use system binaries
sed -E -e 's&(\bHSYSBIN\b\s*)=\s*[0-9];&\1= 2;&' -i dev/peach.pas
# set paths, needs trailing slash
sed -E -e 's&(\bHBINPATH\b\s*)=\s*'"''"';&\1= '"'"'%_bindir'"'"';&' -i dev/peach.pas
lazbuild --add-package $(pwd)/dev/metadarkstyle/metadarkstyle.lpk
lazbuild --ws=gtk2 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.gtk2
lazbuild --ws=gtk3 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.gtk3
lazbuild --ws=qt5 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.qt5
lazbuild --ws=qt6 $(pwd)/dev/project_peach.lpi && cp dev/peazip ../peazip.qt6
lazbuild --ws=gtk2 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.gtk2
lazbuild --ws=gtk3 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.gtk3
lazbuild --ws=qt5 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.qt5
lazbuild --ws=qt6 $(pwd)/dev/project_pea.lpi && cp dev/pea ../pea.qt6
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
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit a720bf5041fd832a278378fd6f5cf9a0b3f8cc6f
%global commit_date 20251217
%global commit d09cc3fdb2071552f18b4564e1c77cb288b580db
%global commit_date 20251104
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: rp-bookshelf
+1 -1
View File
@@ -1,4 +1,4 @@
%global ver 2025-12-26
%global ver 2025-11-29
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
+2 -2
View File
@@ -19,8 +19,8 @@
%endif
Name: scrcpy
Version: 3.3.4
Release: 1%?dist
Version: 3.3.3
Release: 2%?dist
Summary: Display and control your Android device
License: Apache-2.0 AND Proprietary
URL: https://github.com/Genymobile/scrcpy
+1 -1
View File
@@ -15,7 +15,7 @@
%endif
Name: signal-desktop
Version: 7.83.0
Version: 7.80.1
Release: 1%?dist
Summary: A private messenger for Windows, macOS, and Linux
URL: https://signal.org
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "snow.spec"
}
}
@@ -1,36 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<component type="desktop-application">
<id>com.github.snow</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<icon
type="local"
>/usr/share/icons/hicolor/1024x1024/apps/snow_icon.png</icon>
<name>snow</name>
<summary>Classic Macintosh emulator</summary>
<description>
<p>
Snow emulates classic (Motorola 68k-based) Macintosh computers.
It features a graphical user interface to operate and debug the emulated machine.
The aim of this project is to emulate the Macintosh on a hardware-level as much as possible,
as opposed to emulators that patch the ROM or intercept system calls.
</p>
</description>
<launchable type="desktop-id">snow.desktop</launchable>
<url type="homepage">https://github.com/twvd/snow</url>
<provides>
<binary>snowemu</binary>
</provides>
<keywords>
<keyword>macintosh</keyword>
</keywords>
<releases>
<release version="1.2.0" />
</releases>
</component>
-7
View File
@@ -1,7 +0,0 @@
[Desktop Entry]
Categories=System;Emulator;
Comment=Classic Macintosh emulator
Exec=snowemu
Icon=snow_icon
Name=snow
Type=Application
-81
View File
@@ -1,81 +0,0 @@
%global appid com.github.snow
Name: snow
Version: 1.2.0
Release: 2%?dist
Summary: Classic Macintosh emulator
URL: https://github.com/twvd/snow
Source0: %url/archive/refs/tags/v%version.tar.gz
Source1: snow.desktop
Source2: %appid.metainfo.xml
License: MIT
BuildRequires: cargo
BuildRequires: gcc-c++
BuildRequires: mold
BuildRequires: anda-srpm-macros
BuildRequires: cargo-rpm-macros
BuildRequires: desktop-file-utils
BuildRequires: terra-appstream-helper
BuildRequires: SDL2-devel
Provides: snowemu
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
Snow emulates classic (Motorola 68k-based) Macintosh computers.
It features a graphical user interface to operate and debug the emulated machine.
The aim of this project is to emulate the Macintosh on a hardware-level as much as possible,
as opposed to emulators that patch the ROM or intercept system calls.
%package doc
Summary: Documentation files for %{name}
%description doc
Documentation files for %{name}
%prep
%autosetup -n %{name}-%{version}
%cargo_prep_online
%build
%cargo_build
%install
mkdir -p %{buildroot}%{_pkgdocdir}
install -Dm755 target/rpm/snow_frontend_egui %{buildroot}%{_bindir}/snowemu
install -Dm644 docs/images/snow_icon.png %{buildroot}%{_hicolordir}/1024x1024/apps/snow_icon.png
install -Dm644 %{SOURCE1} %{buildroot}%{_appsdir}/snow.desktop
cp -a docs/* %{buildroot}%{_pkgdocdir}/
rm %{buildroot}%{_pkgdocdir}/*.toml
rm %{buildroot}%{_pkgdocdir}/images/*.icns
rm %{buildroot}%{_pkgdocdir}/images/*.ico
rm -r %{buildroot}%{_pkgdocdir}/theme
%terra_appstream -o %{SOURCE2}
%cargo_license_summary_online
%{cargo_license_online} > LICENSE.dependencies
%check
desktop-file-validate %{buildroot}%{_appsdir}/snow.desktop
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%{_bindir}/snowemu
%{_hicolordir}/1024x1024/apps/snow_icon.png
%{_appsdir}/snow.desktop
%{_metainfodir}/%appid.metainfo.xml
%files doc
%license LICENSE
%doc %{_pkgdocdir}/*
%changelog
* Tue Dec 23 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("twvd/snow"));
@@ -1 +1 @@
v1.12.14
v1.12.12
+4 -8
View File
@@ -1,7 +1,7 @@
#? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git
Name: throne
Version: 1.0.12
Version: 1.0.11
Release: 1%?dist
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
URL: https://github.com/throneproj/Throne
@@ -39,7 +39,6 @@ BuildRequires: sed
BuildRequires: golang
BuildRequires: rpm_macro(gobuildflags)
BuildRequires: protobuf-compiler
BuildRequires: desktop-file-utils
Requires: %{name}-core
%define core Core
@@ -87,20 +86,17 @@ popd
install -Dm755 %__cmake_builddir/Throne %buildroot%_libdir/%name/%name
install -Dm755 %__cmake_builddir/%core %buildroot%_libdir/%name/%core
install -Dpm755 %{SOURCE4} %{buildroot}%{_bindir}/%{name}
install -Dpm644 %{SOURCE3} %{buildroot}%{_appsdir}/%{name}.desktop
install -Dpm644 %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
install -Dpm644 res/Throne.ico -t %buildroot%_iconsdir/
install -Dpm644 res/public/Throne.png -t %buildroot%_datadir/pixmaps/
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{name}
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{core}
%check
desktop-file-validate %{buildroot}%{_appsdir}/%{name}.desktop
%files
%attr(0755, -, -) %{_bindir}/%{name}
%attr(0755, -, -) %{_libdir}/%{name}/%{name}
%attr(0644, -, -) %{_iconsdir}/Throne.ico
%attr(0644, -, -) %{_appsdir}/%{name}.desktop
%attr(0644, -, -) %{_datadir}/icons/Throne.ico
%attr(0644, -, -) %{_datadir}/applications/%{name}.desktop
%_datadir/pixmaps/Throne.png
%files core
+1 -1
View File
@@ -7,7 +7,7 @@
Name: vesktop
Obsoletes: VencordDesktop < 1.5.8-1
Obsoletes: vencord-desktop < 1.5.8-1
Version: 1.6.3
Version: 1.6.1
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
@@ -1,38 +0,0 @@
From 3039aec58203513f29edb03f84471ea941a0c226 Mon Sep 17 00:00:00 2001
From: Nicolas Chauvet <kwizart@gmail.com>
Date: Mon, 24 Sep 2018 18:28:26 +0200
Subject: [PATCH] Use @SYSTEM wide ciphers for gnutls
Gnutls upstream has support for system defined ciphers list
This is decribed at
https://fedoraproject.org/wiki/Packaging:CryptoPolicies
Also found on the debian wiki
https://wiki.debian.org/CryptoPolicy
Signed-off-by: Nicolas Chauvet <kwizart@gmail.com>
---
modules/misc/gnutls.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/modules/misc/gnutls.c b/modules/misc/gnutls.c
index 7b63cc34c4..3ca665f3d3 100644
--- a/modules/misc/gnutls.c
+++ b/modules/misc/gnutls.c
@@ -768,12 +768,14 @@ static void CloseServer (vlc_tls_creds_t *crd)
"hash functions and compression methods can be selected. " \
"Refer to GNU TLS documentation for detailed syntax.")
static const char *const priorities_values[] = {
+ "@SYSTEM",
"PERFORMANCE",
"NORMAL",
"SECURE128",
"SECURE256",
};
static const char *const priorities_text[] = {
+ N_("System (default to system crypto ciphers policy)"),
N_("Performance (prioritize faster ciphers)"),
N_("Normal"),
N_("Secure 128-bits (exclude 256-bits ciphers)"),
--
2.25.4
-775
View File
@@ -1,775 +0,0 @@
From 81d6d56df6e5a66ed99970e2c559539858f4a0b7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
Date: Sat, 5 May 2018 15:28:15 +0300
Subject: [PATCH 01/11] avcodec: avoid signedness mismatch warning
Bitmask should be unsigned, but ffmpeg seems confused with itself.
(cherry picked from commit 8544233e7fde2965435e32a445494898440ecc30)
---
modules/codec/avcodec/audio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
index 50a76c7a18e..e5af0ca5f2f 100644
--- a/modules/codec/avcodec/audio.c
+++ b/modules/codec/avcodec/audio.c
@@ -593,9 +593,9 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
uint32_t pi_order_src[i_order_max];
int i_channels_src = 0;
- int64_t channel_layout =
+ uint64_t channel_layout =
p_sys->p_context->channel_layout ? p_sys->p_context->channel_layout :
- av_get_default_channel_layout( p_sys->p_context->channels );
+ (uint64_t)av_get_default_channel_layout( p_sys->p_context->channels );
if( channel_layout )
{
--
GitLab
From c7709e7a048eb69b656d7f9663debbc1dde1f591 Mon Sep 17 00:00:00 2001
From: Ilkka Ollakka <ileoo@videolan.org>
Date: Wed, 5 Jul 2023 12:51:34 +0300
Subject: [PATCH 02/11] avcodec: use p_dec->fmt_out instead of context channels
on audio channel-count
reduces the need of ifdefs when adding ch_layout support
(cherry picked from commit bddf5ba19111d1cc4463d9876c4bc4ba75f82d7f)
---
modules/codec/avcodec/audio.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
index e5af0ca5f2f..26166c084e5 100644
--- a/modules/codec/avcodec/audio.c
+++ b/modules/codec/avcodec/audio.c
@@ -484,15 +484,15 @@ static block_t * ConvertAVFrame( decoder_t *p_dec, AVFrame *frame )
/* Interleave audio if required */
if( av_sample_fmt_is_planar( ctx->sample_fmt ) )
{
- p_block = block_Alloc(frame->linesize[0] * ctx->channels);
+ p_block = block_Alloc(frame->linesize[0] * p_dec->fmt_out.audio.i_channels );
if ( likely(p_block) )
{
- const void *planes[ctx->channels];
- for (int i = 0; i < ctx->channels; i++)
+ const void *planes[p_dec->fmt_out.audio.i_channels];
+ for (int i = 0; i < p_dec->fmt_out.audio.i_channels; i++)
planes[i] = frame->extended_data[i];
aout_Interleave(p_block->p_buffer, planes, frame->nb_samples,
- ctx->channels, p_dec->fmt_out.audio.i_format);
+ p_dec->fmt_out.audio.i_channels, p_dec->fmt_out.audio.i_format);
p_block->i_nb_samples = frame->nb_samples;
}
av_frame_free(&frame);
@@ -511,7 +511,7 @@ static block_t * ConvertAVFrame( decoder_t *p_dec, AVFrame *frame )
{
aout_ChannelExtract( p_buffer->p_buffer,
p_dec->fmt_out.audio.i_channels,
- p_block->p_buffer, ctx->channels,
+ p_block->p_buffer, p_dec->fmt_out.audio.i_channels,
p_block->i_nb_samples, p_sys->pi_extraction,
p_dec->fmt_out.audio.i_bitspersample );
p_buffer->i_nb_samples = p_block->i_nb_samples;
@@ -600,13 +600,13 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
if( channel_layout )
{
for( unsigned i = 0; i < i_order_max
- && i_channels_src < p_sys->p_context->channels; i++ )
+ && i_channels_src < p_dec->fmt_out.audio.i_channels; i++ )
{
if( channel_layout & pi_channels_map[i][0] )
pi_order_src[i_channels_src++] = pi_channels_map[i][1];
}
- if( i_channels_src != p_sys->p_context->channels && b_trust )
+ if( i_channels_src != p_dec->fmt_out.audio.i_channels && b_trust )
msg_Err( p_dec, "Channel layout not understood" );
/* Detect special dual mono case */
--
GitLab
From 99b14966182995314f5b29fd972d6a9000ea3e00 Mon Sep 17 00:00:00 2001
From: Ilkka Ollakka <ileoo@videolan.org>
Date: Wed, 5 Jul 2023 13:33:09 +0300
Subject: [PATCH 03/11] avcodec: audio decoder to use ch_layout
(cherry picked from commit 496f0f2a659c1339d1e37330d446e9b6ce96e76b)
---
modules/codec/avcodec/audio.c | 42 ++++++++++++++++++++++++++++-------
1 file changed, 34 insertions(+), 8 deletions(-)
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
index 26166c084e5..ad8a40ab4ed 100644
--- a/modules/codec/avcodec/audio.c
+++ b/modules/codec/avcodec/audio.c
@@ -139,7 +139,11 @@ static int OpenAudioCodec( decoder_t *p_dec )
}
ctx->sample_rate = p_dec->fmt_in.audio.i_rate;
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ av_channel_layout_default( &ctx->ch_layout, p_dec->fmt_in.audio.i_channels );
+#else
ctx->channels = p_dec->fmt_in.audio.i_channels;
+#endif
ctx->block_align = p_dec->fmt_in.audio.i_blockalign;
ctx->bit_rate = p_dec->fmt_in.i_bitrate;
ctx->bits_per_coded_sample = p_dec->fmt_in.audio.i_bitspersample;
@@ -395,12 +399,17 @@ static int DecodeBlock( decoder_t *p_dec, block_t **pp_block )
ret = avcodec_receive_frame( ctx, frame );
if( ret == 0 )
{
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ int channels = frame->ch_layout.nb_channels;
+#else
+ int channels = ctx->channels;
+#endif
/* checks and init from first decoded frame */
- if( ctx->channels <= 0 || ctx->channels > INPUT_CHAN_MAX
+ if( channels <= 0 || channels > INPUT_CHAN_MAX
|| ctx->sample_rate <= 0 )
{
msg_Warn( p_dec, "invalid audio properties channels count %d, sample rate %d",
- ctx->channels, ctx->sample_rate );
+ channels, ctx->sample_rate );
goto drop;
}
else if( p_dec->fmt_out.audio.i_rate != (unsigned int)ctx->sample_rate )
@@ -580,6 +589,16 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
p_dec->fmt_out.audio.i_rate = p_sys->p_context->sample_rate;
/* */
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ if( p_sys->i_previous_channels == p_sys->p_context->ch_layout.nb_channels &&
+ p_sys->i_previous_layout == p_sys->p_context->ch_layout.u.mask )
+ return;
+ if( b_trust )
+ {
+ p_sys->i_previous_channels = p_sys->p_context->ch_layout.nb_channels;
+ p_sys->i_previous_layout = p_sys->p_context->ch_layout.u.mask;
+ }
+#else
if( p_sys->i_previous_channels == p_sys->p_context->channels &&
p_sys->i_previous_layout == p_sys->p_context->channel_layout )
return;
@@ -588,25 +607,32 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
p_sys->i_previous_channels = p_sys->p_context->channels;
p_sys->i_previous_layout = p_sys->p_context->channel_layout;
}
+#endif
const unsigned i_order_max = sizeof(pi_channels_map)/sizeof(*pi_channels_map);
uint32_t pi_order_src[i_order_max];
int i_channels_src = 0;
- uint64_t channel_layout =
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ uint64_t channel_layout_mask = p_sys->p_context->ch_layout.u.mask;
+ int channel_count = p_sys->p_context->ch_layout.nb_channels;
+#else
+ uint64_t channel_layout_mask =
p_sys->p_context->channel_layout ? p_sys->p_context->channel_layout :
(uint64_t)av_get_default_channel_layout( p_sys->p_context->channels );
+ int channel_count = p_sys->p_context->channels;
+#endif
- if( channel_layout )
+ if( channel_layout_mask )
{
for( unsigned i = 0; i < i_order_max
- && i_channels_src < p_dec->fmt_out.audio.i_channels; i++ )
+ && i_channels_src < channel_count; i++ )
{
- if( channel_layout & pi_channels_map[i][0] )
+ if( channel_layout_mask & pi_channels_map[i][0] )
pi_order_src[i_channels_src++] = pi_channels_map[i][1];
}
- if( i_channels_src != p_dec->fmt_out.audio.i_channels && b_trust )
+ if( i_channels_src != channel_count && b_trust )
msg_Err( p_dec, "Channel layout not understood" );
/* Detect special dual mono case */
@@ -638,7 +664,7 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
{
msg_Warn( p_dec, "no channel layout found");
p_dec->fmt_out.audio.i_physical_channels = 0;
- p_dec->fmt_out.audio.i_channels = p_sys->p_context->channels;
+ p_dec->fmt_out.audio.i_channels = channel_count;
}
aout_FormatPrepare( &p_dec->fmt_out.audio );
--
GitLab
From c44edb85e4f25cbc7a848211d2d3ca9f03bd46e6 Mon Sep 17 00:00:00 2001
From: Ilkka Ollakka <ileoo@videolan.org>
Date: Tue, 4 Jul 2023 16:52:38 +0300
Subject: [PATCH 04/11] avcodec: use p_enc audio channels instead of context
channels in encoder
Allows to have less conditions in code when adding new ch_layout use
(cherry-picked from commit 29747a8abb98ba53a64aa6761983891eeed2e0e4)
---
modules/codec/avcodec/encoder.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
index 4919ccf0e0e..52848de0658 100644
--- a/modules/codec/avcodec/encoder.c
+++ b/modules/codec/avcodec/encoder.c
@@ -790,7 +790,7 @@ int InitVideoEnc( vlc_object_t *p_this )
}
}
}
- if( i_channels_src != p_context->channels )
+ if( i_channels_src != p_enc->fmt_out.audio.i_channels )
msg_Err( p_enc, "Channel layout not understood" );
p_sys->i_channels_to_reorder =
@@ -897,7 +897,7 @@ int InitVideoEnc( vlc_object_t *p_this )
if( ret )
{
if( p_enc->fmt_in.i_cat != AUDIO_ES ||
- (p_context->channels <= 2 && i_codec_id != AV_CODEC_ID_MP2
+ (p_enc->fmt_out.audio.i_channels <= 2 && i_codec_id != AV_CODEC_ID_MP2
&& i_codec_id != AV_CODEC_ID_MP3) )
errmsg:
{
@@ -922,7 +922,7 @@ errmsg:
goto error;
}
- if( p_context->channels > 2 )
+ if( p_enc->fmt_out.audio.i_channels > 2 )
{
p_context->channels = 2;
p_context->channel_layout = channel_mask[p_context->channels][1];
@@ -1028,7 +1028,7 @@ errmsg:
p_context->frame_size :
AV_INPUT_BUFFER_MIN_SIZE;
p_sys->i_buffer_out = av_samples_get_buffer_size(NULL,
- p_sys->p_context->channels, p_sys->i_frame_size,
+ p_enc->fmt_out.audio.i_channels, p_sys->i_frame_size,
p_sys->p_context->sample_fmt, DEFAULT_ALIGN);
p_sys->p_buffer = av_malloc( p_sys->i_buffer_out );
if ( unlikely( p_sys->p_buffer == NULL ) )
@@ -1278,7 +1278,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
{
block_t *p_block = NULL;
//How much we need to copy from new packet
- const size_t leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes;
+ const size_t leftover = leftover_samples * p_enc->fmt_out.audio.i_channels * p_sys->i_sample_bytes;
av_frame_unref( p_sys->frame );
p_sys->frame->format = p_sys->p_context->sample_fmt;
@@ -1301,7 +1301,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
// We need to deinterleave from p_aout_buf to p_buffer the leftover bytes
if( p_sys->b_planar )
aout_Deinterleave( p_sys->p_interleave_buf, p_sys->p_buffer,
- p_sys->i_frame_size, p_sys->p_context->channels, p_enc->fmt_in.i_codec );
+ p_sys->i_frame_size, p_enc->fmt_out.audio.i_channels, p_enc->fmt_in.i_codec );
else
memcpy( p_sys->p_buffer + buffer_delay, p_aout_buf->p_buffer, leftover);
@@ -1319,7 +1319,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
memset( p_sys->p_buffer + (leftover+buffer_delay), 0, padding_size );
buffer_delay += padding_size;
}
- if( avcodec_fill_audio_frame( p_sys->frame, p_sys->p_context->channels,
+ if( avcodec_fill_audio_frame( p_sys->frame, p_enc->fmt_out.audio.i_channels,
p_sys->p_context->sample_fmt, p_sys->b_planar ? p_sys->p_interleave_buf : p_sys->p_buffer,
p_sys->i_buffer_out,
DEFAULT_ALIGN) < 0 )
@@ -1349,7 +1349,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
//i_bytes_left is amount of bytes we get
i_samples_left = p_aout_buf ? p_aout_buf->i_nb_samples : 0;
- buffer_delay = p_sys->i_samples_delay * p_sys->i_sample_bytes * p_sys->p_context->channels;
+ buffer_delay = p_sys->i_samples_delay * p_sys->i_sample_bytes * p_enc->fmt_out.audio.i_channels;
//p_sys->i_buffer_out = p_sys->i_frame_size * chan * p_sys->i_sample_bytes
//Calculate how many bytes we would need from current buffer to fill frame
@@ -1418,12 +1418,12 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
p_sys->frame->channels = p_sys->p_context->channels;
const int in_bytes = p_sys->frame->nb_samples *
- p_sys->p_context->channels * p_sys->i_sample_bytes;
+ p_enc->fmt_out.audio.i_channels* p_sys->i_sample_bytes;
if( p_sys->b_planar )
{
aout_Deinterleave( p_sys->p_buffer, p_aout_buf->p_buffer,
- p_sys->frame->nb_samples, p_sys->p_context->channels, p_enc->fmt_in.i_codec );
+ p_sys->frame->nb_samples, p_enc->fmt_out.audio.i_channels, p_enc->fmt_in.i_codec );
}
else
@@ -1431,7 +1431,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
memcpy(p_sys->p_buffer, p_aout_buf->p_buffer, in_bytes);
}
- if( avcodec_fill_audio_frame( p_sys->frame, p_sys->p_context->channels,
+ if( avcodec_fill_audio_frame( p_sys->frame, p_enc->fmt_out.audio.i_channels,
p_sys->p_context->sample_fmt,
p_sys->p_buffer,
p_sys->i_buffer_out,
@@ -1457,7 +1457,7 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
if( p_aout_buf->i_nb_samples > 0 )
{
memcpy( p_sys->p_buffer + buffer_delay, p_aout_buf->p_buffer,
- p_aout_buf->i_nb_samples * p_sys->i_sample_bytes * p_sys->p_context->channels);
+ p_aout_buf->i_nb_samples * p_sys->i_sample_bytes * p_enc->fmt_out.audio.i_channels);
p_sys->i_samples_delay += p_aout_buf->i_nb_samples;
}
--
GitLab
From b8ad80a20e9e84082dac2848070d251fa68412c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Tue, 23 Apr 2024 13:13:30 +0700
Subject: [PATCH 05/11] codec: avcodec: map AYUV as RAWVIDEO with ffmpeg 6.0
(cherry picked from commit 955ef939467a628eb8da08e0d5eaefc9a3484cba)
---
modules/codec/avcodec/fourcc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/modules/codec/avcodec/fourcc.c b/modules/codec/avcodec/fourcc.c
index 33c6cae09ab..97f3188211d 100644
--- a/modules/codec/avcodec/fourcc.c
+++ b/modules/codec/avcodec/fourcc.c
@@ -182,8 +182,12 @@ static const struct vlc_avcodec_fourcc video_codecs[] =
/* AV_CODEC_ID_V210X */
{ VLC_CODEC_TMV, AV_CODEC_ID_TMV },
{ VLC_CODEC_V210, AV_CODEC_ID_V210 },
-#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 54, 50, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100
+#if LIBAVCODEC_VERSION_MICRO >= 100
+# if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 42, 102 )
+ { VLC_CODEC_VUYA, AV_CODEC_ID_RAWVIDEO },
+# elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 54, 50, 100 )
{ VLC_CODEC_VUYA, AV_CODEC_ID_AYUV },
+# endif
#endif
/* AV_CODEC_ID_DPX */
{ VLC_CODEC_MAD, AV_CODEC_ID_MAD },
--
GitLab
From 58c05240c26b6eef56e7c5ab35b14ccd8377667f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Thu, 13 Jun 2024 12:21:58 +0700
Subject: [PATCH 06/11] avcodec: encoder: fix channel_layout conditionals
---
modules/codec/avcodec/encoder.c | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
index 52848de0658..6bd58f5071d 100644
--- a/modules/codec/avcodec/encoder.c
+++ b/modules/codec/avcodec/encoder.c
@@ -43,12 +43,13 @@
#include <vlc_cpu.h>
#include <libavcodec/avcodec.h>
-#include <libavutil/channel_layout.h>
#include "avcodec.h"
#include "avcommon.h"
-#if LIBAVUTIL_VERSION_CHECK( 52,2,6,0,0 )
+#define API_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_CHECK( 52, 2, 6, 0, 100))
+
+#if API_CHANNEL_LAYOUT
# include <libavutil/channel_layout.h>
#endif
@@ -157,6 +158,7 @@ struct encoder_sys_t
/* Taken from audio.c*/
+#if API_CHANNEL_LAYOUT
static const uint64_t pi_channels_map[][2] =
{
{ AV_CH_FRONT_LEFT, AOUT_CHAN_LEFT },
@@ -193,6 +195,7 @@ static const uint32_t channel_mask[][2] = {
{AOUT_CHANS_7_1, AV_CH_LAYOUT_7POINT1},
{AOUT_CHANS_8_1, AV_CH_LAYOUT_OCTAGONAL},
};
+#endif
static const char *const ppsz_enc_options[] = {
"keyint", "bframes", "vt", "qmin", "qmax", "codec", "hq",
@@ -746,7 +749,7 @@ int InitVideoEnc( vlc_object_t *p_this )
p_context->time_base.num = 1;
p_context->time_base.den = p_context->sample_rate;
p_context->channels = p_enc->fmt_out.audio.i_channels;
-#if LIBAVUTIL_VERSION_CHECK( 52, 2, 6, 0, 0)
+#if API_CHANNEL_LAYOUT
p_context->channel_layout = channel_mask[p_context->channels][1];
/* Setup Channel ordering for multichannel audio
@@ -925,7 +928,9 @@ errmsg:
if( p_enc->fmt_out.audio.i_channels > 2 )
{
p_context->channels = 2;
+#if API_CHANNEL_LAYOUT
p_context->channel_layout = channel_mask[p_context->channels][1];
+#endif
/* Change fmt_in in order to ask for a channels conversion */
p_enc->fmt_in.audio.i_channels =
--
GitLab
From 3db6e677680a1a94e473fe9d9fc121af34cdcf2b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Sat, 17 Aug 2024 11:22:33 +0700
Subject: [PATCH 07/11] codec: avcodec: fix audio channel_layout conditionals
---
modules/codec/avcodec/audio.c | 23 +++++++++++++++--------
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c
index ad8a40ab4ed..c74757c76ae 100644
--- a/modules/codec/avcodec/audio.c
+++ b/modules/codec/avcodec/audio.c
@@ -41,8 +41,11 @@
#include <libavcodec/avcodec.h>
#include <libavutil/mem.h>
-#include <libavutil/channel_layout.h>
+#define API_CHANNEL_LAYOUT (LIBAVUTIL_VERSION_CHECK( 52, 2, 6, 0, 100))
+#if API_CHANNEL_LAYOUT
+# include <libavutil/channel_layout.h>
+#endif
/*****************************************************************************
* decoder_sys_t : decoder descriptor
@@ -598,7 +601,7 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
p_sys->i_previous_channels = p_sys->p_context->ch_layout.nb_channels;
p_sys->i_previous_layout = p_sys->p_context->ch_layout.u.mask;
}
-#else
+#elif API_CHANNEL_LAYOUT
if( p_sys->i_previous_channels == p_sys->p_context->channels &&
p_sys->i_previous_layout == p_sys->p_context->channel_layout )
return;
@@ -612,15 +615,19 @@ static void SetupOutputFormat( decoder_t *p_dec, bool b_trust )
const unsigned i_order_max = sizeof(pi_channels_map)/sizeof(*pi_channels_map);
uint32_t pi_order_src[i_order_max];
- int i_channels_src = 0;
+ int i_channels_src = 0, channel_count;
+ uint64_t channel_layout_mask;
#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
- uint64_t channel_layout_mask = p_sys->p_context->ch_layout.u.mask;
- int channel_count = p_sys->p_context->ch_layout.nb_channels;
-#else
- uint64_t channel_layout_mask =
+ channel_layout_mask = p_sys->p_context->ch_layout.u.mask;
+ channel_count = p_sys->p_context->ch_layout.nb_channels;
+#elif API_CHANNEL_LAYOUT
+ channel_layout_mask =
p_sys->p_context->channel_layout ? p_sys->p_context->channel_layout :
(uint64_t)av_get_default_channel_layout( p_sys->p_context->channels );
- int channel_count = p_sys->p_context->channels;
+ channel_count = p_sys->p_context->channels;
+#else
+ channel_layout_mask = NULL;
+ channel_count = p_sys->p_context->channels;
#endif
if( channel_layout_mask )
--
GitLab
From b5bb9bda03a06fc1cfd682dacb571b688b5558d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Tue, 23 Apr 2024 13:14:53 +0700
Subject: [PATCH 08/11] demux/mux: avformat: use ch_layout from ffmpeg 5.1
merger pick from commit a55ec32ab3760d9edb6f05481cd3a981aa42878d
and fixup 195f0c98599b55950c49a62f98d9d3495be310df
---
modules/demux/avformat/demux.c | 4 ++++
modules/demux/avformat/mux.c | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/modules/demux/avformat/demux.c b/modules/demux/avformat/demux.c
index 3b355bb3fae..830dc0157e2 100644
--- a/modules/demux/avformat/demux.c
+++ b/modules/demux/avformat/demux.c
@@ -401,7 +401,11 @@ int avformat_OpenDemux( vlc_object_t *p_this )
es_format_Init( &es_fmt, AUDIO_ES, fcc );
es_fmt.i_original_fourcc = CodecTagToFourcc( cp->codec_tag );
es_fmt.i_bitrate = cp->bit_rate;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 24, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100
+ es_fmt.audio.i_channels = cp->ch_layout.nb_channels;
+#else
es_fmt.audio.i_channels = cp->channels;
+#endif
es_fmt.audio.i_rate = cp->sample_rate;
es_fmt.audio.i_bitspersample = cp->bits_per_coded_sample;
es_fmt.audio.i_blockalign = cp->block_align;
diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
index c708276954c..8bf8735885f 100644
--- a/modules/demux/avformat/mux.c
+++ b/modules/demux/avformat/mux.c
@@ -267,7 +267,11 @@ static int AddStream( sout_mux_t *p_mux, sout_input_t *p_input )
{
case AUDIO_ES:
codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
+#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT( 59, 24, 100 ) && LIBAVCODEC_VERSION_MICRO >= 100
+ av_channel_layout_default( &codecpar->ch_layout, fmt->audio.i_channels );
+#else
codecpar->channels = fmt->audio.i_channels;
+#endif
codecpar->sample_rate = fmt->audio.i_rate;
stream->time_base = (AVRational){1, codecpar->sample_rate};
if (fmt->i_bitrate == 0) {
--
GitLab
From fa001cda7f6b22843438c39dfc078050bb54c72a Mon Sep 17 00:00:00 2001
From: Ilkka Ollakka <ileoo@videolan.org>
Date: Tue, 4 Jul 2023 16:53:43 +0300
Subject: [PATCH 09/11] avcodec: add handling of new ch_layout in audio encoder
conditioned to avcodec version where is it added
(cherry picked from commit c4302ca59dd79efd7208a45a3fcdc44388fd03a8)
---
modules/codec/avcodec/encoder.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
index 6bd58f5071d..757f93b4684 100644
--- a/modules/codec/avcodec/encoder.c
+++ b/modules/codec/avcodec/encoder.c
@@ -927,11 +927,14 @@ errmsg:
if( p_enc->fmt_out.audio.i_channels > 2 )
{
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ av_channel_layout_default( &p_context->ch_layout, 2 );
+#else
p_context->channels = 2;
-#if API_CHANNEL_LAYOUT
+# if API_CHANNEL_LAYOUT
p_context->channel_layout = channel_mask[p_context->channels][1];
+# endif
#endif
-
/* Change fmt_in in order to ask for a channels conversion */
p_enc->fmt_in.audio.i_channels =
p_enc->fmt_out.audio.i_channels = 2;
@@ -1288,8 +1291,12 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, uns
av_frame_unref( p_sys->frame );
p_sys->frame->format = p_sys->p_context->sample_fmt;
p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay;
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ av_channel_layout_copy(&p_sys->frame->ch_layout, &p_sys->p_context->ch_layout);
+#else
p_sys->frame->channel_layout = p_sys->p_context->channel_layout;
p_sys->frame->channels = p_sys->p_context->channels;
+#endif
p_sys->frame->pts = date_Get( &p_sys->buffer_date ) * p_sys->p_context->time_base.den /
CLOCK_FREQ / p_sys->p_context->time_base.num;
@@ -1419,8 +1426,12 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf )
p_sys->frame->pts = date_Get( &p_sys->buffer_date ) * p_sys->p_context->time_base.den /
CLOCK_FREQ / p_sys->p_context->time_base.num;
+#if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ av_channel_layout_copy(&p_sys->frame->ch_layout, &p_sys->p_context->ch_layout);
+#else
p_sys->frame->channel_layout = p_sys->p_context->channel_layout;
p_sys->frame->channels = p_sys->p_context->channels;
+#endif
const int in_bytes = p_sys->frame->nb_samples *
p_enc->fmt_out.audio.i_channels* p_sys->i_sample_bytes;
--
GitLab
From bb62989ccc12866d308e6f38dc1513de9cb1c6da Mon Sep 17 00:00:00 2001
From: Ilkka Ollakka <ileoo@videolan.org>
Date: Tue, 4 Jul 2023 16:55:28 +0300
Subject: [PATCH 10/11] avcodec: use ch_layout for channel layout in audio
encoder
channels and channel_layout has been deprecated in FFMPEG 5.1 and will be removed eventually
also always create the mapping, as ch_layout is always there
(cherry picked from commit b73dc8841d999c6be9de718cd2cd3aeb13279792)
---
modules/codec/avcodec/encoder.c | 53 ++++++++++++++-------------------
1 file changed, 22 insertions(+), 31 deletions(-)
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
index 757f93b4684..ae746c99fc8 100644
--- a/modules/codec/avcodec/encoder.c
+++ b/modules/codec/avcodec/encoder.c
@@ -183,6 +183,7 @@ static const uint64_t pi_channels_map[][2] =
{ AV_CH_STEREO_RIGHT, 0 },
};
+# if !LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
static const uint32_t channel_mask[][2] = {
{0,0},
{AOUT_CHAN_CENTER, AV_CH_LAYOUT_MONO},
@@ -195,6 +196,7 @@ static const uint32_t channel_mask[][2] = {
{AOUT_CHANS_7_1, AV_CH_LAYOUT_7POINT1},
{AOUT_CHANS_8_1, AV_CH_LAYOUT_OCTAGONAL},
};
+# endif
#endif
static const char *const ppsz_enc_options[] = {
@@ -748,49 +750,36 @@ int InitVideoEnc( vlc_object_t *p_this )
date_Set( &p_sys->buffer_date, AV_NOPTS_VALUE );
p_context->time_base.num = 1;
p_context->time_base.den = p_context->sample_rate;
- p_context->channels = p_enc->fmt_out.audio.i_channels;
-#if API_CHANNEL_LAYOUT
- p_context->channel_layout = channel_mask[p_context->channels][1];
- /* Setup Channel ordering for multichannel audio
+ /* Setup Channel ordering for audio
* as VLC channel order isn't same as libavcodec expects
*/
p_sys->i_channels_to_reorder = 0;
- /* Specified order
+ /* Create channel layout for avcodec
* Copied from audio.c
*/
- const unsigned i_order_max = 8 * sizeof(p_context->channel_layout);
- uint32_t pi_order_dst[AOUT_CHAN_MAX] = { };
+#if API_CHANNEL_LAYOUT
+ uint32_t pi_order_dst[AOUT_CHAN_MAX] = { 0 };
uint32_t order_mask = 0;
int i_channels_src = 0;
-
- if( p_context->channel_layout )
- {
- msg_Dbg( p_enc, "Creating channel order for reordering");
- for( unsigned i = 0; i < sizeof(pi_channels_map)/sizeof(*pi_channels_map); i++ )
- {
- if( p_context->channel_layout & pi_channels_map[i][0] )
- {
- msg_Dbg( p_enc, "%d %"PRIx64" mapped to %"PRIx64"", i_channels_src, pi_channels_map[i][0], pi_channels_map[i][1]);
- pi_order_dst[i_channels_src++] = pi_channels_map[i][1];
- order_mask |= pi_channels_map[i][1];
- }
- }
- }
- else
+ msg_Dbg( p_enc, "Creating channel order for reordering");
+# if LIBAVCODEC_VERSION_CHECK(59, 999, 999, 24, 100)
+ av_channel_layout_default( &p_context->ch_layout, p_enc->fmt_out.audio.i_channels );
+ uint64_t channel_mask = p_context->ch_layout.u.mask;
+# else
+ p_context->channels = p_enc->fmt_out.audio.i_channels;
+ p_context->channel_layout = channel_mask[p_context->channels][1];
+ uint64_t channel_mask = p_context->channel_layout;
+# endif
+ for( unsigned i = 0; i < sizeof(pi_channels_map)/sizeof(*pi_channels_map); i++ )
{
- msg_Dbg( p_enc, "Creating default channel order for reordering");
- /* Create default order */
- for( unsigned int i = 0; i < __MIN( i_order_max, (unsigned)p_sys->p_context->channels ); i++ )
+ if( channel_mask & pi_channels_map[i][0] )
{
- if( i < sizeof(pi_channels_map)/sizeof(*pi_channels_map) )
- {
- msg_Dbg( p_enc, "%d channel is %"PRIx64"", i_channels_src, pi_channels_map[i][1]);
- pi_order_dst[i_channels_src++] = pi_channels_map[i][1];
- order_mask |= pi_channels_map[i][1];
- }
+ msg_Dbg( p_enc, "%d %"PRIx64" mapped to %"PRIx64"", i_channels_src, pi_channels_map[i][0], pi_channels_map[i][1]);
+ pi_order_dst[i_channels_src++] = pi_channels_map[i][1];
+ order_mask |= pi_channels_map[i][1];
}
}
if( i_channels_src != p_enc->fmt_out.audio.i_channels )
@@ -799,6 +788,8 @@ int InitVideoEnc( vlc_object_t *p_this )
p_sys->i_channels_to_reorder =
aout_CheckChannelReorder( NULL, pi_order_dst, order_mask,
p_sys->pi_reorder_layout );
+#else
+ p_context->channels = p_enc->fmt_out.audio.i_channels;
#endif
if ( p_enc->fmt_out.i_codec == VLC_CODEC_MP4A )
--
GitLab
From e020f9abb31809584e33d740593d6ae5a190771d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Mon, 12 Aug 2024 19:32:42 +0700
Subject: [PATCH 11/11] codec: avcodec: bypass removed define for Intel
workarounds
adapted from cherry picked commit 1280728ad305f00ceba3491ce11bf66107017a6c
---
modules/codec/avcodec/d3d11va.c | 4 ++++
modules/codec/avcodec/dxva2.c | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/modules/codec/avcodec/d3d11va.c b/modules/codec/avcodec/d3d11va.c
index e1560a9312c..5260628364f 100644
--- a/modules/codec/avcodec/d3d11va.c
+++ b/modules/codec/avcodec/d3d11va.c
@@ -55,6 +55,10 @@
#define D3D_DecoderSurface ID3D11VideoDecoderOutputView
#include "directx_va.h"
+#ifndef FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO
+# define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 // moved to libavcodec/dxva2_internal.h :/
+#endif
+
static int Open(vlc_va_t *, AVCodecContext *, const AVPixFmtDescriptor *, enum PixelFormat,
const es_format_t *, picture_sys_t *p_sys);
static void Close(vlc_va_t *, void **);
diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c
index 2e6809a0541..037ad7d4488 100644
--- a/modules/codec/avcodec/dxva2.c
+++ b/modules/codec/avcodec/dxva2.c
@@ -43,6 +43,10 @@
#define D3D_DecoderSurface IDirect3DSurface9
#include "directx_va.h"
+#ifndef FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO
+# define FF_DXVA2_WORKAROUND_INTEL_CLEARVIDEO 2 // moved to libavcodec/dxva2_internal.h :/
+#endif
+
static int Open(vlc_va_t *, AVCodecContext *, const AVPixFmtDescriptor *, enum PixelFormat,
const es_format_t *, picture_sys_t *p_sys);
static void Close(vlc_va_t *, void **);
--
GitLab
-28
View File
@@ -1,28 +0,0 @@
From a761e1c202b632e7865d18fcf11a2b9e285ea9ae Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tmatth@videolan.org>
Date: Wed, 1 Feb 2023 23:39:36 -0500
Subject: [PATCH] opus_header: fix channel mapping family 1 parsing
Fixes #27808
(cherry picked from commit 79fa6af0a98921f9d34933761f4fe20ef6c35309)
---
modules/codec/opus_header.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/codec/opus_header.c b/modules/codec/opus_header.c
index 4069a5cf4613..b134b20b625b 100644
--- a/modules/codec/opus_header.c
+++ b/modules/codec/opus_header.c
@@ -205,7 +205,7 @@ int opus_header_parse(const unsigned char *packet, int len, OpusHeader *h)
h->nb_coupled = ch;
/* Multi-stream support */
- if(h->channel_mapping == 2)
+ if(h->channel_mapping <= 2)
{
if (h->nb_coupled + h->nb_streams > 255)
return 0;
--
GitLab
-82
View File
@@ -1,82 +0,0 @@
From a618e31cf209168ae420e95750734a37359969e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Cartegnie?= <fcvlcdev@free.fr>
Date: Sun, 7 Jul 2024 11:14:05 +0200
Subject: [PATCH] mux: avformat: fix avio callbacks signature with ffmpeg 6.1
API signature changes introduced depending on a positive define,
then removed later, making it break prior or post removal...
(adapted from commit 503c04fad9239420be26d67aab4d5f63c53eb4f7)
---
modules/codec/avcodec/avcommon_compat.h | 3 +++
modules/demux/avformat/mux.c | 18 ++++++++++++++++++
2 files changed, 21 insertions(+)
diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h
index 9d16b3dc47d9..561ad83f99f9 100644
--- a/modules/codec/avcodec/avcommon_compat.h
+++ b/modules/codec/avcodec/avcommon_compat.h
@@ -77,6 +77,9 @@
#ifndef FF_MAX_B_FRAMES
# define FF_MAX_B_FRAMES 16 // FIXME: remove this
#endif
+#ifndef FF_API_AVIO_WRITE_NONCONST // removed in ffmpeg 7
+# define FF_API_AVIO_WRITE_NONCONST (LIBAVFORMAT_VERSION_MAJOR < 61)
+#endif
#endif /* HAVE_LIBAVCODEC_AVCODEC_H */
diff --git a/modules/demux/avformat/mux.c b/modules/demux/avformat/mux.c
index 8bf8735885f5..033a87bdaaad 100644
--- a/modules/demux/avformat/mux.c
+++ b/modules/demux/avformat/mux.c
@@ -74,11 +74,20 @@ static int AddStream( sout_mux_t *, sout_input_t * );
static void DelStream( sout_mux_t *, sout_input_t * );
static int Mux ( sout_mux_t * );
+#if FF_API_AVIO_WRITE_NONCONST
static int IOWrite( void *opaque, uint8_t *buf, int buf_size );
+#else
+static int IOWrite( void *opaque, const uint8_t *buf, int buf_size );
+#endif
static int64_t IOSeek( void *opaque, int64_t offset, int whence );
#if LIBAVFORMAT_VERSION_CHECK( 57, 7, 0, 40, 100 )
+# if FF_API_AVIO_WRITE_NONCONST
static int IOWriteTyped(void *opaque, uint8_t *buf, int buf_size,
enum AVIODataMarkerType type, int64_t time);
+# else
+int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,
+ enum AVIODataMarkerType type, int64_t time);
+# endif
#endif
/*****************************************************************************
@@ -411,8 +420,13 @@ static int MuxBlock( sout_mux_t *p_mux, sout_input_t *p_input )
}
#if LIBAVFORMAT_VERSION_CHECK( 57, 7, 0, 40, 100 )
+# if FF_API_AVIO_WRITE_NONCONST
int IOWriteTyped(void *opaque, uint8_t *buf, int buf_size,
enum AVIODataMarkerType type, int64_t time)
+# else
+int IOWriteTyped(void *opaque, const uint8_t *buf, int buf_size,
+ enum AVIODataMarkerType type, int64_t time)
+# endif
{
VLC_UNUSED(time);
@@ -512,7 +526,11 @@ static int Control( sout_mux_t *p_mux, int i_query, va_list args )
/*****************************************************************************
* I/O wrappers for libavformat
*****************************************************************************/
+#if FF_API_AVIO_WRITE_NONCONST
static int IOWrite( void *opaque, uint8_t *buf, int buf_size )
+#else
+static int IOWrite( void *opaque, const uint8_t *buf, int buf_size )
+#endif
{
sout_mux_t *p_mux = opaque;
sout_mux_sys_t *p_sys = p_mux->p_sys;
--
GitLab
File diff suppressed because it is too large Load Diff
-46
View File
@@ -1,46 +0,0 @@
From a945944c2d50cacfacdd5b16d4ea5e7b4766a9fc Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Mon, 16 Dec 2024 09:28:55 +0100
Subject: [PATCH] nfs: fix libnfs API v2 support
Introduced in libnfs 6.0.0.
Co-authored-by: ronnie sahlberg <ronniesahlberg@gmail.com>
Co-authored-by: Thomas Guillem <thomas@gllm.fr>
---
modules/access/nfs.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/modules/access/nfs.c b/modules/access/nfs.c
index f164cda86499..3510c3fe1f14 100644
--- a/modules/access/nfs.c
+++ b/modules/access/nfs.c
@@ -188,7 +188,8 @@ nfs_read_cb(int i_status, struct nfs_context *p_nfs, void *p_data,
else
{
p_sys->res.read.i_len = i_status;
- memcpy(p_sys->res.read.p_buf, p_data, i_status);
+ if (p_sys->res.read.p_buf != NULL && p_data != NULL)
+ memcpy(p_sys->res.read.p_buf, p_data, i_status);
}
}
@@ -208,9 +209,15 @@ FileRead(stream_t *p_access, void *p_buf, size_t i_len)
return 0;
p_sys->res.read.i_len = 0;
+#ifdef LIBNFS_API_V2
+ p_sys->res.read.p_buf = NULL;
+ if (nfs_read_async(p_sys->p_nfs, p_sys->p_nfsfh, p_buf, i_len, nfs_read_cb,
+ p_access) < 0)
+#else
p_sys->res.read.p_buf = p_buf;
if (nfs_read_async(p_sys->p_nfs, p_sys->p_nfsfh, i_len, nfs_read_cb,
p_access) < 0)
+#endif
{
msg_Err(p_access, "nfs_read_async failed");
return 0;
--
GitLab
-149
View File
@@ -1,149 +0,0 @@
From ba5dc03aecc1d96f81b76838f845ebde7348cf62 Mon Sep 17 00:00:00 2001
From: David Rosca <nowrep@gmail.com>
Date: Fri, 20 Dec 2024 20:24:36 +0100
Subject: [PATCH] avcodec: vaapi: Support VAAPI with latest FFmpeg
---
configure.ac | 20 +------------
modules/codec/Makefile.am | 2 +-
modules/codec/avcodec/avcommon_compat.h | 3 ++
modules/codec/avcodec/vaapi.c | 38 +++++++++++++++++++++++--
4 files changed, 41 insertions(+), 22 deletions(-)
diff --git a/configure.ac b/configure.ac
index 00afb063c455..089339e10e0b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2550,25 +2550,7 @@ AM_CONDITIONAL([HAVE_VAAPI], [test "${have_vaapi}" = "yes"])
AM_CONDITIONAL([HAVE_VAAPI_DRM], [test "${have_vaapi_drm}" = "yes"])
AM_CONDITIONAL([HAVE_VAAPI_X11], [test "${have_vaapi_x11}" = "yes"])
AM_CONDITIONAL([HAVE_VAAPI_WL], [test "${have_vaapi_wl}" = "yes"])
-
-have_avcodec_vaapi="no"
-AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [
- VLC_SAVE_FLAGS
- CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
- CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
- AC_CHECK_HEADERS([libavcodec/vaapi.h], [
- AC_MSG_NOTICE([VA API acceleration activated])
- have_avcodec_vaapi="yes"
- ],[
- AS_IF([test -n "${enable_libva}"], [
- AC_MSG_ERROR([libva is present but libavcodec/vaapi.h is missing])
- ], [
- AC_MSG_WARN([libva is present but libavcodec/vaapi.h is missing ])
- ])
- ])
- VLC_RESTORE_FLAGS
-])
-AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_avcodec_vaapi}" = "yes"])
+AM_CONDITIONAL([HAVE_AVCODEC_VAAPI], [test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"])
dnl
dnl dxva2 needs avcodec
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
index 6d9465fdaef9..dd04391c1bf7 100644
--- a/modules/codec/Makefile.am
+++ b/modules/codec/Makefile.am
@@ -416,7 +416,7 @@ libvaapi_plugin_la_SOURCES = \
codec/avcodec/vaapi.c hw/vaapi/vlc_vaapi.c hw/vaapi/vlc_vaapi.h
libvaapi_plugin_la_CPPFLAGS = $(AM_CPPFLAGS)
libvaapi_plugin_la_CFLAGS = $(AM_CFLAGS) $(AVCODEC_CFLAGS)
-libvaapi_plugin_la_LIBADD = $(LIBVA_LIBS)
+libvaapi_plugin_la_LIBADD = $(LIBVA_LIBS) $(AVCODEC_LIBS)
if HAVE_AVCODEC_VAAPI
if HAVE_VAAPI_DRM
codec_LTLIBRARIES += libvaapi_drm_plugin.la
diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h
index ac02c06d2339..8ab6910f3250 100644
--- a/modules/codec/avcodec/avcommon_compat.h
+++ b/modules/codec/avcodec/avcommon_compat.h
@@ -84,6 +84,9 @@
#ifndef FF_API_AVIO_WRITE_NONCONST // removed in ffmpeg 7
# define FF_API_AVIO_WRITE_NONCONST (LIBAVFORMAT_VERSION_MAJOR < 61)
#endif
+#ifndef FF_API_STRUCT_VAAPI_CONTEXT
+# define FF_API_STRUCT_VAAPI_CONTEXT (LIBAVCODEC_VERSION_MAJOR < 59)
+#endif
#endif /* HAVE_LIBAVCODEC_AVCODEC_H */
diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c
index c83269e43f30..e203baaf9ee2 100644
--- a/modules/codec/avcodec/vaapi.c
+++ b/modules/codec/avcodec/vaapi.c
@@ -42,12 +42,25 @@
# include <va/va_drm.h>
#endif
#include <libavcodec/avcodec.h>
+#if FF_API_STRUCT_VAAPI_CONTEXT
#include <libavcodec/vaapi.h>
+#else
+#include <libavutil/hwcontext_vaapi.h>
+#endif
#include "avcodec.h"
#include "va.h"
#include "../../hw/vaapi/vlc_vaapi.h"
+#if !FF_API_STRUCT_VAAPI_CONTEXT
+struct vaapi_context
+{
+ VADisplay display;
+ VAConfigID config_id;
+ VAContextID context_id;
+};
+#endif
+
struct vlc_va_sys_t
{
struct vlc_vaapi_instance *va_inst;
@@ -145,8 +158,10 @@ static void Delete(vlc_va_t *va, void **hwctx)
(void) hwctx;
- vlc_vaapi_DestroyContext(o, sys->hw_ctx.display, sys->hw_ctx.context_id);
- vlc_vaapi_DestroyConfig(o, sys->hw_ctx.display, sys->hw_ctx.config_id);
+ if (sys->hw_ctx.context_id != VA_INVALID_ID)
+ vlc_vaapi_DestroyContext(o, sys->hw_ctx.display, sys->hw_ctx.context_id);
+ if (sys->hw_ctx.config_id != VA_INVALID_ID)
+ vlc_vaapi_DestroyConfig(o, sys->hw_ctx.display, sys->hw_ctx.config_id);
vlc_vaapi_ReleaseInstance(sys->va_inst);
free(sys);
}
@@ -196,6 +211,7 @@ static int Create(vlc_va_t *va, AVCodecContext *ctx, const AVPixFmtDescriptor *d
sys->hw_ctx.config_id = VA_INVALID_ID;
sys->hw_ctx.context_id = VA_INVALID_ID;
+#if FF_API_STRUCT_VAAPI_CONTEXT
sys->hw_ctx.config_id =
vlc_vaapi_CreateConfigChecked(o, sys->hw_ctx.display, i_profile,
VAEntrypointVLD, i_vlc_chroma);
@@ -211,6 +227,24 @@ static int Create(vlc_va_t *va, AVCodecContext *ctx, const AVPixFmtDescriptor *d
goto error;
ctx->hwaccel_context = &sys->hw_ctx;
+#else
+ AVBufferRef *hwdev_ref = av_hwdevice_ctx_alloc(AV_HWDEVICE_TYPE_VAAPI);
+ if (hwdev_ref == NULL)
+ goto error;
+
+ AVHWDeviceContext *hwdev_ctx = (void *) hwdev_ref->data;
+ AVVAAPIDeviceContext *vadev_ctx = hwdev_ctx->hwctx;
+ vadev_ctx->display = va_dpy;
+
+ if (av_hwdevice_ctx_init(hwdev_ref) < 0)
+ {
+ av_buffer_unref(&hwdev_ref);
+ goto error;
+ }
+
+ ctx->hw_device_ctx = hwdev_ref;
+#endif
+
va->sys = sys;
va->description = vaQueryVendorString(sys->hw_ctx.display);
va->get = Get;
--
GitLab
-11
View File
@@ -1,11 +0,0 @@
project pkg {
arches = ["x86_64", "aarch64", "i386"]
rpm {
spec = "vlc.spec"
extra_repos = ["https://repos.fyralabs.com/terrarawhide-multimedia"]
}
labels {
mock = 1
subrepo = "multimedia"
}
}
-19
View File
@@ -1,19 +0,0 @@
diff --git a/share/vlc.appdata.xml.in.in b/share/vlc.appdata.xml.in.in
index cc9c39a..3c55620 100644
--- a/share/vlc.appdata.xml.in.in
+++ b/share/vlc.appdata.xml.in.in
@@ -18,7 +18,7 @@
<url type="bugtracker">https://trac.videolan.org/vlc/</url>
<url type="donation">https://www.videolan.org/contribute.html</url>
<releases>
- <release version="@VERSION@" />
+ <release version="@VERSION@" date="@DATE@" />
</releases>
<provides>
<library>libvlc.so.5</library>
@@ -38,4 +38,5 @@
<image>http://images.videolan.org/vlc/screenshots/2.0.0/vlc-2.0-gnome3-debian.jpg</image>
</screenshot>
</screenshots>
+ <content_rating type="oars-1.1" />
</component>
-84
View File
@@ -1,84 +0,0 @@
From 6ea9b13fe82fae2b25b7371c6c36d6296db28ccb Mon Sep 17 00:00:00 2001
From: Antonio Larrosa <antonio.larrosa@gmail.com>
Date: Thu, 14 Feb 2019 10:09:30 +0100
Subject: [PATCH] Fix building vlc with libfdk-aac v2
When flushing the encoder, we now need to provide non-null buffer
parameters for everything, even if they are unused.
The encoderDelay parameter has been replaced by two, nDelay and
nDelayCore.
This is based on:
https://git.libav.org/?p=libav.git;a=commitdiff_plain;h=141c960e21d2860e354f9b90df136184dd00a9a8;hp=c8bca9fe466f810fd484e2c6db7ef7bc83b5a943
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
---
modules/codec/fdkaac.c | 27 +++++++++++++++++++++------
1 file changed, 21 insertions(+), 6 deletions(-)
diff --git a/modules/codec/fdkaac.c b/modules/codec/fdkaac.c
index e0b3088c4a..3ac7b756a3 100644
--- a/modules/codec/fdkaac.c
+++ b/modules/codec/fdkaac.c
@@ -92,6 +92,11 @@ static void CloseEncoder(vlc_object_t *);
#define SIGNALING_COMPATIBLE 1
#define SIGNALING_HIERARCHICAL 2
+#define FDKENC_VER_AT_LEAST(vl0, vl1) \
+ (defined(AACENCODER_LIB_VL0) && \
+ ((AACENCODER_LIB_VL0 > vl0) || \
+ (AACENCODER_LIB_VL0 == vl0 && AACENCODER_LIB_VL1 >= vl1)))
+
static const int pi_aot_values[] = { PROFILE_AAC_LC, PROFILE_AAC_HE, PROFILE_AAC_HE_v2, PROFILE_AAC_LD, PROFILE_AAC_ELD };
static const char *const ppsz_aot_descriptions[] =
{ N_("AAC-LC"), N_("HE-AAC"), N_("HE-AAC-v2"), N_("AAC-LD"), N_("AAC-ELD") };
@@ -288,7 +293,11 @@ static int OpenEncoder(vlc_object_t *p_this)
p_sys->i_maxoutputsize = 768*p_enc->fmt_in.audio.i_channels;
p_enc->fmt_in.audio.i_bitspersample = 16;
p_sys->i_frame_size = info.frameLength;
+#if FDKENC_VER_AT_LEAST(4, 0)
+ p_sys->i_encoderdelay = info.nDelay;
+#else
p_sys->i_encoderdelay = info.encoderDelay;
+#endif
p_enc->fmt_out.i_extra = info.confSize;
if (p_enc->fmt_out.i_extra) {
@@ -351,21 +360,27 @@ static block_t *EncodeAudio(encoder_t *p_enc, block_t *p_aout_buf)
int out_identifier = OUT_BITSTREAM_DATA;
int out_size, out_elem_size;
void *in_ptr, *out_ptr;
+ uint8_t dummy_buf[1];
if (unlikely(i_samples == 0)) {
// this forces the encoder to purge whatever is left in the internal buffer
+ /* Must be a non-null pointer, even if it's a dummy. We could use
+ * the address of anything else on the stack as well. */
+ in_ptr = dummy_buf;
+ in_size = 0;
+
in_args.numInSamples = -1;
} else {
in_ptr = p_buffer + (i_samples - i_samples_left)*p_enc->fmt_in.audio.i_channels;
in_size = 2*p_enc->fmt_in.audio.i_channels*i_samples_left;
- in_elem_size = 2;
in_args.numInSamples = p_enc->fmt_in.audio.i_channels*i_samples_left;
- in_buf.numBufs = 1;
- in_buf.bufs = &in_ptr;
- in_buf.bufferIdentifiers = &in_identifier;
- in_buf.bufSizes = &in_size;
- in_buf.bufElSizes = &in_elem_size;
}
+ in_elem_size = 2;
+ in_buf.numBufs = 1;
+ in_buf.bufs = &in_ptr;
+ in_buf.bufferIdentifiers = &in_identifier;
+ in_buf.bufSizes = &in_size;
+ in_buf.bufElSizes = &in_elem_size;
block_t *p_block;
p_block = block_Alloc(p_sys->i_maxoutputsize);
p_block->i_buffer = p_sys->i_maxoutputsize;
--
2.11.0
-239
View File
@@ -1,239 +0,0 @@
From 1c27f57498b7e0f52acc7b4520c4172a2462632d Mon Sep 17 00:00:00 2001
From: Juliane de Sartiges <jill@videolabs.io>
Date: Wed, 27 Jul 2022 09:32:25 +0200
Subject: [PATCH] freerdp: update to freerdp2 api
---
configure.ac | 2 +-
modules/access/rdp.c | 85 ++++++++++++++++++++------------------------
2 files changed, 40 insertions(+), 47 deletions(-)
diff --git a/configure.ac b/configure.ac
index b454198157..cb23a9b2ab 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2094,7 +2094,7 @@ PKG_ENABLE_MODULES_VLC([VNC], [vnc], [libvncclient >= 0.9.9], (VNC/rfb client su
dnl RDP/Remote Desktop access module
dnl
-PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp >= 1.0.1], (RDP/Remote Desktop client support) )
+PKG_ENABLE_MODULES_VLC([FREERDP], [rdp], [freerdp2 >= 2.0.0], (RDP/Remote Desktop client support) )
dnl
dnl Real RTSP plugin
diff --git a/modules/access/rdp.c b/modules/access/rdp.c
index 0c39663c64..04ae005938 100644
--- a/modules/access/rdp.c
+++ b/modules/access/rdp.c
@@ -45,18 +45,6 @@
# include <freerdp/version.h>
#endif
-#if !defined(FREERDP_VERSION_MAJOR) || \
- (defined(FREERDP_VERSION_MAJOR) && !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1)))
-# define SoftwareGdi sw_gdi
-# define Fullscreen fullscreen
-# define ServerHostname hostname
-# define Username username
-# define Password password
-# define ServerPort port
-# define EncryptionMethods encryption
-# define ContextSize context_size
-#endif
-
#include <errno.h>
#ifdef HAVE_POLL
# include <poll.h>
@@ -75,6 +63,8 @@
#define CFG_PREFIX "rdp-"
+#define FREERDP_PIXEL_BPP(_format) (_format >> 24)
+
/*****************************************************************************
* Module descriptor
*****************************************************************************/
@@ -139,11 +129,12 @@ typedef struct vlcrdp_context_t vlcrdp_context_t;
/* updates handlers */
-static void desktopResizeHandler( rdpContext *p_context )
+static BOOL desktopResizeHandler( rdpContext *p_context )
{
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
rdpGdi *p_gdi = p_context->gdi;
+ int i_colordepth = FREERDP_PIXEL_BPP( p_gdi->dstFormat );
if ( p_sys->es )
{
@@ -151,11 +142,13 @@ static void desktopResizeHandler( rdpContext *p_context )
p_sys->es = NULL;
}
- /* Now init and fill es format */
vlc_fourcc_t i_chroma;
- switch( p_gdi->bytesPerPixel )
+ /* Now init and fill es format */
+ switch ( i_colordepth )
{
default:
+ msg_Dbg( p_vlccontext->p_demux, "invalid color depth %d", i_colordepth);
+ /* fallthrough */
case 16:
i_chroma = VLC_CODEC_RGB16;
break;
@@ -163,7 +156,7 @@ static void desktopResizeHandler( rdpContext *p_context )
i_chroma = VLC_CODEC_RGB24;
break;
case 32:
- i_chroma = VLC_CODEC_RGB32;
+ i_chroma = VLC_CODEC_ARGB;
break;
}
es_format_t fmt;
@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_context )
fmt.video.i_height = p_gdi->height;
fmt.video.i_frame_rate_base = 1000;
fmt.video.i_frame_rate = 1000 * p_sys->f_fps;
- p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * p_gdi->bytesPerPixel;
+ p_sys->i_framebuffersize = p_gdi->width * p_gdi->height * (i_colordepth >> 3);
if ( p_sys->p_block )
p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize );
@@ -184,20 +177,21 @@ static void desktopResizeHandler( rdpContext *p_context )
p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
p_sys->es = es_out_Add( p_vlccontext->p_demux->out, &fmt );
+ return TRUE;
}
-static void beginPaintHandler( rdpContext *p_context )
+static BOOL beginPaintHandler( rdpContext *p_context )
{
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
rdpGdi *p_gdi = p_context->gdi;
- p_gdi->primary->hdc->hwnd->invalid->null = 1;
- p_gdi->primary->hdc->hwnd->ninvalid = 0;
+ p_gdi->primary->hdc->hwnd->invalid->null = TRUE;
if ( ! p_sys->p_block && p_sys->i_framebuffersize )
p_sys->p_block = block_Alloc( p_sys->i_framebuffersize );
+ return TRUE;
}
-static void endPaintHandler( rdpContext *p_context )
+static BOOL endPaintHandler( rdpContext *p_context )
{
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context;
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
@@ -208,11 +202,12 @@ static void endPaintHandler( rdpContext *p_context )
p_sys->p_block->i_buffer = p_sys->i_framebuffersize;
memcpy( p_sys->p_block->p_buffer, p_gdi->primary_buffer, p_sys->p_block->i_buffer );
}
+ return TRUE;
}
/* instance handlers */
-static bool preConnectHandler( freerdp *p_instance )
+static BOOL preConnectHandler( freerdp *p_instance )
{
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys;
@@ -229,49 +224,54 @@ static bool preConnectHandler( freerdp *p_instance )
p_instance->settings->EncryptionMethods =
var_InheritBool( p_vlccontext->p_demux, CFG_PREFIX "encrypt" );
- return true;
+ return TRUE;
}
-static bool postConnectHandler( freerdp *p_instance )
+static BOOL postConnectHandler( freerdp *p_instance )
{
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)",
-#if defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 1))
p_instance->settings->DesktopWidth,
p_instance->settings->DesktopHeight,
p_instance->settings->ColorDepth
-#else
- p_instance->settings->width,
- p_instance->settings->height,
- p_instance->settings->color_depth
-#endif
);
p_instance->update->DesktopResize = desktopResizeHandler;
p_instance->update->BeginPaint = beginPaintHandler;
p_instance->update->EndPaint = endPaintHandler;
+ UINT32 format;
+ switch ( p_instance->settings->ColorDepth )
+ {
+ default:
+ msg_Dbg( p_vlccontext->p_demux, "no valid pixel format found for color depth %d bpp", p_instance->settings->ColorDepth);
+ /* fallthrough */
+ case 16:
+ format = PIXEL_FORMAT_RGB16;
+ break;
+ case 24:
+ format = PIXEL_FORMAT_RGB24;
+ break;
+ case 32:
+ format = PIXEL_FORMAT_ARGB32;
+ break;
+ }
gdi_init( p_instance,
- CLRBUF_16BPP |
-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2))
- CLRBUF_24BPP |
-#endif
- CLRBUF_32BPP, NULL );
+ format );
desktopResizeHandler( p_instance->context );
- return true;
+ return TRUE;
}
-static bool authenticateHandler( freerdp *p_instance, char** ppsz_username,
+static BOOL authenticateHandler( freerdp *p_instance, char** ppsz_username,
char** ppsz_password, char** ppsz_domain )
{
VLC_UNUSED(ppsz_domain);
vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context;
*ppsz_username = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "user" );
*ppsz_password = var_InheritString( p_vlccontext->p_demux, CFG_PREFIX "password" );
- return true;
+ return TRUE;
}
/*****************************************************************************
@@ -432,10 +432,6 @@ static int Open( vlc_object_t *p_this )
if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0;
p_sys->i_frame_interval = 1000000 / p_sys->f_fps;
-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
- freerdp_channels_global_init();
-#endif
-
p_sys->p_instance = freerdp_new();
if ( !p_sys->p_instance )
{
@@ -512,9 +508,6 @@ static void Close( vlc_object_t *p_this )
freerdp_disconnect( p_sys->p_instance );
freerdp_free( p_sys->p_instance );
-#if FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR < 2
- freerdp_channels_global_uninit();
-#endif
if ( p_sys->p_block )
block_Release( p_sys->p_block );
--
2.45.2
-49
View File
@@ -1,49 +0,0 @@
diff --git a/configure.ac b/configure.ac
index 78b9ce2..b9c1563 100644
--- a/configure.ac
+++ b/configure.ac
@@ -910,9 +910,9 @@ AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
dnl
-dnl Domain name i18n support via GNU libidn
+dnl Domain name i18n support via GNU libidn2
dnl
-PKG_CHECK_MODULES([IDN], [libidn], [
+PKG_CHECK_MODULES([IDN], [libidn2], [
have_libidn="yes"
AC_DEFINE([HAVE_IDN], 1, [Define to 1 if you have GNU libidn.])
], [
diff --git a/src/text/url.c b/src/text/url.c
index 2eb4b8d..467b7f3 100644
--- a/src/text/url.c
+++ b/src/text/url.c
@@ -873,7 +873,7 @@ char *vlc_uri_fixup(const char *str)
}
#if defined (HAVE_IDN)
-# include <idna.h>
+# include <idn2.h>
#elif defined (_WIN32)
# include <windows.h>
# include <vlc_charset.h>
@@ -914,16 +914,13 @@ static char *vlc_idna_to_ascii (const char *idn)
#if defined (HAVE_IDN)
char *adn;
- switch (idna_to_ascii_8z(idn, &adn, IDNA_ALLOW_UNASSIGNED))
+ switch (idn2_to_ascii_8z(idn, &adn, IDN2_ALLOW_UNASSIGNED|IDN2_NFC_INPUT|IDN2_NONTRANSITIONAL))
{
- case IDNA_SUCCESS:
+ case IDN2_OK:
return adn;
- case IDNA_MALLOC_ERROR:
+ case IDN2_MALLOC:
errno = ENOMEM;
return NULL;
- case IDNA_DLOPEN_ERROR:
- errno = ENOSYS;
- return NULL;
default:
errno = EINVAL;
return NULL;
-17
View File
@@ -1,17 +0,0 @@
diff -up vlc-3.0.21/modules/access/live555.cpp.orig vlc-3.0.21/modules/access/live555.cpp
--- vlc-3.0.21/modules/access/live555.cpp.orig 2024-06-05 17:56:07.000000000 +0200
+++ vlc-3.0.21/modules/access/live555.cpp 2024-12-06 11:41:08.633053039 +0100
@@ -236,8 +236,13 @@ struct demux_sys_t
bool b_no_data; /* if we never received any data */
int i_no_data_ti; /* consecutive number of TaskInterrupt */
+#if LIVEMEDIA_LIBRARY_VERSION_INT >= 1732752000
+ std::atomic_char event_rtsp;
+ std::atomic_char event_data;
+#else
char event_rtsp;
char event_data;
+#endif
bool b_get_param; /* Does the server support GET_PARAMETER */
bool b_paused; /* Are we paused? */
-11
View File
@@ -1,11 +0,0 @@
--- ./share/lua/intf/modules/httprequests.lua.Orig 2023-08-05 06:03:51.000000000 -0400
+++ ./share/lua/intf/modules/httprequests.lua 2024-05-28 14:02:41.569002601 -0400
@@ -34,7 +34,7 @@
what = common.us_tonumber(what)
end
if type(what) == "number" then
- return math.floor(what*math.pow(10,precision)+0.5) / math.pow(10,precision)
+ return math.floor(what*(10^precision)+0.5) / (10^precision)
end
return nil
end
-1
View File
@@ -1 +0,0 @@
%vlc_plugindir %{_libdir}/vlc/plugins
-48
View File
@@ -1,48 +0,0 @@
Backport of https://code.videolan.org/videolan/vlc/-/merge_requests/3843
"Switch from deprecated MFX to VPL" for 3.0, as direct use of intel-mediasdk
is deprecated in favour of oneVPL.
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -2923,9 +2923,9 @@ fi
dnl
-dnl Intel QuickSync (aka MediaSDK) H264/H262 encoder
+dnl Intel oneAPI Video Processing Library
dnl
-PKG_ENABLE_MODULES_VLC([MFX], [qsv], [libmfx], [Intel QuickSync MPEG4-Part10/MPEG2 (aka H.264/H.262) encoder], [auto])
+PKG_ENABLE_MODULES_VLC([VPL], [qsv], [vpl], [Intel oneAPI Video Processing Library encoder], [auto])
dnl
dnl libfluidsynth (MIDI synthetizer) plugin
diff --git a/modules/codec/Makefile.am b/modules/codec/Makefile.am
--- a/modules/codec/Makefile.am
+++ b/modules/codec/Makefile.am
@@ -610,9 +610,9 @@ codec_LTLIBRARIES += $(LTLIBdav1d)
codec_LTLIBRARIES += $(LTLIBcrystalhd)
libqsv_plugin_la_SOURCES = codec/qsv.c
-libqsv_plugin_la_CFLAGS = $(AM_CFLAGS) $(MFX_CFLAGS)
+libqsv_plugin_la_CFLAGS = $(AM_CFLAGS) $(VPL_CFLAGS)
libqsv_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
-libqsv_plugin_la_LIBADD = $(MFX_LIBS)
+libqsv_plugin_la_LIBADD = $(VPL_LIBS)
EXTRA_LTLIBRARIES += libqsv_plugin.la
codec_LTLIBRARIES += $(LTLIBqsv)
diff --git a/modules/codec/qsv.c b/modules/codec/qsv.c
--- a/modules/codec/qsv.c
+++ b/modules/codec/qsv.c
@@ -33,7 +33,7 @@
#include <vlc_picture.h>
#include <vlc_codec.h>
-#include <mfx/mfxvideo.h>
+#include <vpl/mfxvideo.h>
#define SOUT_CFG_PREFIX "sout-qsv-"
--
GitLab
-1
View File
@@ -1 +0,0 @@
rpm.version(find(`\"name\":\"Linux\",\"latestVersion\":\"([\d.]+)\"`, get(`https://www.videolan.org/vlc/`), 1));
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,5 +1,5 @@
Name: vpkedit
Version: 5.0.0.4
Version: 5.0.0.3
Release: 1%?dist
Summary: A CLI/GUI tool to create, read, and write several pack file formats
License: MIT
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "webapp-manager.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("linuxmint/webapp-manager"));
@@ -1,70 +0,0 @@
Name: webapp-manager
Version: master.lmde7
Release: 1%?dist
Summary: Web Application Manager
License: GPL-3.0-or-later
URL: https://github.com/linuxmint/webapp-manager
Source: %{url}/archive/refs/tags/%{version}.tar.gz
BuildArch: noarch
Requires: python3-beautifulsoup4
Requires: python3-configobj
Requires: python3-gobject
Requires: python3-pillow
Requires: python3-setproctitle
Requires: python3-tldextract
Requires: xapps
BuildRequires: gettext
BuildRequires: make
BuildRequires: python3-devel
Packager: metcya <metcya@gmail.com>
%description
Launch websites as if they were apps.
%prep
%autosetup -n %{name}-%{version}
%build
%make_build buildmo
%install
mkdir -p %{buildroot}%{_datadir}/locale
cp -r usr/share/locale/* %{buildroot}%{_datadir}/locale
install -Dm 755 usr/bin/%{name} -t %{buildroot}%{_bindir}
install -Dm 755 usr/lib/%{name}/*.py -t %{buildroot}%{_libdir}/%{name}/
install -Dm 644 usr/share/applications/%{name}.desktop -t %{buildroot}%{_datadir}/applications
install -Dm 644 usr/share/desktop-directories/webapps-webapps.directory -t %{buildroot}%{_datadir}/desktop-directories/webapps-webapps.directory
install -Dm 644 usr/share/glib-2.0/schemas/org.x.%{name}.gschema.xml -t %{buildroot}%{_datadir}/glib-2.0/schemas
install -Dm 644 usr/share/icons/hicolor/scalable/apps/webapp-manager.svg -t %{buildroot}%{_scalableiconsdir}
install -Dm 644 usr/share/icons/hicolor/scalable/categories/applications-webapps.svg -t %{buildroot}%{_hicolordir}/scalable/categories
install -Dm 644 usr/share/%{name}/*.ui -t %{buildroot}%{_datadir}/%{name}
install -Dm 644 usr/share/%{name}/firefox/userChrome-with-navbar.css -t %{buildroot}%{_datadir}/%{name}/firefox
install -Dm 644 usr/share/%{name}/firefox/profile/{places.sqlite,search.json.mozlz4,user.js} -t %{buildroot}%{_datadir}/%{name}/firefox/profile
install -Dm 644 usr/share/%{name}/firefox/profile/chrome/userChrome.css -t %{buildroot}%{_datadir}/%{name}/firefox/profile/chrome
install -Dm 644 etc/xdg/menus/applications-merged/webapps.menu -t %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged
%files
%doc README.md
%license LICENSE
%{_bindir}/%{name}
%{_libdir}/%{name}/*.py
%{_appsdir}/%{name}.desktop
%{_datadir}/desktop-directories/webapps-webapps.directory
%{_datadir}/glib-2.0/schemas/org.x.%{name}.gschema.xml
%{_scalableiconsdir}/%{name}.svg
%{_hicolordir}/scalable/categories/applications-webapps.svg
%{_datadir}/%{name}/
%{_sysconfdir}/xdg/menus/applications-merged/webapps.menu
%dnl %find_lang does not work because the upstream Makefile does not place them in the right spot.
%{_datadir}/locale/*/*/webapp-manager.mo
%changelog
* Mon Dec 22 2025 Owen Zimmerman <owen@fyralabs.com>
- Build fixes
* Fri Dec 19 2025 metcya <metcya@gmail.com>
- Port to Terra
+2 -2
View File
@@ -1,9 +1,9 @@
# Fedora sometimes sources the snapshots under stable versions and just bumps release
# For user clarity I have separated these into different packages
%global commit 81a692e2ee6b311367f18a17a9a61a0ef1c0ad18
%global commit 533f41704766765cfb3706fb2aa197acbb05df32
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver 20250102
%global commit_date 20251224
%global commit_date 20251105
Name: winetricks-git
Version: %{ver}^%{commit_date}git.%{shortcommit}
+5 -8
View File
@@ -24,7 +24,7 @@ Packager: Cappy Ishihara <cappy@fyralabs.com>
# todo: investigate why
#ExclusiveArch: x86_64
BuildRequires: git-core gcc make desktop-file-utils
BuildRequires: git-core gcc make
# Required for usocket native module built with node-gyp
BuildRequires: python3 gcc-c++
@@ -90,10 +90,7 @@ install -d -m 0755 %{buildroot}%{_bindir}
ln -svf %{_datadir}/youtube-music/youtube-music %{buildroot}%{_bindir}/youtube-music
# Install desktop file
install -D -m 0644 %{SOURCE1} %{buildroot}%{_appsdir}/youtube-music.desktop
%check
desktop-file-validate %{buildroot}%{_appsdir}/youtube-music.desktop
install -D -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/applications/youtube-music.desktop
%files
%license license
@@ -102,10 +99,10 @@ desktop-file-validate %{buildroot}%{_appsdir}/youtube-music.desktop
%{_bindir}/youtube-music
%{_datadir}/youtube-music
%{_datadir}/icons/hicolor/*/apps/youtube-music*
%{_appsdir}/youtube-music.desktop
%{_datadir}/applications/youtube-music.desktop
%changelog
* Thu Dec 25 2025 Owen Zimmerman <owen@fyralabs.com>
- Add %check
* Sat Aug 03 2024 Cappy Ishihara <cappy@cappuchino.xyz>
- Initial Release
+2 -2
View File
@@ -3,5 +3,5 @@ Name=CTWM
Comment=Claude's Tab Window Manager
TryExec=ctwm
Exec=ctwm
Type=Application
Encoding=UTF-8
Type=Xsession
Encoding=UTF-8
+6 -10
View File
@@ -1,13 +1,13 @@
Name: ctwm
Summary: Lightweight window manager with virtual workspaces
Name: ctwm
Version: 4.1.0
Release: 2%?dist
Release: 1%?dist
URL: https://ctwm.org
BuildRequires: libjpeg-turbo-devel libX11-devel libXext-devel libXmu-devel libXpm-devel libXt-devel libXrandr-devel cmake gcc m4 desktop-file-utils
BuildRequires: libjpeg-turbo-devel libX11-devel libXext-devel libXmu-devel libXpm-devel libXt-devel libXrandr-devel cmake gcc m4
Source0: https://www.ctwm.org/dist/%{name}-%{version}.tar.xz
Source1: %{name}.desktop
License: MIT
Requires: m4
Requires: m4
# Derived from RPMSphere's packaging
%description
@@ -22,10 +22,7 @@ CTWM is a window manager based on TWM (with virtual workspaces added).
%install
%cmake_install
install -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/%{name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/xsessions/%{name}.desktop
%{__install} -Dm644 %{SOURCE1} %{buildroot}%{_datadir}/xsessions/%{name}.desktop
%files
%doc README.md CHANGES.md
@@ -38,8 +35,6 @@ desktop-file-validate %{buildroot}%{_datadir}/xsessions/%{name}.desktop
%{_datadir}/examples/ctwm/system.ctwmrc
%changelog
* Wed Dec 24 2025 Owen Zimmerman <owen@fyralabs.com>
- Add %check section
* Tue Dec 17 2024 Owen Zimmerman <owen@fyralabs.com>
- Add .desktop and .rhai file, fix dependancies, and switch to .tar.xz source (smaller download)
* Thu Jun 27 2024 Jaiden Riordan <jade@fyralabs.com> - 4.1.0
@@ -57,3 +52,4 @@ desktop-file-validate %{buildroot}%{_datadir}/xsessions/%{name}.desktop
* Tue May 3 2005 Richard Levitte <richard@levitte.org>
- Received the original from Johan Vromans. Adjusted it to become
an official .spec file.
@@ -1,6 +1,6 @@
%global tarball_version %%(echo %{version} | tr '~' '.')
%global major_version 49
%global minor_version 2
%global minor_version 1
%if 0%{?rhel}
%global portal_helper 0
@@ -10,7 +10,7 @@
Name: gnome-shell
Version: %{major_version}.%{minor_version}
Release: 2%{?dist}.switcheroo
Release: 6%{?dist}.switcheroo
Summary: Window management and application launching for GNOME
Provides: gnome-shell.switcheroo = %version-%release
@@ -2,8 +2,8 @@
%global realname hyprland-protocols
%global ver 0.7.0
%global commit 3f3860b869014c00e8b9e0528c7b4ddc335c21ab
%global commit_date 20251209
%global commit bd153e76f751f150a09328dbdeb5e4fab9d23622
%global commit_date 20251005
%global shortcommit %{sub %commit 1 7}
Name: %realname.nightly
@@ -1,10 +1,10 @@
#? https://src.fedoraproject.org/rpms/hyprutils/blob/rawhide/f/hyprutils.spec
%global realname hyprutils
%global ver 0.11.0
%global ver 0.10.4
%global commit 51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9
%global commit_date 20251221
%global commit a64517c23613b302a3ecc5f4608f3919e8e29830
%global commit_date 20251129
%global shortcommit %{sub %commit 1 7}
Name: %realname.nightly
@@ -0,0 +1,30 @@
From 0cc287336b32e601e70b26d60d9335abde538a18 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 16 Oct 2023 17:57:16 -0700
Subject: [PATCH] Give the kuriikwsfiltereng_private a VERSION and SOVERSION
(#26)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
src/urifilters/ikws/CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/urifilters/ikws/CMakeLists.txt b/src/urifilters/ikws/CMakeLists.txt
index 7d42584c3..393588993 100644
--- a/src/urifilters/ikws/CMakeLists.txt
+++ b/src/urifilters/ikws/CMakeLists.txt
@@ -1,6 +1,11 @@
add_subdirectory(searchproviders)
add_library(kuriikwsfiltereng_private kuriikwsfiltereng.cpp searchprovider.cpp searchproviderregistry.cpp)
+set_target_properties(kuriikwsfiltereng_private PROPERTIES
+ VERSION ${KIO_VERSION}
+ SOVERSION ${KIO_SOVERSION}
+ EXPORT_NAME kuriikwsfiltereng_private
+)
generate_export_header(kuriikwsfiltereng_private) # We need this to be a shared lib, because otherwise we have duplicate Q_GLOBAL_STATICs
target_link_libraries(kuriikwsfiltereng_private PUBLIC KF6::KIOGui)
install(TARGETS kuriikwsfiltereng_private ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
--
2.41.0
+290
View File
@@ -0,0 +1,290 @@
From 7b1154d235f752b9fd1797f87861f11ef89d5d7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Thu, 15 Feb 2024 14:38:21 +0100
Subject: [PATCH 1/7] Improve discrete GPU detection using switcheroo-control
---
src/gui/gpudetection.cpp | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index ef246d3936..695bf27a1e 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,6 +62,40 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
+ if (gpus.length() < 2) {
+ // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
+ return false;
+ }
+
+ // Check if the Default GPU is Discrete
+ for (const auto &gpu : gpus) {
+ bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
+ if (defaultGpu) {
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
+ if (discreteGpu) {
+ // If the default GPU is Discret there is no need to apply the env vars
+ s_gpuCheck = GpuCheck::Present;
+ return true;
+ }
+ break;
+ }
+ }
+
+ // Find the first Discrete GPU
+ for (const auto &gpu : gpus) {
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
+ if (!discreteGpu) {
+ s_gpuCheck = GpuCheck::Present;
+ QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
+ }
+ return true;
+ }
+ }
+
+ // fallback to old behavior
+ // find the first non-Default GPU
for (const auto &gpu : gpus) {
bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
if (!defaultGpu) {
--
GitLab
From 29c056a6a71b0de226369c03d02f47ab56a7877a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 21 Feb 2024 15:57:28 +0100
Subject: [PATCH 2/7] make gpus length comparison easier to reade
---
src/gui/gpudetection.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index 695bf27a1e..dfe6a9982b 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,7 +62,7 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
- if (gpus.length() < 2) {
+ if (gpus.length() <= 1) {
// Skip checking for Default or Discrete GPUs when 1 or no GPU is available
return false;
}
--
GitLab
From afc22129301ac2e33673ce9415b1e0d329a57c59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 21 Feb 2024 16:27:05 +0100
Subject: [PATCH 3/7] lookup needed GPU entries in a single loop
---
src/gui/gpudetection.cpp | 56 +++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 33 deletions(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index dfe6a9982b..57436e4789 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -67,45 +67,35 @@ static bool checkGpuWithSwitcheroo()
return false;
}
- // Check if the Default GPU is Discrete
- for (const auto &gpu : gpus) {
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
- if (defaultGpu) {
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
- if (discreteGpu) {
- // If the default GPU is Discret there is no need to apply the env vars
- s_gpuCheck = GpuCheck::Present;
- return true;
- }
- break;
+ QVariantMap defaultGpu;
+ QVariantMap firstDiscreteGpu;
+ QVariantMap firstNonDefaultGpu;
+
+ for (const auto &gpu : std::as_const(gpus)) {
+ if (defaultGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Default")])) {
+ defaultGpu = gpu;
+ } else if (firstNonDefaultGpu.isEmpty()) {
+ firstNonDefaultGpu = gpu;
+ }
+ if (firstDiscreteGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Discrete")])) {
+ firstDiscreteGpu = gpu;
}
}
- // Find the first Discrete GPU
- for (const auto &gpu : gpus) {
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
- if (!discreteGpu) {
- s_gpuCheck = GpuCheck::Present;
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
- for (int i = 0; i + 1 < envList.size(); i += 2) {
- s_gpuEnv.insert(envList[i], envList[i + 1]);
- }
- return true;
- }
+ if (!defaultGpu.isEmpty() && defaultGpu[QStringLiteral("Discrete")].toBool()) {
+ // If the default GPU is discrete we don't need to check for another device or apply special env vars
+ s_gpuCheck = GpuCheck::Present;
+ return true;
}
- // fallback to old behavior
- // find the first non-Default GPU
- for (const auto &gpu : gpus) {
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
- if (!defaultGpu) {
- s_gpuCheck = GpuCheck::Present;
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
- for (int i = 0; i + 1 < envList.size(); i += 2) {
- s_gpuEnv.insert(envList[i], envList[i + 1]);
- }
- return true;
+ // Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
+ for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
+ s_gpuCheck = GpuCheck::Present;
+ auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
}
+ return true;
}
#endif
--
GitLab
From d05cabb8e3e4aa60c8453edc0f6231d9bcb6d64e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 21 Feb 2024 16:27:25 +0100
Subject: [PATCH 4/7] correct absent gpu comment
---
src/gui/gpudetection.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index 57436e4789..bbef5ba8f2 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -99,7 +99,7 @@ static bool checkGpuWithSwitcheroo()
}
#endif
- // No non-default GPU found
+ // No discrete or non-default GPU found
s_gpuCheck = GpuCheck::Absent;
return true;
}
--
GitLab
From 7f9f76ce9bb472b54bf7297b8b5c078eb0c194c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Thu, 22 Feb 2024 08:33:19 +0100
Subject: [PATCH 5/7] check exact GPU count and fallback to solid when none are
found
---
src/gui/gpudetection.cpp | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index bbef5ba8f2..d3bf895ea5 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,9 +62,15 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
- if (gpus.length() <= 1) {
- // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
+ auto gpu_count = gpus.length();
+
+ if (gpu_count == 0) {
+ // No GPUs? Something might have gone wrong on the other end
return false;
+ } else if (gpu_count == 1) {
+ // There is only one GPU, no need to check for others
+ s_gpuCheck = GpuCheck::Absent;
+ return true;
}
QVariantMap defaultGpu;
--
GitLab
From 87ca7b125be15963c45867705f4b75e40b379437 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 4 Sep 2024 23:58:18 +0000
Subject: [PATCH 6/7] Simplify GPU count check
---
src/gui/gpudetection.cpp | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index d3bf895ea5..5e8450f2f9 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,12 +62,10 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
- auto gpu_count = gpus.length();
-
- if (gpu_count == 0) {
+ if (gpus.isEmpty()) {
// No GPUs? Something might have gone wrong on the other end
return false;
- } else if (gpu_count == 1) {
+ } else if (gpus.size() == 1) {
// There is only one GPU, no need to check for others
s_gpuCheck = GpuCheck::Absent;
return true;
--
GitLab
From 1920a2ea3b67331b419fc19a377b57a36466fb9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Thu, 5 Sep 2024 02:01:41 +0200
Subject: [PATCH 7/7] Fix non default GPU fallback
---
src/gui/gpudetection.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index 5e8450f2f9..2f5547ab8f 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -94,6 +94,9 @@ static bool checkGpuWithSwitcheroo()
// Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
+ if (gpu.isEmpty()) {
+ continue;
+ }
s_gpuCheck = GpuCheck::Present;
auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
for (int i = 0; i + 1 < envList.size(); i += 2) {
--
GitLab
@@ -0,0 +1,34 @@
From 6e7775d315f389df0a440ed62b842ce83dc9a27e Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@gmx.de>
Date: Fri, 1 Mar 2024 22:16:07 +0100
Subject: [PATCH] [kterminallauncherjob] Inherit default process environment
from parent
Before Qt 6.3, an empty (default constructed) QProcessEnvironment caused
QProcess to incorrectly inherit the environment variables from the parent
process. This was fixed in qtbase 5fc9c02a695.
CommandLauncherJob was adjusted for this in 916984940f64e07db9b4d152be9f2a87dda0cfb4,
however here we are overriding its default env with our own default-constructed one
BUG: 482107
---
src/gui/kterminallauncherjob.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/kterminallauncherjob.cpp b/src/gui/kterminallauncherjob.cpp
index c4e83fb11b..edd99327bd 100644
--- a/src/gui/kterminallauncherjob.cpp
+++ b/src/gui/kterminallauncherjob.cpp
@@ -22,7 +22,7 @@ public:
QString m_fullCommand; // "xterm -e ls"
QString m_desktopName;
QByteArray m_startupId;
- QProcessEnvironment m_environment;
+ QProcessEnvironment m_environment{QProcessEnvironment::InheritFromParent};
};
KTerminalLauncherJob::KTerminalLauncherJob(const QString &command, QObject *parent)
--
GitLab
+10
View File
@@ -0,0 +1,10 @@
project pkg {
rpm {
spec = "kf6-kio.spec"
}
labels {
subrepo = "extras"
updbranch = 1
mock = 1
}
}
+369
View File
@@ -0,0 +1,369 @@
%global framework kio
%global stable_kf6 stable
%global majmin_ver_kf6 6.20
%global ecm_ver 6.20.0
%global ecm_rel 1
Name: kf6-%{framework}
Version: %{majmin_ver_kf6}.0
Release: 1%{?dist}.switcheroo
Summary: KDE Frameworks 6 Tier 3 solution for filesystem abstraction
Obsoletes: kf6-%{framework}.switcheroo < 6.14.0-4
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}
Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz
Source1: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz.sig
# https://invent.kde.org/frameworks/kio/-/issues/26
# I'm not sending this upstream because I'm not sure it's really
# exactly what upstream will want, but it solves the practical
# issue for us for now
Patch0: 0001-Give-the-kuriikwsfiltereng_private-a-VERSION-and-SOV.patch
%if 0%{?flatpak}
# Disable the help: and ghelp: protocol for Flatpak builds, to avoid depending
# on the docbook stack.
Patch101: kio-no-help-protocol.patch
%endif
Provides: kf6-%{framework}
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: kf6-rpm-macros
BuildRequires: cmake
BuildRequires: cmake(KF6Archive)
BuildRequires: cmake(KF6Crash)
BuildRequires: cmake(KF6Solid)
BuildRequires: switcheroo-control
BuildRequires: cmake(KF6ColorScheme)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6DBusAddons)
BuildRequires: cmake(KF6DocTools)
BuildRequires: cmake(KF6GuiAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6Service)
BuildRequires: qt6-qtbase-private-devel
BuildRequires: cmake(KF6Bookmarks)
BuildRequires: cmake(KF6Completion)
BuildRequires: cmake(KF6ConfigWidgets)
BuildRequires: cmake(KF6IconThemes)
BuildRequires: cmake(KF6ItemViews)
BuildRequires: cmake(KF6JobWidgets)
BuildRequires: cmake(KF6WindowSystem)
BuildRequires: cmake(KF6Notifications)
BuildRequires: cmake(KF6Wallet)
BuildRequires: cmake(KF6WidgetsAddons)
BuildRequires: cmake(KF6XmlGui)
BuildRequires: libacl-devel
%if !0%{?flatpak}
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
%endif
BuildRequires: pkgconfig(blkid)
BuildRequires: pkgconfig(mount)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: zlib-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: cmake(Qt6UiPlugin)
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(KF6KDED)
BuildRequires: cmake(Qt6Core5Compat)
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
Requires: %{name}-file-widgets%{?_isa} = %{version}-%{release}
Requires: %{name}-gui%{?_isa} = %{version}-%{release}
Requires: kf6-kded
%description
KDE Frameworks 6 Tier 3 solution for filesystem abstraction
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Requires: kf6-kbookmarks-devel
Requires: cmake(KF6Completion)
Requires: cmake(KF6Config)
Requires: cmake(KF6CoreAddons)
Requires: cmake(KF6ItemViews)
Requires: cmake(KF6JobWidgets)
Requires: cmake(KF6Service)
Requires: cmake(KF6Solid)
Requires: cmake(KF6XmlGui)
Requires: cmake(KF6WindowSystem)
Requires: qt6-qtbase-devel
Obsoletes: kf6-kio.switcheroo-devel < 6.14.0-4
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: Documentation files for %{name}
Requires: %{name}-core = %{version}-%{release}
BuildArch: noarch
Obsoletes: kf6-kio.switcheroo-doc < 6.14.0-4
%description doc
Documentation for %{name}.
%package core
Summary: Core components of the KIO Framework
%{?kf6_kinit_requires}
Requires: %{name}-core-libs%{?_isa} = %{version}-%{release}
Requires: %{name}-doc = %{version}-%{release}
Requires: kf6-filesystem
Recommends: switcheroo-control
Obsoletes: kf6-kio.switcheroo-core < 6.14.0-4
%description core
KIOCore library provides core non-GUI components for working with KIO.
%package core-libs
Summary: Runtime libraries for KIO Core
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Obsoletes: kf6-kio.switcheroo-core-libs < 6.14.0-4
%description core-libs
%{summary}.
%package widgets
Summary: Widgets for KIO Framework
## org.kde.klauncher6 service referenced from : widgets/krun.cpp
## included here for completeness, even those -core already has a dependency.
%{?kf6_kinit_requires}
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Obsoletes: kf6-kio.switcheroo-widgets < 6.14.0-4
%description widgets
KIOWidgets contains classes that provide generic job control, progress
reporting, etc.
%package widgets-libs
Summary: Runtime libraries for KIO Widgets library
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
Obsoletes: kf6-kio.switcheroo-widgets-libs < 6.14.0-4
%description widgets-libs
%{summary}.
%package file-widgets
Summary: Widgets for file-handling for KIO Framework
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
Obsoletes: kf6-kio.switcheroo-file-widgets < 6.14.0-4
%description file-widgets
The KIOFileWidgets library provides the file selection dialog and
its components.
%package gui
Summary: Gui components for the KIO Framework
Requires: %{name}-core%{?_isa} = %{version}-%{release}
Provides: kf6-kio-gui = %version-%release
Obsoletes: kf6-kio.switcheroo-gui < 6.14.0-4
%description gui
%{summary}.
%package qch-doc
Summary: Developer Documentation files for %{name}
BuildArch: noarch
Obsoletes: kf6-kio.switcheroo-qch-doc < 6.14.0-4
%description qch-doc
Developer Documentation files for %{name} for use with KDevelop or QtCreator.
%package html
Summary: Developer Documentation files for %{name}
BuildArch: noarch
%description html
Developer Documentation files for %{name} in HTML format
%prep
%autosetup -n %{framework}-%{version} -p1
%build
%cmake_kf6
%cmake_build_kf6
%install
%cmake_install_kf6
%find_lang kf6-kio --all-name --with-man --with-html
%files
%license LICENSES/*.txt
%doc README.md
%files core
%{_kf6_libexecdir}/kioexec
%{_kf6_libexecdir}/kiod6
%{_kf6_libexecdir}/kioworker
%{_kf6_bindir}/ktelnetservice6
%{_kf6_bindir}/ktrash6
%{_kf6_plugindir}/kio/
%{_kf6_plugindir}/kded/
%{_kf6_plugindir}/kiod/
%{_kf6_plugindir}/kio_dnd/
%{_kf6_datadir}/kf6/searchproviders/*.desktop
%{_kf6_datadir}/applications/*.desktop
%{_datadir}/dbus-1/services/org.kde.*.service
%{_kf6_datadir}/qlogging-categories6/*categories
%files core-libs
%{_kf6_libdir}/libKF6KIOCore.so.*
%files doc -f kf6-kio.lang
%files gui
%{_kf6_libdir}/libKF6KIOGui.so.*
%files widgets
%dir %{_kf6_plugindir}/urifilters/
%{_kf6_plugindir}/urifilters/*.so
%{_kf6_libdir}/libkuriikwsfiltereng_private.so.*
%files widgets-libs
%{_kf6_libdir}/libKF6KIOWidgets.so.*
%files file-widgets
%{_kf6_libdir}/libKF6KIOFileWidgets.so.*
%files devel
%{_kf6_includedir}/*
%{_kf6_libdir}/*.so
%{_kf6_libdir}/cmake/KF6KIO/
%{_kf6_datadir}/kdevappwizard/templates/kioworker6.tar.bz2
%{_kf6_qtplugindir}/designer/kio6widgets.so
%{_qt6_docdir}/*/*.tags
%{_qt6_docdir}/*/*.index
%files qch-doc
%{_qt6_docdir}/*.qch
%files html
%{_qt6_docdir}/*/*
%exclude %{_qt6_docdir}/*/*.tags
%exclude %{_qt6_docdir}/*/*.index
%changelog
* Fri Feb 07 2025 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.11.0-1
- 6.11.0
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 6.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 07 2025 Steve Cossette <farchord@gmail.com> - 6.10.0-2
- File Picker: Fix 'All supported files' for more than 3
filters
* Fri Jan 03 2025 Steve Cossette <farchord@gmail.com> - 6.10.0-1
- 6.10.0
* Sat Dec 14 2024 Steve Cossette <farchord@gmail.com> - 6.9.0-1
- 6.9.0
* Sat Nov 02 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.8.0-1
- 6.8.0
* Mon Oct 14 2024 Jan Grulich <jgrulich@redhat.com> - 6.7.0-2
- Rebuild (qt6)
* Fri Oct 04 2024 Steve Cossette <farchord@gmail.com> - 6.7.0-1
- 6.7.0
* Mon Sep 16 2024 Steve Cossette <farchord@gmail.com> - 6.6.0-1
- 6.6.0
* Sat Aug 10 2024 Steve Cossette <farchord@gmail.com> - 6.5.0-1
- 6.5.0
* Fri Jul 19 2024 Steve Cossette <farchord@gmail.com> - 6.4.1-1
- 6.4.1
* Thu Jul 18 2024 Steve Cossette <farchord@gmail.com> - 6.4.0-3
- Fix for a regression in Frameworks 6.4.0
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sat Jul 06 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.4.0-1
- 6.4.0
* Sat Jun 01 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.3.0-1
- 6.3.0
* Sat May 04 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.2.0-1
- 6.2.0
* Wed Apr 10 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.1.0-1
- 6.1.0
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.0.0-7
- Re-enable docs
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.0.0-6
- Rebuild (qt6)
* Fri Mar 15 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-5
- add 6e7775d315f389df0a440ed62b842ce83dc9a27e.patch
[kterminallauncherjob] Inherit default process environment from parent
* Mon Mar 11 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 6.0.0-4
- Soften switcheroo-control dependency
* Sat Mar 09 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-3
- add missing BuildArch: noarch to -doc package
* Sat Mar 2 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-2
- move qt designer plugin to -devel
* Wed Feb 21 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.0.0-1
- 6.0.0
* Fri Feb 16 2024 Jan Grulich <jgrulich@redhat.com> - 5.249.0-2
- Rebuild (qt6)
* Wed Jan 31 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.249.0-1
- 5.249.0
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.248.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.248.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jan 10 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.248.0-1
- 5.248.0
* Tue Jan 09 2024 Marie Loise Nolden <loise@kde.org> - 5.247.0-2
- add doc package for KF6 API
* Wed Dec 20 2023 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.247.0-1
- 5.247.0
* Sat Dec 02 2023 Justin Zobel <justin.zobel@gmail.com> - 5.246.0-1
- Update to 5.246.0
* Wed Nov 29 2023 Jan Grulich <jgrulich@redhat.com> - 5.245.0-3
- Rebuild (qt6)
* Mon Nov 20 2023 Alessandro Astone <ales.astone@gmail.com> - 5.245.0-2
- Add back kuriikwsfiltereng SOVERSION patch
* Thu Nov 09 2023 Steve Cossette <farchord@gmail.com> - 5.245.0-1
- 5.245.0
* Tue Oct 17 2023 Jan Grulich <jgrulich@redhat.com> - 5.240.0^20231010.060359.1c34fd4-4
- Rebuild (qt6)
* Mon Oct 16 2023 Adam Williamson <awilliam@redhat.com> - 5.240.0^20231010.060359.1c34fd4-3
- Give kuriikwsfiltereng_private library a proper soname to fix deps
* Mon Oct 09 2023 Steve Cossette <farchord@gmail.com> - 5.240.0^20231010.060359.1c34fd4-2
- Fixed a problem with the -doc subpackage building differently on different arches.
* Mon Oct 09 2023 Steve Cossette <farchord@gmail.com> - 5.240.0^20231010.060359.1c34fd4-1
- Initial Release
+20
View File
@@ -0,0 +1,20 @@
import "andax/bump_extras.rhai" as bump;
let pkg = "kf6-kio";
let branch = bump::as_bodhi_ver(labels.branch);
let url = `https://bodhi.fedoraproject.org/updates/?search=${pkg}&status=stable&releases=${branch}&rows_per_page=1&page=1`;
for entry in get(url).json().updates[0].title.split(' ') {
let matches = find_all(`${pkg}-([\d.]+)-(\d+)\.[\w\d]+$`, entry);
if matches.len() == 0 { continue; }
if matches[0][1].ends_with(".0") {
rpm.global("majmin_ver_kf6", matches[0][1][0..matches[0][1].len()-2]);
rpm.f = sub(`Release: (.+?)\n`, "Release: " + matches[0][2] + "%{?dist}.switcheroo\n", rpm.f);
}
break;
}
let vr = bump::bodhi_vr("extra-cmake-modules", branch);
rpm.global("ecm_ver", vr[1]);
rpm.global("ecm_rel", vr[2]);
@@ -1,7 +1,7 @@
%global commit 88709e6ee84ddf7266457f8246c476bee3212ba3
%global commit 7f92a0f5aab4936f24f5a47a717a7444af1d3f42
Name: lightdm-kde-greeter
Version: 6.1.2
Version: 6.0.5
Release: 1%?dist
Summary: Login screen using the LightDM framework
License: GPL-3.0-or-later
@@ -22,11 +22,10 @@ BuildRequires: cmake(KF6Auth)
BuildRequires: cmake(KF6NetworkManagerQt)
BuildRequires: cmake(Plasma)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(libei-1.0)
BuildRequires: pkgconfig(liblightdm-gobject-1)
BuildRequires: systemd-rpm-macros
Requires: lightdm
Requires: plasma-workspace
Requires: plasma-workspace-qml
Requires: polkit
Provides: lightdm-greeter
@@ -82,8 +81,7 @@ mkdir -p %buildroot%_sharedstatedir/%name
%_datadir/dbus-1/system-services/org.kde.kcontrol.kcmlightdm.service
%_datadir/dbus-1/system.d/org.kde.kcontrol.kcmlightdm.conf
%_datadir/polkit-1/actions/org.kde.kcontrol.kcmlightdm.policy
%_datadir/lightdm/greeters/lightdm-kde-greeter.desktop
%_datadir/xgreeters/lightdm-kde-greeter-x11.desktop
%_datadir/xgreeters/lightdm-kde-greeter.desktop
%_datadir/%name/
%_kf6_libexecdir/kauth/kcmlightdmhelper
%_qt6_plugindir/plasma/kcms/systemsettings/kcm_lightdm.so
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
%global commit f4b7c634dc4f95086dcda70113fbc2f6ce22eed7
%global commit ca7670c0a74c42f03c0bb4196773519c270a0d75
%forgemeta
Name: lomiri-app-launch
@@ -1,9 +1,9 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-download-manager
%global commit ff2bc3a8f57b6124ca866c108c49aabcbe22bdf8
%global commit 4ceb67059014b9b7e0e15f860297fe60b95903a2
%forgemeta
Name: lomiri-download-manager
Version: 0.3.0
Version: 0.2.2
Release: 1%?dist
Summary: Upload Download Manager for Lomiri
License: LGPLv3
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 7790e87e4412428562dfbe66bfb5906319c2daa9
%global commit 54e10292fdecc42d2f5b296209d5b67f8ae90423
%forgemeta
Name: lomiri-system-settings
@@ -1,10 +1,10 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
%global commit 401b1c0ff861f3d50b2726389b366f9d1420eb33
%global commit 4111d119b21d58754f8b4bcaa7665cab7263be00
%forgemeta
Name: lomiri-ui-toolkit
Version: 1.3.5902
Release: 1%?dist
Version: 1.3.5110
Release: 2%?dist
Summary: QML components to ease the creation of beautiful applications in QML for Lomiri
License: LGPL-3.0
+1 -1
View File
@@ -1,5 +1,5 @@
Name: mangowc
Version: 0.10.8
Version: 0.10.6
Release: 1%?dist
Summary: wayland compositor base wlroots and scenefx (dwm but wayland)
License: GPL-3.0
+1 -1
View File
@@ -4,7 +4,7 @@
# prevent library files from being installed
%global cargo_install_lib 0
%global upstream_version v2.12.2
%global upstream_version v2.11.3
%global ver %{sub %upstream_version 2}
Name: walker
@@ -4,7 +4,7 @@
%global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$
Name: android-studio
Version: 2025.2.2.8
Version: 2025.2.1.8
Release: 1%?dist
Summary: Official IDE for Android development
License: Apache-2.0
+1 -1
View File
@@ -8,7 +8,7 @@
%global appid sh.oven.bun
Name: bun-bin
Version: 1.3.5
Version: 1.3.3
Release: 1%?dist
Summary: Incredibly fast JavaScript runtime, bundler, test runner, and package manager all in one
License: MIT
+1 -1
View File
@@ -12,7 +12,7 @@
%endif
Name: codium
Version: 1.107.18627
Version: 1.106.37943
Release: 1%?dist
Summary: Code editing. Redefined.
License: MIT

Some files were not shown because too many files have changed in this diff Show More