Compare commits

..

8 Commits

Author SHA1 Message Date
Gilver 56a2e73176 Merge branch 'frawhide' into gil/add/vlc 2025-12-26 08:48:17 -06:00
Gilver f7915c8adf chore: Port spec changes from F43 2025-12-19 23:27:01 -06:00
Gilver 1ce7b2f873 Cleanup 2025-12-19 20:56:16 -06:00
Gilver fc3c1dcc3a cleanup: New macros and bump release down 2025-12-19 20:14:23 -06:00
Gilver 177153e227 feat: Handle Freeworld 2025-12-19 19:44:55 -06:00
Gilver 47bad035e5 cleanup: Remove Flatpak stuff, add patches 2025-12-19 19:36:48 -06:00
Gilver ec642693d1 ??? 2025-12-19 19:33:31 -06:00
Gilver 9f79730638 add: VLC 2025-12-19 19:32:57 -06:00
268 changed files with 4796 additions and 2890 deletions
-63
View File
@@ -1,63 +0,0 @@
name: Package Bug Report
description: Report an issue with a package.
title: "[BUG] "
labels: ["bug", "triage"]
#projects: ["octo-org/1", "octo-org/44"]
assignees:
- hamachitan
#type: bug
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: pkg
attributes:
label: Full Package Name
description: If you report multiple packages, only the main package is needed if applicable, or separate them with spaces otherwise. Obtain the full package name using `rpm -qa pkg-name`.
placeholder: anda-0.4.14-1.fc43.x86_64
validations:
required: true
- type: dropdown
id: releasever
attributes:
label: Release Version
description: Which version of Terra are you using?
options:
- frawhide
- f43
- f42
- el10
default: 1
- type: textarea
id: description
attributes:
label: Describe the Bug
description: A clear and concise description of what the bug is. Please only report issues with packaging or Terra itself, report upstream bugs to the respective project.
placeholder: A bug happened!
validations:
required: true
- type: textarea
id: repro
attributes:
label: To Reproduce
description: How can the bug be reproduced?
placeholder: |
1. `dnf install this-package`
2. run `this-package`
3. see error
validations:
required: true
- type: textarea
id: expect
attributes:
label: Expected Behavior
description: A clear and concise description of what you expected to happen.
placeholder: Running it should show hello world!
- type: textarea
id: logs
attributes:
label: Relevant Log Output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
@@ -1,14 +1,14 @@
---
name: Incident Report
about: Report an issue with Terra itself
title: '[INCIDENT] '
labels: incident
assignees: ['madonuko', 'korewaChino', 'lleyton']
name: Bug report
about: Report an issue with a package (or Terra itself)
title: '[BUG] '
labels: bug
assignees: ''
---
**Describe the Incident**
A clear and concise description of what is going on. **If you want to report a problem with a package, please use the Package Bug Report option instead.**
**Describe the bug**
A clear and concise description of what the bug is. Please only report issues with packaging or Terra itself, report upstream bugs to the respective project.
**To Reproduce**
Steps to reproduce the behavior:
@@ -23,7 +23,7 @@ If applicable, add screenshots to help explain your problem.
**Affected (please complete the following information):**
- Distro [e.g. Fedora]
- Other relevant environments
- Package [e.g. melody, srpm-macros]
**Additional context**
Add any other context about the problem here.
+3 -2
View File
@@ -50,7 +50,8 @@ First of all, thanks for being interested in contributing to Terra! If you have
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Guidelines](https://developer.fyralabs.com/terra/guidelines)
- [Policy](https://developer.fyralabs.com/terra/policy)
## Documentation
@@ -66,4 +67,4 @@ Feel free to reach out by [joining our community](https://wiki.ultramarine-linux
- [Contribution Guide](https://developer.fyralabs.com/terra/contributing)
- [FAQ](https://developer.fyralabs.com/terra/faq)
- [Guidelines](https://developer.fyralabs.com/terra/guidelines)
- [Policy](https://developer.fyralabs.com/terra/policy)
+1 -1
View File
@@ -74,5 +74,5 @@ rm -rf %buildroot%_bindir/{distro,flask,jsonschema,markdown_py,normalizer,send2t
* Fri Nov 10 2023 hazel-bunny <dabiswas112@gmail.com> - 23.10-2
- Add python3-orjson and mpv as dependencies
* Wed Jan 11 2023 madonuko <mado@fyralabs.com> - 2.1.60
* Wed Jan 11 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package
+1 -1
View File
@@ -62,5 +62,5 @@ find %{buildroot} -iname direct_url.json | xargs -r rm -rf
/usr/lib64/python*/site-packages/anki-%{version}.dist-info/
%changelog
* Tue Jan 3 2023 madonuko <mado@fyralabs.com> - 2.1.60
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package
+1 -1
View File
@@ -68,5 +68,5 @@ chmod 755 %{buildroot}%{_bindir}/anki
%changelog
* Tue Jan 3 2023 madonuko <mado@fyralabs.com> - 2.1.60
* Tue Jan 3 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.1.60
- Initial package
+1 -1
View File
@@ -8,7 +8,7 @@ for background device management, as well as a GUI to expertly customize your se
%global __brp_mangle_shebangs %{nil}
Name: coolercontrol
Version: 3.1.0
Version: 3.0.2
Release: 1%?dist
Summary: Cooling device control for Linux
License: GPL-3.0-or-later
@@ -54,7 +54,7 @@ ln -s %_datadir/discord-canary-openasar/DiscordCanary %buildroot%_bindir/discord
%changelog
* Wed Jan 18 2023 madonuko <mado@fyralabs.com> - 0.0.146-1
* Wed Jan 18 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.0.146-1
- Renamed from openasar-canary to discord-canary-openasar
- Fix issues after removing discord-canary package
- Bundle discord-canary
+3 -3
View File
@@ -45,7 +45,7 @@ ln -s %_datadir/discord-canary/DiscordCanary %buildroot%_bindir/discord-canary
* Thu Dec 01 2022 root - 0.0.144-1
- new version
* Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.143-1
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 0.0.143-1
- new version
* Fri Oct 28 2022 root - 0.0.142-1
@@ -60,10 +60,10 @@ ln -s %_datadir/discord-canary/DiscordCanary %buildroot%_bindir/discord-canary
* Thu Oct 27 2022 root - 0.0.141-1
- new version
* Wed Oct 19 2022 madonuko <mado@fyralabs.com> - 0.0.140-1
* Wed Oct 19 2022 windowsboy111 <wboy111@outlook.com> - 0.0.140-1
- new version
* Sun Oct 16 2022 madonuko <mado@fyralabs.com> - 0.0.139
* Sun Oct 16 2022 windowsboy111 <wboy111@outlook.com> - 0.0.139
- Repackaged for Terra
* Tue Feb 22 2022 Ultramarine Release Tracking Service - 0.0.133-2
@@ -54,5 +54,5 @@ ln -s %_datadir/discord-openasar/Discord %buildroot%_bindir/discord-openasar
%changelog
* Sat Jan 21 2023 madonuko <mado@fyralabs.com> - 0.0.38-1
* Sat Jan 21 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.0.38-1
- Initial package
@@ -56,5 +56,5 @@ ln -s %_datadir/discord-ptb-openasar/Discord %buildroot%_bindir/discord-ptb-open
%changelog
* Sat Jan 21 2023 madonuko <mado@fyralabs.com> - 0.0.38-1
* Sat Jan 21 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.0.38-1
- Initial package
+3 -3
View File
@@ -46,11 +46,11 @@ ln -s %_datadir/discord-ptb/Discord %buildroot%_bindir/discord-ptb
%{_datadir}/pixmaps/discord-ptb.png
%changelog
* Thu Nov 17 2022 madonuko <mado@fyralabs.com> - 0.0.35-1
* Thu Nov 17 2022 windowsboy111 <wboy111@outlook.com> - 0.0.35-1
- new version
* Thu Oct 20 2022 madonuko <mado@fyralabs.com> - 0.0.34-1
* Thu Oct 20 2022 windowsboy111 <wboy111@outlook.com> - 0.0.34-1
- new version
* Sun Oct 16 2022 madonuko <mado@fyralabs.com> - 0.0.33
* Sun Oct 16 2022 windowsboy111 <wboy111@outlook.com> - 0.0.33
- Initial Package.
+1 -1
View File
@@ -46,5 +46,5 @@ ln -s %_datadir/discord/Discord %buildroot%_bindir/discord
%{_datadir}/pixmaps/discord.png
%changelog
* Thu Jan 19 2023 madonuko <mado@fyralabs.com> - 0.0.143-1
* Thu Jan 19 2023 windowsboy111 <wboy111@outlook.com> - 0.0.143-1
- Initial package
+1 -1
View File
@@ -1,7 +1,7 @@
%undefine __brp_mangle_shebangs
Name: dorion
Version: 6.12.0
Version: 6.11.0
Release: 1%?dist
Summary: Tiny alternative Discord client with a smaller footprint, snappier startup, themes, plugins and more!
SourceLicense: GPL-3.0-only
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "falcond-gui.spec"
}
}
-52
View File
@@ -1,52 +0,0 @@
Name: falcond-gui
Version: 1.0.0
Release: 1%{?dist}
Summary: A GTK4/LibAdwaita application to control and monitor the Falcond gaming optimization daemon
SourceLicense: MIT
License: (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND CC0-1.0 AND ISC AND (MIT OR Apache-2.0) AND MIT AND (Unlicense OR MIT)
URL: https://git.pika-os.com/general-packages/falcond-gui
Source0: %{url}/archive/v%{version}.tar.gz
BuildRequires: anda-srpm-macros
BuildRequires: cargo-rpm-macros
BuildRequires: desktop-file-utils
BuildRequires: gtk4-devel
BuildRequires: libadwaita-devel
BuildRequires: mold
Requires: gtk4
Requires: falcond
Requires: falcond-profiles
Requires: libadwaita
Requires(post): gtk-update-icon-cache
Packager: Gilver E. <roachy@fyralabs.com>
%description
falcond-gui provides a user-friendly graphical interface for managing falcond. It allows users to view the status of the daemon and customize its behavior.
%prep
%autosetup -n %{name}/%{name}
%cargo_prep_online
%build
%install
%cargo_install
desktop-file-install res/%{name}.desktop
install -Dm644 res/falcond.png -t %{buildroot}%{_hicolordir}/512x512/apps/
%{cargo_license_online} > LICENSE.dependencies
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%posttrans
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor/ &>/dev/null || :
%files
%doc ../README.md
%license ../LICENSE.md
%{_bindir}/%{name}
%{_hicolordir}/512x512/apps/falcond.png
%{_appsdir}/%{name}.desktop
%changelog
* Thu Jan 1 2026 Gilver E. <roachy@fyralabs.com> - 1.0.0-1
- Initial package
-1
View File
@@ -1 +0,0 @@
rpm.version(get("https://git.pika-os.com/api/v1/repos/general-packages/falcond-gui/releases").json_arr()[0].tag_name);
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 1.2.0
Version: 0.22.0
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
@@ -1,6 +1,6 @@
%global commit e92a5cf09e5755b07a57cd92ed3a555b442e2ccf
%global commit 8076be6b34f72b721f9bc00d9e3f8cbe26dfeb9b
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260105
%global commit_date 20251226
%global ver 1.11.4^
%global base_name goofcord
%global git_name GoofCord
@@ -11,7 +11,7 @@
%endif
Name: helium-browser-bin
Version: 0.7.9.1
Version: 0.7.7.1
Release: 1%?dist
Summary: Private, fast, and honest web browser based on Chromium
+2 -2
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.99.0
%global raw_ver v1.98.0
Name: komikku
Version: 1.99.0
Version: 1.98.0
%forgemeta
Release: 1%?dist
Summary: A manga reader for GNOME
@@ -1,5 +1,5 @@
%global commit cb6072a853d7fc36fe1a6d5b666ee3ef7e238566
%global commit_date 20260104
%global commit baf407ce7cf37b279999ca22ca03b06a44415da7
%global commit_date 20251216
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global debug_package %nil
%global __strip /bin/true
@@ -82,10 +82,10 @@ desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U"
* Mon Aug 26 2024 madonuko <mado@fyralabs.com> - 3.3.0-1
- Update to license.txt
* Sat Jun 17 2023 madonuko <mado@fyralabs.com> - 3.2.0-2
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
- Remove libnotify dependency.
- Fix desktop entry.
- Set as noarch package because there are not binary files.
* Sat May 6 2023 madonuko <mado@fyralabs.com> - 3.1.7-1
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
- Initial package
+2 -2
View File
@@ -78,10 +78,10 @@ desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U"
* Mon Aug 26 2024 madonuko <mado@fyralabs.com> - 3.3.0-1
- Update to license.txt
* Sat Jun 17 2023 madonuko <mado@fyralabs.com> - 3.2.0-2
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.2.0-2
- Remove libnotify dependency.
- Fix desktop entry.
- Set as noarch package because there are not binary files.
* Sat May 6 2023 madonuko <mado@fyralabs.com> - 3.1.7-1
* Sat May 6 2023 windowsboy111 <windowsboy111@fyralabs.com> - 3.1.7-1
- Initial package
+2 -2
View File
@@ -1,9 +1,9 @@
# Disable X11 for RHEL 10+
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
%global commit 0035bb7cbd1faf97aa91414a9b376a53b4c821bd
%global commit c0d989c83913fb9c990d961c44da4816b8d2de18
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260105
%global commit_date 20251225
%global ver 0.41.0
Name: mpv-nightly
+1 -1
View File
@@ -1,4 +1,4 @@
%global ver 2026-01-05
%global ver 2025-12-26
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
@@ -22,6 +22,9 @@
<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>
+1 -1
View File
@@ -2,7 +2,7 @@
Name: snow
Version: 1.2.0
Release: 3%?dist
Release: 2%?dist
Summary: Classic Macintosh emulator
URL: https://github.com/twvd/snow
Source0: %url/archive/refs/tags/v%version.tar.gz
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "socktop.spec"
}
}
-53
View File
@@ -1,53 +0,0 @@
%global ver 1.55.0-test2
%global sanitized_ver %(echo %{ver} | sed 's/-//g')
Name: socktop
Version: %sanitized_ver
Release: 1%?dist
Summary: socktop is a remote system monitor with a rich TUI interface
URL: https://github.com/jasonwitty/socktop
Source0: %{url}/archive/refs/tags/v%{ver}.tar.gz
License: MIT
BuildRequires: rust libdrm-devel systemd-rpm-macros cargo-rpm-macros
Requires: libdrm
Packager: lux8149 <julianbashirisasimp@gmail.com>
%description
socktop is a remote system monitor with a rich TUI interface, inspired by `top` and `btop`,
that communicates with a lightweight remote agent over WebSockets.
%prep
%autosetup -n %{name}-%{ver}
%cargo_prep_online
%build
%cargo_build
%install
install -Dm 755 target/rpm/socktop %{buildroot}%{_bindir}/socktop
install -Dm 755 target/rpm/socktop_agent %{buildroot}%{_bindir}/socktop_agent
install -Dm 644 target/rpm/libsocktop_connector.so %{buildroot}%{_libdir}/libsocktop_connector.so
install -Dm 644 docs/socktop-agent.service %{buildroot}%{_unitdir}/socktop-agent.service
%{cargo_license_online} > LICENSE.dependencies
%post
%systemd_post socktop-agent.service
%preun
%systemd_preun socktop-agent.service
%postun
%systemd_postun_with_restart socktop-agent.service
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%{_bindir}/socktop
%{_bindir}/socktop_agent
%{_libdir}/libsocktop_connector.so
%{_unitdir}/socktop-agent.service
%changelog
* Sun Jan 04 2026 lux8149 <julianbashirisasimp@gmail.com>
- Initial Package
-1
View File
@@ -1 +0,0 @@
rpm.global("ver", gh("jasonwitty/socktop"));
-9
View File
@@ -1,9 +0,0 @@
project pkg {
rpm {
spec = "sunshine.spec"
extra_repos = ["https://repos.fyralabs.com/terrarawhide-nvidia"]
}
labels {
mock = 1
}
}
-13
View File
@@ -1,13 +0,0 @@
diff --git a/cmake/dependencies/Boost_Sunshine.cmake b/cmake/dependencies/Boost_Sunshine.cmake
index eb2ac409..109c3238 100644
--- a/cmake/dependencies/Boost_Sunshine.cmake
+++ b/cmake/dependencies/Boost_Sunshine.cmake
@@ -3,7 +3,7 @@
#
include_guard(GLOBAL)
-set(BOOST_VERSION "1.87.0")
+set(BOOST_VERSION "1.83.0")
set(BOOST_COMPONENTS
filesystem
locale
@@ -1,15 +0,0 @@
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5a4ecd7f..b78a436f 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -16,8 +16,8 @@ include_directories("${GTEST_SOURCE_DIR}/googletest/include" "${GTEST_SOURCE_DIR
# coverage
# https://gcovr.com/en/stable/guide/compiling.html#compiler-options
-set(CMAKE_CXX_FLAGS "-fprofile-arcs -ftest-coverage -ggdb -O0")
-set(CMAKE_C_FLAGS "-fprofile-arcs -ftest-coverage -ggdb -O0")
+set(CMAKE_CXX_FLAGS "-fprofile-arcs -ftest-coverage -ggdb -O0 -fPIE")
+set(CMAKE_C_FLAGS "-fprofile-arcs -ftest-coverage -ggdb -O0 -fPIE")
# if windows
if (WIN32)
-115
View File
@@ -1,115 +0,0 @@
%bcond_without cuda
%bcond_without check
%global appid dev.lizardbyte.app.Sunshine
%global github_url https://github.com/LizardByte/Sunshine.git
%global commit 86188d47a7463b0f73b35de18a628353adeaa20e
Name: sunshine
Version: 2025.924.154138
Release: 1%{?dist}
License: GPL-3.0-only AND CC0-1.0
URL: http://app.lizardbyte.dev/Sunshine/
Patch0: fix-test-cxxflags.patch
# 44 _should_ have boost-1.90.0, so this probably wont be needed
Patch1: downgrade-boost.patch
Summary: Self-hosted game stream host for Moonlight
Packager: metcya <metcya@gmail.com>
BuildRequires: anda-srpm-macros
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: openssl-devel
BuildRequires: boost-devel
BuildRequires: pkgconfig(libcap)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(libva-drm)
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(udev)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-server)
BuildRequires: pkgconfig(wayland-egl)
BuildRequires: pkgconfig(wayland-cursor)
BuildRequires: pkgconfig(nlohmann_json)
BuildRequires: pkgconfig(pkg-config)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(miniupnpc)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(ayatana-appindicator3-0.1)
BuildRequires: pkgconfig(appindicator3-0.1)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(numa)
BuildRequires: doxygen
BuildRequires: nodejs-npm
BuildRequires: systemd-rpm-macros
%if %{with cuda}
BuildRequires: cuda
%endif
%if %{with check}
BuildRequires: appstream
BuildRequires: desktop-file-utils
%endif
%description
Sunshine is a self-hosted game stream host for Moonlight. Offering low-latency,
cloud gaming server capabilities with support for AMD, Intel, and Nvidia GPUs
for hardware encoding. Software encoding is also available. You can connect to
Sunshine from any Moonlight client on a variety of devices. A web UI is
provided to allow configuration, and client pairing, from your favorite web
browser. Pair from the local server or any mobile device.
%prep
%git_clone %{github_url} v%{version}
%autopatch -p1
%build
export BRANCH=master
export BUILD_VERSION=%{version}
export CLONE_URL=%{github_url}
export COMMIT=%{commit}
export TAG=v%{version}
%cmake -DSUNSHINE_ENABLE_CUDA=%{?with_cuda:ON:OFF} \
-DSUNSHINE_ASSETS_DIR=share/%{name}
%cmake_build
%install
%cmake_install
%terra_appstream
%post
%systemd_user_post %{name}.service
%preun
%systemd_user_preun %{name}.service
%postun
%systemd_user_postun_with_restart %{name}.service
%if %{with check}
%check
appstreamcli validate %{buildroot}%{_metainfodir}/%{appid}.metainfo.xml
desktop-file-validate %{buildroot}%{_appsdir}/%{appid}{,.terminal}.desktop
%endif
%files
%{_bindir}/%{name}
%{_bindir}/%{name}-%{version}
%{_datadir}/%{name}/
%{_userunitdir}/%{name}.service
%{_udevrulesdir}/60-%{name}.rules
%{_modulesloaddir}/60-%{name}.conf
%{_scalableiconsdir}/%{name}.svg
%{_hicolordir}/scalable/status/*.svg
%{_appsdir}/*.desktop
%{_metainfodir}/%{appid}.metainfo.xml
%changelog
* Sun Jan 04 2026 metcya <metcya@gmail.com> - 2025.924.154138-1
- Initial package
+7 -1
View File
@@ -1,7 +1,7 @@
#? https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=throne-git
Name: throne
Version: 1.0.13
Version: 1.0.12
Release: 1%?dist
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
URL: https://github.com/throneproj/Throne
@@ -24,6 +24,12 @@ BuildRequires: rpm_macro(cmake_build)
BuildRequires: rpm_macro(cmake_install)
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(libcurl)
BuildRequires: cmake(yaml-cpp)
BuildRequires: cmake(ZXing)
BuildRequires: cmake(absl)
BuildRequires: cmake(cpr)
BuildRequires: cmake(Qt6)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6Linguist)
@@ -0,0 +1,38 @@
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
@@ -0,0 +1,775 @@
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
@@ -0,0 +1,28 @@
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
@@ -0,0 +1,82 @@
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
@@ -0,0 +1,46 @@
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
@@ -0,0 +1,149 @@
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
@@ -0,0 +1,11 @@
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
@@ -0,0 +1,19 @@
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
@@ -0,0 +1,84 @@
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
@@ -0,0 +1,239 @@
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
@@ -0,0 +1,49 @@
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
@@ -0,0 +1,17 @@
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
@@ -0,0 +1,11 @@
--- ./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
@@ -0,0 +1 @@
%vlc_plugindir %{_libdir}/vlc/plugins
+48
View File
@@ -0,0 +1,48 @@
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
@@ -0,0 +1 @@
rpm.version(find(`\"name\":\"Linux\",\"latestVersion\":\"([\d.]+)\"`, get(`https://www.videolan.org/vlc/`), 1));
File diff suppressed because it is too large Load Diff
+6 -8
View File
@@ -1,5 +1,3 @@
%define _unpackaged_files_terminate_build 0
Name: vpkedit
Version: 5.0.0.4
Release: 1%?dist
@@ -28,9 +26,9 @@ new VPKs.
%build
%cmake -DBUILD_SHARED_LIBS:BOOL=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCPACK_GENERATOR=RPM
%cmake -DCMAKE_INSTALL_PREFIX=%_libdir/%name \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DCMAKE_BUILD_TYPE=Release
# -DVPKEDIT_BUILD_LIBC=ON
%cmake_build
@@ -40,18 +38,18 @@ new VPKs.
pushd %buildroot%_libdir/%name
rm -rf {libQt*,*.md,LICENSE}
popd
mkdir -p %buildroot%_bindir
ln -sf %_libdir/vpkedit/vpkedit %buildroot%_bindir/vpkedit
ln -sf %_libdir/vpkedit/vpkeditcli %buildroot%_bindir/vpkeditcli
sed -i 's@Exec=/opt/vpkedit/@Exec=@g' %buildroot%_datadir/applications/vpkedit.desktop
%files
%doc README.md CODE_OF_CONDUCT.md INSTALL.md CREDITS.md
%doc README.md CREDITS.md
%license LICENSE
%_bindir/vpkedit
%_bindir/vpkeditcli
%_libdir/%name/
%_datadir/applications/vpkedit.desktop
%_hicolordir/*x*/apps/vpkedit.png
%_iconsdir/hicolor/128x128/mimetypes/application-x-vpkedit.png
%_datadir/mime/packages/vpkedit.xml
%_datadir/pixmaps/vpkedit.png
+1 -1
View File
@@ -1 +1 @@
rpm.version(gh_tag("linuxmint/webapp-manager"));
rpm.version(gh("linuxmint/webapp-manager"));
+2 -9
View File
@@ -1,5 +1,5 @@
Name: webapp-manager
Version: master.mint22
Version: master.lmde7
Release: 1%?dist
Summary: Web Application Manager
License: GPL-3.0-or-later
@@ -13,13 +13,11 @@ Requires: python3-gobject
Requires: python3-pillow
Requires: python3-setproctitle
Requires: python3-tldextract
Requires: xapp-symbolic-icons
Requires: xapps
BuildRequires: gettext
BuildRequires: make
BuildRequires: python3-devel
BuildRequires: desktop-file-utils
Packager: metcya <metcya@gmail.com>
@@ -37,7 +35,7 @@ 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}%{_appsdir}
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}
@@ -48,11 +46,6 @@ install -Dm 644 usr/share/%{name}/firefox/profile/{places.sqlite,search.json.moz
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
sed -i '/^NotShowIn=KDE;$/d' %{buildroot}%{_appsdir}/%{name}.desktop
%check
desktop-file-validate %{buildroot}%{_appsdir}/%{name}.desktop
%files
%doc README.md
%license LICENSE
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "gnome-shell-extension-grand-theft-focus.spec"
}
}
@@ -1,35 +0,0 @@
%global extension grand-theft-focus
%global uuid %{extension}@zalckos
Name: gnome-shell-extension-%{extension}
Version: 9
Release: 1%?dist
Summary: GNOME extension that removes the 'Window is ready' notification and brings the window into focus instead
License: AGPL-3.0-only
URL: https://github.com/zalckos/GrandTheftFocus
BuildArch: noarch
Source0: https://github.com/zalckos/GrandTheftFocus/archive/refs/tags/v%version.tar.gz
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Recommends: gnome-extensions-app
%description
GNOME extension. Removes the 'Window is ready' notification and brings the window into focus instead.
%prep
%autosetup -n GrandTheftFocus-%version
%install
install -Dm644 grand-theft-focus@zalckos.github.com/metadata.json %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/metadata.json
install -Dm644 grand-theft-focus@zalckos.github.com/extension.js %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/extension.js
%files
%license LICENSE
%doc README.md
%{_datadir}/gnome-shell/extensions/%{uuid}
%changelog
* Tue Dec 30 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
@@ -1 +0,0 @@
rpm.version(gh_tag("zalckos/GrandTheftFocus"));
@@ -1,9 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "gnome-shell-extension-multi-monitors-bar.spec"
}
labels {
nightly = 1
}
}
@@ -1,55 +0,0 @@
%global commit fa8a73a208ced4a2376d692552ea6b3694d08d53
%global commit_date 20260103
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global extension multi-monitors-bar
%global uuid %{extension}@frederykabryan
Name: gnome-shell-extension-%{extension}
Version: 0~%{commit_date}git.%{shortcommit}
Release: 1%?dist
Summary: Add multiple monitors overview and panel for GNOME Shell. This is an updated fork with GNOME 46 compatibility
License: GPL-2.0-or-later
URL: https://github.com/FrederykAbryan/multi-monitors-bar_fapv2
BuildArch: noarch
Source0: %url/archive/%commit/multi-monitors-bar_fapv2-%commit.tar.gz
# README declared the license, but they do not provide a license file
Requires: (gnome-shell >= 48~ with gnome-shell < 50~)
Recommends: gnome-extensions-app
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
%summary.
%prep
%autosetup -n multi-monitors-bar_fapv2-%commit
%build
%install
find . -name "*.gschema.xml"
mkdir -p %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}
install -Dm644 *.json %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/
install -Dm644 *.js %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/
install -Dm644 *.css %{buildroot}%{_datadir}/gnome-shell/extensions/%{uuid}/
install -Dm644 schemas/*.gschema.xml -t %{buildroot}%{_datadir}/glib-2.0/schemas/
%post
glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &> /dev/null || :
%postun
glib-compile-schemas %{_datadir}/glib-2.0/schemas/ &> /dev/null || :
%files
%license LICENSE
%doc README.md
%{_datadir}/gnome-shell/extensions/%{uuid}
%{_datadir}/glib-2.0/schemas/*.gschema.xml
%changelog
* Thu Jan 01 2026 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
@@ -1,5 +0,0 @@
rpm.global("commit", gh_commit("FrederykAbryan/multi-monitors-bar_fapv2"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
}
@@ -1,5 +1,5 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit a552ac4981b3d8ce7380f7c1b3b66514bf9d2eb3
%global commit 7790e87e4412428562dfbe66bfb5906319c2daa9
%forgemeta
Name: lomiri-system-settings
+1 -1
View File
@@ -1,5 +1,5 @@
Name: mangowc
Version: 0.10.10
Version: 0.10.8
Release: 1%?dist
Summary: wayland compositor base wlroots and scenefx (dwm but wayland)
License: GPL-3.0
@@ -1,5 +1,5 @@
From e4039bd482e3abba2a04e754fcb179ea95213232 Mon Sep 17 00:00:00 2001
From: madonuko <mado@fyralabs.com>
From: windowsboy111 <wboy111@outlook.com>
Date: Fri, 16 Jun 2023 18:02:22 +0800
Subject: [PATCH] fix(tests): import cstdint
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "noctalia-shell.spec"
}
}
@@ -1,46 +0,0 @@
%global debug_package %{nil}
Name: noctalia-shell
Version: 3.8.2
Release: 1%?dist
Summary: A Quickshell-based custom shell setup
License: MIT
URL: https://github.com/noctalia-dev/noctalia-shell
Source0: https://github.com/noctalia-dev/noctalia-shell/releases/latest/download/noctalia-latest.tar.gz
Requires: brightnessctl
Requires: dejavu-sans-fonts
Requires: gpu-screen-recorder
Requires: qt6-qtmultimedia
Requires: quickshell
Recommends: cava
Recommends: cliphist
Recommends: ddcutil
Recommends: matugen
Recommends: power-profiles-daemon
Recommends: wlsunset
Packager: Willow Reed <willow@willowidk.dev>
%description
A beautiful, minimal desktop shell for Wayland that actually gets out of your way. Built on Quickshell with a warm lavender aesthetic that you can easily customize to match your vibe.
%prep
%autosetup -n noctalia-release
%build
%install
install -d -m 0755 %{buildroot}/etc/xdg/quickshell/noctalia-shell
cp -r ./* %{buildroot}/etc/xdg/quickshell/noctalia-shell/
%files
%doc README.md
%license LICENSE
%{_sysconfdir}/xdg/quickshell/noctalia-shell/
%changelog
* Fri Jan 02 2026 Willow Reed <willow@willowidk.dev>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("noctalia-dev/noctalia-shell"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "quickshell.spec"
}
}
-67
View File
@@ -1,67 +0,0 @@
Name: quickshell
Version: 0.2.1
Release: 1%?dist
Summary: Flexible QtQuick based desktop shell toolkit
License: LGPL-3.0-only AND GPL-3.0-only
URL: https://github.com/quickshell-mirror/quickshell
Source0: https://github.com/quickshell-mirror/quickshell/archive/v%{version}/%{name}-%{version}.tar.gz
Packager: Willow Reed (willow@willowidk.dev)
BuildRequires: cmake
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6ShaderTools)
BuildRequires: cmake(Qt6WaylandClient)
BuildRequires: gcc-c++
BuildRequires: ninja-build
BuildRequires: qt6-qtbase-private-devel
BuildRequires: spirv-tools
BuildRequires: anda-srpm-macros
BuildRequires: breakpad-devel
BuildRequires: breakpad-static
BuildRequires: pkgconfig
BuildRequires: pkgconfig(jemalloc)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(pam)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(CLI11)
%description
Flexible QtQuick based desktop shell toolkit.
%prep
%autosetup -n %{name}-%{version}
%build
%cmake -GNinja \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DDISTRIBUTOR="Fedora Terra" \
-DDISTRIBUTOR_DEBUGINFO_AVAILABLE=YES \
-DGIT_REVISION=%{commit} \
-DINSTALL_QML_PREFIX=%{_lib}/qt6/qml
%cmake_build
%install
%cmake_install
%files
%license LICENSE LICENSE-GPL
%doc BUILD.md
%doc CONTRIBUTING.md
%doc README.md
%doc changelog/v%{version}.md
%{_bindir}/qs
%{_bindir}/quickshell
%{_appsdir}/org.quickshell.desktop
%{_scalableiconsdir}/org.quickshell.svg
%{_libdir}/qt6/qml/Quickshell
%changelog
* Fri Jan 02 2026 Willow Reed <willow@willowidk.dev>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("https://github.com/quickshell-mirror/quickshell"));
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "nwg-look.spec"
}
}
-55
View File
@@ -1,55 +0,0 @@
%dnl %define debug_package %{nil}
%global goipath github.com/nwg-piotr/nwg-look
Version: 1.0.6
%gometa -f
Name: nwg-look
Release: 1%?dist
Summary: GTK3 settings editor adapted to work in the wlroots environment
License: MIT
URL: https://github.com/nwg-piotr/nwg-look
Source0: https://github.com/nwg-piotr/nwg-look/archive/refs/tags/v%version.tar.gz
Packager: Owen Zimmerman <owen@fyralabs.com>
BuildRequires: golang
BuildRequires: gcc
BuildRequires: go-rpm-macros
BuildRequires: make
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gdk-3.0)
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(cairo-gobject)
Requires: glibc
%description
%{summary}.
%gopkg
%prep
%autosetup -n %{name}-%{version}
%build
%make_build
%make_build build
%install
%make_install
%files
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_appsdir}/%{name}.desktop
%{_datadir}/%{name}/
%{_datadir}/pixmaps/%{name}.svg
%changelog
* Fri Dec 05 2025 Owen Zimmerman <owen@fyralabs.com>
- Initial commit
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("nwg-piotr/nwg-look"));
@@ -12,7 +12,7 @@
# https://github.com/savedra1/clipse
%global goipath github.com/savedra1/clipse
Version: 1.2.0
Version: 1.1.0
%gometa -f
@@ -24,7 +24,7 @@ Configurable TUI clipboard manager for Unix.}
resources/test_data/top_secret_credentials.txt
Name: clipse
Release: 1%?dist
Release: 3%?dist
Summary: Configurable TUI clipboard manager for Unix
Provides: golang-github-savedra1-clipse = %evr
Obsoletes: golang-github-savedra1-clipse < 1.1.0-2
+7 -11
View File
@@ -2,7 +2,7 @@
%global _build_id_links none
# Exclude private libraries
%global __requires_exclude libffmpeg.so|libcurl.so|libmsalruntime.so
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
%ifarch x86_64
@@ -11,11 +11,9 @@
%define a arm64
%endif
%global appid com.vscodium.VSCodium
Name: codium
Version: 1.107.18627
Release: 2%?dist
Release: 1%?dist
Summary: Code editing. Redefined.
License: MIT
URL: https://vscodium.com/
@@ -23,15 +21,12 @@ Source0: https://github.com/VSCodium/vscodium/releases/download/%version/VSCodi
Source1: https://raw.githubusercontent.com/VSCodium/vscodium/%version/README.md
Source2: https://raw.githubusercontent.com/VSCodium/vscodium/%version/LICENSE
Requires: at-spi2-atk cairo expat gtk3 xrandr mesa-libgbm nspr nss nss-util xdg-utils
Provides: vscodium = %evr
BuildRequires: rpm_macro(fdupes)
%description
VSCodium is a new choice of tool that combines the simplicity of a code editor
with what developers need for the core edit-build-debug cycle.
%pkg_completion -Bz
%prep
mkdir stuff
cd stuff
@@ -100,7 +95,6 @@ ln -s %_datadir/%name/resources/completions/bash/codium %buildroot%_datadir/bash
%fdupes %_datadir/%name/resources/app/extensions/
#terra_appstream
%files
%doc README.md
@@ -111,12 +105,14 @@ ln -s %_datadir/%name/resources/completions/bash/codium %buildroot%_datadir/bash
%_datadir/applications/codium.desktop
%_datadir/applications/codium-uri-handler.desktop
%_datadir/pixmaps/vscodium.png
%dnl %_metainfodir/%appid.metainfo.xml
%_datadir/zsh/site-functions/_codium
%_datadir/bash-completion/completions/codium
%changelog
* Sat Jun 17 2023 madonuko <mado@fyralabs.com> - 1.79.2.23166-2
* Sat Jun 17 2023 windowsboy111 <windowsboy111@fyralabs.com> - 1.79.2.23166-2
- Use /usr/share/ instead of /opt/.
- Remove lib dependencies.
* Sun Apr 2 2023 madonuko <mado@fyralabs.com> - 1.77.3.23102-1
* Sun Apr 2 2023 windowsboy111 <windowsboy111@fyralabs.com> - 1.77.3.23102-1
- Initial package.
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "create-tauri-app.spec"
}
}
@@ -1,47 +0,0 @@
%global crate create-tauri-app
Name: rust-create-tauri-app
Version: 4.6.2
Release: 1%{?dist}
Summary: Rapidly scaffold out a new tauri app project
License: Apache-2.0 OR MIT
URL: https://crates.io/crates/create-tauri-app
Source: %{crates_source}
BuildRequires: anda-srpm-macros
BuildRequires: cargo-rpm-macros
BuildRequires: mold
Suggests: tauri
%description
%{summary}.
%package -n %{crate}
Summary: %{summary}
License: Apache-2.0 AND (Apache-2.0 OR BSL-1.0 OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND MIT AND (MIT OR Apache-2.0) AND (Unlicense OR MIT) AND Zlib
%description -n %{crate}
%{summary}.
%prep
%autosetup -n %{crate}-%{version} -p1
%cargo_prep_online
%build
%cargo_build
%install
install -Dpm755 target/rpm/cargo-%{crate} %{buildroot}%{_bindir}/%{crate}
%{cargo_license_online} > LICENSE.dependencies
%files -n %{crate}
%license LICENSE.spdx
%license LICENSE_APACHE-2.0
%license LICENSE_MIT
%license LICENSE.dependencies
%doc CHANGELOG.md
%doc CONTRIBUTING.md
%doc README.md
%{_bindir}/%{crate}
%changelog
%autochangelog
-1
View File
@@ -1 +0,0 @@
rpm.version(crates("create-tauri-app"));
@@ -1,6 +1,6 @@
%global commit 1c2db85aa41c7d929cb23b408229e297dce2758a
%global commit f705b9f46a4083d8053cfa254898c164af46ff34
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global fulldate 2026-01-02
%global fulldate 2025-12-25
%global commit_date %(echo %{fulldate} | sed 's/-//g')
%global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV
%global ver 1.3.0
+1 -1
View File
@@ -2,7 +2,7 @@
%global crate lowfi
Name: rust-lowfi
Version: 2.0.0
Version: 1.7.2
Release: 1%?dist
Summary: Extremely simple lofi player
+3 -3
View File
@@ -12,10 +12,10 @@
# Naming variable as something other than "commit" is necessary
# to stop %%gometa from putting commit hash in release
%global commit_hash 6a62575bcfdf4965f187eedafceb3400316e612b
%global commit_date 20260101
%global commit_hash 467eb88df02cf281d372e141e71a79985961f0c8
%global commit_date 20251219
%global shortcommit %{sub %{commit_hash} 1 7}
%global ver 2.0.15
%global ver 2.0.14
# https://github.com/zyedidia/micro
%global goipath github.com/zyedidia/micro
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 88a0b310d619d22c0d7ab88564c94ae833514ec5
%global commit f03987fb68224e3b7fb993ce2ffaf364836a003c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260105
%global commit_date 20251226
%global ver 0.219.0
%bcond_with check
@@ -26,5 +26,5 @@ install -D -m644 ukai.ttc %{buildroot}/%{_datadir}/fonts/arphic-ukai/ukai.ttc
/%{_datadir}/fonts/arphic-ukai/ukai.ttc
%changelog
* Mon Nov 21 2022 madonuko <mado@fyralabs.com> - 0.2.20080216.2-1
* Mon Nov 21 2022 windowsboy111 <windowsboy111@fyralabs.com> - 0.2.20080216.2-1
- Initial package
@@ -27,5 +27,5 @@ install -D -m644 uming.ttc %{buildroot}/%{_datadir}/fonts/arphic-uming/uming.ttc
/%{_datadir}/fonts/arphic-uming/uming.ttc
%changelog
* Mon Nov 21 2022 madonuko <mado@fyralabs.com> - 0.2.20080216.2-1
* Mon Nov 21 2022 windowsboy111 <windowsboy111@fyralabs.com> - 0.2.20080216.2-1
- Initial package
+1 -1
View File
@@ -28,5 +28,5 @@ install -Dm644 tw/*.ttf %buildroot/%_datadir/fonts/fakepearl/
%changelog
* Mon May 22 2023 madonuko <mado@fyralabs.com> - 1.1
* Mon May 22 2023 windowsboy111 <windowsboy111@fyralabs.com> - 1.1
- Initial package
+1 -1
View File
@@ -28,5 +28,5 @@ install -Dm644 %{SOURCE1} "%{buildroot}/%{_datadir}/licenses/%{name}/COPYING"
/%{_datadir}/fonts/hannom/
%changelog
* Mon Nov 21 2022 madonuko <mado@fyralabs.com> - 4.004
* Mon Nov 21 2022 windowsboy111 <windowsboy111@fyralabs.com> - 4.004
- Initial package
+1 -1
View File
@@ -52,7 +52,7 @@
%global fontdescription %{expand:
Versatile typeface for code, from code.}
Version: 34.0.0
Version: 33.3.6
Release: 1%?dist
Packager: Cappy Ishihara <cappy@fyralabs.com>
Summary: Versatile typeface for code, from code.
@@ -26,5 +26,5 @@ install -D -m644 KanjiStrokeOrders_v%{version}.ttf %{buildroot}/%{_datadir}/font
/%{_datadir}/fonts/TTF/KanjiStrokeOrders_v%{version}.ttf
%changelog
* Mon Nov 21 2022 madonuko <mado@fyralabs.com> - 4.004
* Mon Nov 21 2022 windowsboy111 <windowsboy111@fyralabs.com> - 4.004
- Initial package
@@ -28,5 +28,5 @@ install -D -m644 mini-wakuwaku.otf %{buildroot}/%{_datadir}/fonts/mini-wakuwaku/
/%{_datadir}/fonts/mini-wakuwaku/
%changelog
* Mon Nov 21 2022 madonuko <mado@fyralabs.com> - 1.0-1
* Mon Nov 21 2022 windowsboy111 <windowsboy111@fyralabs.com> - 1.0-1
- Initial package
+1 -1
View File
@@ -46,5 +46,5 @@ install -Dm644 tw/*.ttf %{buildroot}/%{_datadir}/fonts/%{name}-tw/
/%{_datadir}/fonts/%{name}-tw
%changelog
* Tue Nov 22 2022 madonuko <mado@fyralabs.com> - 1.87
* Tue Nov 22 2022 windowsboy111 <windowsboy111@fyralabs.com> - 1.87
- Initial package
+1 -1
View File
@@ -86,5 +86,5 @@ end
%changelog
* Wed Jan 4 2023 madonuko <mado@fyralabs.com> - 2.2.2-1
* Wed Jan 4 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2.2.2-1
- Initial package
@@ -28,5 +28,5 @@ install -Dm644 font/jf-openhuninn-%version.ttf %buildroot/%_datadir/fonts/open-h
%changelog
* Mon May 22 2023 madonuko <mado@fyralabs.com> - 1.1
* Mon May 22 2023 windowsboy111 <windowsboy111@fyralabs.com> - 1.1
- Initial package
+1 -1
View File
@@ -184,5 +184,5 @@ mv "THSarabunNew.ttf" "TH Sarabun New.ttf"
- Use Fedora macros to build and install fonts
- Auto-generate AppStream metadata for fonts
* Sun Jun 11 2023 madonuko <mado@fyralabs.com> - 20200217-1
* Sun Jun 11 2023 windowsboy111 <windowsboy111@fyralabs.com> - 20200217-1
- Initial package
+1 -1
View File
@@ -1,7 +1,7 @@
%global __brp_mangle_shebangs %{nil}
Name: inputplumber
Version: 0.70.1
Version: 0.69.1
Release: 1%?dist
Summary: Open source input router and remapper daemon for Linux
License: GPL-3.0-or-later
@@ -2,7 +2,7 @@
%global crate sleepy-launcher
%global appid moe.launcher.sleepy-launcher
Name: %{crate}
Version: 1.6.2
Version: 1.6.1
Release: 1%?dist
Summary: Sleepy Game Launcher for Linux with automatic patching and telemetry disabling
+1 -1
View File
@@ -55,5 +55,5 @@ install -Dm644 %{SOURCE3} "%{buildroot}/%{_datadir}/doc/%{name}/README.md"
/usr/share/applications/%{name}.desktop
%changelog
* Tue Feb 7 2023 madonuko <mado@fyralabs.com> - 0.16.1-1
* Tue Feb 7 2023 windowsboy111 <windowsboy111@fyralabs.com> - 0.16.1-1
- Initial package
+3 -3
View File
@@ -1,9 +1,9 @@
%define osuresver 2025.1218.0
%define osuresver 2025.1215.0
%global debug_package %{nil}
%define __strip /bin/true
Name: osu-lazer
Version: 2026.102.1
Version: 2025.1218.0
Release: 1%?dist
Summary: The future of osu! and the beginning of an open era! Commonly known by the codename osu!lazer. Pew pew.
ExclusiveArch: x86_64
@@ -54,5 +54,5 @@ desktop-file-validate %{buildroot}%{_appsdir}/osu-lazer-uri-handler.desktop
%changelog
* Wed Dec 24 2025 Owen Zimmerman <owen@fyralabs.com>
- Use macros, add %check, clean up %install
* Mon Feb 13 2023 madonuko <mado@fyralabs.com> - 2023.207.0-1
* Mon Feb 13 2023 windowsboy111 <windowsboy111@fyralabs.com> - 2023.207.0-1
- Initial package
+1 -1
View File
@@ -56,5 +56,5 @@ update-desktop-database -q
/usr/share/mime/packages/osu-file-extensions.xml
%changelog
* Mon Feb 13 2023 madonuko <mado@fyralabs.com>
* Mon Feb 13 2023 windowsboy111 <windowsboy111@fyralabs.com>
- Initial package
@@ -3,10 +3,10 @@
%global name_pretty %{quote:Prism Launcher (Nightly)}
%global appid org.prismlauncher.PrismLauncher-nightly
%global commit fe2e171fa171381df07a519920a5c67c05d6dc11
%global commit 76d1cd1b4e2bc62c827a6dda243cb7a3e715caf6
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20260101
%global commit_date 20251224
%global snapshot_info %{commit_date}.%{shortcommit}
%bcond_without qt6

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