Compare commits

...

209 Commits

Author SHA1 Message Date
Cappy Ishihara eba5f1b84c Revert #3013 2025-01-18 23:55:24 +07:00
Raboneko fb2db2b6a1 bump: gitoxide 2025-01-18 15:59:31 +00:00
Raboneko 06f9f77b1a bump: walker 2025-01-18 15:39:07 +00:00
Gil 40a88cf490 Fix (conflict/other issues): Switch Steam to the correct arch (#3043)
* Change: Correct arch

Signed-off-by: Gil <rockgrub@protonmail.com>

* Use Mock, fix up formatting

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Spec, sorry I'm on mobile so editing files one at a time

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-18 21:58:30 +08:00
Raboneko 925a9b161c bump: discord-canary-openasar discord-canary youtube-music 2025-01-18 05:45:44 +00:00
Raboneko a5de55489e bump(nightly): flow nightly nightly prismlauncher-nightly nim-nightly opentabletdriver-nightly 2025-01-18 01:23:58 +00:00
Raboneko 3e6efd6072 bump: blueprint-compiler 2025-01-17 23:16:50 +00:00
Raboneko 4159d284cc bump: mise 2025-01-17 19:46:59 +00:00
Raboneko 880afd6ff6 bump: discord-canary-openasar discord-canary 2025-01-17 19:25:52 +00:00
Raboneko 12099a6b56 bump: codium 2025-01-17 18:42:09 +00:00
Raboneko 469cd97a42 bump: xyproto-env 2025-01-17 11:48:33 +00:00
sadlerm4 22996bf9c6 add: kmonad (#3033)
* add: kmonad

* packager
2025-01-17 17:34:16 +08:00
Gil d40e8a24d4 fix: multimedia arches (#2993)
* Update ffmpeg anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Change: Move to Multimedia folder

* Update anda/multimedia/x264-bootstrap/anda.hcl

Co-authored-by: madomado <madonuko@outlook.com>
Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Changes: Pain?

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* include cstdint

Signed-off-by: madomado <madonuko@outlook.com>

* try this now

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>
2025-01-17 00:38:35 -06:00
Raboneko 77f475d710 bump: discord-canary-openasar discord-canary 2025-01-17 02:31:01 +00:00
sadlerm4 09ac34ee6a update pop-launcher patchfile (#2654) 2025-01-16 19:59:19 -06:00
Gil 991c5b718a add: mjpegtools (#2991)
* Add: mjpegtools

* Fix?: Try this

Signed-off-by: Gil <rockgrub@protonmail.com>

* -Wno-template-body

Signed-off-by: madomado <madonuko@outlook.com>

* accidentally set it on the wrong arch gosh

Signed-off-by: madomado <madonuko@outlook.com>

* Try this maybe as it affects all 32-bit arches

Signed-off-by: Gil <rockgrub@protonmail.com>

* nah try this instead

Signed-off-by: madomado <madonuko@outlook.com>

* also fix that for cxx

Signed-off-by: madomado <madonuko@outlook.com>

* screw this I'm enabling this on all arches

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: madomado <madonuko@outlook.com>
2025-01-16 19:59:03 -06:00
Raboneko a5cef48281 bump(nightly): flow nightly nightly prismlauncher-nightly nim-nightly vala-nightly opentabletdriver-nightly yt-dlp 2025-01-17 01:25:47 +00:00
Raboneko 78bb48cda4 bump: ruffle mise 2025-01-17 01:22:06 +00:00
Cappy Ishihara fc60a7018d Add some dependencies for FFmpeg (#3027)
* Add some dependencies for FFmpeg

* add uavs3d

* Fix changelogs

* Vendor DeckLink SDK

* format uavs3d patch properly

* Fix kvazaar
2025-01-16 17:17:14 -06:00
Raboneko ad345e1ae5 bump: unity-session 2025-01-16 22:48:05 +00:00
Cappy Ishihara d6965718bb add: cuda-nvcc (#3025) 2025-01-16 16:13:48 -06:00
Raboneko 70e7b459fe bump: discord-ptb-openasar discord-ptb 2025-01-16 18:23:02 +00:00
Raboneko f88bdf4de9 bump: discord-canary-openasar discord-canary 2025-01-16 17:45:42 +00:00
Raboneko b46e969239 bump: voicevox 2025-01-16 16:55:30 +00:00
Gil d034825c22 feat(ghostty): adhere closer to packaging guidelines (#3021)
Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-17 00:37:35 +08:00
Gil ba54a8b7c7 fix(ghostty): additional licenses, new upstream files (#2890)
* Fix: Ghostty pkgconfig, add licenses, minor cleanup

* Fix/bump: Forgot to bump commit to trigger rebuild on Tip

* Bump: Ghostty Nightly to resolve conflict

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Unpackaged files

Upstream changes my beloved.

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: New file

Signed-off-by: Gil <rockgrub@protonmail.com>

* Change (nightly): Build without wayland-protocols

Signed-off-by: Gil <rockgrub@protonmail.com>

* Change (stable): Build without wayland-protocols

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-16 21:54:53 +08:00
Raboneko d35c818a3e bump: ruff 2025-01-16 13:28:42 +00:00
Raboneko f5bb1e7320 bump: youki 2025-01-16 11:14:34 +00:00
Gil d7a342150c Fix (protobuf): Move to Extras (#3013)
* Fix: Move to Extras

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Quotes

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-16 18:15:07 +08:00
sadlerm4 0e598c0d9c add: sticky (#3012) 2025-01-16 18:13:22 +08:00
Raboneko 71aebcc3ba bump: inputplumber 2025-01-16 03:20:42 +00:00
Raboneko ed51bc5736 bump: discord-canary-openasar discord-canary 2025-01-16 02:26:41 +00:00
Raboneko bf62f9af4f bump(nightly): flow nightly nightly nim-nightly yt-dlp 2025-01-16 01:26:08 +00:00
Raboneko c794b56262 bump: ruffle 2025-01-16 01:15:41 +00:00
Raboneko 0932d671cc bump: discord-canary-openasar discord-canary 2025-01-15 22:47:54 +00:00
Raboneko 9af6a9471b bump: preview moby-compose 2025-01-15 21:27:24 +00:00
Raboneko 2c3e94b28a bump: preview stable 2025-01-15 21:15:17 +00:00
Raboneko 9e1b36c950 bump: discord-canary-openasar discord-canary 2025-01-15 19:13:16 +00:00
Raboneko 3e88e554a6 bump: preview 2025-01-15 18:22:46 +00:00
Raboneko ae1c00d85c bump: libcusparselt 2025-01-15 16:38:30 +00:00
madomado 9365ab2406 fix(cuda-cudnn): update.rhai (#3006)
Signed-off-by: madomado <madonuko@outlook.com>
2025-01-15 23:36:58 +07:00
madomado 841347d99b fix(libcusparselt): update.rhai (#3007)
Signed-off-by: madomado <madonuko@outlook.com>
2025-01-15 23:33:01 +07:00
Raboneko 75f7c2c486 bump: choosenim 2025-01-15 16:20:55 +00:00
madomado 650abcf67e bump: choosenim (#2017) 2025-01-15 10:17:51 -06:00
madomado 3d330414e0 fix: dive (#2986)
Signed-off-by: madomado <madonuko@outlook.com>
2025-01-15 10:17:35 -06:00
madomado 42662003e9 add: eww (#2921)
* add: eww

* aslkdfj

* as;dklfj

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-15 10:16:16 -06:00
madomado 640348316d chore(fusion): move stuff to multimedia (#2994) 2025-01-15 22:48:53 +07:00
sadlerm4 4003f3569a fix: fontviewer (#2996)
* fix: fontviewer

* update from releases not latest commit
2025-01-15 23:25:18 +08:00
Raboneko b0887e01e6 bump: anda 2025-01-15 14:33:02 +00:00
Cappy Ishihara a2213c856c fix(v4l2loopback): provide kmod-common (#2987) 2025-01-15 21:54:13 +08:00
Gil 71a985c675 Add: libde265 (#2981)
* Add: libde265

* Update libde265.spec

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update libde265.spec

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-15 21:52:43 +08:00
Cappy Ishihara 9c2edb9f87 fix(v4l2loopback): provide kmod-common (#2987) 2025-01-15 21:49:03 +08:00
Cappy Ishihara ae0beda079 port #2984 to rawhide (#2985) 2025-01-15 20:33:54 +07:00
Raboneko cdd016b9d8 bump: dive 2025-01-15 13:31:53 +00:00
Gil a7f7b98986 fix(wl-kmod): kmodtool repo (#2982)
Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-15 21:06:15 +08:00
Gil 269ddeba80 Fix: v4l2-relayd and ipu6-camera-bins builds (#2953)
* Delete: v4l2-relayd/update.rhai

This project hasn't had an update in ages and GitLab makes fetching commits a pain. I can figure something else out but it is not urgent.

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Put the version back

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix (v4l2-relayd): Drop upstreamed patch

* Fix (ipu6-camera-bins): Completly redo spec

* Fix: Try this for update.rhai?

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update v4l2-relayd.spec

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-15 18:21:24 +07:00
Gil 9ef5fe6103 Add: rtmpdump (#2977) 2025-01-15 18:14:19 +07:00
madomado bde4443fdb fix: keyd (#2969)
Signed-off-by: madomado <madonuko@outlook.com>
2025-01-15 17:59:01 +07:00
madomado 085d4fc4e2 fix(ci/build): use mock (#2972)
* fix(ci/build): use mock

* the funn

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-15 17:58:44 +07:00
Gil d2ee643b86 Fix (nvidia-container-toolkit): Remove JSON file, add post scriptlet (#2971)
* Fix: Remove JSON file, add post scriptlet

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Remove TOML File

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda/system/nvidia/nvidia-container-toolkit/nvidia-container-toolkit.spec

Co-authored-by: Cappy Ishihara <cappy@cappuchino.xyz>
Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda/system/nvidia/nvidia-container-toolkit/nvidia-container-toolkit.spec

Co-authored-by: Cappy Ishihara <cappy@cappuchino.xyz>
Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: mkdir

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
Co-authored-by: Cappy Ishihara <cappy@cappuchino.xyz>
2025-01-15 17:55:18 +07:00
Gil da2e32b69a [IPU6 Part 2] Add: ipu6-camera-hal (#2924)
* Add: ipu6-camera-hal

* Fix: Only build for x86_64

Signed-off-by: Gil <rockgrub@protonmail.com>

* Cleanup: Formatting because mobile made it wonky

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
Co-authored-by: Cappy Ishihara <cappy@cappuchino.xyz>
2025-01-15 17:26:26 +07:00
Gil fab1f2ac03 Add: libfreeaptx (#2962) 2025-01-15 15:44:18 +07:00
Raboneko a6fcd29c2a bump: nvidia-container-toolkit 2025-01-15 08:43:57 +00:00
Gil 51dd34aeeb Add: NVIDIA Container Toolkit (#2964)
* Add: NVIDIA Container Toolkit

* Cleanup: Remove unused build dependency

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-15 15:43:27 +07:00
Gil b0b50aa319 Add: AAC (#2963)
* Add: AAC

* Fix: Use subrepo label

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-15 15:42:49 +07:00
Raboneko 1863f84d6b bump: discord-canary-openasar discord-canary 2025-01-15 03:38:31 +00:00
Gil ee3578daac Add: libnvidia-container (#2954)
* Add: libnvidia-container

* Change: Drop 32-bit?

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-15 09:24:20 +07:00
Raboneko e230ae6a62 bump: ruffle mise 2025-01-15 01:47:13 +00:00
Raboneko 4342040571 bump(nightly): nightly flow nightly nightly nim-nightly nvidia-patch 2025-01-15 01:26:44 +00:00
Raboneko e484a09aff bump: discord-canary-openasar discord-canary 2025-01-14 21:38:51 +00:00
Raboneko 07429fc1fd bump: discord-canary-openasar discord-canary 2025-01-14 21:15:50 +00:00
Raboneko 841d343282 bump: discord-canary-openasar discord-canary 2025-01-14 20:45:33 +00:00
Raboneko a6a50cdfc4 bump: walker 2025-01-14 19:46:44 +00:00
Raboneko a832e535ad bump: gcm-core 2025-01-14 18:21:51 +00:00
madomado ae1cafc2e6 bump(nim,nim-nightly): bump release (#2957) 2025-01-14 11:14:25 -06:00
madomado e98cac8dfc fix(nim): do not symlink the dist directory (#2955) 2025-01-14 10:43:06 -06:00
Raboneko e9bfa1b86c bump: electron 2025-01-14 10:17:37 +00:00
Raboneko 3bbc3d02c7 bump: walker 2025-01-14 07:15:43 +00:00
Raboneko ff14d3ed16 bump: sass 2025-01-14 06:44:12 +00:00
Raboneko 82e6ea8f3b bump: containerd 2025-01-14 05:37:26 +00:00
Raboneko ccc4f69922 bump: sass 2025-01-14 02:35:17 +00:00
Raboneko 4645fac9f4 bump: stable sass 2025-01-14 01:45:23 +00:00
Raboneko ce991a53cf bump(nightly): nightly nightly nightly nim-nightly 2025-01-14 01:25:10 +00:00
Raboneko 0f10740c32 bump: preview 2025-01-13 23:19:07 +00:00
Raboneko 47bcefb7b8 bump: flutter 2025-01-13 22:36:51 +00:00
Raboneko ca0bff15c0 bump: discord-openasar discord 2025-01-13 22:21:31 +00:00
Raboneko ae8782ffe9 bump: lomiri-system-settings 2025-01-13 20:24:52 +00:00
Raboneko e0c99f0aec bump: discord-canary-openasar discord-canary 2025-01-13 19:59:48 +00:00
Raboneko 9614b55dac bump: codium 2025-01-13 18:49:23 +00:00
Raboneko 6d3c79d27f bump: moby-compose 2025-01-13 14:46:28 +00:00
madomado b8d3d00fa4 fix: mkfstab` (#2949)
Signed-off-by: madomado <madonuko@outlook.com>
2025-01-13 08:06:58 -06:00
Raboneko e6c0700ba4 bump: steam 2025-01-13 13:34:23 +00:00
Raboneko cbc0982b7b bump: mkfstab 2025-01-13 13:14:00 +00:00
Raboneko 922e590f08 bump: lomiri-app-launch 2025-01-13 08:33:18 +00:00
Raboneko 3f152da1c5 bump: ruffle 2025-01-13 01:55:17 +00:00
Raboneko e52b880d35 bump(nightly): envision latte-dock-nightly flow nightly nightly nvidia-patch opentabletdriver-nightly yt-dlp 2025-01-13 01:40:52 +00:00
Raboneko e02e1181e1 bump(weekly): ipu6-camera-bins ivsc-firmware v4l2-relayd 2025-01-13 00:44:26 +00:00
madomado a333038ea6 feat(ci): better weekly ci update workflow (#2928) 2025-01-12 22:54:14 +07:00
madomado e1b301c1c3 fix(yt-dlp): try using mock instead (#2935) 2025-01-12 22:54:05 +07:00
madomado ce6d1e1abd fix: starship (#2937) 2025-01-12 22:53:53 +07:00
Cappy Ishihara 111609af05 fix: nvidia-driver (#2940) 2025-01-12 23:51:26 +08:00
Cappy Ishihara a61ce2b93e Force all multilib packages to build inside a mock chroot (#2941) 2025-01-12 23:51:10 +08:00
madomado c1c9a4f517 fix: mise (#2936) 2025-01-12 21:20:52 +07:00
Raboneko c7f8261ea4 bump: mise 2025-01-12 13:36:01 +00:00
Cappy Ishihara 4a3050c18e Add Terra Mesa and NVIDIA to release-extras package (disabled by default) (#2932)
* Add Terra Mesa and NVIDIA to release-extras package (disabled by default)

* bump spec
2025-01-12 17:30:20 +07:00
Gil 562cf68d3f [IPU6 Part 1] Add: IPU6 Camera Stack (Without ipu6-camera-hal) (#2919)
* Add: IPU6 Camera Stack

* Fix: Use Mock

* Change: Remove ipu6-camera-hal to move to another PR
2025-01-12 18:15:53 +08:00
Raboneko 024d6cfe48 bump: cuda-profiler 2025-01-12 09:51:21 +00:00
Cappy Ishihara c72c975c16 [BREAKING FOR RPMFUSION USERS] NVIDIA Drivers (#2862)
* add nvidia-kmod

* add settings, xsettings, mock label

* oops

* add nvidia setting assets

* add libva-nvidia-driver

* add: nvidia-kmod-common w/ properietary defaults

* download the x86 version of the driver package when running common

* add nvidia-driver package

* I don't think we actually need i386

* add a readme, fix build error and clean up script

* add back the accursed tarball script, we can port the thing later

* add nvidia-modprobe

* update metadata, add nvidia-persistenced

* add update scripts to nvidia drivers

* add update scripts for every cuda package

* make the component fetch a separate function for memoization

* cusparse

* cusparselt is not from cuda toolkit

* add nvidia subrepo label for multirepo

* set version for nvidia tarball

* nvidia-driver: download tarballs on build time

* clean up inline prep script

* NVProf is dropped in Jetpack 5, so there's no ARM version of it.
2025-01-12 17:45:18 +08:00
Raboneko a80f8ea3b9 bump: walker 2025-01-12 08:59:29 +00:00
Gil f72e51a576 Add: v4l2loopback (not kmod), move v4l2loopback out of Fusion tree (#2912)
* Add: v4l2loopback

* Change: Moved all V4L2 packages out of the Fusion folder

* Fix: Why did Git DO that?
2025-01-12 15:49:59 +07:00
madomado e9a77136f6 fix(ci): subrepo labels (#2894)
* fix(ci): subrepo labels

Signed-off-by: madomado <madonuko@outlook.com>

* as;dlkfj

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-12 15:22:45 +07:00
madomado daee1f621a add: sheldon (#2897)
* add: sheldon

* pkgconfig(openssl)

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-12 16:17:13 +08:00
Gil 68fbd0e78d Fix: yt-dlp Build Deps (#2913)
Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-12 15:17:05 +07:00
Gil 8cec8576cf Add: v4l2-relayd (#2904) 2025-01-12 11:34:37 +08:00
Raboneko d590e79234 bump: ruffle 2025-01-12 01:59:02 +00:00
Raboneko 8558d6da40 bump(nightly): nightly nightly yt-dlp 2025-01-12 01:44:04 +00:00
Raboneko 622602e3de bump: mise 2025-01-11 22:45:26 +00:00
Raboneko b4d26991a0 bump: felix 2025-01-11 21:37:49 +00:00
Raboneko 194b1a27f8 bump: lomiri-app-launch prismlauncher 2025-01-11 18:55:37 +00:00
madomado 02be8ba29e fix: swww (#2905)
* fix: swww

Signed-off-by: madomado <madonuko@outlook.com>

* files

Signed-off-by: madomado <madonuko@outlook.com>

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-11 12:05:12 -06:00
Raboneko becb6b1fa3 bump: starship 2025-01-11 17:29:34 +00:00
Raboneko bc61d59c36 bump: lomiri-app-launch 2025-01-11 17:13:24 +00:00
Raboneko bb0f2602e4 bump: starship 2025-01-11 15:39:27 +00:00
Raboneko 6a0e898975 bump: ruffle 2025-01-11 01:50:03 +00:00
Raboneko 0b02bea098 bump(nightly): nightly mpv flow nightly nightly 2025-01-11 01:36:32 +00:00
Raboneko 1d465daf01 bump: mise 2025-01-10 23:49:48 +00:00
Raboneko 7a98355e4a bump: ruff 2025-01-10 19:13:21 +00:00
Raboneko 682491935e bump: discord-canary-openasar discord-canary 2025-01-10 18:44:13 +00:00
Raboneko 50c0479932 bump: limine 2025-01-10 14:15:55 +00:00
Raboneko 7a7fbed9ee bump: crystal 2025-01-10 13:12:49 +00:00
madomado dfe236e3e1 fix(ci): switch to ubuntu-22.04 (#2836) 2025-01-09 21:02:11 -06:00
Raboneko febf58ec07 bump: ruffle 2025-01-10 01:55:23 +00:00
Raboneko 196df57361 bump(nightly): nightly mpv flow nightly nightly nim-nightly 2025-01-10 01:38:35 +00:00
Raboneko ff8ee3eaac bump: discord-canary-openasar discord-canary 2025-01-09 23:29:56 +00:00
Raboneko 2e1af7d362 bump: discord-canary-openasar discord-canary 2025-01-09 22:35:29 +00:00
Raboneko 0bcf1ec7bf bump: discord-ptb-openasar discord-ptb 2025-01-09 21:56:46 +00:00
Raboneko 861324a2a1 bump: mise 2025-01-09 19:13:26 +00:00
madomado af44ae46f4 fix: rgbds (#2757)
Signed-off-by: madomado <madonuko@outlook.com>
2025-01-09 08:38:10 -06:00
Raboneko f8d526745f bump: ruff 2025-01-09 14:16:24 +00:00
Raboneko f074b98ff5 bump: apparmor 2025-01-09 10:58:42 +00:00
Raboneko 08fb140706 bump: walker 2025-01-09 08:41:42 +00:00
Raboneko 817e94353f bump: opengamepadui 2025-01-09 06:31:08 +00:00
Raboneko 53b778d355 bump(nightly): envision nightly flow nightly nightly prismlauncher-nightly 2025-01-09 02:08:32 +00:00
Raboneko b62744120d bump: protobuf 2025-01-08 21:46:34 +00:00
Raboneko e1aa9f9f72 bump: mise 2025-01-08 19:13:19 +00:00
Gil 10abb8b734 Add: Broadcom Wi-Fi Drivers (broadcom-wl and wl-kmod) (#2891)
* Add: broadcom-wl and wl-kmod

* Fix: Built kmods without RPM Fusion deps fixed BuildRequires because actually why was it done that way

* Cleanup: Removed EOL Fedora and RHEL versions from specs

* Cleanup/security: Fixed more spec stuff for EOL Fedora/EL versions, removed a legacy file that if changed could result in an unbootable kernel

* Fix: Use Mock

Co-authored-by: madomado <madonuko@outlook.com>
Signed-off-by: Gil <rockgrub@protonmail.com>

* Cleanup: More removal of EOL conditions

Signed-off-by: Gil <rockgrub@protonmail.com>

* Cleanup: Typo

Signed-off-by: Gil <rockgrub@protonmail.com>

* Cleanup/security: Removed a patch related to a previously removed file that could result in an unbootable kernel

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
Co-authored-by: madomado <madonuko@outlook.com>
2025-01-09 02:07:25 +08:00
Gil 7f3e685d25 Fix: Update patch (#2892) 2025-01-09 02:03:50 +08:00
Raboneko a73d690d16 bump: preview stable 2025-01-08 17:56:05 +00:00
Raboneko 88398701a0 bump: crystal 2025-01-08 17:31:17 +00:00
Raboneko 0344f78b50 bump: dart 2025-01-08 14:34:22 +00:00
Raboneko c13348993b bump: crystal 2025-01-08 13:33:27 +00:00
Raboneko 273a50d7d1 bump: nph 2025-01-08 11:16:29 +00:00
Cappy Ishihara 437ecb5865 add subrepo label (#2893)
* add subrepo label

* refactor: update package labels to use 'subrepo' instead of 'extra'
2025-01-08 11:49:50 +08:00
Raboneko 7971629871 bump(nightly): envision flow nightly nightly 2025-01-08 01:36:41 +00:00
Raboneko 1fbae5146b bump: lomiri-system-settings 2025-01-07 22:35:26 +00:00
Raboneko d7c0718d7c bump: lomiri-system-settings 2025-01-07 17:58:13 +00:00
Raboneko 64c40b5768 bump: lomiri-system-settings 2025-01-07 16:44:40 +00:00
Raboneko 64eec9db7f bump: lomiri-indicator-network lomiri-settings-components 2025-01-07 16:05:21 +00:00
Raboneko 059752923e bump: moby-compose 2025-01-07 15:02:21 +00:00
Raboneko 376832d02e bump: sccache 2025-01-07 12:47:55 +00:00
Raboneko 5604e34f51 bump: lomiri-ui-toolkit open-in-mpv 2025-01-07 09:18:36 +00:00
Raboneko 47fb6768dd bump: asar 2025-01-07 03:14:08 +00:00
Raboneko da66b0a81e bump(nightly): envision flow nightly nightly nim-nightly rpi-utils 2025-01-07 01:36:58 +00:00
Raboneko b17cd0df52 bump: discord-openasar discord ruffle 2025-01-07 01:36:05 +00:00
Raboneko 41e5131b87 bump: stable 2025-01-06 21:29:36 +00:00
Raboneko 2fe69864bf bump: discord-canary-openasar discord-canary 2025-01-06 21:16:31 +00:00
Raboneko 1fa85803cf bump: preview 2025-01-06 19:57:11 +00:00
Raboneko 9d8d35aa88 bump: apparmor 2025-01-06 19:36:42 +00:00
Raboneko 57fad58d1d bump: electron 2025-01-06 18:44:08 +00:00
Raboneko 451ba61d57 bump: walker 2025-01-06 17:31:13 +00:00
Raboneko 8e769c0445 bump: lomiri-app-launch 2025-01-06 15:55:48 +00:00
Raboneko 08d9e30dd9 bump: lomiri-api 2025-01-06 15:31:58 +00:00
Raboneko b0162c549b bump: walker 2025-01-06 09:33:47 +00:00
Raboneko 230a8732ff bump: mise 2025-01-06 08:22:52 +00:00
Raboneko 87be8de6e1 bump(nightly): nightly mpv latte-dock-nightly flow nightly nightly nim-nightly telescope rpi-utils 2025-01-06 01:40:22 +00:00
Raboneko 7542881b0c bump: ruffle 2025-01-06 01:21:57 +00:00
Raboneko a135f32e2b bump: vala-panel-appmenu 2025-01-05 22:48:18 +00:00
madomado 482456c58c add: topgrade (#2849)
closes #2765
2025-01-05 14:46:44 -08:00
Raboneko 17260611cd bump: walker 2025-01-05 11:46:34 +00:00
Raboneko 9a9c4e2c5f bump: walker 2025-01-05 10:17:36 +00:00
Gil a7c3b8f139 Add: CUDA (#2872)
* Add: CUDA

* Fix: Arches

* Fix: Arches again

* Fix: Arches AGAIN again

* Fix CUDA anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: Anda.hcl files

* Fix: Anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Fix: anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Update anda.hcl

Signed-off-by: Gil <rockgrub@protonmail.com>

* Cleanup/fixes: Specs and Anda files

* Cleanup/fixes: Specs and Anda files

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-05 14:48:11 +08:00
Raboneko 76126f783f bump: ruffle 2025-01-05 01:59:41 +00:00
Raboneko ac017e8f84 bump(nightly): envision nightly mpv nightly nightly gamescope-session 2025-01-05 01:42:22 +00:00
Raboneko d160038cf4 bump: opengamepadui 2025-01-04 16:13:24 +00:00
Raboneko ca25e98a35 bump: walker 2025-01-04 14:45:38 +00:00
Raboneko e59bddbaa6 bump: ruff 2025-01-04 12:42:35 +00:00
Gil ba4a32f402 Fix: Drop patch and add new -Dstrip=false flag (#2869)
* Fix: Drop patch and add new -Dstrip=false flag

* Fix: Are you FR what even happened to the changelog formatting there?

* Bump: Commit and date to solve conflict

Heehoo bigger numbers.

Signed-off-by: Gil <rockgrub@protonmail.com>

* Resolve: Add back that space, GH hates that

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-04 20:29:26 +08:00
Raboneko 5651b41ca5 bump: lomiri-system-settings 2025-01-04 11:17:55 +00:00
Raboneko 021b12f003 bump: sass 2025-01-04 02:33:46 +00:00
Raboneko 0843f25997 bump(nightly): envision nightly mpv flow nightly nightly nim-nightly opentabletdriver-nightly spotx-bash 2025-01-04 01:27:05 +00:00
Raboneko a5a28202ec bump: discord-canary-openasar discord-canary ruffle 2025-01-04 01:26:12 +00:00
Raboneko 8fb0f6de26 bump: unity-shell 2025-01-03 22:50:17 +00:00
Raboneko dc94ea30cf bump: discord-canary-openasar discord-canary 2025-01-03 22:27:44 +00:00
Raboneko 66d14487c2 bump: discord-canary-openasar discord-canary mesa 2025-01-03 18:22:57 +00:00
Raboneko cf5b70c15d bump: preview 2025-01-03 17:45:26 +00:00
Raboneko 10086c9e21 bump: compiz9 2025-01-03 15:55:59 +00:00
Raboneko 974a827615 bump: youki 2025-01-03 12:42:04 +00:00
Raboneko 558b450b02 bump: neovide 2025-01-03 10:17:29 +00:00
Cappy Ishihara 0210b7ad0f Properly check mock label (#2866) 2025-01-03 17:54:03 +08:00
madomado 60dd96a68f fix(ci): make gha parse variable substitutions correctly (#2865)
* feat(ci): add mock label to ci, also remove multilib

* feat: switch packages to use `arches = [...]`

* ???

Signed-off-by: madomado <madonuko@outlook.com>

* feat: add mock labels to pkgs

* feat: add condition for setup scripts and dnf builddep

* fix(ci): weird formatting issues

* wha

* if !contains?

* single quotes

* fix(ci): make gha parse variables correctly?

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-03 16:19:26 +07:00
Cappy Ishihara 40e624cf74 Clean up the mesa spec file (#2857)
* Clean up the mesa spec file

* experiment: use matrices instead of multilib x86

---------

Signed-off-by: Cappy Ishihara <cappy@cappuchino.xyz>
2025-01-03 16:18:37 +07:00
madomado 220cd35306 fix(ci): weird formatting issues (#2864)
* feat(ci): add mock label to ci, also remove multilib

* feat: switch packages to use `arches = [...]`

* ???

Signed-off-by: madomado <madonuko@outlook.com>

* feat: add mock labels to pkgs

* feat: add condition for setup scripts and dnf builddep

* fix(ci): weird formatting issues

* wha

* if !contains?

* single quotes

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-03 16:12:54 +07:00
madomado 5ea63f4910 feat(ci): add mock label to ci, also remove multilib (#2863)
* feat(ci): add mock label to ci, also remove multilib

* feat: switch packages to use `arches = [...]`

* ???

Signed-off-by: madomado <madonuko@outlook.com>

* feat: add mock labels to pkgs

* feat: add condition for setup scripts and dnf builddep

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-01-03 16:04:45 +07:00
Raboneko e0bf8d9dd6 bump: audacity-freeworld 2025-01-03 08:29:05 +00:00
Owen Zimmerman 25923de80b Add: Audacity (#2856)
* add tograde

* add audacity

* Remove old files
2025-01-03 16:18:31 +08:00
Gil 84f0dcbe2c Fix: Ghostty internal version (#2838)
* Fix: Internal Ghostty version

This fixes the version Ghostty displays on fetches such as Fastfetch. Otherwise stable builds of Ghostty incorrectly report themselves as dev builds.

Signed-off-by: Gil <rockgrub@protonmail.com>

* Cleanup: %?dist to %{?dist}

More technically correct I suppose but the inconsistency just bothered me. D:

Signed-off-by: Gil <rockgrub@protonmail.com>

* Bump: Release

Signed-off-by: Gil <rockgrub@protonmail.com>

---------

Signed-off-by: Gil <rockgrub@protonmail.com>
2025-01-03 16:13:19 +08:00
Raboneko 16b60ab51d [f41] Add: Patched switcheroo-control, kf6-kio and gnome-shell (#2842) (#2855)
* [f41] Add: Patched switcherooctl-control with Discrete GPU detection

* [f41] Add: Patched gnome-shell and kf6-kio for switcherooctl-control discrete patch

(cherry picked from commit 453beaff43)

Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
2025-01-03 16:12:57 +08:00
Raboneko a11ca7aaa0 [f41] feat: Add Valve's gamescope patch for Mesa (#2843) (#2853)
* [f41] feat: Add Valve's gamescope patch for Mesa

* fix: Update Valve patch for latest mesa

---------

Co-authored-by: Cappy Ishihara <cappy@cappuchino.xyz>
(cherry picked from commit 329b366274)

Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
2025-01-03 12:31:26 +07:00
Kyle Gospodnetich 5d1f6f300d [frawhide] Add: Patched switcherooctl-control with Discrete GPU detection (#2841) 2025-01-03 12:33:35 +08:00
466 changed files with 18599 additions and 606 deletions
+9 -10
View File
@@ -18,8 +18,7 @@ on:
jobs:
manifest:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
container:
@@ -42,7 +41,7 @@ jobs:
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
version: ["rawhide"]
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }}
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-22.04' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
@@ -56,6 +55,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 +63,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
@@ -92,18 +89,20 @@ jobs:
- name: Upload packages to subatomic
if: github.event_name == 'push'
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success() && github.event_name == 'push'
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
version: ["rawhide"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || 'ubuntu-22.04' }}
container:
image: registry.fedoraproject.org/fedora-minimal:${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
+3 -10
View File
@@ -21,7 +21,7 @@ jobs:
pkgs: ${{ steps.parsing.outputs.pkgs }}
builder: ${{ inputs.custom_builder }}
arch: ${{ steps.parsing.outputs.arch }}
runs-on: "ubuntu-latest"
runs-on: ubuntu-22.04
steps:
- name: Parse Input
id: parsing
@@ -47,7 +47,7 @@ jobs:
version: ["rawhide"]
arch: ${{ fromJson(needs.parse.outputs.arch) }}
fail-fast: false
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-latest' }}
runs-on: ${{ matrix.arch == 'aarch64' && 'ARM64' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-22.04' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
@@ -60,15 +60,8 @@ jobs:
- name: Set up git repository
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: CI Setup Script
run: |
dir=${{ matrix.pkg }}
if [ -f $dir/ci_setup.rhai ]; then
anda run $dir/ci_setup.rhai --labels script_path=$dir/ci_setup.rhai
fi
- name: Build with Andaman
run: anda build -rrpmbuild anda/${{ matrix.pkg }}pkg
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/${{ matrix.pkg }}pkg
- name: Generating artifact name
id: art
+8 -4
View File
@@ -13,7 +13,7 @@ jobs:
pkg: ${{ fromJson(inputs.packages) }}
version: ["rawhide"]
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-latest' }}
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || 'ubuntu-22.04' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
@@ -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
@@ -58,17 +60,19 @@ jobs:
- name: Upload packages to subatomic
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }} anda-build/rpm/rpms/*
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
run: |
subrepo="${{ matrix.pkg.labels.subrepo }}"
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
terra${{ matrix.version }}${{ matrix.pkg.labels['extra'] && '-extras' }}-source anda-build/rpm/srpm/*
terra${{ matrix.version }}${{ matrix.pkg.labels['subrepo'] && '-$subrepo' || '' }}-source anda-build/rpm/srpm/*
- name: Notify Madoguchi (Success)
if: success()
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
backport:
name: Backport/sync PR
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
if: github.event.pull_request.merged
steps:
- name: Install SSH signing key
+1 -1
View File
@@ -6,7 +6,7 @@ on:
jobs:
autoupdate:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
strategy:
matrix:
branch:
+1 -1
View File
@@ -13,7 +13,7 @@ on:
jobs:
update-comps:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
container:
image: ghcr.io/terrapkg/builder:frawhide
steps:
+1 -1
View File
@@ -6,7 +6,7 @@ on:
jobs:
autoupdate:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
+3 -3
View File
@@ -1,12 +1,12 @@
name: Weekly Update
on:
schedule:
- cron: "0 0 * * 0"
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
@@ -25,7 +25,7 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Weekly Update
run: anda update --filters weekly=1
run: anda update --filters weekly=$(date "+%w")
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
+1 -1
View File
@@ -6,7 +6,7 @@ on:
jobs:
autoupdate:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
+5
View File
@@ -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
+1
View File
@@ -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.571
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.552
Version: 0.0.571
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.78
Version: 0.0.80
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.124
Version: 0.0.126
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.124
Version: 0.0.126
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers.
URL: https://discord.com
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord
Version: 0.0.78
Version: 0.0.80
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
+2 -2
View File
@@ -1,5 +1,5 @@
%global commit 0adf894b4519824682b6e0886fa1c6853c9b7344
%global commit_date 20250102
%global commit 18e5670d90c1277f09705d4c04585078ebff1bf6
%global commit_date 20250113
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision
+7 -10
View File
@@ -1,23 +1,19 @@
%global commit d530f26d60dc105e44fdc8ac7f30a2f667bc1e4f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241224
Name: fontviewer
Version: %{commit_date}.git~%{shortcommit}
Epoch: 1
Version: 1.1.0
Release: 1%?dist
Summary: View and install fonts
License: GPL-2.0
URL: https://github.com/chocolateimage/%{name}
Source0: %{url}/archive/%{commit}.tar.gz
Source0: %{url}/archive/v%{version}.tar.gz
BuildRequires: gcc-c++
BuildRequires: meson
BuildRequires: pkgconfig(cairomm-1.0)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtkmm-3.0)
BuildRequires: pkgconfig(libcurl)
BuildRequires: json-glib-devel
Requires: gtk3 fontconfig
@@ -27,7 +23,7 @@ Packager: sadlerm <sad_lerm@hotmail.com>
A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%prep
%autosetup -n %{name}-%{commit} -p1
%autosetup
%build
%meson
@@ -41,3 +37,4 @@ A platform-agnostic GTK+ 3 alternative to GNOME's Font Viewer
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/actions/%{name}-google-symbolic.svg
+4 -5
View File
@@ -1,5 +1,4 @@
# rpm.global("commit", gh_commit("chocolateimage/fontviewer"));
# if rpm.changed() {
# rpm.release();
# rpm.global("commit_date", date());
# }
rpm.version(gh("chocolateimage/fontviewer"));
if rpm.changed() {
rpm.release();
}
@@ -1,5 +1,5 @@
%global commit b070545d1289e66a02eff10aa2bf5f440eb16aeb
%global commit_date 20250101
%global commit 85c7990b511fb7099d5d460aa07051be6638f767
%global commit_date 20250115
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%define debug_package %nil
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 50042f5ee094a36e38f9ea809408e0b5cbf3b874
%global commit ca211b5b8830a74fecae115ba18b62878348342c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250101
%global commit_date 20250111
%global ver 0.39.0
Name: mpv-nightly
+2 -2
View File
@@ -1,6 +1,6 @@
--- a/desktop/packages/linux/rs.ruffle.Ruffle.desktop
+++ b/desktop/packages/linux/rs.ruffle.Ruffle.desktop
@@ -47,7 +47,7 @@ Comment[zh_CN]=播放 Flash 游戏和动画
@@ -54,7 +54,7 @@ Comment[zh_CN]=播放 Flash 游戏和动画
Comment[zh_TW]=播放 Flash 遊戲和動畫
Comment=Play Flash games & movies
Icon=rs.ruffle.Ruffle
@@ -8,4 +8,4 @@
+Exec=ruffle_desktop %u
MimeType=application/x-shockwave-flash;application/vnd.adobe.flash.movie
Categories=AudioVideo;Player;Graphics;Viewer;VectorGraphics;Game
Keywords[ar]=الفلاش;swf;مشغل;محاكي;رَسْت
Keywords[ar]=الفلاش;swf;مشغل;محاكي
+1 -1
View File
@@ -1,4 +1,4 @@
%global ver 2025-01-02
%global ver 2025-01-17
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "sticky.spec"
}
}
@@ -0,0 +1,9 @@
diff --git a/usr/bin/sticky b/usr/bin/sticky
index 7425e9c..a00e755 100755
--- a/usr/bin/sticky
+++ b/usr/bin/sticky
@@ -1,3 +1,3 @@
#!/bin/bash
-/usr/lib/sticky/sticky.py $*
+/usr/lib/python3*/site-packages/sticky/sticky.py $*
@@ -0,0 +1,9 @@
diff --git a/meson.build b/meson.build
index b25d642..435a6f0 100644
--- a/meson.build
+++ b/meson.build
@@ -17,4 +17,3 @@ subdir('po')
install_subdir('etc', install_dir: sysconfdir, strip_directory: true)
install_subdir('usr', install_dir: prefix, strip_directory: true)
-meson.add_install_script('meson/meson-postinstall.sh')
+62
View File
@@ -0,0 +1,62 @@
%global debug_package %{nil}
Name: sticky
Version: 1.24
Release: 1%{?dist}
Summary: A sticky notes app for the Linux desktop
License: GPL-2.0
URL: https://github.com/linuxmint/sticky
Source0: %{url}/archive/%{version}.tar.gz
Patch0: remove-meson-postinstall-script.patch
Patch1: point-executable-to-sitepackages-directory.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: meson
BuildRequires: gettext-devel
Requires: python3
Requires: glib2
Requires: gspell
Requires: gtk3
Requires: python3-gobject-base
Requires: python3-xapp
Requires: xapps
Packager: sadlerm <sad_lerm@hotmail.com>
%description
Sticky is a note-taking app for the Linux desktop that simulates traditional "sticky note" style stationery on your desktop. Some of its features include basic text formatting (bold, italics, monospaced, etc.), spell-checking, a tray icon for controlling note visibility, color notes, manual and automatic backups, and a manager to organize your notes into groups.
%prep
%autosetup -p1
%build
%meson
%meson_build
%install
%meson_install
mkdir -p %{buildroot}%{python3_sitelib}
mv -v %{buildroot}%{_prefix}/lib/%{name} %{buildroot}%{python3_sitelib}/%{name}
%files
%license COPYING
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/glib-2.0/schemas/org.x.%{name}.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/%{name}*.svg
%{_datadir}/icons/hicolor/scalable/status/%{name}*.svg
%{_datadir}/locale/*/LC_MESSAGES/%{name}.mo
%{_datadir}/%{name}/*
%{_sysconfdir}/xdg/autostart/%{name}.desktop
%{_datadir}/dbus-1/services/org.x.%{name}.service
%{python3_sitelib}/%{name}/*.py
%{python3_sitelib}/%{name}/__pycache__/*.pyc
%changelog
* Thu Jan 16 2025 sadlerm4 <sad_lerm@hotmail.com>
- Initial package
@@ -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
@@ -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
@@ -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
@@ -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
+8
View File
@@ -0,0 +1,8 @@
project pkg {
rpm {
spec = "switcheroo-control.spec"
}
labels {
subrepo = "extras"
}
}
@@ -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 -1
View File
@@ -13,7 +13,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: voicevox
Version: 0.22.3
Version: 0.22.4
Release: 1%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
+1 -1
View File
@@ -5,7 +5,7 @@
%global pnpm npx pnpm@%{pnpm_version}
Name: youtube-music
Version: 3.7.1
Version: 3.7.2
Release: 1%?dist
Summary: YouTube Music Desktop App bundled with custom plugins (and built-in ad blocker / downloader)
Source1: youtube-music.desktop
+1 -1
View File
@@ -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
@@ -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
@@ -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
@@ -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
+8
View File
@@ -0,0 +1,8 @@
project pkg {
rpm {
spec = "gnome-shell.spec"
}
labels {
subrepo = "extras"
}
}
File diff suppressed because it is too large Load Diff
+227
View File
@@ -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
@@ -0,0 +1,30 @@
From 0cc287336b32e601e70b26d60d9335abde538a18 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Mon, 16 Oct 2023 17:57:16 -0700
Subject: [PATCH] Give the kuriikwsfiltereng_private a VERSION and SOVERSION
(#26)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
---
src/urifilters/ikws/CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/urifilters/ikws/CMakeLists.txt b/src/urifilters/ikws/CMakeLists.txt
index 7d42584c3..393588993 100644
--- a/src/urifilters/ikws/CMakeLists.txt
+++ b/src/urifilters/ikws/CMakeLists.txt
@@ -1,6 +1,11 @@
add_subdirectory(searchproviders)
add_library(kuriikwsfiltereng_private kuriikwsfiltereng.cpp searchprovider.cpp searchproviderregistry.cpp)
+set_target_properties(kuriikwsfiltereng_private PROPERTIES
+ VERSION ${KIO_VERSION}
+ SOVERSION ${KIO_SOVERSION}
+ EXPORT_NAME kuriikwsfiltereng_private
+)
generate_export_header(kuriikwsfiltereng_private) # We need this to be a shared lib, because otherwise we have duplicate Q_GLOBAL_STATICs
target_link_libraries(kuriikwsfiltereng_private PUBLIC KF6::KIOGui)
install(TARGETS kuriikwsfiltereng_private ${KF_INSTALL_TARGETS_DEFAULT_ARGS})
--
2.41.0
+290
View File
@@ -0,0 +1,290 @@
From 7b1154d235f752b9fd1797f87861f11ef89d5d7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Thu, 15 Feb 2024 14:38:21 +0100
Subject: [PATCH 1/7] Improve discrete GPU detection using switcheroo-control
---
src/gui/gpudetection.cpp | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index ef246d3936..695bf27a1e 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,6 +62,40 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
+ if (gpus.length() < 2) {
+ // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
+ return false;
+ }
+
+ // Check if the Default GPU is Discrete
+ for (const auto &gpu : gpus) {
+ bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
+ if (defaultGpu) {
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
+ if (discreteGpu) {
+ // If the default GPU is Discret there is no need to apply the env vars
+ s_gpuCheck = GpuCheck::Present;
+ return true;
+ }
+ break;
+ }
+ }
+
+ // Find the first Discrete GPU
+ for (const auto &gpu : gpus) {
+ bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
+ if (!discreteGpu) {
+ s_gpuCheck = GpuCheck::Present;
+ QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
+ }
+ return true;
+ }
+ }
+
+ // fallback to old behavior
+ // find the first non-Default GPU
for (const auto &gpu : gpus) {
bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
if (!defaultGpu) {
--
GitLab
From 29c056a6a71b0de226369c03d02f47ab56a7877a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 21 Feb 2024 15:57:28 +0100
Subject: [PATCH 2/7] make gpus length comparison easier to reade
---
src/gui/gpudetection.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index 695bf27a1e..dfe6a9982b 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,7 +62,7 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
- if (gpus.length() < 2) {
+ if (gpus.length() <= 1) {
// Skip checking for Default or Discrete GPUs when 1 or no GPU is available
return false;
}
--
GitLab
From afc22129301ac2e33673ce9415b1e0d329a57c59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 21 Feb 2024 16:27:05 +0100
Subject: [PATCH 3/7] lookup needed GPU entries in a single loop
---
src/gui/gpudetection.cpp | 56 +++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 33 deletions(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index dfe6a9982b..57436e4789 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -67,45 +67,35 @@ static bool checkGpuWithSwitcheroo()
return false;
}
- // Check if the Default GPU is Discrete
- for (const auto &gpu : gpus) {
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
- if (defaultGpu) {
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
- if (discreteGpu) {
- // If the default GPU is Discret there is no need to apply the env vars
- s_gpuCheck = GpuCheck::Present;
- return true;
- }
- break;
+ QVariantMap defaultGpu;
+ QVariantMap firstDiscreteGpu;
+ QVariantMap firstNonDefaultGpu;
+
+ for (const auto &gpu : std::as_const(gpus)) {
+ if (defaultGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Default")])) {
+ defaultGpu = gpu;
+ } else if (firstNonDefaultGpu.isEmpty()) {
+ firstNonDefaultGpu = gpu;
+ }
+ if (firstDiscreteGpu.isEmpty() && qvariant_cast<bool>(gpu[QStringLiteral("Discrete")])) {
+ firstDiscreteGpu = gpu;
}
}
- // Find the first Discrete GPU
- for (const auto &gpu : gpus) {
- bool discreteGpu = qvariant_cast<bool>(gpu.value(QStringLiteral("Discrete"), false));
- if (!discreteGpu) {
- s_gpuCheck = GpuCheck::Present;
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
- for (int i = 0; i + 1 < envList.size(); i += 2) {
- s_gpuEnv.insert(envList[i], envList[i + 1]);
- }
- return true;
- }
+ if (!defaultGpu.isEmpty() && defaultGpu[QStringLiteral("Discrete")].toBool()) {
+ // If the default GPU is discrete we don't need to check for another device or apply special env vars
+ s_gpuCheck = GpuCheck::Present;
+ return true;
}
- // fallback to old behavior
- // find the first non-Default GPU
- for (const auto &gpu : gpus) {
- bool defaultGpu = qvariant_cast<bool>(gpu[QStringLiteral("Default")]);
- if (!defaultGpu) {
- s_gpuCheck = GpuCheck::Present;
- QStringList envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
- for (int i = 0; i + 1 < envList.size(); i += 2) {
- s_gpuEnv.insert(envList[i], envList[i + 1]);
- }
- return true;
+ // Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
+ for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
+ s_gpuCheck = GpuCheck::Present;
+ auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
+ for (int i = 0; i + 1 < envList.size(); i += 2) {
+ s_gpuEnv.insert(envList[i], envList[i + 1]);
}
+ return true;
}
#endif
--
GitLab
From d05cabb8e3e4aa60c8453edc0f6231d9bcb6d64e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 21 Feb 2024 16:27:25 +0100
Subject: [PATCH 4/7] correct absent gpu comment
---
src/gui/gpudetection.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index 57436e4789..bbef5ba8f2 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -99,7 +99,7 @@ static bool checkGpuWithSwitcheroo()
}
#endif
- // No non-default GPU found
+ // No discrete or non-default GPU found
s_gpuCheck = GpuCheck::Absent;
return true;
}
--
GitLab
From 7f9f76ce9bb472b54bf7297b8b5c078eb0c194c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Thu, 22 Feb 2024 08:33:19 +0100
Subject: [PATCH 5/7] check exact GPU count and fallback to solid when none are
found
---
src/gui/gpudetection.cpp | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index bbef5ba8f2..d3bf895ea5 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,9 +62,15 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
- if (gpus.length() <= 1) {
- // Skip checking for Default or Discrete GPUs when 1 or no GPU is available
+ auto gpu_count = gpus.length();
+
+ if (gpu_count == 0) {
+ // No GPUs? Something might have gone wrong on the other end
return false;
+ } else if (gpu_count == 1) {
+ // There is only one GPU, no need to check for others
+ s_gpuCheck = GpuCheck::Absent;
+ return true;
}
QVariantMap defaultGpu;
--
GitLab
From 87ca7b125be15963c45867705f4b75e40b379437 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Wed, 4 Sep 2024 23:58:18 +0000
Subject: [PATCH 6/7] Simplify GPU count check
---
src/gui/gpudetection.cpp | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index d3bf895ea5..5e8450f2f9 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -62,12 +62,10 @@ static bool checkGpuWithSwitcheroo()
QList<QVariantMap> gpus;
arg >> gpus;
- auto gpu_count = gpus.length();
-
- if (gpu_count == 0) {
+ if (gpus.isEmpty()) {
// No GPUs? Something might have gone wrong on the other end
return false;
- } else if (gpu_count == 1) {
+ } else if (gpus.size() == 1) {
// There is only one GPU, no need to check for others
s_gpuCheck = GpuCheck::Absent;
return true;
--
GitLab
From 1920a2ea3b67331b419fc19a377b57a36466fb9f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Dr=C3=B6gehoff?= <sentrycraft123@gmail.com>
Date: Thu, 5 Sep 2024 02:01:41 +0200
Subject: [PATCH 7/7] Fix non default GPU fallback
---
src/gui/gpudetection.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/gui/gpudetection.cpp b/src/gui/gpudetection.cpp
index 5e8450f2f9..2f5547ab8f 100644
--- a/src/gui/gpudetection.cpp
+++ b/src/gui/gpudetection.cpp
@@ -94,6 +94,9 @@ static bool checkGpuWithSwitcheroo()
// Otherwise prefer the discrete GPU over any other random non-default GPU (legacy behavior)
for (const auto &gpu : {firstDiscreteGpu, firstNonDefaultGpu}) {
+ if (gpu.isEmpty()) {
+ continue;
+ }
s_gpuCheck = GpuCheck::Present;
auto envList = qvariant_cast<QStringList>(gpu[QStringLiteral("Environment")]);
for (int i = 0; i + 1 < envList.size(); i += 2) {
--
GitLab
@@ -0,0 +1,34 @@
From 6e7775d315f389df0a440ed62b842ce83dc9a27e Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@gmx.de>
Date: Fri, 1 Mar 2024 22:16:07 +0100
Subject: [PATCH] [kterminallauncherjob] Inherit default process environment
from parent
Before Qt 6.3, an empty (default constructed) QProcessEnvironment caused
QProcess to incorrectly inherit the environment variables from the parent
process. This was fixed in qtbase 5fc9c02a695.
CommandLauncherJob was adjusted for this in 916984940f64e07db9b4d152be9f2a87dda0cfb4,
however here we are overriding its default env with our own default-constructed one
BUG: 482107
---
src/gui/kterminallauncherjob.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/kterminallauncherjob.cpp b/src/gui/kterminallauncherjob.cpp
index c4e83fb11b..edd99327bd 100644
--- a/src/gui/kterminallauncherjob.cpp
+++ b/src/gui/kterminallauncherjob.cpp
@@ -22,7 +22,7 @@ public:
QString m_fullCommand; // "xterm -e ls"
QString m_desktopName;
QByteArray m_startupId;
- QProcessEnvironment m_environment;
+ QProcessEnvironment m_environment{QProcessEnvironment::InheritFromParent};
};
KTerminalLauncherJob::KTerminalLauncherJob(const QString &command, QObject *parent)
--
GitLab
+8
View File
@@ -0,0 +1,8 @@
project pkg {
rpm {
spec = "kf6-kio.spec"
}
labels {
subrepo = "extras"
}
}
+321
View File
@@ -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,6 +1,6 @@
%global forgeurl https://github.com/KDE/latte-dock/
%global commit f79594dd01d4ff4d7e86ac7bf70d1c371d6d9e4e
%global commit a53f381352dae5319cb159692aa8a83574963a5c
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date %(date '+%Y%m%d')
%global snapshot_info %{commit_date}.%{shortcommit}
@@ -3,8 +3,8 @@
%forgemeta
Name: lomiri-api
Version: 0.2.1
Release: 2%{?dist}
Version: 0.2.2
Release: 1%?dist
Summary: API for Lomiri
License: LGPL-3.0-or-later
@@ -1,10 +1,10 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-app-launch
%global commit a057a37b56b96efddc7f42577407a3a08a0575cf
%global commit 59b299a43db2443152b0dbe48d14bfc72d205e8b
%forgemeta
Name: lomiri-app-launch
Version: 0.1.9
Release: 1%{?dist}
Version: 0.1.11
Release: 1%?dist
Summary: Provides the Lomiri App Launch user space daemon
License: GPL-3.0
URL: https://gitlab.com/ubports/development/core/lomiri-app-launch
@@ -1,10 +1,10 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-indicator-network
%global commit a4522caf548d7e7f63f98f9e5c98314ee8d4c8fb
%global commit 8393f80825de7447a5567a90d3725b469fae471b
%forgemeta
Name: lomiri-indicator-network
Version: 1.0.2
Release: 1%{?dist}
Version: 1.1.0
Release: 1%?dist
Summary: The Network indicator for Ubuntu Touch
License: GPL-3.0 AND LGPL-3.0
URL: https://gitlab.com/ubports/development/core/lomiri-indicator-network
@@ -1,10 +1,10 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-settings-components
%global commit 2bd84b9a59563dce7a791e0c882e2533ecdd4812
%global commit 8be505f0a54e9803adcaa20fefe334b3c3b7d4e7
%forgemeta
Name: lomiri-settings-components
Version: 1.1.1
Release: 1%{?dist}
Version: 1.1.2
Release: 1%?dist
Summary: The system settings components for Lomiri
License: GPLv3 AND LGPLv3
URL: https://gitlab.com/ubports/development/core/lomiri-settings-components
@@ -1,9 +1,9 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
%global commit 18b736c807b3df5f66ced8ee6dc9aaf3ce5e1c28
%global commit c486a2da7bbf8edc3d1514506a7524de45ecdf67
%forgemeta
Name: lomiri-system-settings
Version: 1.2.0
Version: 1.3.0
Release: 1%?dist
Summary: The system settings application for Lomiri
License: GPLv3
@@ -1,9 +1,9 @@
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-ui-toolkit
%global commit 8f490672f9853278b0aec6435a68d56b9eaf8207
%global commit 4111d119b21d58754f8b4bcaa7665cab7263be00
%forgemeta
Name: lomiri-ui-toolkit
Version: 1.3.5100
Version: 1.3.5110
Release: 1%?dist
Summary: QML components to ease the creation of beautiful applications in QML for Lomiri
@@ -1,8 +1,8 @@
%define _ubuntu_rel 8ubuntu1
%define _ubuntu_rel 1ubuntu1
Name: unity-session
Summary: Lightdm profile for Unity 7
Version: 46.0
Version: 47.0.1
Release: 1%?dist
License: GPL-2.0
@@ -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
@@ -1,5 +1,5 @@
project pkg {
rpm {
spec = "x264.spec"
spec = "eww.spec"
}
}
+89
View File
@@ -0,0 +1,89 @@
# Generated by rust2rpm 27
%global commit 593a4f4666f0bc42790d6d033e64a2b38449090f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250115
%global ver 0.6.0
%bcond check 0
Name: eww
Version: %ver^%commit_date.git~%shortcommit
Release: %autorelease
Summary: Widgets for everyone!
SourceLicense: MIT
License: MIT
URL: https://elkowar.github.io/eww
Source0: https://github.com/elkowar/eww/archive/%commit.tar.gz
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: anda-srpm-macros
BuildRequires: pkgconfig(dbusmenu-gtk3-0.4)
BuildRequires: pkgconfig(gtk-layer-shell-0)
Requires: (%name-x11 or %name-wayland)
%global _description %{expand:
Widgets for everyone!.}
%description %{_description}
%package x11
Summary: eww for x11
Conflicts: eww-wayland
SourceLicense: MIT
License: (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND ISC AND LGPL-3.0-only AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT)
RemovePathPostFixes: .x11
%description x11 %{_description}
%package wayland
Summary: eww for wayland
Conflicts: eww-x11
SourceLicense: MIT
License: (0BSD OR MIT OR Apache-2.0) AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND ISC AND LGPL-3.0-only AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND (Unlicense OR MIT)
RemovePathPostFixes: .wayland
%description wayland %{_description}
%prep
%autosetup -n eww-%{commit} -p1
%cargo_prep_online
%build
%{cargo_license_summary_online -n -f x11}
%{cargo_license_online -n -f x11} > LICENSE.dependencies.x11
%{cargo_license_summary_online -n -f wayland}
%{cargo_license_online -n -f wayland} > LICENSE.dependencies.wayland
%cargo_build -n -f x11
mv target/rpm/eww target/rpm/eww.x11
mv target/rpm/eww.d target/rpm/eww.d.x11
%cargo_build -n -f wayland
mv target/rpm/eww target/rpm/eww.wayland
mv target/rpm/eww.d target/rpm/eww.d.wayland
%install
install -Dpm755 target/rpm/eww.* -t %buildroot%_bindir
%if %{with check}
%check
%cargo_test
%endif
%files
%license LICENSE
%doc CHANGELOG.md
%doc README.md
%doc YUCK_MIGRATION.md
%files x11
%license LICENSE.dependencies.x11
%{_bindir}/eww.x11
%{_bindir}/eww.d.x11
%files wayland
%license LICENSE.dependencies.wayland
%{_bindir}/eww.wayland
%{_bindir}/eww.d.wayland
%changelog
%autochangelog
+6
View File
@@ -0,0 +1,6 @@
rpm.global("commit", gh_commit("elkowar/eww"));
if rpm.changed() {
rpm.global("ver", gh("elkowar/eww"));
rpm.global("commit_date", date());
rpm.release();
}
+2 -2
View File
@@ -57,7 +57,7 @@ Zsh command-line completion support for %{name}.
%install
%{cargo_install} &
(cd daemon && %{cargo_install} &)
cd daemon && %{cargo_install} &
wait
install -Dm644 -T completions/swww.bash %buildroot%bash_completions_dir/swww
install -Dm644 -T completions/swww.fish %buildroot%fish_completions_dir/swww.fish
@@ -68,7 +68,7 @@ install -Dm644 -t %buildroot%_mandir/man1 doc/generated/swww*1
%doc CHANGELOG.md README.md
%license LICENSE LICENSE.dependencies
%_bindir/swww
%dnl %_bindir/swww-daemon
%_bindir/swww-daemon
%_mandir/man1/%name-clear-cache.1.gz
%_mandir/man1/%name-clear.1.gz
%_mandir/man1/%name-daemon.1.gz
@@ -10,7 +10,7 @@
# https://github.com/abenz1267/walker
%global goipath github.com/abenz1267/walker
Version: 0.11.13
Version: 0.12.3
%gometa -f
+1 -1
View File
@@ -7,7 +7,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: asar
Version: 3.2.17
Version: 3.2.18
Release: 1%?dist
Summary: Simple extensive tar-like archive format with indexing
License: MIT
@@ -1,5 +1,5 @@
Name: terra-blueprint-compiler
Version: 0.14.0
Version: 0.16.0
Release: 1%?dist
License: LGPL-3.0-or-later
Summary: Markup language for GTK user interfaces
+1 -1
View File
@@ -12,7 +12,7 @@
%endif
Name: codium
Version: 1.96.2.24355
Version: 1.96.4.25017
Release: 1%?dist
Summary: Code editing. Redefined.
License: MIT
+2 -2
View File
@@ -1,6 +1,6 @@
%global commit 233e881f95de8f6449e6d22904c55ec8e2192c24
%global commit 0eec33c35ea85a33de8a5fa9be363278db79ea3f
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20241225
%global commit_date 20250118
Name: flow-control-nightly
Version: %commit_date.%shortcommit
+1 -1
View File
@@ -1,5 +1,5 @@
Name: flutter
Version: 3.27.1
Version: 3.27.2
Release: 1%?dist
Summary: SDK for crafting beautiful, fast user experiences from a single codebase
License: BSD-3-Clause
+15 -9
View File
@@ -1,19 +1,20 @@
%global commit 94599102e9fb8247af08cbbbcb7ee25e3d31e1bd
%global commit 72d085525b22d66468c5969a4d507a0fa68d4a04
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250102
%global commit_date 20250118
%global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV
%global cache_dir %{builddir}/zig-cache
Name: ghostty-nightly
Version: %{commit_date}.%{shortcommit}
Release: 1%?dist
Summary: A fast, native terminal emulator written in Zig; this is the Tip (nightly) build.
License: MIT AND MPL-2.0 AND OFL-1.1
License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0
URL: https://ghostty.org/
Source0: https://github.com/ghostty-org/ghostty/archive/%{commit}/ghostty-%{commit}.tar.gz
Patch0: no-strip.diff
Source0: https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz
Source1: https://github.com/ghostty-org/ghostty/releases/download/tip/ghostty-source.tar.gz.minisig
BuildRequires: gtk4-devel
BuildRequires: libadwaita-devel
BuildRequires: minisign
BuildRequires: ncurses
BuildRequires: ncurses-devel
BuildRequires: pandoc-cli
@@ -77,7 +78,8 @@ Supplements: %{name}
%summary.
%prep
%autosetup -n ghostty-%{commit} -p1
/usr/bin/minisign -V -m %{SOURCE0} -x %{SOURCE1} -P %{public_key}
%autosetup -n ghostty-source
# Download everything ahead of time so we can enable system integration mode
ZIG_GLOBAL_CACHE_DIR="%{cache_dir}" ./nix/build-support/fetch-zig-cache.sh
@@ -94,6 +96,7 @@ zig build \
--prefix-exe-dir "%{_bindir}" --prefix-include-dir "%{_includedir}" \
--verbose \
-Dcpu=baseline \
-Dstrip=false \
-Dpie=true \
-Demit-docs
@@ -105,9 +108,12 @@ zig build \
%_datadir/bat/syntaxes/ghostty.sublime-syntax
%_datadir/ghostty/
%_datadir/kio/servicemenus/com.mitchellh.ghostty.desktop
%_datadir/nautilus-python/extensions/com.mitchellh.ghostty.py
%_datadir/nvim/site/compiler/ghostty.vim
%_datadir/nvim/site/ftdetect/ghostty.vim
%_datadir/nvim/site/ftplugin/ghostty.vim
%_datadir/nvim/site/syntax/ghostty.vim
%_datadir/vim/vimfiles/compiler/ghostty.vim
%_datadir/vim/vimfiles/ftdetect/ghostty.vim
%_datadir/vim/vimfiles/ftplugin/ghostty.vim
%_datadir/vim/vimfiles/syntax/ghostty.vim
@@ -150,8 +156,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
-17
View File
@@ -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 -4
View File
@@ -5,9 +5,9 @@
Name: ghostty
Version: 1.0.1
Release: 3%{?dist}
Release: 5%{?dist}
Summary: A fast, native terminal emulator written in Zig.
License: MIT AND MPL-2.0 AND OFL-1.1
License: MIT AND MPL-2.0 AND OFL-1.1 AND (WTFPL OR CC0-1.0) AND Apache-2.0
URL: https://ghostty.org/
Source0: https://release.files.ghostty.org/%{version}/ghostty-%{version}.tar.gz
Source1: https://release.files.ghostty.org/%{version}/ghostty-%{version}.tar.gz.minisig
@@ -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
@@ -151,8 +152,8 @@ zig build \
%changelog
* Tue Dec 31 2024 ShinyGil <rockgrub@protonmail.com>
- Update to 1.0.1
* 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 -1
View File
@@ -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
+2 -1
View File
@@ -49,10 +49,11 @@ It consists of:
%{_mandir}/man5/rgbds.5.*
%{_mandir}/man5/rgbasm.5.*
%{_mandir}/man5/rgblink.5.*
%{_mandir}/man5/rgbasm-old.5.gz
%{_mandir}/man7/rgbds.7.*
%{_mandir}/man7/gbz80.7.*
%license LICENSE
%doc README.rst
%doc README.md
%changelog
%autochangelog
+3 -3
View File
@@ -1,7 +1,7 @@
%global commit c11bde7bf4e428be7639aaf9ffc7ea3dc5becf16
%global commit bf0578e32a44a43d7626dafd5c31851dc571ddba
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250102
%global ver 0.169.0
%global commit_date 20250118
%global ver 0.171.0
%bcond_with check
+1 -1
View File
@@ -1,6 +1,6 @@
%bcond_with check
%global ver 0.168.0-pre
%global ver 0.170.0-pre
# Exclude input files from mangling
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
# Use Mold as the linker
+1 -1
View File
@@ -9,7 +9,7 @@
%global app_id dev.zed.Zed
Name: zed
Version: 0.167.1
Version: 0.169.2
Release: 1%?dist
Summary: Zed is a high-performance, multiplayer code editor
+1 -1
View File
@@ -7,7 +7,7 @@
# https://github.com/containerd/containerd
%global goipath github.com/containerd/containerd
Version: 2.0.1
Version: 2.0.2
%gometa
+1 -1
View File
@@ -1,7 +1,7 @@
%define debug_package %{nil}
Name: moby-compose
Version: 2.32.1
Version: 2.32.4
Release: 1%?dist
Summary: Define and run multi-container applications with Docker
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "kmod-v4l2loopback.spec"
}
}
@@ -1,129 +0,0 @@
# https://github.com/rpmfusion/v4l2loopback-kmod/blob/master/v4l2loopback-kmod.spec
%if 0%{?fedora}
%global buildforkernels akmod
%endif
%if 0%{?el9}
# kmod fails on rhel9 kernel with aarch64 - just build an akmod there
%ifarch aarch64
%global buildforkernels akmod
%endif
%endif
%global debug_package %{nil}
%global commit 2c9b67072b15d903fecde67c7f269abeafee4c25
%global commitdate 20230503
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global prjname v4l2loopback
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.13.2
Release: 1%{?dist}
License: GPLv2+
URL: https://github.com/umlaeute/v4l2loopback
Source0: %{url}/archive/v%{version}/%{prjname}-%{version}.tar.gz
Source1: v4l2loopback-kmod.spec
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
BuildRequires: kmodtool
%dnl %{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
# kmodtool does its magic here
%{expand:%(kmodtool --target %{_target_cpu} --repo terra --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
%description
This module allows you to create "virtual video devices". Normal (v4l2)
applications will read these devices as if they were ordinary video
devices, but the video will not be read from e.g. a capture card but
instead it is generated by another application.
This package contains the kmod module for %{prjname}.
%prep
# HACK: put that spec into the specdir
cp %SOURCE1 %_specdir/
# error out if there was something wrong with kmodtool
%{?kmodtool_check}
# print kmodtool output for debugging purposes:
kmodtool --target %{_target_cpu} --repo terra --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
%setup -q -c
(cd v4l2loopback-%{version}
#patch -P 0 -p1
)
for kernel_version in %{?kernel_versions} ; do
cp -a v4l2loopback-%{version} _kmod_build_${kernel_version%%___*}
done
%build
for kernel_version in %{?kernel_versions} ; do
make V=1 %{?_smp_mflags} -C ${kernel_version##*___} M=${PWD}/_kmod_build_${kernel_version%%___*} modules
done
%install
for kernel_version in %{?kernel_versions}; do
mkdir -p %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
install -D -m 755 _kmod_build_${kernel_version%%___*}/v4l2loopback.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/*.ko
done
%{?akmod_install}
%changelog
* Fri Sep 27 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.13.2-1
- Update to 0.13.2
* Fri Aug 02 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.13.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Mar 21 2024 Leigh Scott <leigh123linux@gmail.com> - 0.13.1-1
- Update to 0.13.1
* Sun Feb 04 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.7^20230503g2c9b670-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Nov 24 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.12.7^20230503g2c9b670-3
- Rebuilt
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.7^20230503g2c9b670-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 09 2023 Kate Hsuan <hpa@redhat.com> - 0.12.7-20230503g2c9b670-1
- Updated to commit 2c9b67072b15d903fecde67c7f269abeafee4c25
- The patch is used to prevent the value of byteused field becomes too large
* Thu Mar 02 2023 Kate Hsuan <hpa@redhat.com> - 0.12.7-20230220ga669686-1
- Updated to commit a66968647843f57448b59cf98d0318f1e98e072c
* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
* Fri Aug 05 2022 Leigh Scott <leigh123linux@gmail.com> - 0.12.7-1
- Update to 0.12.7
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 0.12.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 08 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.12.5-4
- rebuilt
* Tue Feb 23 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.12.5-3
- Bump spec
* Mon Feb 15 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.12.5-2
- Rework spec file
* Sat Dec 26 2020 Neal Gompa <ngompa13@gmail.com> - 0.12.5-1
- Initial packaging
@@ -1,125 +0,0 @@
%if 0%{?fedora}
%global buildforkernels akmod
%endif
%if 0%{?el9}
# kmod fails on rhel9 kernel with aarch64 - just build an akmod there
%ifarch aarch64
%global buildforkernels akmod
%endif
%endif
%global debug_package %{nil}
%global commit 2c9b67072b15d903fecde67c7f269abeafee4c25
%global commitdate 20230503
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global prjname v4l2loopback
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.13.2
Release: 1%{?dist}
License: GPLv2+
URL: https://github.com/umlaeute/v4l2loopback
Source0: %{url}/archive/v%{version}/%{prjname}-%{version}.tar.gz
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
BuildRequires: kmodtool
%{!?kernels:BuildRequires: buildsys-build-rpmfusion-kerneldevpkgs-%{?buildforkernels:%{buildforkernels}}%{!?buildforkernels:current}-%{_target_cpu} }
# kmodtool does its magic here
%{expand:%(kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null) }
%description
This module allows you to create "virtual video devices". Normal (v4l2)
applications will read these devices as if they were ordinary video
devices, but the video will not be read from e.g. a capture card but
instead it is generated by another application.
This package contains the kmod module for %{prjname}.
%prep
# error out if there was something wrong with kmodtool
%{?kmodtool_check}
# print kmodtool output for debugging purposes:
kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname} %{?buildforkernels:--%{buildforkernels}} %{?kernels:--for-kernels "%{?kernels}"} 2>/dev/null
%setup -q -c
(cd v4l2loopback-%{version}
#patch -P 0 -p1
)
for kernel_version in %{?kernel_versions} ; do
cp -a v4l2loopback-%{version} _kmod_build_${kernel_version%%___*}
done
%build
for kernel_version in %{?kernel_versions} ; do
make V=1 %{?_smp_mflags} -C ${kernel_version##*___} M=${PWD}/_kmod_build_${kernel_version%%___*} modules
done
%install
for kernel_version in %{?kernel_versions}; do
mkdir -p %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
install -D -m 755 _kmod_build_${kernel_version%%___*}/v4l2loopback.ko %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/
chmod a+x %{buildroot}%{kmodinstdir_prefix}/${kernel_version%%___*}/%{kmodinstdir_postfix}/*.ko
done
%{?akmod_install}
%changelog
* Fri Sep 27 2024 Nicolas Chauvet <kwizart@gmail.com> - 0.13.2-1
- Update to 0.13.2
* Fri Aug 02 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.13.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Mar 21 2024 Leigh Scott <leigh123linux@gmail.com> - 0.13.1-1
- Update to 0.13.1
* Sun Feb 04 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.7^20230503g2c9b670-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Nov 24 2023 Nicolas Chauvet <kwizart@gmail.com> - 0.12.7^20230503g2c9b670-3
- Rebuilt
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.7^20230503g2c9b670-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 09 2023 Kate Hsuan <hpa@redhat.com> - 0.12.7-20230503g2c9b670-1
- Updated to commit 2c9b67072b15d903fecde67c7f269abeafee4c25
- The patch is used to prevent the value of byteused field becomes too large
* Thu Mar 02 2023 Kate Hsuan <hpa@redhat.com> - 0.12.7-20230220ga669686-1
- Updated to commit a66968647843f57448b59cf98d0318f1e98e072c
* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
* Fri Aug 05 2022 Leigh Scott <leigh123linux@gmail.com> - 0.12.7-1
- Update to 0.12.7
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 0.12.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 0.12.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jun 08 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.12.5-4
- rebuilt
* Tue Feb 23 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.12.5-3
- Bump spec
* Mon Feb 15 2021 Nicolas Chauvet <kwizart@gmail.com> - 0.12.5-2
- Rework spec file
* Sat Dec 26 2020 Neal Gompa <ngompa13@gmail.com> - 0.12.5-1
- Initial packaging
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "x264-bootstrap.spec"
}
}
+2 -3
View File
@@ -1,8 +1,7 @@
project pkg {
arches = ["x86_64", "aarch64", "i386"]
rpm {
spec = "gamescope-legacy.spec"
}
labels {
multilib = 1
mock = 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
+3 -2
View File
@@ -1,9 +1,10 @@
project pkg {
arches = ["x86_64", "aarch64", "i386"]
rpm {
spec = "gamescope.spec"
}
labels {
multilib = 1
extra = 1
mock = 1
subrepo = "extras"
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
Name: inputplumber
Version: 0.40.0
Version: 0.40.1
Release: 1%?dist
Summary: Open source input router and remapper daemon for Linux
License: GPL-3.0-or-later
+1 -1
View File
@@ -1,5 +1,5 @@
Name: opengamepadui
Version: 0.35.5
Version: 0.35.7
Release: 1%?dist
Summary: Open source gamepad-native game launcher and overlay
@@ -1,11 +1,11 @@
%global real_name prismlauncher
%global nice_name PrismLauncher
%global commit 0b6ce5525dbe4d617788b740dc4fefc93bee0e5f
%global commit f17599c8b870072e2da759c85df060f7088bf388
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global libnbtplusplus_commit 23b955121b8217c1c348a9ed2483167a6f3ff4ad
%global commit_date 20241220
%global commit_date 20250118
%global snapshot_info %{commit_date}.%{shortcommit}
%bcond_without qt6
+1 -1
View File
@@ -22,7 +22,7 @@ Name: prismlauncher
%else
Name: prismlauncher-qt5
%endif
Version: 9.1
Version: 9.2
Release: 1%?dist
Summary: Minecraft launcher with ability to manage multiple instances
# see COPYING.md for more information

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