mirror of
https://github.com/terrapkg/packages.git
synced 2026-05-31 09:01:55 +00:00
Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a4ecd34cdd | |||
| 18eea51485 | |||
| a7c3b8f139 | |||
| 76126f783f | |||
| ac017e8f84 | |||
| d160038cf4 | |||
| ca25e98a35 | |||
| e59bddbaa6 | |||
| ba4a32f402 | |||
| 5651b41ca5 | |||
| 021b12f003 | |||
| 0843f25997 | |||
| a5a28202ec | |||
| 8fb0f6de26 | |||
| dc94ea30cf | |||
| 66d14487c2 | |||
| cf5b70c15d | |||
| 10086c9e21 | |||
| 974a827615 | |||
| 558b450b02 | |||
| 0210b7ad0f | |||
| 60dd96a68f | |||
| 40e624cf74 | |||
| 220cd35306 | |||
| 5ea63f4910 | |||
| e0bf8d9dd6 | |||
| 25923de80b | |||
| 84f0dcbe2c | |||
| 16b60ab51d | |||
| a11ca7aaa0 | |||
| 5d1f6f300d |
@@ -56,6 +56,7 @@ jobs:
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
@@ -63,16 +64,13 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ matrix.pkg.labels.mock != '1' }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} -rrpmbuild
|
||||
|
||||
- name: Build with Andaman (alternate arch)
|
||||
if: matrix.pkg.arch == 'x86_64' && matrix.pkg.labels['multilib']
|
||||
run: anda build ${{ matrix.pkg.pkg }} --package rpm -c terra-${{ matrix.version }}-i386
|
||||
run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
|
||||
@@ -27,6 +27,7 @@ jobs:
|
||||
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
|
||||
- name: CI Setup Script
|
||||
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
if [ -f $dir/ci_setup.rhai ]; then
|
||||
@@ -34,12 +35,13 @@ jobs:
|
||||
fi
|
||||
|
||||
- name: Install Build Dependencies
|
||||
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
|
||||
run: |
|
||||
dir=$(dirname ${{ matrix.pkg.pkg }})
|
||||
dnf5 builddep -y ${dir}/*.spec
|
||||
|
||||
- name: Build with Andaman
|
||||
run: anda build ${{ matrix.pkg.pkg }} -rrpmbuild
|
||||
run: anda build ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ contains(matrix.pkg.labels, 'mock') && '' || '-rrpmbuild' }}
|
||||
|
||||
- name: Generating artifact name
|
||||
id: art
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "audacity-freeworld.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,749 @@
|
||||
%global __requires_exclude ^lib-.*.so
|
||||
%global __provides_exclude ^lib-.*.so
|
||||
|
||||
Name: audacity-freeworld
|
||||
Version: Audacity.3.7.1
|
||||
Release: 1%?dist
|
||||
Summary: Multitrack audio editor
|
||||
License: GPLv2
|
||||
URL: https://www.audacityteam.org/
|
||||
|
||||
%define realname audacity
|
||||
Conflicts: %{realname}
|
||||
|
||||
Source0: https://github.com/audacity/audacity/releases/download/Audacity-%{version}/audacity-sources-%{version}.tar.gz
|
||||
|
||||
# manual can be installed from the base Fedora Audacity package.
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: chrpath
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: expat-devel
|
||||
BuildRequires: flac-devel
|
||||
BuildRequires: git
|
||||
BuildRequires: gtk3-devel
|
||||
BuildRequires: jack-audio-connection-kit-devel
|
||||
BuildRequires: ladspa-devel
|
||||
BuildRequires: lame-devel
|
||||
BuildRequires: libid3tag-devel
|
||||
BuildRequires: libjpeg-turbo-devel turbojpeg
|
||||
BuildRequires: libmad-devel
|
||||
BuildRequires: taglib-devel
|
||||
BuildRequires: twolame-devel
|
||||
BuildRequires: libogg-devel
|
||||
BuildRequires: libsndfile-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libvorbis-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: lilv-devel
|
||||
BuildRequires: lv2-devel
|
||||
BuildRequires: mpg123-devel
|
||||
BuildRequires: opusfile-devel
|
||||
BuildRequires: portaudio-devel >= 19-16
|
||||
BuildRequires: portmidi-devel
|
||||
BuildRequires: rapidjson-devel
|
||||
BuildRequires: serd-devel
|
||||
BuildRequires: shared-mime-info
|
||||
BuildRequires: sord-devel
|
||||
BuildRequires: soundtouch-devel
|
||||
BuildRequires: soxr-devel
|
||||
# Use local sqlite as system fails
|
||||
BuildRequires: sqlite-devel
|
||||
BuildRequires: sratom-devel
|
||||
BuildRequires: suil-devel
|
||||
BuildRequires: vamp-plugin-sdk-devel >= 2.0
|
||||
BuildRequires: wavpack-devel
|
||||
BuildRequires: wxGTK-devel
|
||||
BuildRequires: zip
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: python3
|
||||
BuildRequires: libappstream-glib
|
||||
|
||||
Recommends: ffmpeg-libs
|
||||
|
||||
# For new symbols in portaudio
|
||||
Requires: portaudio%{?_isa} >= 19-16
|
||||
|
||||
ExcludeArch: s390x
|
||||
|
||||
%description
|
||||
Audacity is a cross-platform multitrack audio editor. It allows you to
|
||||
record sounds directly or to import files in various formats. It features
|
||||
a few s0mple effects, all of the editing features you should need, and
|
||||
unlimited undo. The GUI was built with wxWidgets and the audio I/O
|
||||
supports PulseAudio, OSS and ALSA under Linux.
|
||||
This build has support for mp3 and ffmpeg import/export.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{realname}-sources-%{version}
|
||||
|
||||
# Make sure we use the system versions.
|
||||
rm -rf lib-src/{libvamp,libsoxr}/
|
||||
|
||||
#Included in src/AboutDialog.cpp but not supplied
|
||||
touch include/RevisionIdent.h
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS:STRING="$(wx-config --libs)" \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS:STRING="$(wx-config --libs)" \
|
||||
-DAUDACITY_BUILD_LEVEL:STRING=2 \
|
||||
-Daudacity_conan_enabled=Off \
|
||||
-Daudacity_has_networking=Off \
|
||||
-Daudacity_has_crashreports=Off \
|
||||
-Daudacity_has_updates_check=Off \
|
||||
-Daudacity_has_sentry_reporting=Off \
|
||||
-Daudacity_lib_preference:STRING=system \
|
||||
-Daudacity_use_libsndfile=system \
|
||||
-Daudacity_use_soxr=system \
|
||||
-Daudacity_use_lame=system \
|
||||
-Daudacity_use_twolame=system \
|
||||
-Daudacity_use_libflac=system \
|
||||
-Daudacity_use_ladspa=on \
|
||||
-Daudacity_use_libvorbis=system \
|
||||
-Daudacity_use_libid3tag=system \
|
||||
-Daudacity_use_expat=system \
|
||||
-Daudacity_use_soundtouch=system \
|
||||
-Daudacity_use_vamp=system \
|
||||
-Daudacity_use_lv2=system \
|
||||
-Daudacity_use_midi=system \
|
||||
-Daudacity_use_libogg=system \
|
||||
-Daudacity_has_vst3:BOOL=Off \
|
||||
-Daudacity_use_ffmpeg=loaded
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
# Remove the RPATH from all the private libraries provided with Audacity and
|
||||
# make them all executable so that debug symbol extraction happens.
|
||||
# CMake could do this on its own using the install target for the library,
|
||||
# but the Audacity build system manually copies around the libraries so it
|
||||
# doesn't use the install target. This is very involved to fix in the code,
|
||||
# so this work around is easier and more maintainable than patching the build
|
||||
# system.
|
||||
pushd %{buildroot}%{_libdir}/%{realname}
|
||||
for libFile in *;
|
||||
do
|
||||
if [[ ! -d $libFile ]];
|
||||
then
|
||||
chrpath --delete $libFile
|
||||
chmod 755 $libFile
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
pushd %{buildroot}%{_libdir}/%{realname}/modules
|
||||
for libFile in *;
|
||||
do
|
||||
if [[ ! -d $libFile ]];
|
||||
then
|
||||
chrpath --delete $libFile
|
||||
chmod 755 $libFile
|
||||
fi
|
||||
done
|
||||
popd
|
||||
|
||||
if appstream-util --help | grep -q replace-screenshots ; then
|
||||
appstream-util replace-screenshots %{buildroot}%{_metainfodir}/audacity.appdata.xml \
|
||||
https://raw.githubusercontent.com/hughsie/fedora-appstream/master/screenshots-extra/audacity/a.png
|
||||
fi
|
||||
|
||||
%{find_lang} %{realname}
|
||||
|
||||
desktop-file-install --dir %{buildroot}%{_datadir}/applications \
|
||||
%{buildroot}%{_datadir}/applications/audacity.desktop
|
||||
|
||||
mkdir %{buildroot}%{_datadir}/doc/%{realname}/nyquist
|
||||
cp -pr lib-src/libnyquist/nyquist/license.txt %{buildroot}%{_datadir}/doc/%{realname}/nyquist
|
||||
cp -pr lib-src/libnyquist/nyquist/Readme.txt %{buildroot}%{_datadir}/doc/%{realname}/nyquist
|
||||
rm %{buildroot}%{_datadir}/doc/%{realname}/LICENSE.txt
|
||||
rm -f %{buildroot}%{_prefix}/%{realname}
|
||||
|
||||
%files -f %{realname}.lang
|
||||
%{_bindir}/%{realname}
|
||||
%{_libdir}/%{realname}/
|
||||
%dir %{_datadir}/%{realname}
|
||||
%{_datadir}/%{realname}/EffectsMenuDefaults.xml
|
||||
%{_datadir}/%{realname}/nyquist/
|
||||
%{_datadir}/%{realname}/plug-ins/
|
||||
%{_mandir}/man*/*
|
||||
%{_datadir}/applications/*
|
||||
%{_metainfodir}/%{realname}.appdata.xml
|
||||
%{_datadir}/pixmaps/*
|
||||
%{_datadir}/icons/hicolor/*/%{realname}.png
|
||||
%{_datadir}/icons/hicolor/scalable/apps/%{realname}.svg
|
||||
%{_datadir}/mime/packages/*
|
||||
%{_datadir}/doc/%{realname}
|
||||
%license LICENSE.txt
|
||||
|
||||
%changelog
|
||||
* Thu Jan 03 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
- Port to Terra
|
||||
|
||||
* Thu Dec 12 2024 Leigh Scott <leigh123linux@gmail.com> - 3.7.1-1
|
||||
- Update to 3.7.1
|
||||
|
||||
* Wed Oct 30 2024 Leigh Scott <leigh123linux@gmail.com> - 3.7.0-1
|
||||
- Update to 3.7.0
|
||||
|
||||
* Sat Sep 14 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.3-1
|
||||
- Update to 3.6.3
|
||||
|
||||
* Wed Sep 04 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.2-1
|
||||
- Update to 3.6.2
|
||||
|
||||
* Mon Jul 29 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.1-1
|
||||
- Update to 3.6.1
|
||||
|
||||
* Wed Jul 17 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6.0-1
|
||||
- Update to 3.6.0
|
||||
|
||||
* Fri Apr 26 2024 Leigh Scott <leigh123linux@gmail.com> - 3.5.1-1
|
||||
- Update to 3.5.1
|
||||
|
||||
* Sat Feb 03 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.4.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Nov 17 2023 Leigh Scott <leigh123linux@gmail.com> - 3.4.2-1
|
||||
- 3.4.2
|
||||
|
||||
* Fri Nov 03 2023 Leigh Scott <leigh123linux@gmail.com> - 3.4.0-1
|
||||
- 3.4.0
|
||||
|
||||
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sun Jun 11 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.3-1
|
||||
- 3.3.3
|
||||
|
||||
* Sun May 07 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.2-1
|
||||
- 3.3.2
|
||||
|
||||
* Thu May 04 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.1-2
|
||||
- Fix crash on startup (rfbz#6669)
|
||||
|
||||
* Fri Apr 28 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.1-1
|
||||
- 3.3.1
|
||||
|
||||
* Mon Apr 24 2023 Leigh Scott <leigh123linux@gmail.com> - 3.3.0-1
|
||||
- 3.3.0
|
||||
|
||||
* Sat Apr 01 2023 Leigh Scott <leigh123linux@gmail.com> - 3.2.5-2
|
||||
- Add ffmpeg-6 support
|
||||
|
||||
* Tue Mar 14 2023 Leigh Scott <leigh123linux@gmail.com> - 3.2.5-1
|
||||
- 3.2.5
|
||||
- Use clang
|
||||
|
||||
* Tue Dec 06 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.2-1
|
||||
- 3.2.2
|
||||
|
||||
* Thu Oct 06 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.1-1
|
||||
- 3.2.1
|
||||
|
||||
* Fri Sep 23 2022 Leigh Scott <leigh123linux@gmail.com> - 3.2.0-1
|
||||
- 3.2.0
|
||||
|
||||
* Sat Aug 06 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.1.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
|
||||
5.1
|
||||
|
||||
* Thu Feb 24 2022 Leigh Scott <leigh123linux@gmail.com> - 3.1.3-3
|
||||
- Use compat-ffmpeg4 for f36+
|
||||
|
||||
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.1.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Thu Dec 23 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.3-1
|
||||
- 3.1.3
|
||||
|
||||
* Sun Dec 12 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.2-1
|
||||
- 3.1.2
|
||||
|
||||
* Sat Nov 13 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.1-1
|
||||
- 3.1.1
|
||||
|
||||
* Wed Nov 10 2021 Leigh Scott <leigh123linux@gmail.com> - 3.1.0-1
|
||||
- 3.1.0
|
||||
|
||||
* Wed Nov 10 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-5
|
||||
- Rebuilt for new ffmpeg snapshot
|
||||
|
||||
* Tue Oct 26 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-4
|
||||
- Fix build level
|
||||
|
||||
* Tue Oct 26 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-3
|
||||
- Fix lang (rfbz#6117)
|
||||
|
||||
* Tue Oct 19 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-2
|
||||
- Filter internal libs from provides and requires (rfbz#6112)
|
||||
|
||||
* Thu Oct 14 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.5-1
|
||||
- 3.0.5
|
||||
|
||||
* Sat Oct 02 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.2-3
|
||||
- Add Fedora patches
|
||||
|
||||
* Mon Aug 02 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.0.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Apr 19 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.2-1
|
||||
- 3.0.2
|
||||
|
||||
* Sun Mar 21 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.0-2
|
||||
- Use local sqlite as system fails
|
||||
|
||||
* Thu Mar 18 2021 Leigh Scott <leigh123linux@gmail.com> - 3.0.0-1
|
||||
- 3.0.0
|
||||
- Use local wxwidgets, audacity isn't usable with gtk3
|
||||
|
||||
* Tue Feb 23 2021 Sérgio Basto <sergio@serjux.com> - 2.4.2-4
|
||||
- partial fedora sync
|
||||
|
||||
* Wed Feb 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.4.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Fri Jan 1 2021 Leigh Scott <leigh123linux@gmail.com> - 2.4.2-2
|
||||
- Rebuilt for new ffmpeg snapshot
|
||||
|
||||
* Wed Oct 21 2020 Leigh Scott <leigh123linux@gmail.com> - 2.4.2-1
|
||||
- Update to Audacity 2.4.2
|
||||
|
||||
* Wed Sep 02 2020 Leigh Scott <leigh123linux@gmail.com> - 2.3.3-5
|
||||
- Add GDK_BACKEND=x11 to audacity.desktop exec line (rfbz#5551)
|
||||
- Fix incorrect appdata.xml type tag (bug #1810509)
|
||||
|
||||
* Mon Aug 17 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Mar 26 2020 leigh123linux <leigh123linux@googlemail.com> - 2.3.3-3
|
||||
- Fix gcc-10 compile issue
|
||||
|
||||
* Tue Feb 04 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Sat Nov 23 2019 David Timms <iinet.net.au@dtimms> - 2.3.3-1
|
||||
- Update to Audacity 2.3.3.
|
||||
- Modify wxWidgets build require to wxGTK3 (gtk3 version).
|
||||
- Modify libdir patch for 2.3.3.
|
||||
- Fix -manual file archive dropping the leading help/ in path.
|
||||
- Disable twolame for EPEL-8 as the -devel package isn't available.
|
||||
|
||||
* Wed Aug 07 2019 Leigh Scott <leigh123linux@gmail.com> - 2.3.2-2
|
||||
- Rebuild for new ffmpeg version
|
||||
|
||||
* Tue Jun 4 2019 David Timms <iinet.net.au@dtimms> - 2.3.2-1
|
||||
- Update to Audacity 2.3.2 release.
|
||||
- Rebase audacity-2.3.2-libdir.patch.
|
||||
|
||||
* Mon Mar 18 2019 Leigh Scott <leigh123linux@googlemail.com> - 2.3.1-1
|
||||
- Update to Audacity 2.3.1 release
|
||||
- Fixes Audacity 2.3.0 broken release (rfbz#5077)
|
||||
|
||||
* Mon Mar 04 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.3.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Mon Oct 1 2018 David Timms <iinet.net.au@dtimms> - 2.3.0-1
|
||||
- Update to Audacity 2.3.0 release.
|
||||
- change mp3 capability to be always present rather than a compile option.
|
||||
- Modify audacity-2.2.1-libdir.patch and audacity-2.2.1-libmp3lame-default.patch
|
||||
to apply the rpm macro path directly.
|
||||
- Add grep check to fail if RPMLIB is found in modified source.
|
||||
- Fix libid3tag configure option.
|
||||
|
||||
* Thu Jul 26 2018 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.2.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Apr 27 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.2.2-5
|
||||
- Revert 'Use compat-ffmpeg28 on Fedora 28+'
|
||||
|
||||
* Thu Mar 08 2018 RPM Fusion Release Engineering <leigh123linux@googlemail.com> - 2.2.2-4
|
||||
- Rebuilt for new ffmpeg snapshot
|
||||
|
||||
* Mon Feb 26 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-3
|
||||
- Restore remove after configure
|
||||
- Remove obsolete scriptlets
|
||||
|
||||
* Sun Feb 25 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-2
|
||||
- Use compat-ffmpeg28 on Fedora 28+
|
||||
- Also add conditionals to be possible build with local ffmpeg (not in use)
|
||||
- Use autoconf before ./configure
|
||||
- Readd libmp3lame-default.patch and libdir.patch
|
||||
- Readd to configure --disable-dynamic-loading
|
||||
- General review of spec
|
||||
- Comment BR portmidi-devel and remove no-local-includes.patch
|
||||
|
||||
* Thu Feb 22 2018 Sérgio Basto <sergio@serjux.com> - 2.2.2-1
|
||||
- Update to 2.2.2
|
||||
- Readd no-local-includes.patch
|
||||
- Reorganize conditonal with_mp3, now have twolame, lame and libmad
|
||||
- Readd desktop.in.patch
|
||||
- Add to configure --with-lv2 --with-midi --with-portmidi with some commentaries
|
||||
- Temporary fix to portaudio became permanent (--with-portaudio=local)
|
||||
|
||||
* Thu Feb 01 2018 Sérgio Basto <sergio@serjux.com> - 2.2.1-1
|
||||
- Update to 2.2.1
|
||||
|
||||
* Sun Dec 03 2017 Sérgio Basto <sergio@serjux.com> - 2.2.0-1
|
||||
- Update to 2.2.0
|
||||
|
||||
* Mon Oct 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-5
|
||||
- Rebuild for ffmpeg update
|
||||
|
||||
* Sun Oct 08 2017 Sérgio Basto <sergio@serjux.com> - 2.1.3-4
|
||||
- Rebuild for soundtouch 2.0.0
|
||||
- Fix build for new wxBase
|
||||
- Sync with Fedora proper
|
||||
|
||||
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.1.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Apr 29 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-2
|
||||
- Rebuild for ffmpeg update
|
||||
|
||||
* Fri Mar 24 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.1.3-1
|
||||
- 2.1.3 release.
|
||||
|
||||
* Sat Mar 18 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.1.3-0.10.20161109git53a5c93
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Nov 22 2016 Sérgio Basto <sergio@serjux.com> - 2.1.3-0.9.20161109git53a5c93
|
||||
- Use bcond_without correctly, fix wx-config-3.0-gtk2 detection, also simplify
|
||||
some comments
|
||||
|
||||
* Thu Nov 17 2016 David Timms <iinet.net.au@dtimms> - 2.1.3-0.8.20161109git53a5c93
|
||||
- fix mp3 build parameter by defining mp3importexport conditional.
|
||||
|
||||
* Wed Nov 9 2016 David Timms <iinet.net.au@dtimms> - 2.1.3-0.7.20161109git53a5c93
|
||||
- 2.1.3 Alpha git snapshot 2016-11-09.
|
||||
|
||||
* Sat Jul 30 2016 Julian Sikorski <belegdol@fedoraproject.org> - 2.1.2-3
|
||||
- Rebuilt for ffmpeg-3.1.1
|
||||
|
||||
* Wed Jun 22 2016 Nicolas Chauvet <kwizart@gmail.com> - 2.1.2-2
|
||||
- Backport fix for gcc6
|
||||
|
||||
* Thu Mar 03 2016 Sérgio Basto <sergio@serjux.com> - 2.1.2-1
|
||||
- Update audacity to 2.1.2 final
|
||||
|
||||
* Sun Jul 19 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-1
|
||||
- Release of Audacity 2.1.1.
|
||||
|
||||
* Sun Jun 28 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-0.2.dea351a
|
||||
- remove Source1 reference to manual (available in Fedora audacity build).
|
||||
|
||||
* Wed Jun 24 2015 David Timms <iinet.net.au@dtimms> - 2.1.1-0.1.dea351a
|
||||
- Update to 2.1.1 pre-release git snapshot to prepare for release.
|
||||
- Conditionalize AppData out of EPEL <=7 release.
|
||||
- Use better AppData screenshots.
|
||||
|
||||
* Mon Jan 12 2015 David Timms <iinet.net.au@dtimms> - 2.0.6-1
|
||||
- update to upstream release 2.0.6
|
||||
- update non-dl-ffmpeg.patch to match this version
|
||||
|
||||
* Sat Aug 30 2014 Sérgio Basto <sergio@serjux.com> - 2.0.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Mon Sep 30 2013 Nicolas Chauvet <kwizart@gmail.com> - 2.0.4-3
|
||||
- Rebuilt
|
||||
|
||||
* Sun Sep 22 2013 David Timms <iinet.net.au@dtimms> - 2.0.4-2
|
||||
- Add upstream patch to avoid segfault when starting Effects|Equalization
|
||||
|
||||
* Sat Sep 14 2013 David Timms <iinet.net.au@dtimms> - 2.0.4-1
|
||||
- update to upstream release 2.0.4
|
||||
- rebase audacity-2.0.1-libmp3lame-default
|
||||
|
||||
* Sat May 4 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 2.0.3-1
|
||||
- New upstream release 2.0.3
|
||||
- Fix FTBFS by using ffmpeg-compat (rf#2707)
|
||||
- Disable dynamic loading to force proper Requires for the used libs
|
||||
|
||||
* Sun Mar 03 2013 Nicolas Chauvet <kwizart@gmail.com> - 2.0.1-2
|
||||
- Mass rebuilt for Fedora 19 Features
|
||||
|
||||
* Tue Jul 3 2012 David Timms <iinet.net.au@dtimms> - 2.0.1-1
|
||||
- update to 2.0.1 final
|
||||
- rebase libmp3lame-default.patch
|
||||
- rebase desktop.in.patch
|
||||
|
||||
* Tue Jun 26 2012 David Timms <iinet.net.au@dtimms> - 2.0.1-0.1.rc2
|
||||
- update to 2.0.1 release candidate 2
|
||||
|
||||
* Wed Mar 14 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-1
|
||||
- update to 2.0.0 final
|
||||
|
||||
* Sun Mar 11 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.9.rc9
|
||||
- update to 2.0.0 release candidate 9
|
||||
- drop upstreamed glib2 include patch
|
||||
|
||||
* Tue Mar 6 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.8.rc8
|
||||
- update to 2.0.0 release candidate 8 for testing only
|
||||
|
||||
* Wed Feb 22 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.3.rc3
|
||||
- update to 2.0.0 release candidate 3
|
||||
|
||||
* Sat Feb 18 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.2.rc1.20120218svn11513
|
||||
- update to release candidate from svn snapshot
|
||||
|
||||
* Sun Feb 5 2012 David Timms <iinet.net.au@dtimms> - 2.0.0-0.1.alpha20120205svn11456
|
||||
- update to 2.0.0 alpha svn snapshot
|
||||
- delete accepted ffmpeg-0.8.y patch
|
||||
|
||||
* Tue Dec 13 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.5
|
||||
- fix Source1 help reference (again).
|
||||
|
||||
* Tue Dec 13 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.4
|
||||
- update to 1.3.14 beta release
|
||||
|
||||
* Thu Dec 8 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.3.alpha20111101svn11296
|
||||
- add ffmpeg-0.8 patch from Leland Lucius
|
||||
- add test patch to workaround gtypes-include problem
|
||||
|
||||
* Tue Nov 1 2011 David Timms <iinet.net.au@dtimms> - 1.3.14-0.1.alpha20111101svn11296
|
||||
- update to 1.3.14 alpha svn snapshot
|
||||
|
||||
* Sat Apr 30 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.4.beta
|
||||
- fix files and dir ownership including -manual files in the main package
|
||||
|
||||
* Tue Apr 26 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.2.beta
|
||||
- delete help file Source reference; will be done in Fedora instead.
|
||||
|
||||
* Sun Apr 24 2011 David Timms <iinet.net.au@dtimms> - 1.3.13-0.2.beta
|
||||
- upgrade to 1.3.13-beta
|
||||
- drop patches included in upstream release
|
||||
- convert desktop file to a patch against new upstream .desktop file.
|
||||
|
||||
* Wed Nov 10 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.11.beta
|
||||
- fix build failure compiling ffmpeg.cpp
|
||||
|
||||
* Wed Nov 10 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.10.beta
|
||||
- fix build failure in portmixer due to "Missing support in pa_mac_core.h"
|
||||
Applied svn trunk portmixer configure changes.
|
||||
- del previous patch attempt (unsuccessful)
|
||||
|
||||
* Sun Oct 31 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.9.beta
|
||||
- fix build failure due to portmixer configure problems
|
||||
|
||||
* Sun Oct 31 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.8.beta
|
||||
- fix hang when play at speed with ratio less than 0.09 is used (#637347)
|
||||
|
||||
* Sat Aug 7 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.7.beta
|
||||
- patch to suit APIChange introduced in ffmpeg-0.6. Resolves rfbz #1356.
|
||||
fixes ffmpeg import/export.
|
||||
|
||||
* Thu Jul 15 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.6.beta
|
||||
- drop vamp-plugin path patch to suit updated vamp-plugin-sdk-2.1
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.4.beta
|
||||
- mods to ease diffs between builds for fedora and full
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.3.beta
|
||||
- really package new icons found in icons/hicolor
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.2.beta
|
||||
- mod tartopdir to use package version macro
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.1.3.beta
|
||||
- fix icons glob to use realname
|
||||
- add more supported mimetypes and categories to the desktop file
|
||||
|
||||
* Mon Jun 28 2010 David Timms <iinet.net.au@dtimms> - 1.3.12-0.1.2.beta
|
||||
- upgrade to 1.3.12-beta
|
||||
- package new icons found in icons/hicolor
|
||||
|
||||
* Sat Dec 5 2009 David Timms <iinet.net.au@dtimms> - 1.3.10-0.1.1.beta
|
||||
- upgrade to 1.3.10-beta
|
||||
- re-base spec to fedora devel and patches by mschwendt
|
||||
|
||||
* Thu Dec 3 2009 David Timms <iinet.net.au@dtimms> - 1.3.9-0.4.2.beta
|
||||
- continue with upgrade to f12 version
|
||||
|
||||
* Mon Nov 16 2009 David Timms <iinet.net.au@dtimms> - 1.3.9-0.4.1.beta
|
||||
- upgrade to 1.3.9-beta to match Fedora version.
|
||||
- resync to include new and updated patches from mschwendt
|
||||
- add conditional freeworld to allow minimal change from Fedora version
|
||||
|
||||
* Fri Oct 23 2009 Orcan Ogetbil <oged[DOT]fedora[AT]gmail[DOT]com> - 1.3.7-0.6.2.beta
|
||||
- Update desktop file according to F-12 FedoraStudio feature
|
||||
|
||||
* Tue May 26 2009 David Timms <iinet.net.au@dtimms> - 1.3.7-0.6.1.beta
|
||||
- match the 1.3.7.beta version in fedora proper
|
||||
- include new and updated patches from mschwendt
|
||||
- del no longer required patches
|
||||
|
||||
* Sun Mar 29 2009 Julian Sikorski <belegdol@fedoraproject.org> - 1.3.6-0.4.beta
|
||||
- wxGTK no longer provides wxGTK2 in Fedora 11
|
||||
|
||||
* Sun Mar 29 2009 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 1.3.6-0.3.beta
|
||||
- rebuild for new F11 features
|
||||
- revert to 1.3.6.beta for now
|
||||
|
||||
* Sat Feb 7 2009 David Timms <iinet.net.au@dtimms> - 1.3.7-0.1.beta
|
||||
- update to new upstream beta release
|
||||
- drop beta release 1.3.2 from package
|
||||
|
||||
* Sun Dec 14 2008 David Timms <iinet.net.au@dtimms> - 1.3.6-0.2.beta
|
||||
- add Kevin Koflers portaudio patch to allow output via pulseaudio
|
||||
|
||||
* Sun Nov 23 2008 David Timms <iinet.net.au@dtimms> - 1.3.6-0.1.beta
|
||||
- update to new upstream beta release
|
||||
- drop libdir patch for now
|
||||
- drop upstreamed fr.po patch
|
||||
- add support for ffmpeg import and export via BR and --with-ffmpeg
|
||||
- add patch to allow selection of ffmpeg library on unix.
|
||||
|
||||
* Fri Aug 22 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.4.beta
|
||||
- mod patch2 apply command
|
||||
|
||||
* Fri Aug 22 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.3.beta
|
||||
- add Requires lame-libs
|
||||
- update 1.3.4-gcc43.patch to suit 1.3.5, since patch mostly upstreamed.
|
||||
|
||||
* Mon Aug 18 2008 David Timms <iinet.net.au@dtimms> - 1.3.5-0.2.beta
|
||||
- rename spec and Name to audacity-freeworld.
|
||||
- add provides/obsoletes audacity-nonfree.
|
||||
- import livna package into rpmfusion.
|
||||
|
||||
* Sun Jun 8 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.5-0.1.beta
|
||||
- fix bad fr.po that makes Fichier>Open dialog too wide
|
||||
- sync with F-9 updates-testing
|
||||
- update to 1.3.5-beta
|
||||
- tmp patch merged upstream
|
||||
- expat2 patch merged upstream
|
||||
- desktop-file: drop deprecated Encoding, drop Icon file extension
|
||||
|
||||
* Fri May 9 2008 Michael Schwendt <mschwendt@users.sf.net>
|
||||
- scriptlets: run update-desktop-database without path
|
||||
- drop scriptlet dependencies
|
||||
|
||||
* Sat May 3 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.7.20080123cvs
|
||||
- check ownership of temporary files directory (#436260) (CVE-2007-6061)
|
||||
|
||||
* Sat Apr 12 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.6.20080123cvs
|
||||
- set a default location for libmp3lame.so.0 again
|
||||
|
||||
* Fri Mar 21 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.4-0.5.20080123cvs
|
||||
- package the old 1.3.2-beta and a post 1.3.4-beta snapshot in the
|
||||
same package -- users may stick to the older one, but please help
|
||||
with evaluating the newer one
|
||||
- merge packaging changes from my 1.3.3/1.3.4 test packages:
|
||||
- build newer release with wxGTK 2.8.x
|
||||
- BR soundtouch-devel and --with-soundtouch=system
|
||||
- drop obsolete patches: resample, mp3 export, destdir, FLAC, fr
|
||||
|
||||
* Fri Mar 21 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.9.beta
|
||||
- make soundtouch and allegro build with RPM optflags
|
||||
|
||||
* Sun Feb 10 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.8.beta
|
||||
- rawhide: patch for JACK 0.109.0 API changes (jack_port_lock/unlock removal).
|
||||
- rebuilt for GCC 4.3 as requested by Fedora Release Engineering
|
||||
- subst _libdir in ladspa plugin loader
|
||||
|
||||
* Thu Jan 3 2008 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.7.beta
|
||||
- Patch for GCC 4.3.0 C++.
|
||||
|
||||
* Fri Nov 16 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.6.beta
|
||||
- rebuilt for FLAC 1.1.4 -> 1.2.x upgrade, which broke FLAC import
|
||||
|
||||
* Mon Mar 5 2007 Michael Schwendt <mschwendt@users.sf.net>
|
||||
- add umask 022 to scriptlets
|
||||
|
||||
* Sat Mar 3 2007 Michael Schwendt <mschwendt[ATusers.sf.net> - 1.3.2-0.5.beta
|
||||
- build with wxGTK 2.6 compatibility package
|
||||
|
||||
* Sat Feb 24 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.4.beta
|
||||
- patch for FLAC 1.1.4 API compatibility
|
||||
- patch ExportMP3.cpp (MPEG-2 Layer III bitrates resulted in
|
||||
broken/empty files)
|
||||
|
||||
* Tue Feb 20 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.3.beta
|
||||
- patch app init to set a default location for libmp3lame.so.0
|
||||
- fix the libmp3lame.so.0 subst
|
||||
- subst _libdir in libmp3lame search
|
||||
- use sed instead of perl
|
||||
|
||||
* Sun Feb 18 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.2.beta
|
||||
- patch the source to use libsamplerate actually and fix Resample.cpp
|
||||
|
||||
* Thu Feb 15 2007 Michael Schwendt <mschwendt@users.sf.net> - 1.3.2-0.1.beta
|
||||
- sync with Fedora Extras 6 upgrade to 1.3.2-beta
|
||||
- add BR expat-devel jack-audio-connection-kit-devel alsa-lib-devel
|
||||
- built-in/patched: nyquist soundtouch
|
||||
- built-in/patched, n/a: twolame
|
||||
- adjust configure options accordingly
|
||||
- patches 1-3 unnecessary, add gemi's audacity-1.3.2-destdir.patch
|
||||
- make patch from iconv src/Languages.cpp conversion (ISO Latin-1 to UTF-8)
|
||||
- make patch for locale/fr.po (MAC to ISO Latin-1)
|
||||
|
||||
* Wed Oct 18 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.3.b.2
|
||||
- rename to "audacity-nonfree" and "Conflicts: audacity"
|
||||
|
||||
* Fri Oct 06 2006 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info>
|
||||
- rebuilt for unwind info generation, broken in gcc-4.1.1-21
|
||||
|
||||
* Sun Sep 24 2006 Michael Schwendt <mschwendt[At]users.sf.net>
|
||||
- rebuild
|
||||
|
||||
* Sat Jun 3 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.2.b
|
||||
- bump and rebuild
|
||||
|
||||
* Fri Mar 17 2006 Michael Schwendt <mschwendt@users.sf.net> - 1.2.4-0.1.b
|
||||
- Update to 1.2.4b (stable release).
|
||||
- Follow upstream recommendation and use the GTK+ 1.x wxGTK.
|
||||
This is because of various issues with fonts/layout/behaviour.
|
||||
- Build with compat-wxGTK-devel.
|
||||
- Modify build section to find wx-2.4-config instead of wx-config.
|
||||
|
||||
* Thu Mar 09 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
|
||||
- switch to new release field
|
||||
|
||||
* Tue Feb 28 2006 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
|
||||
- add dist
|
||||
|
||||
* Wed Jul 20 2005 Michael Schwendt <mschwendt@users.sf.net> - 1.2.3-5.lvn.1
|
||||
- Sync with minor changes in Fedora Extras 4 package.
|
||||
- Drop Epoch and bump release so this is high enough for an upgrade.
|
||||
|
||||
* Fri May 20 2005 David Woodhouse <dwmw2@infradead.org> - 1.2.3-4
|
||||
- Add more possible MIME types for ogg which may be seen even though
|
||||
they're not standard.
|
||||
|
||||
* Sun Jan 30 2005 Michael Schwendt <mschwendt@users.sf.net> - 0:1.2.3-1.lvn.1
|
||||
- Build with mp3 and wxGTK2 by default,
|
||||
- Make the libmp3lame perl substitution in %%prep more robust.
|
||||
- s/Fedora/Livna/ in desktop file.
|
||||
|
||||
* Sat Nov 20 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.3-1
|
||||
- New Version 1.2.3
|
||||
|
||||
* Sat Oct 30 2004 Michael Schwendt <mschwendt@users.sf.net> - 0:1.2.2-0.fdr.1
|
||||
- Update to 1.2.2, patch aboutdialog to be readable with wxGTK.
|
||||
|
||||
* Mon May 10 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.1-0.fdr.1
|
||||
- New Version 1.2.1
|
||||
|
||||
* Sun Apr 11 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.2
|
||||
- Fix for Language.cpp restored
|
||||
|
||||
* Tue Mar 2 2004 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.1
|
||||
- New Version 1.2.0
|
||||
|
||||
* Mon Nov 24 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.4.pre3
|
||||
- Added icon
|
||||
- Separated mp3 plugin
|
||||
|
||||
* Sun Nov 23 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.2.pre3
|
||||
- Changes to specfile
|
||||
|
||||
* Sun Nov 2 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-0.fdr.1.pre3
|
||||
- New upstream version 1.2.0-pre3
|
||||
|
||||
* Sat Oct 25 2003 Gerard Milmeister <gemi@bluewin.ch> - 0:1.2.0-pre2.fdr.1
|
||||
- First Fedora release
|
||||
@@ -0,0 +1 @@
|
||||
rpm.version(gh("audacity/audacity"));
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 0.0.552
|
||||
Version: 0.0.555
|
||||
Release: 1%?dist
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary
|
||||
Version: 0.0.552
|
||||
Version: 0.0.555
|
||||
Release: 1%?dist
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 0adf894b4519824682b6e0886fa1c6853c9b7344
|
||||
%global commit_date 20250102
|
||||
%global commit 1c3b4decb50593268c16cf8b47397fb3a7a87c9d
|
||||
%global commit_date 20250105
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: envision
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit b070545d1289e66a02eff10aa2bf5f440eb16aeb
|
||||
%global commit_date 20250101
|
||||
%global commit 106ae1ac4251239e56c848667f1e3ffbbb30c762
|
||||
%global commit_date 20250105
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%define debug_package %nil
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit 50042f5ee094a36e38f9ea809408e0b5cbf3b874
|
||||
%global commit 44384aad73da69b51c57fc7299457beecfcc1698
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250101
|
||||
%global commit_date 20250105
|
||||
%global ver 0.39.0
|
||||
|
||||
Name: mpv-nightly
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2025-01-02
|
||||
%global ver 2025-01-05
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 44046bfbcb30a19c45416113a2a82a4d17a1a998 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 14 Aug 2023 14:06:45 +0200
|
||||
Subject: [PATCH 01/10] main: update GPUs comment for dbus property
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/net.hadess.SwitcherooControl.xml | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/net.hadess.SwitcherooControl.xml b/src/net.hadess.SwitcherooControl.xml
|
||||
index e52bc1a..59a8896 100644
|
||||
--- a/src/net.hadess.SwitcherooControl.xml
|
||||
+++ b/src/net.hadess.SwitcherooControl.xml
|
||||
@@ -38,7 +38,8 @@
|
||||
will contain a user-facing name for the GPU, the "Environment" (as) key will
|
||||
contain an array of even number of strings, each being an environment
|
||||
variable to set to use the GPU, followed by its value, the "Default" (b) key
|
||||
- will tag the default (usually integrated) GPU.
|
||||
+ will tag the default GPU, the "Discrete" (b) key tags if the GPU is a
|
||||
+ dedicated component.
|
||||
-->
|
||||
<property name="GPUs" type="aa{sv}" access="read"/>
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,379 @@
|
||||
From 4f31415cb61a50c2bcba1510a7511518417d0970 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Mon, 11 Sep 2023 15:21:46 +0200
|
||||
Subject: [PATCH 02/10] main: add Discrete key
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
.gitlab-ci.yml | 1 +
|
||||
data/30-discrete-gpu.rules.in | 3 +
|
||||
data/meson.build | 7 ++
|
||||
meson.build | 9 +++
|
||||
meson_options.txt | 24 +++++++
|
||||
src/discrete-detection/amdgpu.c | 46 +++++++++++++
|
||||
src/discrete-detection/meson.build | 18 +++++
|
||||
src/discrete-detection/nouveau.c | 105 +++++++++++++++++++++++++++++
|
||||
src/meson.build | 4 +-
|
||||
src/switcheroo-control.c | 16 +++++
|
||||
10 files changed, 232 insertions(+), 1 deletion(-)
|
||||
create mode 100644 data/30-discrete-gpu.rules.in
|
||||
create mode 100644 src/discrete-detection/amdgpu.c
|
||||
create mode 100644 src/discrete-detection/meson.build
|
||||
create mode 100644 src/discrete-detection/nouveau.c
|
||||
|
||||
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
|
||||
index a6aa3c7..a09fe20 100644
|
||||
--- a/.gitlab-ci.yml
|
||||
+++ b/.gitlab-ci.yml
|
||||
@@ -3,6 +3,7 @@ image: fedora:rawhide
|
||||
variables:
|
||||
DEPENDENCIES: glib2-devel
|
||||
libgudev-devel
|
||||
+ libdrm-devel
|
||||
gtk-doc
|
||||
gcc
|
||||
gcc-c++
|
||||
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
|
||||
new file mode 100644
|
||||
index 0000000..a803ed4
|
||||
--- /dev/null
|
||||
+++ b/data/30-discrete-gpu.rules.in
|
||||
@@ -0,0 +1,3 @@
|
||||
+DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index 85e5c93..38cf96c 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -17,3 +17,10 @@ install_data(
|
||||
'30-pci-intel-gpu.hwdb',
|
||||
install_dir: hwdb_dir,
|
||||
)
|
||||
+
|
||||
+configure_file(
|
||||
+ input: '30-discrete-gpu.rules.in',
|
||||
+ output: '30-discrete-gpu.rules',
|
||||
+ configuration: data_conf,
|
||||
+ install_dir: rules_dir,
|
||||
+)
|
||||
diff --git a/meson.build b/meson.build
|
||||
index b8f4bff..b3aaf0c 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -20,6 +20,9 @@ gnome = import('gnome')
|
||||
glib = dependency('glib-2.0', version: '>= 2.56.0')
|
||||
gio = dependency('gio-2.0', version: '>= 2.56.0')
|
||||
gudev = dependency('gudev-1.0', version: '>= 232')
|
||||
+libdrm = dependency('libdrm', version: '>= 2.4.97', required: get_option('libdrm'))
|
||||
+libdrm_nouveau = dependency('libdrm_nouveau', version: '>= 2.4.97', required: get_option('libdrm_nouveau'))
|
||||
+libdrm_amdgpu = dependency('libdrm_amdgpu', version: '>= 2.4.97', required: get_option('libdrm_amdgpu'))
|
||||
|
||||
systemd_systemunitdir = get_option('systemdsystemunitdir')
|
||||
if systemd_systemunitdir == ''
|
||||
@@ -32,6 +35,12 @@ if hwdb_dir == ''
|
||||
hwdb_dir = udevdir / 'hwdb.d'
|
||||
endif
|
||||
|
||||
+rules_dir = get_option('rulesdir')
|
||||
+if rules_dir == ''
|
||||
+ udevdir = dependency('udev').get_pkgconfig_variable('udevdir')
|
||||
+ rules_dir = udevdir / 'rules.d'
|
||||
+endif
|
||||
+
|
||||
# Make like license available in the build root for docs
|
||||
configure_file(
|
||||
input: 'COPYING',
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index c8d9619..b8d671a 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -10,6 +10,12 @@ option('hwdbdir',
|
||||
description: 'Directory for hwdb files',
|
||||
)
|
||||
|
||||
+option('rulesdir',
|
||||
+ type: 'string',
|
||||
+ value: '',
|
||||
+ description: 'Directory for ruke files',
|
||||
+)
|
||||
+
|
||||
option('gtk_doc',
|
||||
type: 'boolean',
|
||||
value: false,
|
||||
@@ -21,3 +27,21 @@ option('tests',
|
||||
type: 'boolean',
|
||||
value: false
|
||||
)
|
||||
+
|
||||
+option('libdrm',
|
||||
+ description: 'Whether libdrm should be used to probe GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
+
|
||||
+option('libdrm_nouveau',
|
||||
+ description: 'Whether libdrm_nouveau should be used to probe Nvidia GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
+
|
||||
+option('libdrm_amdgpu',
|
||||
+ description: 'Whether libdrm_amdgpu should be used to probe AMD GPUs',
|
||||
+ type: 'feature',
|
||||
+ value: 'auto'
|
||||
+)
|
||||
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
|
||||
new file mode 100644
|
||||
index 0000000..2d9804f
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/amdgpu.c
|
||||
@@ -0,0 +1,46 @@
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <gio/gio.h>
|
||||
+#include <gudev/gudev.h>
|
||||
+
|
||||
+#include <amdgpu.h>
|
||||
+#include <amdgpu_drm.h>
|
||||
+
|
||||
+typedef int handle;
|
||||
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ puts ("check-discrete-amdgpu [DEVNAME]");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const char *devname;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+ g_autoptr(GUdevDevice) parent = NULL;
|
||||
+ struct drm_amdgpu_info_device device_info = {0};
|
||||
+ amdgpu_device_handle device = NULL;
|
||||
+ uint32_t drm_major, drm_minor;
|
||||
+
|
||||
+ devname = argv[1];
|
||||
+ fd = open (devname, O_RDWR);
|
||||
+ if (fd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ if (amdgpu_device_initialize (fd, &drm_major, &drm_minor, &device))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ if (amdgpu_query_info (device, AMDGPU_INFO_DEV_INFO, sizeof(device_info), &device_info))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ /* AMDGPU_IDS_FLAGS_FUSION is set for all APUs */
|
||||
+ if (device_info.ids_flags & AMDGPU_IDS_FLAGS_FUSION)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ return EXIT_SUCCESS;
|
||||
+}
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..3a6c03f
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -0,0 +1,18 @@
|
||||
+
|
||||
+if libdrm_amdgpu.found()
|
||||
+ executable('check-discrete-amdgpu',
|
||||
+ files('amdgpu.c'),
|
||||
+ dependencies: deps,
|
||||
+ install: true,
|
||||
+ install_dir: libexecdir,
|
||||
+ )
|
||||
+endif
|
||||
+
|
||||
+if libdrm.found() and libdrm_nouveau.found()
|
||||
+ executable('check-discrete-nouveau',
|
||||
+ files('nouveau.c'),
|
||||
+ dependencies: deps,
|
||||
+ install: true,
|
||||
+ install_dir: libexecdir,
|
||||
+ )
|
||||
+endif
|
||||
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
|
||||
new file mode 100644
|
||||
index 0000000..0a1f220
|
||||
--- /dev/null
|
||||
+++ b/src/discrete-detection/nouveau.c
|
||||
@@ -0,0 +1,105 @@
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
+#include <gio/gio.h>
|
||||
+#include <gudev/gudev.h>
|
||||
+
|
||||
+#include <xf86drm.h>
|
||||
+#include <nouveau_drm.h>
|
||||
+#include <nouveau/nvif/ioctl.h>
|
||||
+#include <nvif/cl0080.h>
|
||||
+#include <nvif/class.h>
|
||||
+
|
||||
+typedef int handle;
|
||||
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
+
|
||||
+int main(int argc, char** argv)
|
||||
+{
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ puts ("check-discrete-nouveau [DEVNAME]");
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ const char *devname;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+
|
||||
+ devname = argv[1];
|
||||
+ fd = open (devname, O_RDWR);
|
||||
+ if (fd < 0)
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ g_autofree void *device = malloc(352);
|
||||
+
|
||||
+ /* Init device */
|
||||
+ {
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_new_v0 new;
|
||||
+ struct nv_device_v0 dev;
|
||||
+ } init_args = {
|
||||
+ .ioctl = {
|
||||
+ .object = 0,
|
||||
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
|
||||
+ .route = 0x00,
|
||||
+ .type = NVIF_IOCTL_V0_NEW,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .new = {
|
||||
+ .handle = 0,
|
||||
+ .object = (uintptr_t)device,
|
||||
+ .oclass = NV_DEVICE,
|
||||
+ .route = NVIF_IOCTL_V0_ROUTE_NVIF,
|
||||
+ .token = (uintptr_t)device,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .dev = {
|
||||
+ .device = ~0ULL,
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
+ if (drmCommandWrite (fd, DRM_NOUVEAU_NVIF, &init_args, sizeof(init_args)))
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ /* Query device info */
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_mthd_v0 mthd;
|
||||
+ struct nv_device_info_v0 info;
|
||||
+ } args = {
|
||||
+ .ioctl = {
|
||||
+ .object = (uintptr_t)device,
|
||||
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
|
||||
+ .route = 0x00,
|
||||
+ .type = NVIF_IOCTL_V0_MTHD,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .mthd = {
|
||||
+ .method = NV_DEVICE_V0_INFO,
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ .info = {
|
||||
+ .version = 0,
|
||||
+ },
|
||||
+ };
|
||||
+
|
||||
+ if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+
|
||||
+ switch (args.info.platform)
|
||||
+ {
|
||||
+ case NV_DEVICE_INFO_V0_IGP:
|
||||
+ case NV_DEVICE_INFO_V0_SOC:
|
||||
+ return EXIT_FAILURE;
|
||||
+
|
||||
+ case NV_DEVICE_INFO_V0_PCI:
|
||||
+ case NV_DEVICE_INFO_V0_AGP:
|
||||
+ case NV_DEVICE_INFO_V0_PCIE:
|
||||
+ default:
|
||||
+ return EXIT_SUCCESS;
|
||||
+ }
|
||||
+ return EXIT_FAILURE;
|
||||
+}
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index ab3a77d..da4267f 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
-deps = [glib, gio, gudev]
|
||||
+deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
|
||||
sources = [
|
||||
'info-cleanup.c',
|
||||
@@ -34,3 +34,5 @@ configure_file(
|
||||
configuration: switcherooctl_conf,
|
||||
install_dir: get_option('bindir')
|
||||
)
|
||||
+
|
||||
+subdir('discrete-detection')
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index abd8154..e407bfb 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -31,6 +31,7 @@ typedef struct {
|
||||
char *name;
|
||||
GPtrArray *env;
|
||||
gboolean is_default;
|
||||
+ gboolean is_discrete;
|
||||
} CardData;
|
||||
|
||||
typedef struct {
|
||||
@@ -94,6 +95,8 @@ build_gpus_variant (ControlData *data)
|
||||
g_variant_new_strv ((const gchar * const *) card->env->pdata, card->env->len));
|
||||
g_variant_builder_add (&asv_builder, "{sv}", "Default",
|
||||
g_variant_new_boolean (card->is_default));
|
||||
+ g_variant_builder_add (&asv_builder, "{sv}", "Discrete",
|
||||
+ g_variant_new_boolean (card->is_discrete));
|
||||
|
||||
g_variant_builder_add (&builder, "a{sv}", &asv_builder);
|
||||
}
|
||||
@@ -312,6 +315,18 @@ get_card_is_default (GUdevDevice *d)
|
||||
return g_udev_device_get_sysfs_attr_as_boolean (parent, "boot_vga");
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+get_card_is_discrete (GUdevDevice *d)
|
||||
+{
|
||||
+ const char * const * tags;
|
||||
+ g_autoptr (GUdevDevice) platform_device = NULL;
|
||||
+
|
||||
+ tags = g_udev_device_get_tags (d);
|
||||
+ if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
|
||||
+ return TRUE;
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
static CardData *
|
||||
get_card_data (GUdevClient *client,
|
||||
GUdevDevice *d)
|
||||
@@ -328,6 +343,7 @@ get_card_data (GUdevClient *client,
|
||||
data->name = get_card_name (d);
|
||||
data->env = env;
|
||||
data->is_default = get_card_is_default (d);
|
||||
+ data->is_discrete = get_card_is_discrete (d);
|
||||
|
||||
return data;
|
||||
}
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 1b115ed72e03ff1169cbfddd79ef10890baca133 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:53:40 +0200
|
||||
Subject: [PATCH 03/10] tests: fix integration tests without UMockdev
|
||||
`gi.require_version` throws ValueError if the dependency cannot be found
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
tests/integration-test.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/integration-test.py b/tests/integration-test.py
|
||||
index d8dea16..e3dd996 100755
|
||||
--- a/tests/integration-test.py
|
||||
+++ b/tests/integration-test.py
|
||||
@@ -37,7 +37,7 @@ except ImportError as e:
|
||||
try:
|
||||
gi.require_version('UMockdev', '1.0')
|
||||
from gi.repository import UMockdev
|
||||
-except ImportError:
|
||||
+except (ImportError, ValueError):
|
||||
sys.stderr.write('Skipping tests, umockdev not available (https://github.com/martinpitt/umockdev)\n')
|
||||
sys.exit(0)
|
||||
|
||||
--
|
||||
2.46.0
|
||||
|
||||
+278
@@ -0,0 +1,278 @@
|
||||
From d933e96bdb15679ae7653f929461982aa66973ba Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:58:16 +0200
|
||||
Subject: [PATCH 04/10] tests: add tests for discrete detection with mock libs
|
||||
Both tests have 4 different ways of testing: - Invalid Device - Unexpected
|
||||
Device - Non Discrete GPU (iGPU/APU) - Discrete GPU
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/meson.build | 4 +-
|
||||
tests/discrete-detection/libdrm_amdgpu_mock.c | 57 +++++++++++++
|
||||
.../discrete-detection/libdrm_nouveau_mock.c | 68 ++++++++++++++++
|
||||
tests/discrete-detection/meson.build | 80 +++++++++++++++++++
|
||||
tests/meson.build | 2 +
|
||||
5 files changed, 209 insertions(+), 2 deletions(-)
|
||||
create mode 100644 tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
create mode 100644 tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
create mode 100644 tests/discrete-detection/meson.build
|
||||
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
index 3a6c03f..8eb8437 100644
|
||||
--- a/src/discrete-detection/meson.build
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
if libdrm_amdgpu.found()
|
||||
- executable('check-discrete-amdgpu',
|
||||
+ amdgpu_discrete = executable('check-discrete-amdgpu',
|
||||
files('amdgpu.c'),
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
@@ -9,7 +9,7 @@ if libdrm_amdgpu.found()
|
||||
endif
|
||||
|
||||
if libdrm.found() and libdrm_nouveau.found()
|
||||
- executable('check-discrete-nouveau',
|
||||
+ nouveau_discrete = executable('check-discrete-nouveau',
|
||||
files('nouveau.c'),
|
||||
dependencies: deps,
|
||||
install: true,
|
||||
diff --git a/tests/discrete-detection/libdrm_amdgpu_mock.c b/tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
new file mode 100644
|
||||
index 0000000..20fa4aa
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/libdrm_amdgpu_mock.c
|
||||
@@ -0,0 +1,57 @@
|
||||
+#include <string.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#include <amdgpu_drm.h>
|
||||
+
|
||||
+enum {
|
||||
+ OTHER_GPU,
|
||||
+ AMD_APU,
|
||||
+ AMD_GPU,
|
||||
+};
|
||||
+
|
||||
+/* Mock open(2) so we can test multiple devices configurations */
|
||||
+int open(const char *pathname, int flags)
|
||||
+{
|
||||
+ if (!strcmp(pathname, "OTHER_GPU"))
|
||||
+ return OTHER_GPU;
|
||||
+ if (!strcmp (pathname, "AMD_APU"))
|
||||
+ return AMD_APU;
|
||||
+ if (!strcmp (pathname, "AMD_GPU"))
|
||||
+ return AMD_GPU;
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+/* open64 may be used for large file support */
|
||||
+int open64(const char *pathname, int flags)
|
||||
+{
|
||||
+ return open (pathname, flags);
|
||||
+}
|
||||
+
|
||||
+int amdgpu_device_initialize(int fd, uint32_t *major_version, uint32_t *minor_version, int *device_handle)
|
||||
+{
|
||||
+ // Store the fd in the device handle for access in query_info
|
||||
+ *device_handle = fd;
|
||||
+
|
||||
+ if (fd != AMD_GPU && fd != AMD_APU)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int amdgpu_query_info(int device_handle, unsigned info_id, unsigned size, void *value)
|
||||
+{
|
||||
+ struct drm_amdgpu_info_device* device_info = value;
|
||||
+
|
||||
+ if (device_handle == AMD_GPU) {
|
||||
+ device_info->ids_flags = 0;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (device_handle == AMD_APU) {
|
||||
+ device_info->ids_flags = AMDGPU_IDS_FLAGS_FUSION;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
diff --git a/tests/discrete-detection/libdrm_nouveau_mock.c b/tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
new file mode 100644
|
||||
index 0000000..cdbfda8
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/libdrm_nouveau_mock.c
|
||||
@@ -0,0 +1,68 @@
|
||||
+#include <string.h>
|
||||
+#include <stdint.h>
|
||||
+#include <stdio.h>
|
||||
+
|
||||
+#include <xf86drm.h>
|
||||
+#include <nouveau_drm.h>
|
||||
+#include <nouveau/nvif/ioctl.h>
|
||||
+#include <nvif/cl0080.h>
|
||||
+#include <nvif/class.h>
|
||||
+
|
||||
+enum {
|
||||
+ OTHER_GPU,
|
||||
+ NVIDIA_IGPU,
|
||||
+ NVIDIA_GPU,
|
||||
+};
|
||||
+
|
||||
+/* Mock open(2) so we can test multiple devices configurations */
|
||||
+int open(const char *pathname, int flags)
|
||||
+{
|
||||
+ if (!strcmp(pathname, "OTHER_GPU"))
|
||||
+ return OTHER_GPU;
|
||||
+ if (!strcmp (pathname, "NVIDIA_IGPU"))
|
||||
+ return NVIDIA_IGPU;
|
||||
+ if (!strcmp (pathname, "NVIDIA_GPU"))
|
||||
+ return NVIDIA_GPU;
|
||||
+
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+/* open64 may be used for large file support */
|
||||
+int open64(const char *pathname, int flags)
|
||||
+{
|
||||
+ return open (pathname, flags);
|
||||
+}
|
||||
+
|
||||
+int drmCommandWrite(int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
|
||||
+{
|
||||
+ if (drmCommandIndex != DRM_NOUVEAU_NVIF)
|
||||
+ return 1;
|
||||
+
|
||||
+ if (fd != NVIDIA_GPU && fd != NVIDIA_IGPU)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int drmCommandWriteRead(int fd, unsigned long drmCommandIndex, void *data, unsigned long size)
|
||||
+{
|
||||
+ if (drmCommandIndex != DRM_NOUVEAU_NVIF)
|
||||
+ return 1;
|
||||
+
|
||||
+ struct {
|
||||
+ struct nvif_ioctl_v0 ioctl;
|
||||
+ struct nvif_ioctl_mthd_v0 mthd;
|
||||
+ struct nv_device_info_v0 info;
|
||||
+ } *args = data;
|
||||
+
|
||||
+ if (fd == NVIDIA_GPU) {
|
||||
+ args->info.platform = NV_DEVICE_INFO_V0_PCIE;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (fd == NVIDIA_IGPU) {
|
||||
+ args->info.platform = NV_DEVICE_INFO_V0_IGP;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ return 1;
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/discrete-detection/meson.build b/tests/discrete-detection/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..f01a014
|
||||
--- /dev/null
|
||||
+++ b/tests/discrete-detection/meson.build
|
||||
@@ -0,0 +1,80 @@
|
||||
+
|
||||
+if libdrm_amdgpu.found()
|
||||
+ amdgpu_mock_lib = shared_library(
|
||||
+ 'drm_amdgpu_mock',
|
||||
+ files('libdrm_amdgpu_mock.c'),
|
||||
+ dependencies: libdrm_amdgpu
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with invalid device',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['NO_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with non-AMD GPU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['OTHER_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with AMD APU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['AMD_APU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test amdgpu detection with AMD GPU',
|
||||
+ amdgpu_discrete,
|
||||
+ args: ['AMD_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': amdgpu_mock_lib.full_path()}),
|
||||
+ should_fail: false
|
||||
+ )
|
||||
+endif
|
||||
+
|
||||
+if libdrm.found() and libdrm_nouveau.found()
|
||||
+ nouveau_mock_lib = shared_library(
|
||||
+ 'drm_nouveau_mock',
|
||||
+ files('libdrm_nouveau_mock.c'),
|
||||
+ dependencies: [libdrm, libdrm_nouveau]
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with invalid device',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NO_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with non-Nvidia GPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['OTHER_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with Nvidia iGPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NVIDIA_IGPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: true
|
||||
+ )
|
||||
+
|
||||
+ test(
|
||||
+ 'test nouveau detection with Nvidia GPU',
|
||||
+ nouveau_discrete,
|
||||
+ args: ['NVIDIA_GPU'],
|
||||
+ env: environment({'LD_PRELOAD': nouveau_mock_lib.full_path()}),
|
||||
+ should_fail: false
|
||||
+ )
|
||||
+endif
|
||||
\ No newline at end of file
|
||||
diff --git a/tests/meson.build b/tests/meson.build
|
||||
index b0b7476..61ef00c 100644
|
||||
--- a/tests/meson.build
|
||||
+++ b/tests/meson.build
|
||||
@@ -15,3 +15,5 @@ foreach ut: unit_tests
|
||||
env: envs,
|
||||
)
|
||||
endforeach
|
||||
+
|
||||
+subdir('discrete-detection')
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From c102b643945dc076d881497dd2ca5865938f7053 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:57:47 +0200
|
||||
Subject: [PATCH 05/10] main: remove leftover and fix typo
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
meson_options.txt | 2 +-
|
||||
src/switcheroo-control.c | 1 -
|
||||
2 files changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index b8d671a..c77fea8 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -13,7 +13,7 @@ option('hwdbdir',
|
||||
option('rulesdir',
|
||||
type: 'string',
|
||||
value: '',
|
||||
- description: 'Directory for ruke files',
|
||||
+ description: 'Directory for rule files',
|
||||
)
|
||||
|
||||
option('gtk_doc',
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index e407bfb..0f6a548 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -319,7 +319,6 @@ static gboolean
|
||||
get_card_is_discrete (GUdevDevice *d)
|
||||
{
|
||||
const char * const * tags;
|
||||
- g_autoptr (GUdevDevice) platform_device = NULL;
|
||||
|
||||
tags = g_udev_device_get_tags (d);
|
||||
if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
|
||||
--
|
||||
2.46.0
|
||||
|
||||
+48
@@ -0,0 +1,48 @@
|
||||
From f764db4eb565c19ba14155791fbfced3fb5d34c8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 15:58:27 +0200
|
||||
Subject: [PATCH 06/10] main: move discrete dependencies out of main deps
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/meson.build | 5 +++--
|
||||
src/meson.build | 2 +-
|
||||
2 files changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
|
||||
index 8eb8437..353316f 100644
|
||||
--- a/src/discrete-detection/meson.build
|
||||
+++ b/src/discrete-detection/meson.build
|
||||
@@ -1,8 +1,9 @@
|
||||
+discrete_deps = deps + [libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
|
||||
if libdrm_amdgpu.found()
|
||||
amdgpu_discrete = executable('check-discrete-amdgpu',
|
||||
files('amdgpu.c'),
|
||||
- dependencies: deps,
|
||||
+ dependencies: discrete_deps,
|
||||
install: true,
|
||||
install_dir: libexecdir,
|
||||
)
|
||||
@@ -11,7 +12,7 @@ endif
|
||||
if libdrm.found() and libdrm_nouveau.found()
|
||||
nouveau_discrete = executable('check-discrete-nouveau',
|
||||
files('nouveau.c'),
|
||||
- dependencies: deps,
|
||||
+ dependencies: discrete_deps,
|
||||
install: true,
|
||||
install_dir: libexecdir,
|
||||
)
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index da4267f..22d69e7 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -1,4 +1,4 @@
|
||||
-deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
|
||||
+deps = [glib, gio, gudev]
|
||||
|
||||
sources = [
|
||||
'info-cleanup.c',
|
||||
--
|
||||
2.46.0
|
||||
|
||||
+137
@@ -0,0 +1,137 @@
|
||||
From d2ecc29469d5572fd171926c9d1dbb1b851c7b09 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Tue, 12 Sep 2023 17:12:00 +0200
|
||||
Subject: [PATCH 07/10] main: use glib for discrete command-line arguments
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/discrete-detection/amdgpu.c | 29 ++++++++++++++++++++---------
|
||||
src/discrete-detection/nouveau.c | 29 ++++++++++++++++++++---------
|
||||
2 files changed, 40 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
|
||||
index 2d9804f..5a9a4ab 100644
|
||||
--- a/src/discrete-detection/amdgpu.c
|
||||
+++ b/src/discrete-detection/amdgpu.c
|
||||
@@ -1,9 +1,10 @@
|
||||
-
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <locale.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gudev/gudev.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <amdgpu.h>
|
||||
#include <amdgpu_drm.h>
|
||||
@@ -12,22 +13,32 @@ typedef int handle;
|
||||
G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
|
||||
|
||||
-int main(int argc, char** argv)
|
||||
+int main (int argc, char** argv)
|
||||
{
|
||||
- if (argc < 2)
|
||||
- {
|
||||
- puts ("check-discrete-amdgpu [DEVNAME]");
|
||||
- return EXIT_FAILURE;
|
||||
- }
|
||||
-
|
||||
const char *devname;
|
||||
g_auto(handle) fd = -1;
|
||||
- g_autoptr(GUdevDevice) parent = NULL;
|
||||
struct drm_amdgpu_info_device device_info = {0};
|
||||
amdgpu_device_handle device = NULL;
|
||||
uint32_t drm_major, drm_minor;
|
||||
+ g_autoptr(GOptionContext) option_context = NULL;
|
||||
+ g_autoptr(GError) error = NULL;
|
||||
|
||||
+ setlocale (LC_ALL, "");
|
||||
+ option_context = g_option_context_new ("");
|
||||
+
|
||||
+ if (!g_option_context_parse (option_context, &argc, &argv, &error)) {
|
||||
+ g_print ("Failed to parse arguments: %s\n", error->message);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
+ if (argc < 2)
|
||||
+ {
|
||||
+ g_print ("%s\n", g_option_context_get_help (option_context, TRUE, NULL));
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
devname = argv[1];
|
||||
+;
|
||||
+
|
||||
fd = open (devname, O_RDWR);
|
||||
if (fd < 0)
|
||||
return EXIT_FAILURE;
|
||||
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
|
||||
index 0a1f220..1d61cbb 100644
|
||||
--- a/src/discrete-detection/nouveau.c
|
||||
+++ b/src/discrete-detection/nouveau.c
|
||||
@@ -1,9 +1,10 @@
|
||||
-
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
+#include <locale.h>
|
||||
#include <gio/gio.h>
|
||||
#include <gudev/gudev.h>
|
||||
+#include <glib.h>
|
||||
|
||||
#include <xf86drm.h>
|
||||
#include <nouveau_drm.h>
|
||||
@@ -14,23 +15,34 @@
|
||||
typedef int handle;
|
||||
G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
|
||||
|
||||
-int main(int argc, char** argv)
|
||||
+int main (int argc, char** argv)
|
||||
{
|
||||
+ const gchar *devname = NULL;
|
||||
+ g_auto(handle) fd = -1;
|
||||
+ g_autofree void *device = NULL;
|
||||
+ g_autoptr(GOptionContext) option_context = NULL;
|
||||
+ g_autoptr(GError) error = NULL;
|
||||
+
|
||||
+ setlocale (LC_ALL, "");
|
||||
+ option_context = g_option_context_new ("");
|
||||
+
|
||||
+ if (!g_option_context_parse (option_context, &argc, &argv, &error)) {
|
||||
+ g_print ("Failed to parse arguments: %s\n", error->message);
|
||||
+ return EXIT_FAILURE;
|
||||
+ }
|
||||
+
|
||||
if (argc < 2)
|
||||
{
|
||||
- puts ("check-discrete-nouveau [DEVNAME]");
|
||||
+ g_print ("%s\n", g_option_context_get_help (option_context, TRUE, NULL));
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
-
|
||||
- const char *devname;
|
||||
- g_auto(handle) fd = -1;
|
||||
-
|
||||
devname = argv[1];
|
||||
+
|
||||
fd = open (devname, O_RDWR);
|
||||
if (fd < 0)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
- g_autofree void *device = malloc(352);
|
||||
+ device = malloc(352);
|
||||
|
||||
/* Init device */
|
||||
{
|
||||
@@ -88,7 +100,6 @@ int main(int argc, char** argv)
|
||||
if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
|
||||
return EXIT_FAILURE;
|
||||
|
||||
-
|
||||
switch (args.info.platform)
|
||||
{
|
||||
case NV_DEVICE_INFO_V0_IGP:
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 462b09f02de37dfd2965d23cc7c4137bcf45a4ae Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 20:25:42 +0100
|
||||
Subject: [PATCH 08/10] main: add udev rule for i915 checking a lot of systems
|
||||
has shown that the intel iGPU will always be available at `0000:00:02.0`.
|
||||
Using ID_PATH would have been cleaner, but I couldn't get it to work.
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
data/30-discrete-gpu.rules.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
|
||||
index a803ed4..f30f315 100644
|
||||
--- a/data/30-discrete-gpu.rules.in
|
||||
+++ b/data/30-discrete-gpu.rules.in
|
||||
@@ -1,3 +1,4 @@
|
||||
DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
|
||||
-DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="nvidia", SUBSYSTEM=="drm", TAG+="switcheroo-discrete-gpu"
|
||||
+DRIVERS=="i915", SUBSYSTEM=="drm", DEVPATH!="/devices/pci0000:00/0000:00:02.0/drm/*", TAG+="switcheroo-discrete-gpu"
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 55db3aeaeb962952881f73e94432f750cfb64fc8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Thu, 15 Feb 2024 16:24:00 +0100
|
||||
Subject: [PATCH 09/10] main: use Discrete key in switcherooctl
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/switcherooctl.in | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/switcherooctl.in b/src/switcherooctl.in
|
||||
index 96c21cc..c0e3f07 100755
|
||||
--- a/src/switcherooctl.in
|
||||
+++ b/src/switcherooctl.in
|
||||
@@ -77,6 +77,7 @@ def print_gpu(gpu, index):
|
||||
print('Device:', index)
|
||||
print(' Name: ', gpu['Name'])
|
||||
print(' Default: ', "yes" if gpu['Default'] else "no")
|
||||
+ print(' Discrete: ', "yes" if gpu['Discrete'] else "no")
|
||||
print(' Environment:', env_to_str(gpu['Environment']))
|
||||
|
||||
def _list():
|
||||
@@ -126,7 +127,7 @@ def get_discrete_gpu():
|
||||
return None
|
||||
|
||||
try:
|
||||
- gpu = next(gpu for gpu in gpus if not gpu['Default'])
|
||||
+ gpu = next(gpu for gpu in gpus if gpu['Discrete'])
|
||||
except StopIteration:
|
||||
return None
|
||||
else:
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 4232c75fe41158bb5063d630d36b3ffd6a8a57ec Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Fri, 6 Sep 2024 22:31:56 +0200
|
||||
Subject: [PATCH 10/10] main: use new GPU list on uevent the amount of GPUs may
|
||||
still be the same but underlying attributes may have changed On the ASUS TUF
|
||||
Dash F15 running Fedora 40 6.10.7-200.fc40.x86_64 the udev tags are not
|
||||
applied at the time switcheroo-control starts but at a later uevent they are
|
||||
correct. Memory gets allocated anyways to check if the GPU count has changed,
|
||||
so this shouldn't affect memory usage.
|
||||
|
||||
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
|
||||
---
|
||||
src/switcheroo-control.c | 16 ++++++----------
|
||||
1 file changed, 6 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
|
||||
index 0f6a548..01954c7 100644
|
||||
--- a/src/switcheroo-control.c
|
||||
+++ b/src/switcheroo-control.c
|
||||
@@ -438,16 +438,12 @@ uevent_cb (GUdevClient *client,
|
||||
|
||||
cards = get_drm_cards (data);
|
||||
num_gpus = cards->len;
|
||||
- if (num_gpus != data->num_gpus) {
|
||||
- g_debug ("GPUs added or removed (old: %d new: %d)",
|
||||
- data->num_gpus, num_gpus);
|
||||
- g_ptr_array_free (data->cards, TRUE);
|
||||
- data->cards = cards;
|
||||
- data->num_gpus = cards->len;
|
||||
- send_dbus_event (data);
|
||||
- } else {
|
||||
- g_ptr_array_free (cards, TRUE);
|
||||
- }
|
||||
+ g_debug ("GPUs updated (old: %d new: %d)",
|
||||
+ data->num_gpus, num_gpus);
|
||||
+ g_ptr_array_free (data->cards, TRUE);
|
||||
+ data->cards = cards;
|
||||
+ data->num_gpus = cards->len;
|
||||
+ send_dbus_event (data);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
2.46.0
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "switcheroo-control.spec"
|
||||
}
|
||||
labels {
|
||||
extra = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,194 @@
|
||||
Name: switcheroo-control
|
||||
Version: 2.6
|
||||
Release: 8%{?dist}
|
||||
Summary: D-Bus service to check the availability of dual-GPU
|
||||
|
||||
License: GPLv3
|
||||
URL: https://gitlab.freedesktop.org/hadess/switcheroo-control/
|
||||
# URL from https://gitlab.freedesktop.org/hadess/switcheroo-control/-/releases
|
||||
Source0: https://gitlab.freedesktop.org/hadess/switcheroo-control/uploads/86ea54ac7ddb901b6bf6e915209151f8/switcheroo-control-2.6.tar.xz
|
||||
Patch: 0001-main-update-GPUs-comment-for-dbus-property.patch
|
||||
Patch: 0002-main-add-Discrete-key.patch
|
||||
Patch: 0003-tests-fix-integration-tests-without-UMockdev.patch
|
||||
Patch: 0004-tests-add-tests-for-discrete-detection-with-mock-lib.patch
|
||||
Patch: 0005-main-remove-leftover-and-fix-typo.patch
|
||||
Patch: 0006-main-move-discrete-dependencies-out-of-main-deps.patch
|
||||
Patch: 0007-main-use-glib-for-discrete-command-line-arguments.patch
|
||||
Patch: 0008-main-add-udev-rule-for-i915.patch
|
||||
Patch: 0009-main-use-Discrete-key-in-switcherooctl.patch
|
||||
Patch: 0010-main-use-new-GPU-list-on-uevent.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: pkgconfig(gudev-1.0)
|
||||
BuildRequires: pkgconfig(gio-2.0)
|
||||
BuildRequires: gtk-doc
|
||||
BuildRequires: meson
|
||||
BuildRequires: systemd
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: python3-dbusmock
|
||||
BuildRequires: umockdev
|
||||
|
||||
%{?systemd_requires}
|
||||
|
||||
%description
|
||||
D-Bus service to check the availability of dual-GPU.
|
||||
|
||||
%package docs
|
||||
Summary: Documentation for %{name}
|
||||
BuildArch: noarch
|
||||
|
||||
%description docs
|
||||
|
||||
This package contains the documentation for %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
|
||||
%build
|
||||
%meson -Dgtk_doc=true
|
||||
%meson_build
|
||||
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%post
|
||||
if [ $1 -eq 2 ] && [ -x /usr/bin/systemctl ] ; then
|
||||
/usr/bin/systemctl daemon-reload
|
||||
fi
|
||||
%systemd_post switcheroo-control.service
|
||||
%udev_hwdb_update
|
||||
|
||||
%preun
|
||||
%systemd_preun switcheroo-control.service
|
||||
|
||||
%postun
|
||||
%systemd_postun_with_restart switcheroo-control.service
|
||||
%udev_hwdb_update
|
||||
|
||||
%files
|
||||
%license COPYING
|
||||
%doc NEWS README.md
|
||||
%{_bindir}/switcherooctl
|
||||
%{_datadir}/dbus-1/system.d/net.hadess.SwitcherooControl.conf
|
||||
%{_unitdir}/switcheroo-control.service
|
||||
%{_libexecdir}/switcheroo-control
|
||||
%{_udevhwdbdir}/30-pci-intel-gpu.hwdb
|
||||
%{_mandir}/man1/switcherooctl.1*
|
||||
%{_libexecdir}/check-discrete-amdgpu
|
||||
%{_libexecdir}/check-discrete-nouveau
|
||||
%{_udevrulesdir}/30-discrete-gpu.rules
|
||||
|
||||
%files docs
|
||||
%dir %{_datadir}/gtk-doc/
|
||||
%dir %{_datadir}/gtk-doc/html/
|
||||
%{_datadir}/gtk-doc/html/%{name}/
|
||||
|
||||
%changelog
|
||||
* Fri Sep 06 2024 Jan200101 <sentrycraft123@gmail.com> - 2.6-8
|
||||
- Update discrete patch
|
||||
|
||||
* Thu Feb 15 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-7
|
||||
- Update discrete patch
|
||||
|
||||
* Wed Feb 14 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-6
|
||||
- Add discrete patch
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jul 01 2022 Bastien Nocera <bnocera@redhat.com> - 2.6-1
|
||||
+ switcheroo-control-2.6-1
|
||||
- Update to 2.6
|
||||
|
||||
* Fri Apr 29 2022 Bastien Nocera <bnocera@redhat.com> - 2.5-1
|
||||
+ switcheroo-control-2.5-1
|
||||
- Update to 2.5
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.4-3
|
||||
- Rebuilt for updated systemd-rpm-macros
|
||||
See https://pagure.io/fesco/issue/2583.
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Jan 04 2021 Bastien Nocera <bnocera@redhat.com> - 2.4-1
|
||||
+ switcheroo-control-2.4-1
|
||||
- Update to 2.4
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Apr 27 2020 Bastien Nocera <bnocera@redhat.com> - 2.2-1
|
||||
+ switcheroo-control-2.2-1
|
||||
- Update to 2.2
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jan 02 2020 Bastien Nocera <bnocera@redhat.com> - 2.1-1
|
||||
+ switcheroo-control-2.1-1
|
||||
- Update to 2.1
|
||||
- Fix crasher on startup (#1786846)
|
||||
|
||||
* Thu Nov 21 2019 Bastien Nocera <bnocera@redhat.com> - 2.0-2
|
||||
+ switcheroo-control-2.0-2
|
||||
- Fix post scripts not reloading service file
|
||||
|
||||
* Tue Nov 05 2019 Bastien Nocera <bnocera@redhat.com> - 2.0-1
|
||||
+ switcheroo-control-2.0-1
|
||||
- Update to 2.0
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Jun 17 2019 Bastien Nocera <bnocera@redhat.com> - 1.3.1-1
|
||||
+ switcheroo-control-1.3.1-1
|
||||
- Fix Secure Boot work-around
|
||||
|
||||
* Wed Jun 12 2019 Bastien Nocera <bnocera@redhat.com> - 1.3-1
|
||||
+ switcheroo-control-1.3-1
|
||||
- Update to 1.3
|
||||
- Fix operation with SecureBoot enabled
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Nov 04 2016 Bastien Nocera <bnocera@redhat.com> - 1.1-1
|
||||
+ switcheroo-control-1.1-1
|
||||
- Update to 1.1
|
||||
- Don't throw errors when the machine doesn't have dual-GPU (#1391212)
|
||||
|
||||
* Fri Oct 21 2016 Kalev Lember <klember@redhat.com> - 1.0-1
|
||||
- Initial Fedora packaging
|
||||
@@ -1,4 +1,4 @@
|
||||
%define _ubuntu_rel 22.10.20220822-0ubuntu12
|
||||
%define _ubuntu_rel 22.10.20220822-0ubuntu13
|
||||
%global _hardened_build 0
|
||||
|
||||
Name: compiz9
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From ff73f820b1398e5d60b8984b0003db46ad70b8ec Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Berg <bberg@redhat.com>
|
||||
Date: Wed, 28 Apr 2021 16:50:03 +0200
|
||||
Subject: [PATCH] gdm: Work around failing fingerprint auth
|
||||
|
||||
On Fedora we have the problem that fingerprint auth fails immediately if
|
||||
the PAM configuration has not been updated and no prints are enrolled.
|
||||
|
||||
So, consider a verification failure within one second to be a service
|
||||
failure instead.
|
||||
---
|
||||
js/gdm/util.js | 18 ++++++++++++++++++
|
||||
1 file changed, 18 insertions(+)
|
||||
|
||||
diff --git a/js/gdm/util.js b/js/gdm/util.js
|
||||
index 97df6d687e..371953cb25 100644
|
||||
--- a/js/gdm/util.js
|
||||
+++ b/js/gdm/util.js
|
||||
@@ -109,6 +109,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
this._defaultService = null;
|
||||
this._preemptingService = null;
|
||||
this._fingerprintReaderType = FingerprintReaderType.NONE;
|
||||
+ this._fprintStartTime = -1;
|
||||
|
||||
this._messageQueue = [];
|
||||
this._messageQueueTimeoutId = 0;
|
||||
@@ -669,6 +670,10 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
this._hold.acquire();
|
||||
try {
|
||||
this._activeServices.add(serviceName);
|
||||
+
|
||||
+ if (serviceName == FINGERPRINT_SERVICE_NAME)
|
||||
+ this._fprintStartTime = GLib.get_monotonic_time();
|
||||
+
|
||||
if (this._userName) {
|
||||
await this._userVerifier.call_begin_verification_for_user(
|
||||
serviceName, this._userName, this._cancellable);
|
||||
@@ -763,6 +768,7 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
const cancellable = this._cancellable;
|
||||
this._fingerprintFailedId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||
FINGERPRINT_ERROR_TIMEOUT_WAIT, () => {
|
||||
+ log("Generating _verificationFailed!");
|
||||
this._fingerprintFailedId = 0;
|
||||
if (!cancellable.is_cancelled())
|
||||
this._verificationFailed(serviceName, false);
|
||||
@@ -829,6 +835,18 @@ export class ShellUserVerifier extends Signals.EventEmitter {
|
||||
if (serviceName === FINGERPRINT_SERVICE_NAME) {
|
||||
if (this._fingerprintFailedId)
|
||||
GLib.source_remove(this._fingerprintFailedId);
|
||||
+
|
||||
+ // On Fedora we have the problem that fingerprint auth fails
|
||||
+ // immediately if the PAM configuration has not been updated and no
|
||||
+ // prints are enrolled.
|
||||
+ // So, consider a verification failure within one second to be a service
|
||||
+ // failure instead.
|
||||
+ if (this._fprintStartTime > GLib.get_monotonic_time() - GLib.USEC_PER_SEC) {
|
||||
+ log("Fingerprint service failed almost immediately, considering it unavailable.");
|
||||
+ log("Please fix your configuration by running: authselect select --force sssd with-fingerprint with-silent-lastlog");
|
||||
+ this._onServiceUnavailable(this._client, serviceName, null);
|
||||
+ return;
|
||||
+ }
|
||||
}
|
||||
|
||||
// For Not Listed / enterprise logins, immediately reset
|
||||
--
|
||||
2.43.2
|
||||
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
From 78a733bae62f8af15f0771d7efde55473f295e46 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 16 Aug 2023 18:46:54 -0400
|
||||
Subject: [PATCH 1/3] status/keyboard: Add a catch around reload call
|
||||
|
||||
Now that system input settings can get used in the user session
|
||||
they're getting seen by the tests and the tests are complaining:
|
||||
|
||||
Unhandled promise rejection. To suppress this warning, add an
|
||||
error handler to your promise chain with .catch() or a try-catch block
|
||||
around your await expression.
|
||||
|
||||
This commit adds the catch it's asking for.
|
||||
---
|
||||
js/ui/status/keyboard.js | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index cfc0a01f6b..4ef2f355d3 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -204,7 +204,9 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
this._options = '';
|
||||
this._model = '';
|
||||
|
||||
- this._reload();
|
||||
+ this._reload().catch(error => {
|
||||
+ logError(error, 'Could not reload system input settings');
|
||||
+ });
|
||||
|
||||
Gio.DBus.system.signal_subscribe(this._BUS_NAME,
|
||||
this._BUS_PROPS_IFACE,
|
||||
--
|
||||
2.43.1
|
||||
|
||||
+136
@@ -0,0 +1,136 @@
|
||||
From 0c0cc4ce1d3e08eba3e701d565398e01aa479ff7 Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 16 Aug 2023 11:13:39 -0400
|
||||
Subject: [PATCH 2/3] status/keyboard: Load keyboard from system settings if
|
||||
gsettings unconfigured
|
||||
|
||||
Right now if a user hasn't configured their input sources, the code
|
||||
falls back to
|
||||
using the current layout on Xorg and the mutter default with wayland.
|
||||
|
||||
This commit changes the code to instead fall back to using the system
|
||||
default (as configured by localed).
|
||||
---
|
||||
js/ui/status/keyboard.js | 62 +++++++++++++++++++++++++++++++---------
|
||||
1 file changed, 48 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index 4ef2f355d3..d91eb41bc6 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -22,6 +22,9 @@ import * as Util from '../../misc/util.js';
|
||||
export const INPUT_SOURCE_TYPE_XKB = 'xkb';
|
||||
export const INPUT_SOURCE_TYPE_IBUS = 'ibus';
|
||||
|
||||
+const DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
|
||||
+const KEY_INPUT_SOURCES = 'sources';
|
||||
+
|
||||
export const LayoutMenuItem = GObject.registerClass(
|
||||
class LayoutMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(displayName, shortName) {
|
||||
@@ -278,18 +281,16 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
class InputSourceSessionSettings extends InputSourceSettings {
|
||||
- constructor() {
|
||||
+ constructor(settings) {
|
||||
super();
|
||||
|
||||
- this._DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
|
||||
- this._KEY_INPUT_SOURCES = 'sources';
|
||||
this._KEY_MRU_SOURCES = 'mru-sources';
|
||||
this._KEY_KEYBOARD_OPTIONS = 'xkb-options';
|
||||
this._KEY_KEYBOARD_MODEL = 'xkb-model';
|
||||
this._KEY_PER_WINDOW = 'per-window';
|
||||
|
||||
- this._settings = new Gio.Settings({schema_id: this._DESKTOP_INPUT_SOURCES_SCHEMA});
|
||||
- this._settings.connect(`changed::${this._KEY_INPUT_SOURCES}`, this._emitInputSourcesChanged.bind(this));
|
||||
+ this._settings = settings;
|
||||
+ this._settings.connect(`changed::${KEY_INPUT_SOURCES}`, this._emitInputSourcesChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_KEYBOARD_OPTIONS}`, this._emitKeyboardOptionsChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_KEYBOARD_MODEL}`, this._emitKeyboardModelChanged.bind(this));
|
||||
this._settings.connect(`changed::${this._KEY_PER_WINDOW}`, this._emitPerWindowChanged.bind(this));
|
||||
@@ -308,7 +309,7 @@ class InputSourceSessionSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
get inputSources() {
|
||||
- return this._getSourcesList(this._KEY_INPUT_SOURCES);
|
||||
+ return this._getSourcesList(KEY_INPUT_SOURCES);
|
||||
}
|
||||
|
||||
get mruSources() {
|
||||
@@ -363,13 +364,6 @@ export class InputSourceManager extends Signals.EventEmitter {
|
||||
Meta.KeyBindingFlags.IS_REVERSED,
|
||||
Shell.ActionMode.ALL,
|
||||
this._switchInputSource.bind(this));
|
||||
- if (Main.sessionMode.isGreeter)
|
||||
- this._settings = new InputSourceSystemSettings();
|
||||
- else
|
||||
- this._settings = new InputSourceSessionSettings();
|
||||
- this._settings.connect('input-sources-changed', this._inputSourcesChanged.bind(this));
|
||||
- this._settings.connect('keyboard-options-changed', this._keyboardOptionsChanged.bind(this));
|
||||
- this._settings.connect('keyboard-model-changed', this._keyboardModelChanged.bind(this));
|
||||
|
||||
this._xkbInfo = KeyboardManager.getXkbInfo();
|
||||
this._keyboardManager = KeyboardManager.getKeyboardManager();
|
||||
@@ -381,16 +375,56 @@ export class InputSourceManager extends Signals.EventEmitter {
|
||||
this._ibusManager.connect('property-updated', this._ibusPropertyUpdated.bind(this));
|
||||
this._ibusManager.connect('set-content-type', this._ibusSetContentType.bind(this));
|
||||
|
||||
+ this._inputSettings = new Gio.Settings({schema_id: DESKTOP_INPUT_SOURCES_SCHEMA});
|
||||
+ this._setupInputSettings();
|
||||
+
|
||||
global.display.connect('modifiers-accelerator-activated', this._modifiersSwitcher.bind(this));
|
||||
|
||||
this._sourcesPerWindow = false;
|
||||
this._focusWindowNotifyId = 0;
|
||||
- this._settings.connect('per-window-changed', this._sourcesPerWindowChanged.bind(this));
|
||||
this._sourcesPerWindowChanged();
|
||||
this._disableIBus = false;
|
||||
this._reloading = false;
|
||||
}
|
||||
|
||||
+ _sessionHasNoInputSettings() {
|
||||
+ return this._inputSettings.get_user_value(KEY_INPUT_SOURCES) === null;
|
||||
+ }
|
||||
+
|
||||
+ _reloadInputSettings() {
|
||||
+ const hadNoSessionInputSettings = this._hasNoSessionInputSettings;
|
||||
+
|
||||
+ if (Main.sessionMode.isGreeter)
|
||||
+ this._hasNoSessionInputSettings = true;
|
||||
+ else
|
||||
+ this._hasNoSessionInputSettings = this._sessionHasNoInputSettings();
|
||||
+
|
||||
+ if (this._settings && hadNoSessionInputSettings === this._hasNoSessionInputSettings)
|
||||
+ return;
|
||||
+
|
||||
+ this._settings?.disconnectObject(this);
|
||||
+
|
||||
+ if (this._hasNoSessionInputSettings)
|
||||
+ this._settings = new InputSourceSystemSettings();
|
||||
+ else
|
||||
+ this._settings = new InputSourceSessionSettings(this._inputSettings);
|
||||
+
|
||||
+ this._settings.connectObject(
|
||||
+ 'input-sources-changed', this._inputSourcesChanged.bind(this),
|
||||
+ 'keyboard-options-changed', this._keyboardOptionsChanged.bind(this),
|
||||
+ 'keyboard-model-changed', this._keyboardModelChanged.bind(this),
|
||||
+ 'per-window-changed', this._sourcesPerWindowChanged.bind(this),
|
||||
+ this);
|
||||
+ this.reload();
|
||||
+ }
|
||||
+
|
||||
+ _setupInputSettings() {
|
||||
+ if (!Main.sessionMode.isGreeter)
|
||||
+ this._inputSettings.connect(`changed::${KEY_INPUT_SOURCES}`, this._reloadInputSettings.bind(this));
|
||||
+
|
||||
+ this._reloadInputSettings();
|
||||
+ }
|
||||
+
|
||||
reload() {
|
||||
this._reloading = true;
|
||||
this._keyboardManager.setKeyboardOptions(this._settings.keyboardOptions);
|
||||
--
|
||||
2.43.1
|
||||
|
||||
+128
@@ -0,0 +1,128 @@
|
||||
From d060baeb69a2a7d80fe403fc8eec90e20aa6cb7f Mon Sep 17 00:00:00 2001
|
||||
From: Ray Strode <rstrode@redhat.com>
|
||||
Date: Wed, 16 Aug 2023 14:09:50 -0400
|
||||
Subject: [PATCH 3/3] status/keyboard: Use gnome-desktop API for getting
|
||||
default input sources list
|
||||
|
||||
At the moment, gnome-shell tries to figure out the default input sources
|
||||
from localed. It fails to take into account the system locale and input
|
||||
methods.
|
||||
|
||||
This commit switches it to use a new function in gnome-desktop,
|
||||
gnome_get_default_input_sources, which does most of the heavy
|
||||
lifting itself, instead.
|
||||
---
|
||||
js/ui/status/keyboard.js | 59 ++++++++++++++++++----------------------
|
||||
1 file changed, 27 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index d91eb41bc6..19c36031f6 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -3,6 +3,7 @@
|
||||
import Clutter from 'gi://Clutter';
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
+import GnomeDesktop from 'gi://GnomeDesktop';
|
||||
import GObject from 'gi://GObject';
|
||||
import IBus from 'gi://IBus';
|
||||
import Meta from 'gi://Meta';
|
||||
@@ -25,6 +26,8 @@ export const INPUT_SOURCE_TYPE_IBUS = 'ibus';
|
||||
const DESKTOP_INPUT_SOURCES_SCHEMA = 'org.gnome.desktop.input-sources';
|
||||
const KEY_INPUT_SOURCES = 'sources';
|
||||
|
||||
+Gio._promisify(GnomeDesktop, 'get_default_input_sources');
|
||||
+
|
||||
export const LayoutMenuItem = GObject.registerClass(
|
||||
class LayoutMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(displayName, shortName) {
|
||||
@@ -202,9 +205,9 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
this._BUS_IFACE = 'org.freedesktop.locale1';
|
||||
this._BUS_PROPS_IFACE = 'org.freedesktop.DBus.Properties';
|
||||
|
||||
- this._layouts = '';
|
||||
- this._variants = '';
|
||||
- this._options = '';
|
||||
+ this._inputSourceIds = [];
|
||||
+ this._inputSourceTypes = [];
|
||||
+ this._options = [];
|
||||
this._model = '';
|
||||
|
||||
this._reload().catch(error => {
|
||||
@@ -221,30 +224,22 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
async _reload() {
|
||||
- let props;
|
||||
+ let inputSourceIds;
|
||||
+ let inputSourceTypes;
|
||||
+ let options;
|
||||
+ let model;
|
||||
try {
|
||||
- const result = await Gio.DBus.system.call(
|
||||
- this._BUS_NAME,
|
||||
- this._BUS_PATH,
|
||||
- this._BUS_PROPS_IFACE,
|
||||
- 'GetAll',
|
||||
- new GLib.Variant('(s)', [this._BUS_IFACE]),
|
||||
- null, Gio.DBusCallFlags.NONE, -1, null);
|
||||
- [props] = result.deepUnpack();
|
||||
+ [inputSourceIds, inputSourceTypes, options, model] =
|
||||
+ await GnomeDesktop.get_default_input_sources(null);
|
||||
} catch (e) {
|
||||
- log(`Could not get properties from ${this._BUS_NAME}`);
|
||||
+ logError(e, 'Could not get default input sources');
|
||||
return;
|
||||
}
|
||||
|
||||
- const layouts = props['X11Layout'].unpack();
|
||||
- const variants = props['X11Variant'].unpack();
|
||||
- const options = props['X11Options'].unpack();
|
||||
- const model = props['X11Model'].unpack();
|
||||
-
|
||||
- if (layouts !== this._layouts ||
|
||||
- variants !== this._variants) {
|
||||
- this._layouts = layouts;
|
||||
- this._variants = variants;
|
||||
+ if (inputSourceIds !== this._inputSourceIds ||
|
||||
+ inputSourceTypes !== this._inputSourceTypes) {
|
||||
+ this._inputSourceIds = inputSourceIds;
|
||||
+ this._inputSourceTypes = inputSourceTypes;
|
||||
this._emitInputSourcesChanged();
|
||||
}
|
||||
if (options !== this._options) {
|
||||
@@ -258,21 +253,21 @@ class InputSourceSystemSettings extends InputSourceSettings {
|
||||
}
|
||||
|
||||
get inputSources() {
|
||||
- let sourcesList = [];
|
||||
- let layouts = this._layouts.split(',');
|
||||
- let variants = this._variants.split(',');
|
||||
-
|
||||
- for (let i = 0; i < layouts.length && !!layouts[i]; i++) {
|
||||
- let id = layouts[i];
|
||||
- if (variants[i])
|
||||
- id += `+${variants[i]}`;
|
||||
- sourcesList.push({type: INPUT_SOURCE_TYPE_XKB, id});
|
||||
+ let sourcesList;
|
||||
+
|
||||
+ if (this._inputSourceIds) {
|
||||
+ sourcesList = this._inputSourceIds.map((id, index) => {
|
||||
+ return {type: this._inputSourceTypes[index], id};
|
||||
+ });
|
||||
+ } else {
|
||||
+ sourcesList = [];
|
||||
}
|
||||
+
|
||||
return sourcesList;
|
||||
}
|
||||
|
||||
get keyboardOptions() {
|
||||
- return this._options.split(',');
|
||||
+ return this._options;
|
||||
}
|
||||
|
||||
get keyboardModel() {
|
||||
--
|
||||
2.43.1
|
||||
|
||||
@@ -0,0 +1,98 @@
|
||||
From c8c05c4a142f3de9c17a9ca83692dda364abccc8 Mon Sep 17 00:00:00 2001
|
||||
From: Jan200101 <sentrycraft123@gmail.com>
|
||||
Date: Thu, 15 Feb 2024 16:05:40 +0100
|
||||
Subject: [PATCH] shell-app: Improve discrete GPU detection
|
||||
|
||||
---
|
||||
.../net.hadess.SwitcherooControl.xml | 3 +-
|
||||
src/shell-app.c | 60 +++++++++++++++++++
|
||||
2 files changed, 62 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/dbus-interfaces/net.hadess.SwitcherooControl.xml b/data/dbus-interfaces/net.hadess.SwitcherooControl.xml
|
||||
index e52bc1a0d25..59a889654f4 100644
|
||||
--- a/data/dbus-interfaces/net.hadess.SwitcherooControl.xml
|
||||
+++ b/data/dbus-interfaces/net.hadess.SwitcherooControl.xml
|
||||
@@ -38,7 +38,8 @@
|
||||
will contain a user-facing name for the GPU, the "Environment" (as) key will
|
||||
contain an array of even number of strings, each being an environment
|
||||
variable to set to use the GPU, followed by its value, the "Default" (b) key
|
||||
- will tag the default (usually integrated) GPU.
|
||||
+ will tag the default GPU, the "Discrete" (b) key tags if the GPU is a
|
||||
+ dedicated component.
|
||||
-->
|
||||
<property name="GPUs" type="aa{sv}" access="read"/>
|
||||
|
||||
diff --git a/src/shell-app.c b/src/shell-app.c
|
||||
index 371bc6cf762..39f220ba954 100644
|
||||
--- a/src/shell-app.c
|
||||
+++ b/src/shell-app.c
|
||||
@@ -1300,6 +1300,66 @@ apply_discrete_gpu_env (GAppLaunchContext *context,
|
||||
}
|
||||
|
||||
num_children = g_variant_n_children (variant);
|
||||
+
|
||||
+ // Check if the Default GPU is Discrete
|
||||
+ for (i = 0; i < num_children; i++)
|
||||
+ {
|
||||
+ g_autoptr(GVariant) gpu = NULL;
|
||||
+ g_autoptr(GVariant) env = NULL;
|
||||
+ g_autoptr(GVariant) default_variant = NULL;
|
||||
+ g_autoptr(GVariant) discrete_variant = NULL;
|
||||
+ g_autofree const char **env_s = NULL;
|
||||
+
|
||||
+ gpu = g_variant_get_child_value (variant, i);
|
||||
+ if (!gpu ||
|
||||
+ !g_variant_is_of_type (gpu, G_VARIANT_TYPE ("a{s*}")))
|
||||
+ continue;
|
||||
+
|
||||
+ /* Skip over non-default GPUs */
|
||||
+ default_variant = g_variant_lookup_value (gpu, "Default", NULL);
|
||||
+ if (!default_variant || !g_variant_get_boolean (default_variant))
|
||||
+ continue;
|
||||
+
|
||||
+ /* break out if default GPU is not discrete */
|
||||
+ discrete_variant = g_variant_lookup_value (gpu, "Discrete", NULL);
|
||||
+ if (!discrete_variant || !g_variant_get_boolean (discrete_variant))
|
||||
+ break;
|
||||
+
|
||||
+ // Default GPU is discrete, no need to do anything
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // Find the first Discrete GPU
|
||||
+ for (i = 0; i < num_children; i++)
|
||||
+ {
|
||||
+ g_autoptr(GVariant) gpu = NULL;
|
||||
+ g_autoptr(GVariant) env = NULL;
|
||||
+ g_autoptr(GVariant) discrete_variant = NULL;
|
||||
+ g_autofree const char **env_s = NULL;
|
||||
+ guint j;
|
||||
+
|
||||
+ gpu = g_variant_get_child_value (variant, i);
|
||||
+ if (!gpu ||
|
||||
+ !g_variant_is_of_type (gpu, G_VARIANT_TYPE ("a{s*}")))
|
||||
+ continue;
|
||||
+
|
||||
+ /* Skip over non-discrete GPUs */
|
||||
+ discrete_variant = g_variant_lookup_value (gpu, "Discrete", NULL);
|
||||
+ if (!discrete_variant || !g_variant_get_boolean (discrete_variant))
|
||||
+ continue;
|
||||
+
|
||||
+ env = g_variant_lookup_value (gpu, "Environment", NULL);
|
||||
+ if (!env)
|
||||
+ continue;
|
||||
+
|
||||
+ env_s = g_variant_get_strv (env, NULL);
|
||||
+ for (j = 0; env_s[j] != NULL; j = j + 2)
|
||||
+ g_app_launch_context_setenv (context, env_s[j], env_s[j+1]);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ // fallback to old behavior
|
||||
+ // find the first non-Default GPU
|
||||
for (i = 0; i < num_children; i++)
|
||||
{
|
||||
g_autoptr(GVariant) gpu = NULL;
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "gnome-shell.spec"
|
||||
}
|
||||
labels {
|
||||
extra = 1
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,227 @@
|
||||
gnome-shell-2.31.5.tar.bz2
|
||||
/gnome-shell-2.91.0.tar.bz2
|
||||
/gnome-shell-2.91.1.tar.bz2
|
||||
/gnome-shell-2.91.2.tar.bz2
|
||||
/gnome-shell-2.91.3.tar.bz2
|
||||
/gnome-shell-2.91.4.tar.bz2
|
||||
/gnome-shell-2.91.5.tar.bz2
|
||||
/gnome-shell-2.91.6.tar.bz2
|
||||
/gnome-shell-2.91.90.tar.bz2
|
||||
/gnome-shell-2.91.91.tar.bz2
|
||||
/gnome-shell-2.91.92.tar.bz2
|
||||
/gnome-shell-2.91.93.tar.bz2
|
||||
/gnome-shell-3.0.0.tar.bz2
|
||||
/gnome-shell-3.0.0.1.tar.bz2
|
||||
/gnome-shell-3.0.0.2.tar.bz2
|
||||
/gnome-shell-3.0.1.tar.bz2
|
||||
/gnome-shell-3.0.2.tar.bz2
|
||||
/gnome-shell-3.1.3.tar.bz2
|
||||
/gnome-shell-3.1.4.tar.xz
|
||||
/gnome-shell-3.1.4-gite7b9933.tar.bz2
|
||||
/gnome-shell-3.1.90.1.tar.xz
|
||||
/gnome-shell-3.1.91.tar.xz
|
||||
/gnome-shell-3.1.91.1.tar.xz
|
||||
/gnome-shell-3.1.92.tar.xz
|
||||
/gnome-shell-3.2.0.tar.xz
|
||||
/gnome-shell-3.2.1.tar.xz
|
||||
/gnome-shell-3.3.2.tar.xz
|
||||
/gnome-shell-3.3.3.tar.xz
|
||||
/gnome-shell-3.3.4.tar.xz
|
||||
/gnome-shell-3.3.5.tar.xz
|
||||
/gnome-shell-3.3.90.tar.xz
|
||||
/gnome-shell-3.3.92.tar.xz
|
||||
/gnome-shell-3.4.0.tar.xz
|
||||
/gnome-shell-3.4.1.tar.xz
|
||||
/gnome-shell-3.5.2.tar.xz
|
||||
/gnome-shell-3.5.3.tar.xz
|
||||
/gnome-shell-3.5.4.tar.xz
|
||||
/gnome-shell-3.5.5.tar.xz
|
||||
/gnome-shell-3.5.90.tar.xz
|
||||
/gnome-shell-3.5.91.tar.xz
|
||||
/gnome-shell-3.5.92.tar.xz
|
||||
/gnome-shell-3.6.0.tar.xz
|
||||
/gnome-shell-3.6.1.tar.xz
|
||||
/gnome-shell-3.7.1.tar.xz
|
||||
/gnome-shell-3.7.2.tar.xz
|
||||
/gnome-shell-3.7.3.tar.xz
|
||||
/gnome-shell-3.7.3.1.tar.xz
|
||||
/gnome-shell-3.7.4.tar.xz
|
||||
/gnome-shell-3.7.4.1.tar.xz
|
||||
/gnome-shell-3.7.5.tar.xz
|
||||
/gnome-shell-3.7.90.tar.xz
|
||||
/gnome-shell-3.7.91.tar.xz
|
||||
/gnome-shell-3.7.92.tar.xz
|
||||
/gnome-shell-3.8.0.tar.xz
|
||||
/gnome-shell-3.8.0.1.tar.xz
|
||||
/gnome-shell-3.8.1.tar.xz
|
||||
/gnome-shell-3.9.1.tar.xz
|
||||
/gnome-shell-3.9.2.tar.xz
|
||||
/gnome-shell-3.9.3.tar.xz
|
||||
/gnome-shell-3.9.4.tar.xz
|
||||
/gnome-shell-3.9.5.tar.xz
|
||||
/gnome-shell-3.9.90.tar.xz
|
||||
/gnome-shell-3.9.91.tar.xz
|
||||
/gnome-shell-3.9.92.tar.xz
|
||||
/gnome-shell-3.10.0.tar.xz
|
||||
/gnome-shell-3.10.0.1.tar.xz
|
||||
/gnome-shell-3.10.1.tar.xz
|
||||
/gnome-shell-3.11.1.tar.xz
|
||||
/gnome-shell-3.11.2.tar.xz
|
||||
/gnome-shell-3.11.3.tar.xz
|
||||
/gnome-shell-3.11.4.tar.xz
|
||||
/gnome-shell-3.11.5.tar.xz
|
||||
/gnome-shell-3.11.90.tar.xz
|
||||
/gnome-shell-3.11.91.tar.xz
|
||||
/gnome-shell-3.11.92.tar.xz
|
||||
/gnome-shell-3.12.0.tar.xz
|
||||
/gnome-shell-3.12.1.tar.xz
|
||||
/gnome-shell-3.13.1.tar.xz
|
||||
/gnome-shell-3.13.2.tar.xz
|
||||
/gnome-shell-3.13.3.tar.xz
|
||||
/gnome-shell-3.13.4.tar.xz
|
||||
/gnome-shell-3.13.90.tar.xz
|
||||
/gnome-shell-3.13.91.tar.xz
|
||||
/gnome-shell-3.13.92.tar.xz
|
||||
/gnome-shell-3.14.0.tar.xz
|
||||
/gnome-shell-3.14.1.tar.xz
|
||||
/gnome-shell-3.15.1.tar.xz
|
||||
/gnome-shell-3.15.2.tar.xz
|
||||
/gnome-shell-3.15.3.tar.xz
|
||||
/gnome-shell-3.15.4.tar.xz
|
||||
/gnome-shell-3.15.90.tar.xz
|
||||
/gnome-shell-3.15.91.tar.xz
|
||||
/gnome-shell-3.15.92.tar.xz
|
||||
/gnome-shell-3.16.0.tar.xz
|
||||
/gnome-shell-3.16.1.tar.xz
|
||||
/gnome-shell-3.17.1.tar.xz
|
||||
/gnome-shell-3.17.2.tar.xz
|
||||
/gnome-shell-3.17.3.tar.xz
|
||||
/gnome-shell-3.17.4.tar.xz
|
||||
/gnome-shell-3.17.90.tar.xz
|
||||
/gnome-shell-3.17.91.tar.xz
|
||||
/gnome-shell-3.17.92.tar.xz
|
||||
/gnome-shell-3.18.0.tar.xz
|
||||
/gnome-shell-3.18.1.tar.xz
|
||||
/gnome-shell-3.19.1.tar.xz
|
||||
/gnome-shell-3.19.2.tar.xz
|
||||
/gnome-shell-3.19.3.tar.xz
|
||||
/gnome-shell-3.19.4.tar.xz
|
||||
/gnome-shell-3.19.90.tar.xz
|
||||
/gnome-shell-3.19.91.tar.xz
|
||||
/gnome-shell-3.19.92.tar.xz
|
||||
/gnome-shell-3.20.0.tar.xz
|
||||
/gnome-shell-3.20.1.tar.xz
|
||||
/gnome-shell-3.21.1.tar.xz
|
||||
/gnome-shell-3.21.2.tar.xz
|
||||
/gnome-shell-3.21.3.tar.xz
|
||||
/gnome-shell-3.21.4.tar.xz
|
||||
/gnome-shell-3.21.90.tar.xz
|
||||
/gnome-shell-3.21.90.1.tar.xz
|
||||
/gnome-shell-3.21.91.tar.xz
|
||||
/gnome-shell-3.21.92.tar.xz
|
||||
/gnome-shell-3.22.0.tar.xz
|
||||
/gnome-shell-3.22.1.tar.xz
|
||||
/gnome-shell-3.23.1.tar.xz
|
||||
/gnome-shell-3.23.2.tar.xz
|
||||
/gnome-shell-3.23.3.tar.xz
|
||||
/gnome-shell-3.23.90.tar.xz
|
||||
/gnome-shell-3.23.91.tar.xz
|
||||
/gnome-shell-3.23.92.tar.xz
|
||||
/gnome-shell-3.24.0.tar.xz
|
||||
/gnome-shell-3.24.1.tar.xz
|
||||
/gnome-shell-3.25.1.tar.xz
|
||||
/gnome-shell-3.25.2.tar.xz
|
||||
/gnome-shell-3.25.3.tar.xz
|
||||
/gnome-shell-3.25.4.tar.xz
|
||||
/gnome-shell-3.25.90.tar.xz
|
||||
/gnome-shell-3.25.91.tar.xz
|
||||
/gnome-shell-3.26.0.tar.xz
|
||||
/gnome-shell-3.26.1.tar.xz
|
||||
/gnome-shell-3.27.1.tar.xz
|
||||
/gnome-shell-3.27.91.tar.xz
|
||||
/gnome-shell-3.27.92.tar.xz
|
||||
/gnome-shell-3.28.0.tar.xz
|
||||
/gnome-shell-3.28.1.tar.xz
|
||||
/gnome-shell-3.29.1.tar.xz
|
||||
/gnome-shell-3.29.2.tar.xz
|
||||
/gnome-shell-3.29.4.tar.xz
|
||||
/gnome-shell-3.29.90.tar.xz
|
||||
/gnome-shell-3.29.91.tar.xz
|
||||
/gnome-shell-3.29.92.tar.xz
|
||||
/gnome-shell-3.30.0.tar.xz
|
||||
/gnome-shell-3.30.1.tar.xz
|
||||
/gnome-shell-3.31.2.tar.xz
|
||||
/gnome-shell-3.31.4.tar.xz
|
||||
/gnome-shell-3.31.90.tar.xz
|
||||
/gnome-shell-3.31.91.tar.xz
|
||||
/gnome-shell-3.31.92.tar.xz
|
||||
/gnome-shell-3.32.0.tar.xz
|
||||
/gnome-shell-3.32.1.tar.xz
|
||||
/gnome-shell-3.33.1.tar.xz
|
||||
/gnome-shell-3.33.2.tar.xz
|
||||
/gnome-shell-3.33.3.tar.xz
|
||||
/gnome-shell-3.33.4.tar.xz
|
||||
/gnome-shell-3.33.90.tar.xz
|
||||
/gnome-shell-3.33.91.tar.xz
|
||||
/gnome-shell-3.33.92.tar.xz
|
||||
/gnome-shell-3.34.0.tar.xz
|
||||
/gnome-shell-3.34.1.tar.xz
|
||||
/gnome-shell-3.35.1.tar.xz
|
||||
/gnome-shell-3.35.2.tar.xz
|
||||
/gnome-shell-3.35.3.tar.xz
|
||||
/gnome-shell-3.35.90.tar.xz
|
||||
/gnome-shell-3.35.91.tar.xz
|
||||
/gnome-shell-3.35.92.tar.xz
|
||||
/gnome-shell-3.36.0.tar.xz
|
||||
/gnome-shell-3.36.1.tar.xz
|
||||
/gnome-shell-3.37.1.tar.xz
|
||||
/gnome-shell-3.37.2.tar.xz
|
||||
/gnome-shell-3.37.3.tar.xz
|
||||
/gnome-shell-3.37.90.tar.xz
|
||||
/gnome-shell-3.37.91.tar.xz
|
||||
/gnome-shell-3.37.92.tar.xz
|
||||
/gnome-shell-3.38.0.tar.xz
|
||||
/gnome-shell-3.38.1.tar.xz
|
||||
/gnome-shell-40.alpha.tar.xz
|
||||
/gnome-shell-40.alpha.1.tar.xz
|
||||
/gnome-shell-40.alpha.1.1.tar.xz
|
||||
/gnome-shell-40.alpha.1.1-94-g9ce666ac1.tar.xz
|
||||
/gnome-shell-40.alpha.1.1-228-g829a096ba.tar.xz
|
||||
/gnome-shell-40.beta.tar.xz
|
||||
/gnome-shell-40.beta-79-g7a57528bd.tar.xz
|
||||
/gnome-shell-40.rc.tar.xz
|
||||
/gnome-shell-40.0.tar.xz
|
||||
/gnome-shell-40.1.tar.xz
|
||||
/gnome-shell-40.2.tar.xz
|
||||
/gnome-shell-40.3.tar.xz
|
||||
/gnome-shell-41.beta.tar.xz
|
||||
/gnome-shell-41.rc.tar.xz
|
||||
/gnome-shell-41.rc.1.tar.xz
|
||||
/gnome-shell-41.0.tar.xz
|
||||
/gnome-shell-42.alpha.tar.xz
|
||||
/gnome-shell-42.beta.tar.xz
|
||||
/gnome-shell-42.rc.tar.xz
|
||||
/gnome-shell-42.0.tar.xz
|
||||
/gnome-shell-42.1.tar.xz
|
||||
/gnome-shell-42.2.tar.xz
|
||||
/gnome-shell-43.alpha.tar.xz
|
||||
/gnome-shell-43.beta.tar.xz
|
||||
/gnome-shell-43.rc.tar.xz
|
||||
/gnome-shell-43.0.tar.xz
|
||||
/gnome-shell-43.1.tar.xz
|
||||
/gnome-shell-44.beta.tar.xz
|
||||
/gnome-shell-44.rc.tar.xz
|
||||
/gnome-shell-44.0.tar.xz
|
||||
/gnome-shell-44.1.tar.xz
|
||||
/gnome-shell-44.2.tar.xz
|
||||
/gnome-shell-45.alpha.tar.xz
|
||||
/gnome-shell-45.beta.tar.xz
|
||||
/gnome-shell-45.beta.1.tar.xz
|
||||
/gnome-shell-45.rc.tar.xz
|
||||
/gnome-shell-45.0.tar.xz
|
||||
/gnome-shell-45.1.tar.xz
|
||||
/gnome-shell-45.2.tar.xz
|
||||
/gnome-shell-46.alpha.tar.xz
|
||||
/gnome-shell-46.beta.tar.xz
|
||||
/gnome-shell-46.rc.tar.xz
|
||||
/gnome-shell-46.0.tar.xz
|
||||
@@ -0,0 +1,38 @@
|
||||
From 551b8979483e127471c726fd1db1d52e063a7d81 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 17 Sep 2014 07:11:12 +0200
|
||||
Subject: [PATCH] Replace Web with Firefox in default favorites
|
||||
|
||||
---
|
||||
data/org.gnome.shell.gschema.xml.in | 2 +-
|
||||
js/ui/appFavorites.js | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in
|
||||
index f4fa86d013..86b4bf85ee 100644
|
||||
--- a/data/org.gnome.shell.gschema.xml.in
|
||||
+++ b/data/org.gnome.shell.gschema.xml.in
|
||||
@@ -50,7 +50,7 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="favorite-apps" type="as">
|
||||
- <default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'org.gnome.TextEditor.desktop']</default>
|
||||
+ <default>[ 'org.mozilla.firefox.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop', 'org.gnome.TextEditor.desktop']</default>
|
||||
<summary>List of desktop file IDs for favorite applications</summary>
|
||||
<description>
|
||||
The applications corresponding to these identifiers
|
||||
diff --git a/js/ui/appFavorites.js b/js/ui/appFavorites.js
|
||||
index 576df3800d..1f55a3c881 100644
|
||||
--- a/js/ui/appFavorites.js
|
||||
+++ b/js/ui/appFavorites.js
|
||||
@@ -51,6 +51,7 @@ const RENAMED_DESKTOP_IDS = {
|
||||
'gnotski.desktop': 'org.gnome.Klotski.desktop',
|
||||
'gtali.desktop': 'org.gnome.Tali.desktop',
|
||||
'iagno.desktop': 'org.gnome.Reversi.desktop',
|
||||
+ 'firefox.desktop': 'org.mozilla.firefox.desktop',
|
||||
'nautilus.desktop': 'org.gnome.Nautilus.desktop',
|
||||
'org.gnome.gnome-2048.desktop': 'org.gnome.TwentyFortyEight.desktop',
|
||||
'org.gnome.taquin.desktop': 'org.gnome.Taquin.desktop',
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,262 @@
|
||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||
%global major_version 47
|
||||
%global minor_version 1
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global portal_helper 0
|
||||
%else
|
||||
%global portal_helper 1
|
||||
%endif
|
||||
|
||||
Name: gnome-shell
|
||||
Version: %{major_version}.%{minor_version}
|
||||
Release: %autorelease.switcheroo
|
||||
Summary: Window management and application launching for GNOME
|
||||
|
||||
License: GPL-2.0-or-later
|
||||
URL: https://wiki.gnome.org/Projects/GnomeShell
|
||||
Source0: https://download.gnome.org/sources/gnome-shell/%{major_version}/%{name}-%{tarball_version}.tar.xz
|
||||
|
||||
# Replace Epiphany with Firefox in the default favourite apps list
|
||||
Patch: gnome-shell-favourite-apps-firefox.patch
|
||||
|
||||
# Some users might have a broken PAM config, so we really need this
|
||||
# downstream patch to stop trying on configuration errors.
|
||||
Patch: 0001-gdm-Work-around-failing-fingerprint-auth.patch
|
||||
|
||||
Patch: 0001-status-keyboard-Add-a-catch-around-reload-call.patch
|
||||
Patch: 0002-status-keyboard-Load-keyboard-from-system-settings-i.patch
|
||||
Patch: 0003-status-keyboard-Use-gnome-desktop-API-for-getting-de.patch
|
||||
|
||||
# shell-app: improve discrete GPU detection
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3193
|
||||
Patch: 3193.patch
|
||||
|
||||
%define eds_version 3.45.1
|
||||
%define gnome_desktop_version 44.0-7
|
||||
%define glib2_version 2.79.2
|
||||
%define gobject_introspection_version 1.49.1
|
||||
%define gjs_version 1.73.1
|
||||
%define gtk4_version 4.0.0
|
||||
%define adwaita_version 1.5.0
|
||||
%define mutter_version 47.0
|
||||
%define polkit_version 0.100
|
||||
%define gsettings_desktop_schemas_version 47~alpha
|
||||
%define ibus_version 1.5.2
|
||||
%define gnome_bluetooth_version 1:42.3
|
||||
%define gstreamer_version 1.4.5
|
||||
%define pipewire_version 0.3.0
|
||||
%define gnome_settings_daemon_version 3.37.1
|
||||
|
||||
BuildRequires: pkgconfig(bash-completion)
|
||||
BuildRequires: gcc
|
||||
BuildRequires: meson
|
||||
BuildRequires: git
|
||||
BuildRequires: pkgconfig(ibus-1.0) >= %{ibus_version}
|
||||
BuildRequires: desktop-file-utils
|
||||
BuildRequires: pkgconfig(libedataserver-1.2) >= %{eds_version}
|
||||
BuildRequires: pkgconfig(gcr-4)
|
||||
BuildRequires: pkgconfig(gjs-1.0) >= %{gjs_version}
|
||||
BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version}
|
||||
BuildRequires: pkgconfig(gnome-autoar-0)
|
||||
BuildRequires: pkgconfig(gnome-desktop-4) >= %{gnome_desktop_version}
|
||||
BuildRequires: pkgconfig(gobject-introspection-1.0) >= %{gobject_introspection_version}
|
||||
BuildRequires: mesa-libGL-devel
|
||||
BuildRequires: mesa-libEGL-devel
|
||||
BuildRequires: pkgconfig(libnm)
|
||||
BuildRequires: pkgconfig(polkit-agent-1) >= %{polkit_version}
|
||||
BuildRequires: pkgconfig(libstartup-notification-1.0)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
# for screencast recorder functionality
|
||||
BuildRequires: pkgconfig(gstreamer-base-1.0) >= %{gstreamer_version}
|
||||
BuildRequires: pkgconfig(libpipewire-0.3) >= %{pipewire_version}
|
||||
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
|
||||
BuildRequires: gettext >= 0.19.6
|
||||
BuildRequires: python3
|
||||
|
||||
# for rst2man
|
||||
BuildRequires: python3-docutils
|
||||
# for barriers
|
||||
BuildRequires: libXfixes-devel >= 5.0
|
||||
# used in unused BigThemeImage
|
||||
BuildRequires: librsvg2-devel
|
||||
BuildRequires: mutter-devel >= %{mutter_version}
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
%ifnarch s390 s390x ppc ppc64 ppc64p7
|
||||
BuildRequires: gnome-bluetooth-libs-devel >= %{gnome_bluetooth_version}
|
||||
%endif
|
||||
# Bootstrap requirements
|
||||
BuildRequires: gtk-doc
|
||||
%ifnarch s390 s390x
|
||||
Recommends: gnome-bluetooth%{?_isa} >= %{gnome_bluetooth_version}
|
||||
%endif
|
||||
Requires: gnome-desktop3%{?_isa} >= %{gnome_desktop_version}
|
||||
Requires: gcr%{?_isa}
|
||||
Requires: gobject-introspection%{?_isa} >= %{gobject_introspection_version}
|
||||
Requires: gjs%{?_isa} >= %{gjs_version}
|
||||
Requires: gtk4%{?_isa} >= %{gtk4_version}
|
||||
Requires: libadwaita%{_isa} >= %{adwaita_version}
|
||||
Requires: libnma-gtk4%{?_isa}
|
||||
# needed for loading SVG's via gdk-pixbuf
|
||||
Requires: librsvg2%{?_isa}
|
||||
Requires: mutter%{?_isa} >= %{mutter_version}
|
||||
Requires: upower%{?_isa}
|
||||
Requires: polkit%{?_isa} >= %{polkit_version}
|
||||
Requires: gnome-desktop4%{?_isa} >= %{gnome_desktop_version}
|
||||
Requires: glib2%{?_isa} >= %{glib2_version}
|
||||
Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version}
|
||||
Requires: gnome-settings-daemon%{?_isa} >= %{gnome_settings_daemon_version}
|
||||
Requires: gstreamer1%{?_isa} >= %{gstreamer_version}
|
||||
# needed for screen recorder
|
||||
Requires: gstreamer1-plugins-good%{?_isa}
|
||||
Requires: pipewire-gstreamer%{?_isa}
|
||||
Requires: xdg-user-dirs-gtk
|
||||
# needed for schemas
|
||||
Requires: at-spi2-atk%{?_isa}
|
||||
# needed for on-screen keyboard
|
||||
Requires: ibus%{?_isa} >= %{ibus_version}
|
||||
# needed for "show keyboard layout"
|
||||
Requires: tecla
|
||||
# needed for the user menu
|
||||
Requires: accountsservice-libs%{?_isa}
|
||||
Requires: gdm-libs%{?_isa}
|
||||
# needed for settings items in menus
|
||||
Requires: gnome-control-center
|
||||
# needed by some utilities
|
||||
Requires: python3%{_isa}
|
||||
# needed for the dual-GPU launch menu
|
||||
Requires: switcheroo-control
|
||||
# needed for clocks/weather integration
|
||||
Requires: geoclue2-libs%{?_isa}
|
||||
Requires: libgweather4%{?_isa}
|
||||
# for gnome-extensions CLI tool
|
||||
Requires: gettext
|
||||
# needed for thunderbolt support
|
||||
Recommends: bolt%{?_isa}
|
||||
# Needed for launching flatpak apps etc
|
||||
# 1.8.0 is needed for source type support in the screencast portal.
|
||||
Requires: xdg-desktop-portal-gtk >= 1.8.0
|
||||
Requires: xdg-desktop-portal-gnome
|
||||
# needed by the welcome dialog
|
||||
Recommends: gnome-tour
|
||||
|
||||
%if %{portal_helper}
|
||||
# needed for captive portal helper
|
||||
Requires: webkitgtk6.0%{?_isa}
|
||||
%endif
|
||||
|
||||
# https://github.com/containers/composefs/pull/229#issuecomment-1838735764
|
||||
%if 0%{?rhel} >= 10
|
||||
ExcludeArch: %{ix86}
|
||||
%endif
|
||||
|
||||
Provides: desktop-notification-daemon = %{version}-%{release}
|
||||
Provides: PolicyKit-authentication-agent = %{version}-%{release}
|
||||
Provides: bundled(gvc)
|
||||
Provides: bundled(libcroco) = 0.6.13
|
||||
|
||||
%if 0%{?rhel}
|
||||
# In Fedora, fedora-obsolete-packages obsoletes caribou
|
||||
Obsoletes: caribou < 0.4.21-10
|
||||
Obsoletes: caribou-antler < 0.4.21-10
|
||||
Obsoletes: caribou-devel < 0.4.21-10
|
||||
Obsoletes: caribou-gtk2-module < 0.4.21-10
|
||||
Obsoletes: caribou-gtk3-module < 0.4.21-10
|
||||
Obsoletes: python-caribou < 0.4.21-10
|
||||
Obsoletes: python2-caribou < 0.4.21-10
|
||||
Obsoletes: python3-caribou < 0.4.21-10
|
||||
%endif
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1740897
|
||||
Conflicts: gnome-shell-extension-background-logo < 3.34.0
|
||||
|
||||
%description
|
||||
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
|
||||
like switching to windows and launching applications. GNOME Shell takes
|
||||
advantage of the capabilities of modern graphics hardware and introduces
|
||||
innovative user interface concepts to provide a visually attractive and
|
||||
easy to use experience.
|
||||
|
||||
%prep
|
||||
%autosetup -S git -n %{name}-%{tarball_version}
|
||||
|
||||
%build
|
||||
%meson \
|
||||
-Dextensions_app=false \
|
||||
%if %{portal_helper}
|
||||
-Dportal_helper=true \
|
||||
%else
|
||||
-Dportal_helper=false \
|
||||
%endif
|
||||
%{nil}
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
# Create empty directories where other packages can drop extensions
|
||||
mkdir -p %{buildroot}%{_datadir}/gnome-shell/extensions
|
||||
mkdir -p %{buildroot}%{_datadir}/gnome-shell/search-providers
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
%check
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.desktop
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
|
||||
|
||||
%if %{portal_helper}
|
||||
desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
|
||||
%endif
|
||||
|
||||
%files -f %{name}.lang
|
||||
%license COPYING
|
||||
%doc NEWS README.md
|
||||
%{_bindir}/gnome-shell
|
||||
%{_bindir}/gnome-extensions
|
||||
%{_bindir}/gnome-shell-extension-tool
|
||||
%{_bindir}/gnome-shell-test-tool
|
||||
%{_datadir}/glib-2.0/schemas/*.xml
|
||||
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.gschema.override
|
||||
%{_datadir}/applications/org.gnome.Shell.Extensions.desktop
|
||||
%{_datadir}/applications/org.gnome.Shell.desktop
|
||||
%{_datadir}/bash-completion/completions/gnome-extensions
|
||||
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-launchers.xml
|
||||
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-screenshots.xml
|
||||
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
|
||||
%{_datadir}/gnome-shell/
|
||||
%{_datadir}/dbus-1/services/org.gnome.ScreenSaver.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.Extensions.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.Notifications.service
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.Screencast.service
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Extensions.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Introspect.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.PadOsd.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
|
||||
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.Extensions.svg
|
||||
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.Extensions-symbolic.svg
|
||||
%{_userunitdir}/org.gnome.Shell-disable-extensions.service
|
||||
%{_userunitdir}/org.gnome.Shell.target
|
||||
%{_userunitdir}/org.gnome.Shell@wayland.service
|
||||
%{_userunitdir}/org.gnome.Shell@x11.service
|
||||
%{_libdir}/gnome-shell/
|
||||
%{_libexecdir}/gnome-shell-calendar-server
|
||||
%{_libexecdir}/gnome-shell-perf-helper
|
||||
%{_libexecdir}/gnome-shell-hotplug-sniffer
|
||||
%{_mandir}/man1/gnome-extensions.1*
|
||||
%{_mandir}/man1/gnome-shell.1*
|
||||
|
||||
%if %{portal_helper}
|
||||
%{_datadir}/applications/org.gnome.Shell.PortalHelper.desktop
|
||||
%{_datadir}/dbus-1/services/org.gnome.Shell.PortalHelper.service
|
||||
%{_datadir}/icons/hicolor/scalable/apps/org.gnome.Shell.CaptivePortal.svg
|
||||
%{_datadir}/icons/hicolor/symbolic/apps/org.gnome.Shell.CaptivePortal-symbolic.svg
|
||||
%{_libexecdir}/gnome-shell-portal-helper
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
From 0cc287336b32e601e70b26d60d9335abde538a18 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Williamson <awilliam@redhat.com>
|
||||
Date: Mon, 16 Oct 2023 17:57:16 -0700
|
||||
Subject: [PATCH] Give the kuriikwsfiltereng_private a VERSION and SOVERSION
|
||||
(#26)
|
||||
|
||||
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||
---
|
||||
src/urifilters/ikws/CMakeLists.txt | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/urifilters/ikws/CMakeLists.txt b/src/urifilters/ikws/CMakeLists.txt
|
||||
index 7d42584c3..393588993 100644
|
||||
--- a/src/urifilters/ikws/CMakeLists.txt
|
||||
+++ b/src/urifilters/ikws/CMakeLists.txt
|
||||
@@ -1,6 +1,11 @@
|
||||
add_subdirectory(searchproviders)
|
||||
|
||||
add_library(kuriikwsfiltereng_private kuriikwsfiltereng.cpp searchprovider.cpp searchproviderregistry.cpp)
|
||||
+set_target_properties(kuriikwsfiltereng_private PROPERTIES
|
||||
+ VERSION ${KIO_VERSION}
|
||||
+ SOVERSION ${KIO_SOVERSION}
|
||||
+ EXPORT_NAME kuriikwsfiltereng_private
|
||||
+)
|
||||
generate_export_header(kuriikwsfiltereng_private) # We need this to be a shared lib, because otherwise we have duplicate Q_GLOBAL_STATICs
|
||||
target_link_libraries(kuriikwsfiltereng_private PUBLIC KF6::KIOGui)
|
||||
install(TARGETS kuriikwsfiltereng_private ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@@ -0,0 +1,290 @@
|
||||
From 7b1154d235f752b9fd1797f87861f11ef89d5d7a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Thu, 15 Feb 2024 14:38:21 +0100
|
||||
Subject: [PATCH 1/7] Improve discrete GPU detection using switcheroo-control
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 34 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index ef246d3936..695bf27a1e 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,6 +62,40 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
+ if (gpus.length() < 2) {
|
||||
+ // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ // Check if the Default GPU is Discrete
|
||||
+ for (const auto &gpu : gpus) {
|
||||
+ bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
+ if (defaultGpu) {
|
||||
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
+ if (discreteGpu) {
|
||||
+ // If the default GPU is Discret there is no need to apply the env vars
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ return true;
|
||||
+ }
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Find the first Discrete GPU
|
||||
+ for (const auto &gpu : gpus) {
|
||||
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
+ if (!discreteGpu) {
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
+ }
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // fallback to old behavior
|
||||
+ // find the first non-Default GPU
|
||||
for (const auto &gpu : gpus) {
|
||||
bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
if (!defaultGpu) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 29c056a6a71b0de226369c03d02f47ab56a7877a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 21 Feb 2024 15:57:28 +0100
|
||||
Subject: [PATCH 2/7] make gpus length comparison easier to reade
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index 695bf27a1e..dfe6a9982b 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,7 +62,7 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
- if (gpus.length() < 2) {
|
||||
+ if (gpus.length() <= 1) {
|
||||
// Skip checking for Default or Discrete GPUs when 1 or no GPU is available
|
||||
return false;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From afc22129301ac2e33673ce9415b1e0d329a57c59 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 21 Feb 2024 16:27:05 +0100
|
||||
Subject: [PATCH 3/7] lookup needed GPU entries in a single loop
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 56 +++++++++++++++++-----------------------
|
||||
1 file changed, 23 insertions(+), 33 deletions(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index dfe6a9982b..57436e4789 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -67,45 +67,35 @@ static bool checkGpuWithSwitcheroo()
|
||||
return false;
|
||||
}
|
||||
|
||||
- // Check if the Default GPU is Discrete
|
||||
- for (const auto &gpu : gpus) {
|
||||
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
- if (defaultGpu) {
|
||||
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
- if (discreteGpu) {
|
||||
- // If the default GPU is Discret there is no need to apply the env vars
|
||||
- s_gpuCheck = GpuCheck::Present;
|
||||
- return true;
|
||||
- }
|
||||
- break;
|
||||
+ QVariantMap defaultGpu;
|
||||
+ QVariantMap firstDiscreteGpu;
|
||||
+ QVariantMap firstNonDefaultGpu;
|
||||
+
|
||||
+ for (const auto &gpu : std::as_const(gpus)) {
|
||||
+ if (defaultGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Default")])) {
|
||||
+ defaultGpu = gpu;
|
||||
+ } else if (firstNonDefaultGpu.isEmpty()) {
|
||||
+ firstNonDefaultGpu = gpu;
|
||||
+ }
|
||||
+ if (firstDiscreteGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Discrete")])) {
|
||||
+ firstDiscreteGpu = gpu;
|
||||
}
|
||||
}
|
||||
|
||||
- // Find the first Discrete GPU
|
||||
- for (const auto &gpu : gpus) {
|
||||
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
|
||||
- if (!discreteGpu) {
|
||||
- s_gpuCheck = GpuCheck::Present;
|
||||
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
- for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
- s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
- }
|
||||
- return true;
|
||||
- }
|
||||
+ if (!defaultGpu.isEmpty() && defaultGpu[QStringLiteral("Discrete")].toBool()) {
|
||||
+ // If the default GPU is discrete we don't need to check for another device or apply special env vars
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
- // fallback to old behavior
|
||||
- // find the first non-Default GPU
|
||||
- for (const auto &gpu : gpus) {
|
||||
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
|
||||
- if (!defaultGpu) {
|
||||
- s_gpuCheck = GpuCheck::Present;
|
||||
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
- for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
- s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
- }
|
||||
- return true;
|
||||
+ // Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
|
||||
+ for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
|
||||
+ s_gpuCheck = GpuCheck::Present;
|
||||
+ auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
|
||||
}
|
||||
+ return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From d05cabb8e3e4aa60c8453edc0f6231d9bcb6d64e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 21 Feb 2024 16:27:25 +0100
|
||||
Subject: [PATCH 4/7] correct absent gpu comment
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index 57436e4789..bbef5ba8f2 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -99,7 +99,7 @@ static bool checkGpuWithSwitcheroo()
|
||||
}
|
||||
#endif
|
||||
|
||||
- // No non-default GPU found
|
||||
+ // No discrete or non-default GPU found
|
||||
s_gpuCheck = GpuCheck::Absent;
|
||||
return true;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 7f9f76ce9bb472b54bf7297b8b5c078eb0c194c9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Thu, 22 Feb 2024 08:33:19 +0100
|
||||
Subject: [PATCH 5/7] check exact GPU count and fallback to solid when none are
|
||||
found
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 10 ++++++++--
|
||||
1 file changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index bbef5ba8f2..d3bf895ea5 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,9 +62,15 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
- if (gpus.length() <= 1) {
|
||||
- // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
|
||||
+ auto gpu_count = gpus.length();
|
||||
+
|
||||
+ if (gpu_count == 0) {
|
||||
+ // No GPUs? Something might have gone wrong on the other end
|
||||
return false;
|
||||
+ } else if (gpu_count == 1) {
|
||||
+ // There is only one GPU, no need to check for others
|
||||
+ s_gpuCheck = GpuCheck::Absent;
|
||||
+ return true;
|
||||
}
|
||||
|
||||
QVariantMap defaultGpu;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 87ca7b125be15963c45867705f4b75e40b379437 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Wed, 4 Sep 2024 23:58:18 +0000
|
||||
Subject: [PATCH 6/7] Simplify GPU count check
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index d3bf895ea5..5e8450f2f9 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -62,12 +62,10 @@ static bool checkGpuWithSwitcheroo()
|
||||
QList<QVariantMap> gpus;
|
||||
arg >> gpus;
|
||||
|
||||
- auto gpu_count = gpus.length();
|
||||
-
|
||||
- if (gpu_count == 0) {
|
||||
+ if (gpus.isEmpty()) {
|
||||
// No GPUs? Something might have gone wrong on the other end
|
||||
return false;
|
||||
- } else if (gpu_count == 1) {
|
||||
+ } else if (gpus.size() == 1) {
|
||||
// There is only one GPU, no need to check for others
|
||||
s_gpuCheck = GpuCheck::Absent;
|
||||
return true;
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 1920a2ea3b67331b419fc19a377b57a36466fb9f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
|
||||
Date: Thu, 5 Sep 2024 02:01:41 +0200
|
||||
Subject: [PATCH 7/7] Fix non default GPU fallback
|
||||
|
||||
---
|
||||
src/gui/gpudetection.cpp | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
|
||||
index 5e8450f2f9..2f5547ab8f 100644
|
||||
--- a/src/gui/gpudetection.cpp
|
||||
+++ b/src/gui/gpudetection.cpp
|
||||
@@ -94,6 +94,9 @@ static bool checkGpuWithSwitcheroo()
|
||||
|
||||
// Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
|
||||
for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
|
||||
+ if (gpu.isEmpty()) {
|
||||
+ continue;
|
||||
+ }
|
||||
s_gpuCheck = GpuCheck::Present;
|
||||
auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
|
||||
for (int i = 0; i + 1 < envList.size(); i += 2) {
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 6e7775d315f389df0a440ed62b842ce83dc9a27e Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Fella <nicolas.fella@gmx.de>
|
||||
Date: Fri, 1 Mar 2024 22:16:07 +0100
|
||||
Subject: [PATCH] [kterminallauncherjob] Inherit default process environment
|
||||
from parent
|
||||
|
||||
Before Qt 6.3, an empty (default constructed) QProcessEnvironment caused
|
||||
QProcess to incorrectly inherit the environment variables from the parent
|
||||
process. This was fixed in qtbase 5fc9c02a695.
|
||||
|
||||
CommandLauncherJob was adjusted for this in 916984940f64e07db9b4d152be9f2a87dda0cfb4,
|
||||
however here we are overriding its default env with our own default-constructed one
|
||||
|
||||
BUG: 482107
|
||||
---
|
||||
src/gui/kterminallauncherjob.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/gui/kterminallauncherjob.cpp b/src/gui/kterminallauncherjob.cpp
|
||||
index c4e83fb11b..edd99327bd 100644
|
||||
--- a/src/gui/kterminallauncherjob.cpp
|
||||
+++ b/src/gui/kterminallauncherjob.cpp
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
QString m_fullCommand; // "xterm -e ls"
|
||||
QString m_desktopName;
|
||||
QByteArray m_startupId;
|
||||
- QProcessEnvironment m_environment;
|
||||
+ QProcessEnvironment m_environment{QProcessEnvironment::InheritFromParent};
|
||||
};
|
||||
|
||||
KTerminalLauncherJob::KTerminalLauncherJob(const QString &command, QObject *parent)
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "kf6-kio.spec"
|
||||
}
|
||||
labels {
|
||||
extra = 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,321 @@
|
||||
%global framework kio
|
||||
|
||||
%global stable_kf6 stable
|
||||
%global majmin_ver_kf6 6.7
|
||||
|
||||
Name: kf6-%{framework}
|
||||
Version: %{majmin_ver_kf6}.0
|
||||
Release: 2%{?dist}.switcheroo
|
||||
Summary: KDE Frameworks 6 Tier 3 solution for filesystem abstraction
|
||||
|
||||
License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT
|
||||
URL: https://invent.kde.org/frameworks/%{framework}
|
||||
|
||||
Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz
|
||||
|
||||
# https://invent.kde.org/frameworks/kio/-/issues/26
|
||||
# I'm not sending this upstream because I'm not sure it's really
|
||||
# exactly what upstream will want, but it solves the practical
|
||||
# issue for us for now
|
||||
Patch0: 0001-Give-the-kuriikwsfiltereng_private-a-VERSION-and-SOV.patch
|
||||
|
||||
%if 0%{?flatpak}
|
||||
# Disable the help: and ghelp: protocol for Flatpak builds, to avoid depending
|
||||
# on the docbook stack.
|
||||
Patch101: kio-no-help-protocol.patch
|
||||
%endif
|
||||
|
||||
# https://invent.kde.org/frameworks/kio/-/merge_requests/1556
|
||||
Patch201: 1556.patch
|
||||
|
||||
BuildRequires: extra-cmake-modules
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: kf6-rpm-macros
|
||||
BuildRequires: cmake
|
||||
BuildRequires: cmake(KF6Archive)
|
||||
BuildRequires: cmake(KF6Crash)
|
||||
BuildRequires: cmake(KF6Solid)
|
||||
BuildRequires: switcheroo-control
|
||||
BuildRequires: cmake(KF6ColorScheme)
|
||||
BuildRequires: cmake(KF6Config)
|
||||
BuildRequires: cmake(KF6CoreAddons)
|
||||
BuildRequires: cmake(KF6DBusAddons)
|
||||
BuildRequires: cmake(KF6DocTools)
|
||||
BuildRequires: cmake(KF6GuiAddons)
|
||||
BuildRequires: cmake(KF6I18n)
|
||||
BuildRequires: cmake(KF6Service)
|
||||
BuildRequires: qt6-qtbase-private-devel
|
||||
BuildRequires: cmake(KF6Bookmarks)
|
||||
BuildRequires: cmake(KF6Completion)
|
||||
BuildRequires: cmake(KF6ConfigWidgets)
|
||||
BuildRequires: cmake(KF6IconThemes)
|
||||
BuildRequires: cmake(KF6ItemViews)
|
||||
BuildRequires: cmake(KF6JobWidgets)
|
||||
BuildRequires: cmake(KF6WindowSystem)
|
||||
BuildRequires: cmake(KF6Notifications)
|
||||
BuildRequires: cmake(KF6Wallet)
|
||||
BuildRequires: cmake(KF6WidgetsAddons)
|
||||
BuildRequires: cmake(KF6XmlGui)
|
||||
|
||||
BuildRequires: libacl-devel
|
||||
%if !0%{?flatpak}
|
||||
BuildRequires: libxml2-devel
|
||||
BuildRequires: libxslt-devel
|
||||
%endif
|
||||
BuildRequires: pkgconfig(blkid)
|
||||
BuildRequires: pkgconfig(mount)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
BuildRequires: qt6-qtbase-devel
|
||||
BuildRequires: cmake(Qt6UiPlugin)
|
||||
BuildRequires: cmake(Qt6Qml)
|
||||
|
||||
BuildRequires: cmake(KF6KDED)
|
||||
BuildRequires: cmake(Qt6Core5Compat)
|
||||
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-file-widgets%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-gui%{?_isa} = %{version}-%{release}
|
||||
|
||||
Requires: kf6-kded
|
||||
|
||||
%description
|
||||
KDE Frameworks 6 Tier 3 solution for filesystem abstraction
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: kf6-kbookmarks-devel
|
||||
Requires: cmake(KF6Completion)
|
||||
Requires: cmake(KF6Config)
|
||||
Requires: cmake(KF6CoreAddons)
|
||||
Requires: cmake(KF6ItemViews)
|
||||
Requires: cmake(KF6JobWidgets)
|
||||
Requires: cmake(KF6Service)
|
||||
Requires: cmake(KF6Solid)
|
||||
Requires: cmake(KF6XmlGui)
|
||||
Requires: cmake(KF6WindowSystem)
|
||||
Requires: qt6-qtbase-devel
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
developing applications that use %{name}.
|
||||
|
||||
%package doc
|
||||
Summary: Documentation files for %{name}
|
||||
Requires: %{name}-core = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
%description doc
|
||||
Documentation for %{name}.
|
||||
|
||||
%package core
|
||||
Summary: Core components of the KIO Framework
|
||||
%{?kf6_kinit_requires}
|
||||
Requires: %{name}-core-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-doc = %{version}-%{release}
|
||||
Requires: kf6-filesystem
|
||||
Recommends: switcheroo-control
|
||||
%description core
|
||||
KIOCore library provides core non-GUI components for working with KIO.
|
||||
|
||||
%package core-libs
|
||||
Summary: Runtime libraries for KIO Core
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
%description core-libs
|
||||
%{summary}.
|
||||
|
||||
%package widgets
|
||||
Summary: Widgets for KIO Framework
|
||||
## org.kde.klauncher6 service referenced from : widgets/krun.cpp
|
||||
## included here for completeness, even those -core already has a dependency.
|
||||
%{?kf6_kinit_requires}
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
%description widgets
|
||||
KIOWidgets contains classes that provide generic job control, progress
|
||||
reporting, etc.
|
||||
|
||||
%package widgets-libs
|
||||
Summary: Runtime libraries for KIO Widgets library
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
%description widgets-libs
|
||||
%{summary}.
|
||||
|
||||
%package file-widgets
|
||||
Summary: Widgets for file-handling for KIO Framework
|
||||
Requires: %{name}-widgets%{?_isa} = %{version}-%{release}
|
||||
%description file-widgets
|
||||
The KIOFileWidgets library provides the file selection dialog and
|
||||
its components.
|
||||
|
||||
%package gui
|
||||
Summary: Gui components for the KIO Framework
|
||||
Requires: %{name}-core%{?_isa} = %{version}-%{release}
|
||||
%description gui
|
||||
%{summary}.
|
||||
|
||||
%package qch-doc
|
||||
Summary: Developer Documentation files for %{name}
|
||||
BuildArch: noarch
|
||||
%description qch-doc
|
||||
Developer Documentation files for %{name} for use with KDevelop or QtCreator.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -n %{framework}-%{version} -p1
|
||||
|
||||
|
||||
%build
|
||||
%cmake_kf6
|
||||
%cmake_build
|
||||
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%find_lang %{name} --all-name --with-man --with-html
|
||||
|
||||
%files
|
||||
%license LICENSES/*.txt
|
||||
%doc README.md
|
||||
|
||||
%files core
|
||||
%{_kf6_libexecdir}/kioexec
|
||||
%{_kf6_libexecdir}/kiod6
|
||||
%{_kf6_libexecdir}/kioworker
|
||||
%{_kf6_bindir}/ktelnetservice6
|
||||
%{_kf6_bindir}/ktrash6
|
||||
%{_kf6_plugindir}/kio/
|
||||
%{_kf6_plugindir}/kded/
|
||||
%{_kf6_plugindir}/kiod/
|
||||
%{_kf6_datadir}/kf6/searchproviders/*.desktop
|
||||
%{_kf6_datadir}/applications/*.desktop
|
||||
%{_datadir}/dbus-1/services/org.kde.*.service
|
||||
%{_kf6_datadir}/qlogging-categories6/*categories
|
||||
|
||||
%files core-libs
|
||||
%{_kf6_libdir}/libKF6KIOCore.so.*
|
||||
|
||||
%files doc -f %{name}.lang
|
||||
|
||||
%files gui
|
||||
%{_kf6_libdir}/libKF6KIOGui.so.*
|
||||
|
||||
%files widgets
|
||||
%dir %{_kf6_plugindir}/urifilters/
|
||||
%{_kf6_plugindir}/urifilters/*.so
|
||||
%{_kf6_libdir}/libkuriikwsfiltereng_private.so.*
|
||||
|
||||
%files widgets-libs
|
||||
%{_kf6_libdir}/libKF6KIOWidgets.so.*
|
||||
|
||||
%files file-widgets
|
||||
%{_kf6_libdir}/libKF6KIOFileWidgets.so.*
|
||||
|
||||
%files devel
|
||||
%{_kf6_includedir}/*
|
||||
%{_kf6_libdir}/*.so
|
||||
%{_kf6_libdir}/cmake/KF6KIO/
|
||||
%{_kf6_datadir}/kdevappwizard/templates/kioworker6.tar.bz2
|
||||
%{_kf6_qtplugindir}/designer/kio6widgets.so
|
||||
%{_qt6_docdir}/*.tags
|
||||
|
||||
%files qch-doc
|
||||
%{_qt6_docdir}/*.qch
|
||||
|
||||
%changelog
|
||||
* Fri Oct 04 2024 Steve Cossette <farchord@gmail.com> - 6.7.0-1
|
||||
- 6.7.0
|
||||
|
||||
* Mon Sep 16 2024 Steve Cossette <farchord@gmail.com> - 6.6.0-1
|
||||
- 6.6.0
|
||||
|
||||
* Sat Aug 10 2024 Steve Cossette <farchord@gmail.com> - 6.5.0-1
|
||||
- 6.5.0
|
||||
|
||||
* Fri Jul 19 2024 Steve Cossette <farchord@gmail.com> - 6.4.1-1
|
||||
- 6.4.1
|
||||
|
||||
* Thu Jul 18 2024 Steve Cossette <farchord@gmail.com> - 6.4.0-3
|
||||
- Fix for a regression in Frameworks 6.4.0
|
||||
|
||||
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Sat Jul 06 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.4.0-1
|
||||
- 6.4.0
|
||||
|
||||
* Sat Jun 01 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.3.0-1
|
||||
- 6.3.0
|
||||
|
||||
* Sat May 04 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.2.0-1
|
||||
- 6.2.0
|
||||
|
||||
* Wed Apr 10 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.1.0-1
|
||||
- 6.1.0
|
||||
|
||||
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.0.0-7
|
||||
- Re-enable docs
|
||||
|
||||
* Thu Apr 04 2024 Jan Grulich <jgrulich@redhat.com> - 6.0.0-6
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Fri Mar 15 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-5
|
||||
- add 6e7775d315f389df0a440ed62b842ce83dc9a27e.patch
|
||||
[kterminallauncherjob] Inherit default process environment from parent
|
||||
|
||||
* Mon Mar 11 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 6.0.0-4
|
||||
- Soften switcheroo-control dependency
|
||||
|
||||
* Sat Mar 09 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-3
|
||||
- add missing BuildArch: noarch to -doc package
|
||||
|
||||
* Sat Mar 2 2024 Marie Loise Nolden <loise@kde.org> - 6.0.0-2
|
||||
- move qt designer plugin to -devel
|
||||
|
||||
* Wed Feb 21 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 6.0.0-1
|
||||
- 6.0.0
|
||||
|
||||
* Fri Feb 16 2024 Jan Grulich <jgrulich@redhat.com> - 5.249.0-2
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Wed Jan 31 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.249.0-1
|
||||
- 5.249.0
|
||||
|
||||
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.248.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.248.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Jan 10 2024 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.248.0-1
|
||||
- 5.248.0
|
||||
|
||||
* Tue Jan 09 2024 Marie Loise Nolden <loise@kde.org> - 5.247.0-2
|
||||
- add doc package for KF6 API
|
||||
|
||||
* Wed Dec 20 2023 Marc Deop i Argemí <marcdeop@fedoraproject.org> - 5.247.0-1
|
||||
- 5.247.0
|
||||
|
||||
* Sat Dec 02 2023 Justin Zobel <justin.zobel@gmail.com> - 5.246.0-1
|
||||
- Update to 5.246.0
|
||||
|
||||
* Wed Nov 29 2023 Jan Grulich <jgrulich@redhat.com> - 5.245.0-3
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Mon Nov 20 2023 Alessandro Astone <ales.astone@gmail.com> - 5.245.0-2
|
||||
- Add back kuriikwsfiltereng SOVERSION patch
|
||||
|
||||
* Thu Nov 09 2023 Steve Cossette <farchord@gmail.com> - 5.245.0-1
|
||||
- 5.245.0
|
||||
|
||||
* Tue Oct 17 2023 Jan Grulich <jgrulich@redhat.com> - 5.240.0^20231010.060359.1c34fd4-4
|
||||
- Rebuild (qt6)
|
||||
|
||||
* Mon Oct 16 2023 Adam Williamson <awilliam@redhat.com> - 5.240.0^20231010.060359.1c34fd4-3
|
||||
- Give kuriikwsfiltereng_private library a proper soname to fix deps
|
||||
|
||||
* Mon Oct 09 2023 Steve Cossette <farchord@gmail.com> - 5.240.0^20231010.060359.1c34fd4-2
|
||||
- Fixed a problem with the -doc subpackage building differently on different arches.
|
||||
|
||||
* Mon Oct 09 2023 Steve Cossette <farchord@gmail.com> - 5.240.0^20231010.060359.1c34fd4-1
|
||||
- Initial Release
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit 18b736c807b3df5f66ced8ee6dc9aaf3ce5e1c28
|
||||
%global commit b76a186705dcd4df15a941649c9de8586cf316bc
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%define archive unity_7.7.0+23.04.20230222.2-0ubuntu7.tar.xz
|
||||
%define archive unity_7.7.0+23.04.20230222.2-0ubuntu8.tar.xz
|
||||
|
||||
Name: unity-shell
|
||||
Version: 7.7.0
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
# https://github.com/abenz1267/walker
|
||||
%global goipath github.com/abenz1267/walker
|
||||
Version: 0.11.13
|
||||
Version: 0.11.14
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit 233e881f95de8f6449e6d22904c55ec8e2192c24
|
||||
%global commit 1ad6b8db3d6fbd42595f9794d8fff425039371a5
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20241225
|
||||
%global commit_date 20250104
|
||||
|
||||
Name: flow-control-nightly
|
||||
Version: %commit_date.%shortcommit
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit 94599102e9fb8247af08cbbbcb7ee25e3d31e1bd
|
||||
%global commit 0306c592a7dbaa394da481ab2219b3bcd2b8b48f
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250102
|
||||
%global commit_date 20250105
|
||||
|
||||
%global cache_dir %{builddir}/zig-cache
|
||||
|
||||
@@ -11,7 +11,6 @@ Summary: A fast, native terminal emulator written in Zig; this is the Tip
|
||||
License: MIT AND MPL-2.0 AND OFL-1.1
|
||||
URL: https://ghostty.org/
|
||||
Source0: https://github.com/ghostty-org/ghostty/archive/%{commit}/ghostty-%{commit}.tar.gz
|
||||
Patch0: no-strip.diff
|
||||
BuildRequires: gtk4-devel
|
||||
BuildRequires: libadwaita-devel
|
||||
BuildRequires: ncurses
|
||||
@@ -94,6 +93,7 @@ zig build \
|
||||
--prefix-exe-dir "%{_bindir}" --prefix-include-dir "%{_includedir}" \
|
||||
--verbose \
|
||||
-Dcpu=baseline \
|
||||
-Dstrip=false \
|
||||
-Dpie=true \
|
||||
-Demit-docs
|
||||
|
||||
@@ -150,8 +150,8 @@ zig build \
|
||||
%changelog
|
||||
* Tue Dec 31 2024 ShinyGil <rockgrub@protonmail.com>
|
||||
- Update to 20241231.3f7c3af
|
||||
* High CVE-2003-0063: Allows execution of arbitrary commands
|
||||
* Medium CVE-2003-0070: Allows execution of arbitrary commands
|
||||
* High CVE-2003-0063: Allows execution of arbitrary commands
|
||||
* Medium CVE-2003-0070: Allows execution of arbitrary commands
|
||||
|
||||
* Thu Dec 26 2024 ShinyGil <rockgrub@protonmail.com>
|
||||
- Initial package
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
diff --git a/build.zig b/build.zig
|
||||
index c3f7302..a0ecf25 100644
|
||||
--- a/build.zig
|
||||
+++ b/build.zig
|
||||
@@ -295,11 +295,7 @@ pub fn build(b: *std.Build) !void {
|
||||
.root_source_file = b.path("src/main.zig"),
|
||||
.target = target,
|
||||
.optimize = optimize,
|
||||
- .strip = switch (optimize) {
|
||||
- .Debug => false,
|
||||
- .ReleaseSafe => false,
|
||||
- .ReleaseFast, .ReleaseSmall => true,
|
||||
- },
|
||||
+ .strip = false,
|
||||
}) else null;
|
||||
|
||||
// Exe
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Name: ghostty
|
||||
Version: 1.0.1
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Summary: A fast, native terminal emulator written in Zig.
|
||||
License: MIT AND MPL-2.0 AND OFL-1.1
|
||||
URL: https://ghostty.org/
|
||||
@@ -94,6 +94,7 @@ zig build \
|
||||
--prefix "%{_prefix}" --prefix-lib-dir "%{_libdir}" \
|
||||
--prefix-exe-dir "%{_bindir}" --prefix-include-dir "%{_includedir}" \
|
||||
--verbose \
|
||||
-Dversion-string=%{version} \
|
||||
-Dcpu=baseline \
|
||||
-Dpie=true \
|
||||
-Demit-docs
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %nil
|
||||
|
||||
Name: neovide
|
||||
Version: 0.13.3
|
||||
Version: 0.14.0
|
||||
Release: 1%?dist
|
||||
Summary: No Nonsense Neovim Client in Rust
|
||||
License: MIT
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit c11bde7bf4e428be7639aaf9ffc7ea3dc5becf16
|
||||
%global commit de08e47e5bc94afdee81fd99f838100fc577a98c
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20250102
|
||||
%global commit_date 20250105
|
||||
%global ver 0.169.0
|
||||
|
||||
%bcond_with check
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%bcond_with check
|
||||
|
||||
%global ver 0.168.0-pre
|
||||
%global ver 0.168.1-pre
|
||||
# Exclude input files from mangling
|
||||
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
|
||||
# Use Mold as the linker
|
||||
|
||||
@@ -2,4 +2,7 @@ project pkg {
|
||||
rpm {
|
||||
spec = "kmod-v4l2loopback.spec"
|
||||
}
|
||||
labels {
|
||||
mock = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "gamescope-legacy.spec"
|
||||
}
|
||||
labels {
|
||||
multilib = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%define debug_package %nil
|
||||
|
||||
%global commit 4ad912c4a3c09c91551f21617981b878f7084058
|
||||
%global commit 2b9525daff0a28a17bc99d3a54998306584f6a86
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20241206
|
||||
%global commit_date 20250105
|
||||
|
||||
Name: gamescope-session
|
||||
Version: %commit_date.%shortcommit
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "gamescope.spec"
|
||||
}
|
||||
labels {
|
||||
multilib = 1
|
||||
extra = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: opengamepadui
|
||||
Version: 0.35.5
|
||||
Version: 0.35.6
|
||||
Release: 1%?dist
|
||||
Summary: Open source gamepad-native game launcher and overlay
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10
|
||||
%global commit 3dda60a8ce32cb7d5e3e99111399a1550c145176
|
||||
%global commit e8bf6af0da52ce91dd0b5a7474d386d9a66809b9
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 2.3.1
|
||||
%global commit_date 20250101
|
||||
%global commit_date 20250104
|
||||
%global debug_package %nil
|
||||
|
||||
Name: nim-nightly
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: python3-ruff
|
||||
Version: 0.8.5
|
||||
Version: 0.8.6
|
||||
Release: 1%?dist
|
||||
Summary: An extremely fast Python linter, written in Rust
|
||||
License: MIT
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: youki
|
||||
Version: 0.4.1
|
||||
Version: 0.5.0
|
||||
Release: 1%?dist
|
||||
Summary: A container runtime written in Rust
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "mesa.spec"
|
||||
}
|
||||
labels {
|
||||
multilib = 1
|
||||
|
||||
extra = 1
|
||||
}
|
||||
arches = ["x86_64", "i386", "aarch64"]
|
||||
}
|
||||
|
||||
+12
-45
@@ -1,3 +1,5 @@
|
||||
%global _default_patch_fuzz 2
|
||||
|
||||
%global srcname mesa
|
||||
|
||||
%ifnarch s390x
|
||||
@@ -69,20 +71,12 @@
|
||||
%global vulkan_drivers swrast%{?base_vulkan}%{?intel_platform_vulkan}%{?extra_platform_vulkan}%{?with_nvk:,nouveau}
|
||||
Name: %{srcname}
|
||||
Summary: Mesa graphics libraries
|
||||
%global ver 24.3.2
|
||||
%global ver 24.3.3
|
||||
Version: %{lua:ver = string.gsub(rpm.expand("%{ver}"), "-", "~"); print(ver)}
|
||||
Release: 2%?dist
|
||||
Release: 3%?dist
|
||||
License: MIT AND BSD-3-Clause AND SGI-B-2.0
|
||||
URL: http://www.mesa3d.org
|
||||
|
||||
# define macro for providing srcname and ver
|
||||
# %replace_pkg subpackage
|
||||
%define replace_pkg() \
|
||||
Provides: %{srcname}-%1 = %{?epoch:%{epoch}:}%{version}-%{release} \
|
||||
Provides: %{srcname}-%1%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} \
|
||||
Conflicts: %{srcname}-%1 < %{?epoch:%{epoch}:}%{version}-%{release} \
|
||||
Conflicts: %{srcname}-%1%{?_isa} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
|
||||
|
||||
Source0: https://archive.mesa3d.org/%{srcname}-%{ver}.tar.xz
|
||||
@@ -92,10 +86,14 @@ Source0: https://archive.mesa3d.org/%{srcname}-%{ver}.tar.xz
|
||||
Source1: Mesa-MLAA-License-Clarification-Email.txt
|
||||
|
||||
#Patch10: https://src.fedoraproject.org/rpms/mesa/raw/e89544b7a4d811a64ca23b402add29524cc6f704/f/gnome-shell-glthread-disable.patch
|
||||
# Patch11: https://src.fedoraproject.org/rpms/mesa/raw/e89544b7a4d811a64ca23b402add29524cc6f704/f/0001-llvmpipe-Init-eglQueryDmaBufModifiersEXT-num_modifie.patch
|
||||
#Patch11: https://src.fedoraproject.org/rpms/mesa/raw/e89544b7a4d811a64ca23b402add29524cc6f704/f/0001-llvmpipe-Init-eglQueryDmaBufModifiersEXT-num_modifie.patch
|
||||
#Patch12: https://src.fedoraproject.org/rpms/mesa/raw/e89544b7a4d811a64ca23b402add29524cc6f704/f/0001-Revert-ac-radeonsi-remove-has_syncobj-has_fence_to_h.patch
|
||||
|
||||
# https://gitlab.com/evlaV/mesa/
|
||||
Patch20: valve.patch
|
||||
|
||||
# s390x: fix build
|
||||
# Patch100: https://src.fedoraproject.org/rpms/mesa/raw/e89544b7a4d811a64ca23b402add29524cc6f704/f/fix-egl-on-s390x.patch
|
||||
#Patch100: https://src.fedoraproject.org/rpms/mesa/raw/e89544b7a4d811a64ca23b402add29524cc6f704/f/fix-egl-on-s390x.patch
|
||||
|
||||
BuildRequires: meson >= 1.3.0
|
||||
BuildRequires: gcc
|
||||
@@ -195,15 +193,14 @@ BuildRequires: pkgconfig(vulkan)
|
||||
%{summary}.
|
||||
|
||||
%package filesystem
|
||||
%replace_pkg filesystem
|
||||
Summary: Mesa driver filesystem
|
||||
Provides: mesa-dri-filesystem = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: mesa-omx-drivers < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description filesystem
|
||||
%{summary}.
|
||||
|
||||
%package libGL
|
||||
%replace_pkg libGL
|
||||
Summary: Mesa libGL runtime libraries
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libglvnd-glx%{?_isa} >= 1:1.3.2
|
||||
@@ -213,7 +210,6 @@ Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{re
|
||||
%{summary}.
|
||||
|
||||
%package libGL-devel
|
||||
%replace_pkg libGL-devel
|
||||
Summary: Mesa libGL development package
|
||||
Requires: %{name}-libGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||
@@ -225,17 +221,16 @@ Recommends: gl-manpages
|
||||
%{summary}.
|
||||
|
||||
%package libEGL
|
||||
%replace_pkg libEGL
|
||||
Summary: Mesa libEGL runtime libraries
|
||||
Requires: libglvnd-egl%{?_isa} >= 1:1.3.2
|
||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description libEGL
|
||||
%{summary}.
|
||||
|
||||
%package libEGL-devel
|
||||
%replace_pkg libEGL-devel
|
||||
Summary: Mesa libEGL development package
|
||||
Requires: %{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: libglvnd-devel%{?_isa} >= 1:1.3.2
|
||||
@@ -247,7 +242,6 @@ Provides: libEGL-devel%{?_isa}
|
||||
%{summary}.
|
||||
|
||||
%package dri-drivers
|
||||
%replace_pkg dri-drivers
|
||||
Summary: Mesa-based DRI drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
@@ -258,20 +252,8 @@ Recommends: %{name}-va-drivers%{?_isa}
|
||||
%description dri-drivers
|
||||
%{summary}.
|
||||
|
||||
%if 0%{?with_omx}
|
||||
%package omx-drivers
|
||||
%replace_pkg omx-drivers
|
||||
Summary: Mesa-based OMX drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description omx-drivers
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_va}
|
||||
%package va-drivers
|
||||
%replace_pkg va-drivers
|
||||
Provides: %{srcname}-va-drivers = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Summary: Mesa-based VA-API video acceleration drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Obsoletes: %{name}-vaapi-drivers < 22.2.0-5
|
||||
@@ -282,7 +264,6 @@ Obsoletes: %{name}-vaapi-drivers < 22.2.0-5
|
||||
|
||||
%if 0%{?with_vdpau}
|
||||
%package vdpau-drivers
|
||||
%replace_pkg vdpau-drivers
|
||||
Summary: Mesa-based VDPAU drivers
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
@@ -291,7 +272,6 @@ Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rel
|
||||
%endif
|
||||
|
||||
%package libOSMesa
|
||||
%replace_pkg libOSMesa
|
||||
Summary: Mesa offscreen rendering libraries
|
||||
Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libOSMesa
|
||||
@@ -301,7 +281,6 @@ Provides: libOSMesa%{?_isa}
|
||||
%{summary}.
|
||||
|
||||
%package libOSMesa-devel
|
||||
%replace_pkg libOSMesa-devel
|
||||
Summary: Mesa offscreen rendering development package
|
||||
Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
@@ -309,7 +288,6 @@ Requires: %{name}-libOSMesa%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rele
|
||||
%{summary}.
|
||||
|
||||
%package libgbm
|
||||
%replace_pkg libgbm
|
||||
Summary: Mesa gbm runtime library
|
||||
Provides: libgbm
|
||||
Provides: libgbm%{?_isa}
|
||||
@@ -323,7 +301,6 @@ Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{r
|
||||
%{summary}.
|
||||
|
||||
%package libgbm-devel
|
||||
%replace_pkg libgbm-devel
|
||||
Summary: Mesa libgbm development package
|
||||
Requires: %{name}-libgbm%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libgbm-devel
|
||||
@@ -334,7 +311,6 @@ Provides: libgbm-devel%{?_isa}
|
||||
|
||||
%if 0%{?with_xa}
|
||||
%package libxatracker
|
||||
%replace_pkg libxatracker
|
||||
Summary: Mesa XA state tracker
|
||||
Provides: libxatracker
|
||||
Provides: libxatracker%{?_isa}
|
||||
@@ -343,7 +319,6 @@ Provides: libxatracker%{?_isa}
|
||||
%{summary}.
|
||||
|
||||
%package libxatracker-devel
|
||||
%replace_pkg libxatracker-devel
|
||||
Summary: Mesa XA state tracker development package
|
||||
Requires: %{name}-libxatracker%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Provides: libxatracker-devel
|
||||
@@ -354,7 +329,6 @@ Provides: libxatracker-devel%{?_isa}
|
||||
%endif
|
||||
|
||||
%package libglapi
|
||||
%replace_pkg libglapi
|
||||
Summary: Mesa shared glapi
|
||||
Provides: libglapi
|
||||
Provides: libglapi%{?_isa}
|
||||
@@ -368,7 +342,6 @@ Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{r
|
||||
|
||||
%if 0%{?with_opencl}
|
||||
%package libOpenCL
|
||||
%replace_pkg libOpenCL
|
||||
Summary: Mesa OpenCL runtime library
|
||||
Requires: ocl-icd%{?_isa}
|
||||
Requires: libclc%{?_isa}
|
||||
@@ -379,7 +352,6 @@ Requires: opencl-filesystem
|
||||
%{summary}.
|
||||
|
||||
%package libOpenCL-devel
|
||||
%replace_pkg libOpenCL-devel
|
||||
Summary: Mesa OpenCL development package
|
||||
Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
@@ -389,24 +361,20 @@ Requires: %{name}-libOpenCL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{rele
|
||||
|
||||
%if 0%{?with_teflon}
|
||||
%package libTeflon
|
||||
%replace_pkg libTeflon
|
||||
Summary: Mesa TensorFlow Lite delegate
|
||||
|
||||
|
||||
%description libTeflon
|
||||
%{summary}.
|
||||
%endif
|
||||
|
||||
%if 0%{?with_nine}
|
||||
%package libd3d
|
||||
%replace_pkg libd3d
|
||||
Summary: Mesa Direct3D9 state tracker
|
||||
|
||||
%description libd3d
|
||||
%{summary}.
|
||||
|
||||
%package libd3d-devel
|
||||
%replace_pkg libd3d-devel
|
||||
Summary: Mesa Direct3D9 state tracker development package
|
||||
Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
@@ -415,7 +383,6 @@ Requires: %{name}-libd3d%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release
|
||||
%endif
|
||||
|
||||
%package vulkan-drivers
|
||||
%replace_pkg vulkan-drivers
|
||||
Summary: Mesa Vulkan drivers
|
||||
Requires: vulkan%{_isa}
|
||||
Requires: %{name}-filesystem%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
From 04afaf13b208f5c58c0b057f3dfc2dfa5c19a334 Mon Sep 17 00:00:00 2001
|
||||
From: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
||||
Date: Fri, 14 Jan 2022 15:58:45 +0100
|
||||
Subject: [PATCH 5/8] STEAMOS: radv: min image count override for FH5
|
||||
|
||||
Otherwise in combination with the vblank time reservation in
|
||||
gamescope the game could get stuck in low power states.
|
||||
---
|
||||
src/util/00-radv-defaults.conf | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/util/00-radv-defaults.conf b/src/util/00-radv-defaults.conf
|
||||
index 1cbb2e087c9..43488ada6bc 100644
|
||||
--- a/src/util/00-radv-defaults.conf
|
||||
+++ b/src/util/00-radv-defaults.conf
|
||||
@@ -207,6 +207,11 @@ Application bugs worked around in this file:
|
||||
<application name="Rocket League" executable="RocketLeague">
|
||||
<option name="radv_zero_vram" value="true" />
|
||||
</application>
|
||||
+
|
||||
+ <application name="Forza Horizon 5" application_name_match="ForzaHorizon5.exe">
|
||||
+ <option name="vk_x11_override_min_image_count" value="4" />
|
||||
+ </application>
|
||||
+
|
||||
<application name="Crystal Project" executable="Crystal Project.bin.x86_64">
|
||||
<option name="radv_zero_vram" value="true" />
|
||||
</application>
|
||||
|
||||
2.42.0
|
||||
|
||||
|
||||
From b1c0d3de07bf958317f386585ce541b1c336e929 Mon Sep 17 00:00:00 2001
|
||||
From: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
|
||||
Date: Mon, 21 Feb 2022 18:43:54 +0100
|
||||
Subject: [PATCH 6/8] STEAMOS: Dynamic swapchain override for gamescope limiter
|
||||
|
||||
---
|
||||
src/gallium/frontends/dri/loader_dri3_helper.c | 42 +++++++++++++++++++++++++++++++--
|
||||
src/gallium/frontends/dri/loader_dri3_helper.h | 1 +
|
||||
src/loader/meson.build | 2 +-
|
||||
4 files changed, 80 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/gallium/frontends/dri/loader_dri3_helper.c b/src/gallium/frontends/dri/loader_dri3_helper.c
|
||||
index 2631a9e2fd5..dbf6db349c6 100644
|
||||
--- a/src/gallium/frontends/dri/loader_dri3_helper.c
|
||||
+++ b/src/gallium/frontends/dri/loader_dri3_helper.c
|
||||
@@ -276,6 +276,30 @@ dri3_update_max_num_back(struct loader_dri3_drawable *draw)
|
||||
}
|
||||
}
|
||||
|
||||
+static unsigned
|
||||
+gamescope_swapchain_override()
|
||||
+{
|
||||
+ const char *path = getenv("GAMESCOPE_LIMITER_FILE");
|
||||
+ if (!path)
|
||||
+ return 0;
|
||||
+
|
||||
+ static simple_mtx_t mtx = SIMPLE_MTX_INITIALIZER;
|
||||
+ static int fd = -1;
|
||||
+
|
||||
+ simple_mtx_lock(&mtx);
|
||||
+ if (fd < 0) {
|
||||
+ fd = open(path, O_RDONLY);
|
||||
+ }
|
||||
+ simple_mtx_unlock(&mtx);
|
||||
+
|
||||
+ if (fd < 0)
|
||||
+ return 0;
|
||||
+
|
||||
+ uint32_t override_value = 0;
|
||||
+ pread(fd, &override_value, sizeof(override_value), 0);
|
||||
+ return override_value;
|
||||
+}
|
||||
+
|
||||
void
|
||||
loader_dri3_set_swap_interval(struct loader_dri3_drawable *draw, int interval)
|
||||
{
|
||||
@@ -290,10 +314,12 @@ loader_dri3_set_swap_interval(struct loader_dri3_drawable *draw, int interval)
|
||||
* PS. changing from value A to B and A < B won't cause swap out of order but
|
||||
* may still gets wrong target_msc value at the beginning.
|
||||
*/
|
||||
- if (draw->swap_interval != interval)
|
||||
+ if (draw->orig_swap_interval != interval)
|
||||
loader_dri3_swapbuffer_barrier(draw);
|
||||
|
||||
- draw->swap_interval = interval;
|
||||
+ draw->orig_swap_interval = interval;
|
||||
+ if (gamescope_swapchain_override() != 1)
|
||||
+ draw->swap_interval = interval;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -422,6 +448,12 @@ loader_dri3_drawable_init(xcb_connection_t *conn,
|
||||
|
||||
draw->swap_interval = dri_get_initial_swap_interval(draw->dri_screen_render_gpu);
|
||||
|
||||
+ draw->orig_swap_interval = draw->swap_interval;
|
||||
+
|
||||
+ unsigned gamescope_override = gamescope_swapchain_override();
|
||||
+ if (gamescope_override == 1)
|
||||
+ draw->swap_interval = 1;
|
||||
+
|
||||
dri3_update_max_num_back(draw);
|
||||
|
||||
/* Create a new drawable */
|
||||
@@ -1066,6 +1098,12 @@ loader_dri3_swap_buffers_msc(struct loader_dri3_drawable *draw,
|
||||
if (draw->type == LOADER_DRI3_DRAWABLE_WINDOW) {
|
||||
dri3_fence_reset(draw->conn, back);
|
||||
|
||||
+ unsigned gamescope_override = gamescope_swapchain_override();
|
||||
+ if (gamescope_override == 1)
|
||||
+ draw->swap_interval = 1;
|
||||
+ else
|
||||
+ draw->swap_interval = draw->orig_swap_interval;
|
||||
+
|
||||
/* Compute when we want the frame shown by taking the last known
|
||||
* successful MSC and adding in a swap interval for each outstanding swap
|
||||
* request. target_msc=divisor=remainder=0 means "Use glXSwapBuffers()
|
||||
diff --git a/src/gallium/frontends/dri/loader_dri3_helper.h b/src/gallium/frontends/dri/loader_dri3_helper.h
|
||||
index cc2362dd599..fe73b3f329c 100644
|
||||
--- a/src/gallium/frontends/dri/loader_dri3_helper.h
|
||||
+++ b/src/gallium/frontends/dri/loader_dri3_helper.h
|
||||
@@ -170,6 +170,7 @@ struct loader_dri3_drawable {
|
||||
bool block_on_depleted_buffers;
|
||||
bool queries_buffer_age;
|
||||
int swap_interval;
|
||||
+ int orig_swap_interval;
|
||||
|
||||
const struct loader_dri3_vtable *vtable;
|
||||
|
||||
diff --git a/src/gallium/frontends/dri/meson.build b/src/gallium/frontends/dri/meson.build
|
||||
index a98c8c0..0d4f816 100644
|
||||
--- a/src/gallium/frontends/dri/meson.build
|
||||
+++ b/src/gallium/frontends/dri/meson.build
|
||||
@@ -23,7 +23,7 @@ if with_platform_x11
|
||||
deps_for_libdri += dep_xcb
|
||||
if with_dri_platform == 'drm'
|
||||
deps_for_libdri += [dep_xcb_dri3, dep_xcb_present, dep_xcb_sync,
|
||||
- dep_xshmfence, dep_xcb_xfixes]
|
||||
+ dep_xshmfence, dep_xcb_xfixes, dep_xcb_xrandr, idep_mesautil]
|
||||
files_libdri += files('loader_dri3_helper.c')
|
||||
endif
|
||||
endif
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "compat-nvidia-repo.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
Name: compat-nvidia-repo
|
||||
Version: 565.77
|
||||
Epoch: 3
|
||||
Release: 1%{?dist}
|
||||
Summary: Compatibility package required by official CUDA packages
|
||||
License: NVIDIA License
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: nvidia-driver >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-cuda >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-cuda-libs >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-driver-libs >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-kmod >= %{?epoch:%{epoch}:}%{version}
|
||||
Requires: nvidia-settings >= %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
Provides: cuda-drivers >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open >= %{?epoch:%{epoch}:}%{version}
|
||||
# Add any versioned provides:
|
||||
Provides: cuda-drivers-560 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: cuda-drivers-565 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open-560 >= %{?epoch:%{epoch}:}%{version}
|
||||
Provides: nvidia-open-565 >= %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
Nvidia drivers metapackage required by official CUDA packages. It pulls in all
|
||||
Nvidia driver components.
|
||||
|
||||
%files
|
||||
# Without an empty files section the package is not created.
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-cccl.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
%global real_name cuda_cccl
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: CXX Core Compute Libraries
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
Requires: cmake-filesystem
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description
|
||||
CXX Core Compute Libraries.
|
||||
|
||||
%package devel
|
||||
Summary: CXX Core Compute Libraries development files
|
||||
|
||||
%description devel
|
||||
CXX Core Compute Libraries development files.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}/cmake
|
||||
|
||||
cp -fr include/* %{buildroot}%{_includedir}/
|
||||
# Conflict with rocthrust-devel in main repositories:
|
||||
mv %{buildroot}%{_includedir}/thrust %{buildroot}%{_includedir}/cuda/
|
||||
|
||||
cp -fr lib/cmake/* %{buildroot}%{_libdir}/cmake
|
||||
rm -f %{buildroot}%{_libdir}/cmake/thrust/README.md
|
||||
|
||||
%files devel
|
||||
%license LICENSE
|
||||
%doc lib/cmake/thrust/README.md
|
||||
%{_includedir}/*
|
||||
%{_libdir}/cmake/*
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-cudart.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
%global real_name cuda_cudart
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA Runtime API library
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
Source3: cudart.pc
|
||||
|
||||
Requires(post): ldconfig
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
CUDA Runtime (cudart).
|
||||
|
||||
%package devel
|
||||
Summary: Development files for NVIDIA CUDA Runtime API library
|
||||
Requires: opencl-headers
|
||||
Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the NVIDIA CUDA Runtime API library.
|
||||
|
||||
%package static
|
||||
Summary: Static libraries for NVIDIA CUDA Runtime API
|
||||
Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description static
|
||||
This package contains static libraries for NVIDIA CUDA Runtime API.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
|
||||
|
||||
cp -fr include/* %{buildroot}%{_includedir}/
|
||||
rm -fr %{buildroot}%{_includedir}/CL
|
||||
cp -fr lib/libcu* %{buildroot}%{_libdir}/
|
||||
cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/
|
||||
|
||||
# Set proper variables
|
||||
sed -i \
|
||||
-e 's|CUDA_VERSION|%{version}|g' \
|
||||
-e 's|LIBDIR|%{_libdir}|g' \
|
||||
-e 's|INCLUDE_DIR|%{_includedir}|g' \
|
||||
%{buildroot}/%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_libdir}/libcudart.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*
|
||||
%{_libdir}/libcudadevrt.a
|
||||
%{_libdir}/libcudart.so
|
||||
%{_libdir}/libculibos.a
|
||||
%{_libdir}/pkgconfig/cudart.pc
|
||||
|
||||
%files static
|
||||
%{_libdir}/libcudart_static.a
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,8 @@
|
||||
libdir=LIBDIR
|
||||
includedir=INCLUDE_DIR
|
||||
|
||||
Name: cudart
|
||||
Description: CUDA Runtime Library
|
||||
Version: CUDA_VERSION
|
||||
Libs: -L${libdir} -lcudart
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-cudnn.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,76 @@
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global cuda_version 12
|
||||
|
||||
Name: cuda-cudnn
|
||||
Version: 9.6.0.74
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
Summary: NVIDIA CUDA Deep Neural Network library (cuDNN)
|
||||
License: NVIDIA Software Development Kit
|
||||
URL: https://developer.nvidia.com/cudnn
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-%{version}_cuda%{cuda_version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-sbsa/cudnn-linux-sbsa-%{version}_cuda%{cuda_version}-archive.tar.xz
|
||||
|
||||
%description
|
||||
The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated
|
||||
library of primitives for deep neural networks. cuDNN provides highly tuned
|
||||
implementations for standard routines such as forward and backward convolution,
|
||||
pooling, normalization, and activation layers. cuDNN is part of the NVIDIA Deep
|
||||
Learning SDK.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires: cuda%{?_isa} >= %{?epoch:%{epoch}:}%{cuda_version}
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for developing
|
||||
applications that use %{name}.
|
||||
|
||||
%package static
|
||||
Summary: Static libraries for %{name}
|
||||
Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description static
|
||||
Static library files for %{name}.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n cudnn-linux-x86_64-%{version}_cuda%{cuda_version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n cudnn-linux-sbsa-%{version}_cuda%{cuda_version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
cp -a lib/*.so* %{buildroot}%{_libdir}/
|
||||
chmod 755 %{buildroot}%{_libdir}/*.so*
|
||||
cp -a lib/*.a %{buildroot}%{_libdir}/
|
||||
chmod 644 %{buildroot}%{_libdir}/*.a
|
||||
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
cp -a include/* %{buildroot}%{_includedir}/
|
||||
chmod 644 %{buildroot}%{_includedir}/*
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_libdir}/libcudnn*.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/cudnn*
|
||||
%{_libdir}/libcudnn*.so
|
||||
|
||||
%files static
|
||||
%{_libdir}/libcudnn*.a
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-cuobjdump.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
%global real_name cuda_cuobjdump
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: Utility to extract information from CUDA binary files
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
cuobjdump extracts information from CUDA binary files (both standalone and those
|
||||
embedded in host binaries) and presents them in human readable format. The
|
||||
output of cuobjdump includes CUDA assembly code for each kernel, CUDA ELF
|
||||
section headers, string tables, relocators and other CUDA specific sections. It
|
||||
also extracts embedded ptx text from host binaries.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
install -m 0755 -p -D bin/cuobjdump %{buildroot}%{_bindir}/cuobjdump
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/cuobjdump
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-cupti.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
%global real_name cuda_cupti
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.80
|
||||
Release: 1%{?dist}
|
||||
Summary: NVIDIA CUDA Profiling Tools Interface (CUPTI) library
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
The NVIDIA CUDA Profiling Tools Interface (CUPTI) provides performance analysis
|
||||
tools with detailed information about how applications are using the GPUs in a
|
||||
system.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for NVIDIA CUDA Profiling Tools Interface (CUPTI) library
|
||||
Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the NVIDIA CUDA Profiling Tools
|
||||
Interface (CUPTI) library.
|
||||
|
||||
%package static
|
||||
Summary: Static libraries for NVIDIA CUDA Profiling Tools Interface (CUPTI)
|
||||
Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description static
|
||||
This package contains static libraries for NVIDIA CUDA Profiling Tools Interface
|
||||
(CUPTI).
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
cp -fr include/* %{buildroot}%{_includedir}/
|
||||
cp -fr lib/* %{buildroot}%{_libdir}/
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_libdir}/libcheckpoint.so
|
||||
%{_libdir}/libcupti.so.*
|
||||
%{_libdir}/libpcsamplingutil.so
|
||||
|
||||
%files devel
|
||||
%doc doc/* samples/*
|
||||
%{_includedir}/*
|
||||
%{_libdir}/libcupti.so
|
||||
%{_libdir}/libnvperf_host.so
|
||||
%{_libdir}/libnvperf_target.so
|
||||
|
||||
%files static
|
||||
%{_libdir}/libcupti_static.a
|
||||
%ifarch x86_64
|
||||
%{_libdir}/libnvperf_host_static.a
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-cuxxfilt.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
%global real_name cuda_cuxxfilt
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA cuxxfilt (demangler)
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
%description
|
||||
CUDA cuxxfilt (demangler).
|
||||
|
||||
%package devel
|
||||
Summary: CUDA cuxxfilt (demangler) development files
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description devel
|
||||
CUDA cuxxfilt (demangler).
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
install -m 0755 -p -D bin/cu++filt %{buildroot}%{_bindir}/cu++filt
|
||||
install -m 0644 -p -D include/nv_decode.h %{buildroot}%{_includedir}/nv_decode.h
|
||||
install -m 0644 -p -D lib/libcufilt.a %{buildroot}%{_libdir}/libcufilt.a
|
||||
|
||||
%files devel
|
||||
%license LICENSE
|
||||
%{_bindir}/cu++filt
|
||||
%{_includedir}/nv_decode.h
|
||||
%{_libdir}/libcufilt.a
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64"]
|
||||
rpm {
|
||||
spec = "cuda-gcc.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
%global gcc_major 13
|
||||
|
||||
Name: cuda-gcc
|
||||
Version: 13.3.1
|
||||
Release: 2%{?dist}
|
||||
Summary: GNU Compiler Collection CUDA compatibility package
|
||||
License: BSD
|
||||
URL: http://gcc.gnu.org
|
||||
|
||||
BuildArch: noarch
|
||||
|
||||
Requires: gcc%{gcc_major}-c++
|
||||
|
||||
Provides: cuda-gcc = %{version}-%{release}
|
||||
Obsoletes: cuda-gcc < %{version}-%{release}
|
||||
Provides: cuda-gcc-c++ = %{version}-%{release}
|
||||
Obsoletes: cuda-gcc-c++ < %{version}-%{release}
|
||||
Provides: cuda-gcc-gfortran = %{version}-%{release}
|
||||
Obsoletes: cuda-gcc-gfortran < %{version}-%{release}
|
||||
|
||||
%description
|
||||
The %{name} package contains scripts that are sourced in the environment to use
|
||||
the GCC compatibility packages when invoking NVCC.
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/profile.d/
|
||||
|
||||
cat > %{buildroot}%{_sysconfdir}/profile.d/%{name}.sh <<EOF
|
||||
export NVCC_CCBIN='g++-%{gcc_major}'
|
||||
|
||||
# Alternatively you can use the following:
|
||||
export NVCC_PREPEND_FLAGS='-ccbin %{_bindir}/g++-%{gcc_major}'
|
||||
EOF
|
||||
|
||||
cat > %{buildroot}%{_sysconfdir}/profile.d/%{name}.csh <<EOF
|
||||
setenv NVCC_CCBIN 'g++-%{gcc_major}'
|
||||
|
||||
# Alternatively you can use the following:
|
||||
setenv NVCC_PREPEND_FLAGS '-ccbin %{_bindir}/g++-%{gcc_major}'
|
||||
EOF
|
||||
|
||||
%files
|
||||
%config(noreplace) %{_sysconfdir}/profile.d/%{name}.csh
|
||||
%config(noreplace) %{_sysconfdir}/profile.d/%{name}.sh
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-gdb.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
%global real_name cuda_gdb
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA GDB tool for debugging CUDA applications
|
||||
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
Requires: gdb
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
CUDA-GDB is the NVIDIA tool for debugging CUDA applications. It's an extension
|
||||
to GDB, the GNU Project debugger. The tool provides developers with a mechanism
|
||||
for debugging CUDA applications running on actual hardware. This enables
|
||||
developers to debug applications without the potential variations introduced by
|
||||
simulation and emulation environments.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
|
||||
%ifarch x86_64
|
||||
install -p -m 0755 -D bin/cuda-gdb-minimal %{buildroot}%{_bindir}/cuda-gdb
|
||||
%else
|
||||
install -p -m 0755 -D bin/cuda-gdb %{buildroot}%{_bindir}/cuda-gdb
|
||||
%endif
|
||||
install -p -m 0755 -D bin/cuda-gdbserver %{buildroot}%{_bindir}/cuda-gdbserver
|
||||
cp -f extras/Debugger/include/* %{buildroot}%{_includedir}/
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/cuda-gdb
|
||||
%{_bindir}/cuda-gdbserver
|
||||
%{_includedir}/cudacoredump.h
|
||||
%{_includedir}/cudadebugger.h
|
||||
%{_includedir}/cuda_stdint.h
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-nvdisasm.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
%global real_name cuda_nvdisasm
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: Utility to extract information from CUDA binary files
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
nvdisasm extracts information from standalone cubin files and presents them in
|
||||
human readable format. The output of nvdisasm includes CUDA assembly code for
|
||||
each kernel, listing of ELF data sections and other CUDA specific sections.
|
||||
Output style and options are controlled through nvdisasm command-line options.
|
||||
nvdisasm also does control flow analysis to annotate jump/branch targets and
|
||||
makes the output easier to read.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
install -m 0755 -p -D bin/nvdisasm %{buildroot}%{_bindir}/nvdisasm
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/nvdisasm
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-nvml.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
%global real_name cuda_nvml_dev
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: cuda-nvml
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: NVIDIA Management library (NVML)
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
Source3: nvidia-ml.pc
|
||||
|
||||
Requires(post): ldconfig
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
A C-based API for monitoring and managing various states of the NVIDIA GPU
|
||||
devices. It provides a direct access to the queries and commands exposed via
|
||||
nvidia-smi. The runtime version of NVML ships with the NVIDIA display driver.
|
||||
|
||||
Each new version of NVML is backwards compatible and is intended to be a
|
||||
platform for building 3rd party applications.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the NVIDIA Management library (NVML)
|
||||
# Unversioned as it is provided by the driver's NVML library
|
||||
Requires: %{name}%{_isa}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the NVIDIA Management library
|
||||
(NVML). Main libraries are provided by the driver package.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
|
||||
|
||||
cp -fr include/* %{buildroot}%{_includedir}/
|
||||
cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/
|
||||
|
||||
# Libraries in the driver package
|
||||
ln -sf libnvidia-ml.so.1 %{buildroot}%{_libdir}/libnvidia-ml.so
|
||||
|
||||
# Set proper variables
|
||||
sed -i \
|
||||
-e 's|CUDA_VERSION|%{version}|g' \
|
||||
-e 's|LIBDIR|%{_libdir}|g' \
|
||||
-e 's|INCLUDE_DIR|%{_includedir}|g' \
|
||||
%{buildroot}/%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files devel
|
||||
%license LICENSE
|
||||
%doc nvml/example
|
||||
%{_includedir}/nvml.h
|
||||
%{_libdir}/libnvidia-ml.so
|
||||
%{_libdir}/pkgconfig/nvidia-ml.pc
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,8 @@
|
||||
libdir=LIBDIR
|
||||
includedir=INCLUDE_DIR
|
||||
|
||||
Name: nvidia-ml
|
||||
Description: NVML
|
||||
Version: CUDA_VERSION
|
||||
Libs: -L${libdir} -lnvidia-ml
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,8 @@
|
||||
libdir=LIBDIR
|
||||
includedir=INCLUDE_DIR
|
||||
|
||||
Name: accinj64
|
||||
Description: OpenACC 64-bit Injection Library
|
||||
Version: CUDA_VERSION
|
||||
Libs: -L${libdir} -laccinj64
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-nvprof.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
%global real_name cuda_nvprof
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.80
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA command line profiling tool
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source3: accinj%{__isa_bits}.pc
|
||||
Source4: cuinj%{__isa_bits}.pc
|
||||
|
||||
Requires(post): ldconfig
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
The nvprof profiling tool enables you to collect and view profiling data from
|
||||
the command-line.
|
||||
|
||||
Note that Visual Profiler and nvprof will be deprecated in a future CUDA
|
||||
release. The NVIDIA Volta platform is the last architecture on which these tools
|
||||
are fully supported. It is recommended to use next-generation tools NVIDIA
|
||||
Nsight Systems for GPU and CPU sampling and tracing and NVIDIA Nsight Compute
|
||||
for GPU kernel profiling.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the CUDA command line profiling tool
|
||||
Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the CUDA command line profiling tool
|
||||
libraries.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
|
||||
|
||||
cp -fr bin/* %{buildroot}%{_bindir}/
|
||||
cp -fr lib/lib* %{buildroot}%{_libdir}/
|
||||
cp -fr %{SOURCE3} %{SOURCE4} %{buildroot}/%{_libdir}/pkgconfig/
|
||||
|
||||
# Set proper variables
|
||||
sed -i \
|
||||
-e 's|CUDA_VERSION|%{version}|g' \
|
||||
-e 's|LIBDIR|%{_libdir}|g' \
|
||||
-e 's|INCLUDE_DIR|%{_includedir}|g' \
|
||||
%{buildroot}/%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/nvprof
|
||||
%{_libdir}/*.so.*
|
||||
|
||||
%files devel
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,8 @@
|
||||
libdir=LIBDIR
|
||||
includedir=INCLUDE_DIR
|
||||
|
||||
Name: cuinj64
|
||||
Description: CUDA 64-bit Injection Library
|
||||
Version: CUDA_VERSION
|
||||
Libs: -L${libdir} -lcuinj64
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-nvprune.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
%global real_name cuda_nvprune
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA tool to prune host object files and libraries
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
nvprune prunes host object files and libraries to only contain device code for
|
||||
the specified targets.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
install -m 0755 -p -D bin/nvprune %{buildroot}%{_bindir}/nvprune
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/nvprune
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-nvrtc.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
%global real_name cuda_nvrtc
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.85
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA runtime compilation library (NVRTC)
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
Source3: nvrtc.pc
|
||||
|
||||
Requires(post): ldconfig
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
NVRTC is a runtime compilation library for CUDA C++. It accepts CUDA C++ source
|
||||
code in character string form and creates handles that can be used to obtain
|
||||
the PTX. The PTX string generated by NVRTC can be loaded by cuModuleLoadData and
|
||||
cuModuleLoadDataEx, and linked with other modules by cuLinkAddData of the CUDA
|
||||
Driver API. This facility can often provide optimizations and performance not
|
||||
possible in a purely offline static compilation.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the NVRTC runtime compilation library
|
||||
Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the NVRTC runtime compilation
|
||||
library.
|
||||
|
||||
%package static
|
||||
Summary: Static libraries for the NVRTC runtime compilation library
|
||||
Requires: %{name}-devel%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description static
|
||||
This package contains static libraries for the NVRTC runtime compilation
|
||||
library.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
|
||||
|
||||
cp -fr include/* %{buildroot}%{_includedir}/
|
||||
cp -fr lib/lib* %{buildroot}%{_libdir}/
|
||||
cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/
|
||||
|
||||
# Set proper variables
|
||||
sed -i \
|
||||
-e 's|CUDA_VERSION|%{version}|g' \
|
||||
-e 's|LIBDIR|%{_libdir}|g' \
|
||||
-e 's|INCLUDE_DIR|%{_includedir}|g' \
|
||||
%{buildroot}/%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_libdir}/libnvrtc-builtins.so.*
|
||||
%{_libdir}/libnvrtc.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/nvrtc.h
|
||||
%{_libdir}/libnvrtc-builtins.so
|
||||
%{_libdir}/libnvrtc.so
|
||||
%{_libdir}/pkgconfig/nvrtc.pc
|
||||
|
||||
%files static
|
||||
%{_libdir}/libnvrtc-builtins_static.a
|
||||
%{_libdir}/libnvrtc.so
|
||||
%{_libdir}/libnvrtc_static.a
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
libdir=LIBDIR
|
||||
includedir=INCLUDE_DIR
|
||||
|
||||
Name: nvrtc
|
||||
Description: A runtime compilation library for CUDA C++
|
||||
Version: CUDA_VERSION
|
||||
Libs: -L${libdir} -lnvrtc
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,5 @@
|
||||
project pkg {
|
||||
rpm {
|
||||
spec = "cuda-nvtx.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
%global real_name cuda_nvtx
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: %(echo %real_name | tr '_' '-')
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: NVIDIA Tools Extension (NVTX) library
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
Source3: nvToolsExt.pc
|
||||
|
||||
Requires(post): ldconfig
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
A C-based API for annotating events, code ranges, and resources in your
|
||||
applications. Applications which integrate NVTX can use the Visual Profiler to
|
||||
capture and visualize these events and ranges.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for NVIDIA Tools Extension (NVTX) library
|
||||
Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the NVIDIA Tools Extension (NVTX)
|
||||
library.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
mkdir -p %{buildroot}%{_libdir}/pkgconfig/
|
||||
|
||||
cp -fr include/* %{buildroot}%{_includedir}/
|
||||
cp -fr lib/* %{buildroot}%{_libdir}/
|
||||
cp -fr %{SOURCE3} %{buildroot}/%{_libdir}/pkgconfig/
|
||||
|
||||
# Set proper variables
|
||||
sed -i \
|
||||
-e 's|CUDA_VERSION|%{version}|g' \
|
||||
-e 's|LIBDIR|%{_libdir}|g' \
|
||||
-e 's|INCLUDE_DIR|%{_includedir}|g' \
|
||||
%{buildroot}/%{_libdir}/pkgconfig/*.pc
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_libdir}/libnvToolsExt.so.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/nvToolsExtCuda.h
|
||||
%{_includedir}/nvToolsExtCudaRt.h
|
||||
%{_includedir}/nvToolsExt.h
|
||||
%{_includedir}/nvToolsExtOpenCL.h
|
||||
%{_includedir}/nvToolsExtSync.h
|
||||
%dir %{_includedir}/nvtx3/
|
||||
%{_includedir}/nvtx3/nvToolsExtCuda.h
|
||||
%{_includedir}/nvtx3/nvToolsExtCudaRt.h
|
||||
%{_includedir}/nvtx3/nvToolsExt.h
|
||||
%{_includedir}/nvtx3/nvToolsExtOpenCL.h
|
||||
%{_includedir}/nvtx3/nvToolsExtSync.h
|
||||
%dir %{_includedir}/nvtx3/nvtxDetail/
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxImplCore.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxImplCudaRt_v3.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxImplCuda_v3.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxImpl.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxImplOpenCL_v3.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxImplSync_v3.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxInitDecls.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxInitDefs.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxInit.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxLinkOnce.h
|
||||
%{_includedir}/nvtx3/nvtxDetail/nvtxTypes.h
|
||||
%{_libdir}/libnvToolsExt.so
|
||||
%{_libdir}/pkgconfig/nvToolsExt.pc
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,8 @@
|
||||
libdir=LIBDIR
|
||||
includedir=INCLUDE_DIR
|
||||
|
||||
Name: nvToolsExt
|
||||
Description: NVIDIA Tools Extension
|
||||
Version: CUDA_VERSION
|
||||
Libs: -L${libdir} -lnvToolsExt
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "cuda-profiler.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
%global real_name cuda_profiler_api
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: cuda-profiler
|
||||
Epoch: 1
|
||||
Version: 12.2.53
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA Profiler API
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 ppc64le aarch64 %{ix86}
|
||||
|
||||
# Different tarballs per architecture but they all contain the same headers:
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
|
||||
%description
|
||||
NVIDIA CUDA API for profiling.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for CUDA Profiler API
|
||||
Conflicts: %{real_name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the CUDA Profiler API.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
cp -f include/* %{buildroot}%{_includedir}/
|
||||
|
||||
%files devel
|
||||
%license LICENSE
|
||||
%{_includedir}/*
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
@@ -0,0 +1,6 @@
|
||||
project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "cuda-sanitizer.spec"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
%global real_name cuda_sanitizer_api
|
||||
|
||||
%global debug_package %{nil}
|
||||
%global __strip /bin/true
|
||||
%global _missing_build_ids_terminate_build 0
|
||||
%global _build_id_links none
|
||||
%global major_package_version 12-6
|
||||
|
||||
Name: cuda-sanitizer
|
||||
Epoch: 1
|
||||
Version: 12.6.77
|
||||
Release: 1%{?dist}
|
||||
Summary: CUDA Compute Sanitizer API
|
||||
License: CUDA Toolkit
|
||||
URL: https://developer.nvidia.com/cuda-toolkit
|
||||
ExclusiveArch: x86_64 aarch64 %{ix86}
|
||||
|
||||
Source0: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-x86_64/%{real_name}-linux-x86_64-%{version}-archive.tar.xz
|
||||
Source1: https://developer.download.nvidia.com/compute/cuda/redist/%{real_name}/linux-sbsa/%{real_name}-linux-sbsa-%{version}-archive.tar.xz
|
||||
|
||||
BuildRequires: chrpath
|
||||
|
||||
Requires(post): ldconfig
|
||||
Conflicts: %{name}-%{major_package_version} < %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description
|
||||
Compute Sanitizer is a functional correctness checking suite included in the
|
||||
CUDA toolkit. It provides a set of API's to enable third party tools to write
|
||||
GPU sanitizing tools, such as memory and race checkers.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for CUDA Compute Sanitizer API
|
||||
Requires: %{name}%{_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Conflicts: %{name}-devel-%{major_package_version} < %{?epoch:%{epoch}:}%{version}
|
||||
|
||||
%description devel
|
||||
This package provides development files for the CUDA Compute Sanitizer API.
|
||||
|
||||
%prep
|
||||
%ifarch x86_64 %{ix86}
|
||||
%setup -q -n %{real_name}-linux-x86_64-%{version}-archive
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%setup -q -T -b 1 -n %{real_name}-linux-sbsa-%{version}-archive
|
||||
chrpath -d compute-sanitizer/libTreeLauncherTargetInjection.so
|
||||
%endif
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
mkdir -p %{buildroot}%{_includedir}
|
||||
mkdir -p %{buildroot}%{_libdir}
|
||||
|
||||
cp -fr compute-sanitizer/include/* %{buildroot}%{_includedir}/
|
||||
|
||||
%ifarch %{ix86}
|
||||
cp -fr compute-sanitizer/x86/lib* %{buildroot}%{_libdir}/
|
||||
cp -fr compute-sanitizer/x86/Tree* %{buildroot}%{_bindir}/
|
||||
%else
|
||||
cp -fr compute-sanitizer/lib* %{buildroot}%{_libdir}/
|
||||
cp -fr compute-sanitizer/Tree* compute-sanitizer/compute-sanitizer %{buildroot}%{_bindir}/
|
||||
%endif
|
||||
|
||||
%{?ldconfig_scriptlets}
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%{_bindir}/TreeLauncherSubreaper
|
||||
%{_bindir}/TreeLauncherTargetLdPreloadHelper
|
||||
%ifnarch %{ix86}
|
||||
%{_bindir}/compute-sanitizer
|
||||
%{_libdir}/libsanitizer-collection.so
|
||||
%{_libdir}/libsanitizer-public.so
|
||||
%endif
|
||||
%{_libdir}/libInterceptorInjectionTarget.so
|
||||
%{_libdir}/libTreeLauncherPlaceholder.so
|
||||
%{_libdir}/libTreeLauncherTargetInjection.so
|
||||
%{_libdir}/libTreeLauncherTargetUpdatePreloadInjection.so
|
||||
|
||||
%files devel
|
||||
%doc compute-sanitizer/docs
|
||||
%{_includedir}/*
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user