Compare commits

..

232 Commits

Author SHA1 Message Date
madonuko eb400dde58 add: unleashed-recompiled 2025-03-02 19:55:34 +08:00
Atmois c0f43d0177 feat(swayfx): package changes (#3574)
* Update packager email

* Bump swayVersion

* Update BuildRequires

* Move %package wallpapers

* Add patches

* Bump release
2025-03-02 17:54:33 +08:00
Gilver b535009b6e Fix: xpadneo and xone update scripts (#3641)
* New update scripts

* Add missing semicolons
2025-03-02 10:00:25 +08:00
Gilver f36c38bc07 chore: bulk update RockGrub specs (#3646) 2025-03-02 09:59:49 +08:00
Raboneko 475c86b3f8 bump(nightly): envision mpv nightly micro nightly vala-nightly 2025-03-02 01:43:19 +00:00
Raboneko c76bb10a04 bump: ruffle 2025-03-02 01:40:45 +00:00
Raboneko d2c7404174 bump: mise 2025-03-01 21:15:04 +00:00
madomado 64527b2d4e fix(klassy): 6.3.1 (#3557)
Signed-off-by: madomado <madonuko@outlook.com>
2025-03-01 13:37:49 -06:00
Raboneko 72f22827cb bump(branch): akmod dkms 2025-03-01 16:39:30 +00:00
Gilver 259d0957b1 feat: XPadNeo DKMS (#3539)
* The great refactoring

* Thanks Kate!! Didn't want to save that AT ALL

* Make those nightly

* Cleanup

* Oh

* ...

* Better license format

* updbranch

* Fixing up modules and deps

* Missed some deps

* Remove redundant `mkdir`s

Signed-off-by: Gilver <rockgrub@disroot.org>

* Move BuildArch, it bothered me

Signed-off-by: Gilver <rockgrub@disroot.org>

* Add no weak modules config to Fedora just in case

* LOL

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update xpadneo-kmod-common.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Inline modules file for better automated updates

* Macro

Signed-off-by: Gilver <rockgrub@disroot.org>

* Packager...?

* Requires

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-02 00:30:58 +08:00
Gilver e7076e1515 Change (openh264): Wildcard for sonames (#3629)
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-02 00:24:01 +08:00
Gilver d0f9c68d73 add: pokemon-colorscripts, krabby (#3573)
* Add: pokemon-colorscripts and Krabby

* Fixup macros

Signed-off-by: Gilver <rockgrub@disroot.org>

* Different install approach because `install` command is stupid

Signed-off-by: Gilver <rockgrub@disroot.org>

* That was...not correct

Signed-off-by: Gilver <rockgrub@disroot.org>

* Another `/`

Signed-off-by: Gilver <rockgrub@disroot.org>

* Better summary

Signed-off-by: Gilver <rockgrub@disroot.org>

* Remove `%cargo_build`

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-01 17:44:04 +08:00
madomado 17418a3b4c fix(xone-dkms,xone-akmod): not nightly (#3620)
* fix(xone-kmod,xone-akmod): not nightly

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

* Update anda.hcl

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

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-03-01 03:35:09 -06:00
Owen Zimmerman fb3e560d19 Fix: stardust server (#3595) 2025-03-01 16:50:22 +08:00
madomado 9e2b7c842a add: devpod (#2898)
* add: devpod

* Delete anda/langs/go/devpod/devpod.spec

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

* anda-srpm-macros

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

* bump

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

* rm go.sum?

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

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-03-01 16:46:53 +08:00
Gilver 1316b4798c Fix (YouTube Music): Vendor PNPM again (#3590)
* Vendor PNPM again

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump release

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-01 14:41:55 +08:00
Gilver 930b7a723b Fix (wl-kmod): Patches for kernels 6.13 and 6.14 (#3591)
* I don't think this is actually supposed to have an i686 build

Signed-off-by: Gilver <rockgrub@disroot.org>

* Add: 6.14 and 6.13 patches, EL9 ifcond

* Rel...

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-01 14:40:49 +08:00
Gilver 7fe8398d3b Fix: libayatana-common (#3594)
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-01 14:39:47 +08:00
Gilver d5b75da5e2 Fix: inputplumber (#3592)
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-03-01 14:38:03 +08:00
Raboneko 0364c45876 bump: lazygit 2025-03-01 03:00:50 +00:00
Raboneko 792b3c0ff6 bump(branch): astal-gtk 2025-03-01 02:41:23 +00:00
Raboneko d7a770d330 bump: discord-canary-openasar discord-canary ruffle inputplumber 2025-03-01 01:59:06 +00:00
Raboneko 992cbd64b1 bump(nightly): mwc nightly nightly nim-nightly astal rpi-utils 2025-03-01 01:44:32 +00:00
Raboneko 5b2df79e57 bump: libayatana-common 2025-02-28 21:22:02 +00:00
Raboneko 1ac08ff985 bump: lsp-dsp 2025-02-28 19:58:45 +00:00
Raboneko 134b9bb8d2 bump: voicevox inputplumber 2025-02-28 17:55:42 +00:00
Raboneko 9dad327643 bump: youtube-music 2025-02-28 15:34:51 +00:00
Raboneko 71b1b0d42f bump: v4l2loopback 2025-02-28 09:55:39 +00:00
Raboneko 749ef062f0 bump: yt-dlp 2025-02-28 06:46:29 +00:00
sadlerm4 c6ab8da620 fix: micro-nightly (#3563)
* fix: micro-nightly

spec cleanup
follow new terra go packaging guidelines
use crop() in update.rhai

* builddir is a sub

* ohhh
2025-02-28 13:32:02 +08:00
Raboneko 8901949b5a bump: groovy-docs groovy 2025-02-28 04:41:41 +00:00
Raboneko 04f2947e77 bump(branch): akmod dkms 2025-02-28 04:16:10 +00:00
Gilver 6cc25e8846 add: XONE (#3510)
* Add XONE files

* Fix stray 0

* Move to subfolder

Signed-off-by: Gilver <rockgrub@disroot.org>

* Move and fix kmod-common HCL

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update dkms-xone HCL

Signed-off-by: Gilver <rockgrub@disroot.org>

* Add nightly to Akmod HCL

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update license

* Change some macro weirdness, new update scripts

* Better folder name

* Switch firmware to LPF signed package

* Remove stray file

* Clean up LPF spec

* Add HCL

* What?

Signed-off-by: Gilver <rockgrub@disroot.org>

* Probably better

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update license

Signed-off-by: Gilver <rockgrub@disroot.org>

* ...

* Revert "Add HCL"

This reverts commit 1c9734891a.

* Revert "Probably better"

This reverts commit e8d4171b20.

* Revert "What?"

This reverts commit 6e184733f4.

* Revert "Clean up LPF spec"

This reverts commit af0550411d.

* Revert "Remove stray file"

This reverts commit 576887c17c.

* Revert LPF commits

* Revert "Switch firmware to LPF signed package"

This reverts commit 532607ef37.

* Remove weirdness from revert

* Update xone-kmod.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Add copy of TOU for licensing, post scriptlet, and remove weirdness that made Akmod uninstallable?

* Clean up files when done

* Explanation for fetching?

* Probably don't need to delete it afterwards

* updbranch

* Split firmware into subpackage for easier license distinction

* Modules fixes/additions

* shasum that thing because we LOVE security

* Oops

Signed-off-by: Gilver <rockgrub@disroot.org>

* Make conf file reflect source package better

Signed-off-by: Gilver <rockgrub@disroot.org>

* Tentatively add myself as packager despite being very new to kmods...?

* Laugh at this idiot, he forgot to macro

Signed-off-by: Gilver <rockgrub@disroot.org>

* Inline modules file for better automated updates

* Cleanup leftover comments I guess

* Requires

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-28 11:49:29 +08:00
madomado 54880438cb fix(astal-gtk): use %git_clone instead (#3566)
Signed-off-by: madomado <madonuko@outlook.com>
2025-02-28 11:38:55 +08:00
sadlerm4 861103b50c fix: owl/mwc (#3564)
* fix(owl): use meson and add scenefx dep

* fix(mwc): rename old package name

* avoid famine due to failed crop
2025-02-28 11:32:04 +08:00
Gilver 5a9ce7a02a Fix: NVIDIA Driver and NVIDIA Persistenced (#3571)
* sbin and the `%_{sbindir}` macro are obsolete

Signed-off-by: Gilver <rockgrub@disroot.org>

* Drop X11 for (RH)EL 10+, add missing file

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oh my God REL YOU IDIOT

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update nvidia-driver.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Rel...

Signed-off-by: Gilver <rockgrub@disroot.org>

* Unsure what happened but

Signed-off-by: Gilver <rockgrub@disroot.org>

* How did I mess up this bad

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update nvidia-driver.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-28 11:31:43 +08:00
sadlerm4 b8028dffa7 add: flashprog (#3565)
* add: flashprog

* add packager
2025-02-28 11:31:06 +08:00
Raboneko 2592c9727b bump: ruffle 2025-02-28 01:41:29 +00:00
Raboneko d65532a006 bump(nightly): owl nightly micro nightly nim-nightly telescope 2025-02-28 01:39:04 +00:00
Raboneko a176e271a7 bump: discord-canary-openasar discord-canary 2025-02-27 23:57:05 +00:00
Raboneko 7862ad84f3 bump: preview stable 2025-02-27 21:22:52 +00:00
Raboneko 28c06c98ee bump: compat-nvidia-repo nvidia-driver nvidia-kmod-common nvidia-kmod nvidia-modprobe nvidia-persistenced nvidia-settings nvidia-xconfig 2025-02-27 16:32:06 +00:00
Raboneko 53c6d06ebc bump: lomiri-system-settings 2025-02-27 08:30:48 +00:00
sadlerm4 5b25d489ca fix: arduino (#3562)
* fix(arduino-cli): follow terra and fedora go packaging guidelines

* fix(arduino-create-agent): follow terra and fedora go packaging guidelines

* oops

* time for me to nap

* uhh what

* fix(arduino-{fwuploader,language-server,lint}): follow terra and fedora go packaging guidelines

* fix: sources path

* install source dir
2025-02-27 13:47:42 +08:00
Raboneko 9eac4020d9 bump: srpm-macros 2025-02-27 04:28:22 +00:00
Raboneko 0678ae660a bump(branch): astal-gtk 2025-02-27 02:37:21 +00:00
Raboneko 0b9ff8ca8e bump(nightly): mpv nightly nightly nim-nightly astal nvidia-patch 2025-02-27 01:38:46 +00:00
Raboneko b9b557f829 bump: bun inputplumber 2025-02-27 01:20:05 +00:00
Raboneko d9fa5eb614 bump: preview 2025-02-26 23:55:28 +00:00
Raboneko bc62bbe17a bump: discord-canary-openasar discord-canary 2025-02-26 22:35:30 +00:00
Raboneko 9475f1323f bump: electron 2025-02-26 20:48:58 +00:00
Raboneko f337fee9f0 bump: glow 2025-02-26 20:38:37 +00:00
Raboneko fcbe9ec7e9 bump: preview stable 2025-02-26 19:13:50 +00:00
Raboneko 798057fef3 bump: yt-dlp 2025-02-26 18:55:26 +00:00
Raboneko c29f8692de bump: dart 2025-02-26 16:45:45 +00:00
Raboneko a44cecb30d bump: mise 2025-02-26 15:55:38 +00:00
madomado a8af0be716 add: ags (#3506)
* add: ags

* Update anda/lib/astal/ags/ags.spec

Co-authored-by: sadlerm4 <sad_lerm@hotmail.com>
Signed-off-by: madomado <madonuko@outlook.com>

* anda-srpm-macros

Co-authored-by: sadlerm4 <sad_lerm@hotmail.com>
Signed-off-by: madomado <madonuko@outlook.com>

* Update anda/lib/astal/ags/ags.spec

Co-authored-by: sadlerm4 <sad_lerm@hotmail.com>
Signed-off-by: madomado <madonuko@outlook.com>

* disable checks

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

* bye gopkgfiles

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

---------

Signed-off-by: madomado <madonuko@outlook.com>
Co-authored-by: sadlerm4 <sad_lerm@hotmail.com>
2025-02-26 12:37:41 +08:00
Raboneko 0833f7914c bump: tela-icon-theme 2025-02-26 03:44:32 +00:00
Raboneko cb36b249a6 bump: fluent-icon-theme 2025-02-26 03:23:27 +00:00
Raboneko e40b13ff5e bump: ruffle 2025-02-26 01:52:52 +00:00
Raboneko c61443e8dd bump(nightly): mpv nightly nightly nim-nightly spotx-bash 2025-02-26 01:38:16 +00:00
Raboneko 052e6a1492 bump: preview stable 2025-02-25 20:38:41 +00:00
Raboneko 0e898543f6 bump: limine 2025-02-25 19:14:36 +00:00
Raboneko 072edacdd0 bump: swayfx 2025-02-25 18:45:20 +00:00
Raboneko d88d404d3f bump: discord-canary-openasar discord-canary 2025-02-25 17:25:51 +00:00
Raboneko baaf4a30a7 bump(branch): kf6-kio 2025-02-25 14:12:51 +00:00
Raboneko 2bf17b868d bump: osu-lazer 2025-02-25 13:56:32 +00:00
madomado 94844e57e2 add: kanata (#3534) 2025-02-25 21:54:52 +08:00
madomado b5e3776aa8 feat(kf6-kio,gnome-shell): comply with new tag policies (#3533) 2025-02-25 21:54:19 +08:00
Raboneko 54442f61dc bump: lazygit 2025-02-25 11:39:01 +00:00
Raboneko 2e918bd9f1 bump: gradle 2025-02-25 10:26:46 +00:00
Raboneko 28855b8faa bump: sccache 2025-02-25 07:59:56 +00:00
Gilver b9cd5f5c3d Add: MS-Core Fonts (#3540)
* Add MS fonts

* Remove old changelogs to prevent error reporting to Fusion

* More of the same

* Cleanup and removal of unused macros

* What happened there??

Signed-off-by: Gilver <rockgrub@disroot.org>

* Decimate LPF and completelely rewrite almost everything

* Actually nuke LPF

* Fix weird typo?

* %foundry does...WEIRD things

* Something didn't save?

* LMAO

Signed-off-by: Gilver <rockgrub@disroot.org>

* I swear

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oops

Signed-off-by: Gilver <rockgrub@disroot.org>

* I see

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-25 14:25:17 +08:00
Alberto García 7becff05dc feat(nerd-fonts): add missing patched fonts (#3541) 2025-02-25 14:20:10 +08:00
Raboneko 8ab3404e3e bump: preview stable 2025-02-25 05:34:34 +00:00
Raboneko b32e86b73a bump: discord-canary-openasar discord-canary 2025-02-25 03:24:25 +00:00
Raboneko 1b5f50e3b2 bump: mise 2025-02-25 02:51:47 +00:00
Raboneko 6d3459a13c bump: ruffle sass 2025-02-25 01:52:51 +00:00
Raboneko f73db40503 bump(nightly): mpv nightly micro nightly 2025-02-25 01:39:18 +00:00
Raboneko be0f7b017a bump: discord-canary-openasar discord-canary 2025-02-24 23:17:23 +00:00
Raboneko 1fd9e13aaa bump: discord-openasar discord 2025-02-24 20:59:16 +00:00
Raboneko 9f7551c6d2 bump: discord-canary-openasar discord-canary 2025-02-24 19:14:00 +00:00
Raboneko 6c8e362a80 bump: arduino-cli 2025-02-24 16:32:10 +00:00
Raboneko c7648e6dd9 bump(branch): astal-gtk 2025-02-24 10:14:26 +00:00
madomado 10634551f1 fix(andax/bump_extras): funny error (#3532) 2025-02-24 03:44:42 -06:00
Raboneko 9dbd1ad757 bump: neovide 2025-02-24 02:52:23 +00:00
Raboneko f204af7731 bump: ruffle 2025-02-24 01:53:42 +00:00
Raboneko 7d450a0565 bump(nightly): envision mpv owl nightly nightly openbangla-keyboard 2025-02-24 01:39:31 +00:00
Raboneko f787f14e13 bump: inputplumber 2025-02-23 22:22:22 +00:00
Raboneko 2fd4676a56 bump: yt-dlp 2025-02-23 19:25:47 +00:00
Raboneko 3f63ed78b3 bump: yt-dlp 2025-02-23 18:40:49 +00:00
Raboneko 755fa63562 bump: yt-dlp 2025-02-23 18:21:11 +00:00
sadlerm4 3204f09459 add: micro-nightly (#3524)
* add: micro-nightly

* spec cleanup

* install dirs

* remove redundant docs and license

* don't shallow clone repo

* impl changes from code review
2025-02-24 02:15:14 +08:00
Gilver 986231f48e Fix (ghostty-nightly): New build dependency (#3523)
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-23 22:14:15 +08:00
sadlerm4 39c3ee7a97 add: curl-impersonate-chrome (#3515)
* add: curl-impersonate-chrome

* fill in missing subpackage info

* specify /usr/lib directory

* so filename is libcurl-impersonate-chrome

* libs subpackage name

* split .so files into -devel subpackage + packager tag
2025-02-23 21:43:21 +11:00
Raboneko 275c899935 bump: yt-dlp 2025-02-23 10:17:30 +00:00
Raboneko 88ad2de5f7 bump: yt-dlp 2025-02-23 09:45:32 +00:00
Raboneko 66004982e7 bump: yt-dlp 2025-02-23 09:30:44 +00:00
Raboneko b76e3cf8b8 bump: yt-dlp 2025-02-23 09:16:55 +00:00
Raboneko e67e07c28b bump: yt-dlp 2025-02-23 08:55:35 +00:00
Raboneko 31145641db bump: yt-dlp 2025-02-23 08:41:33 +00:00
Raboneko 9761f23cce bump: yt-dlp 2025-02-23 08:27:53 +00:00
Raboneko eb80daa197 bump: yt-dlp 2025-02-23 07:15:09 +00:00
Raboneko a524259275 bump: yt-dlp 2025-02-23 06:29:57 +00:00
Gilver 27619feafd fix: v4l2loopback (#3509)
* Let's see if this works

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oops

Signed-off-by: Gilver <rockgrub@disroot.org>

* Remove release requirement

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump release

Signed-off-by: Gilver <rockgrub@disroot.org>

* Create post.rhai

Signed-off-by: Gilver <rockgrub@disroot.org>

* Release is actually safe for `akmod`

Signed-off-by: Gilver <rockgrub@disroot.org>

* Delete anda/system/v4l2loopback/post.rhai

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-23 14:17:15 +08:00
Raboneko 0d23454280 bump: ruffle yt-dlp 2025-02-23 01:56:32 +00:00
Raboneko 1d55f3a0a7 bump(nightly): mpv owl nightly nightly nim-nightly spotx-bash 2025-02-23 01:41:57 +00:00
Raboneko f81000437f bump: bun 2025-02-22 23:28:51 +00:00
Raboneko 5633786fd6 bump: yt-dlp 2025-02-22 22:21:24 +00:00
Raboneko 945c225d35 bump: sound 2025-02-22 18:55:43 +00:00
Gilver 92f4424f01 feat(ghostty-nightly): Use actual Tip version (#3508)
* Dev ver changes

Signed-off-by: Gilver <rockgrub@disroot.org>

* Yay shorter Rhai script

Signed-off-by: Gilver <rockgrub@disroot.org>

* Technically a version bump so drop rel

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-23 01:08:43 +08:00
Raboneko ee4b5399ad bump: lazygit 2025-02-22 11:47:27 +00:00
Gilver 4c78bce9b7 fix(ghostty-nightly): update.rhai mistake (#3497)
* Crop v in release version

Signed-off-by: Gilver <rockgrub@disroot.org>

* Fix and bump

Signed-off-by: Gilver <rockgrub@disroot.org>

* Make release reset

Signed-off-by: Gilver <rockgrub@disroot.org>

* Didn't even touch that part so IDK where the semicolon went

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-22 11:27:08 +08:00
madomado 763d377deb add: astal-gtk (#3493)
Close #3491

Requires #3490
2025-02-22 11:25:02 +08:00
Raboneko 4cbe4fa5f8 bump(nightly): mpv owl nightly nightly spotx-bash 2025-02-22 01:26:45 +00:00
Raboneko 2b0b27fac5 bump: ruffle 2025-02-22 01:22:57 +00:00
Raboneko ca5f0fee9b bump: yt-dlp 2025-02-21 22:23:02 +00:00
madomado 54168cf91e add: astal (#3490) 2025-02-22 02:58:47 +08:00
Raboneko 780a13c591 bump: preview 2025-02-21 18:47:42 +00:00
Raboneko 30cb8e5eaf bump(branch): kf6-kio 2025-02-21 16:15:23 +00:00
Alberto García 328a0b3361 fix(kf6-kio): update spec file from upstream (#3484) 2025-02-21 23:43:58 +08:00
Raboneko 9b492c80aa fix(dotherside): dep on cmake(Qt6XcbQpaPrivate) (#3476) (#3481)
Signed-off-by: madomado <madonuko@outlook.com>
(cherry picked from commit 398b00d58e)

Co-authored-by: madomado <madonuko@outlook.com>
2025-02-21 21:27:51 +08:00
madomado 00099ccd08 add: dotherside (#3471) 2025-02-21 15:46:04 +08:00
Raboneko 7cd62f5c7d bump: discord-ptb-openasar discord-ptb 2025-02-21 06:44:06 +00:00
Raboneko 6d2408578a bump(nightly): mpv owl nightly vala-nightly 2025-02-21 01:37:16 +00:00
Raboneko 967d70f14a bump: ruffle 2025-02-21 01:19:26 +00:00
Raboneko 50b50aad45 bump: preview 2025-02-20 23:55:41 +00:00
Raboneko 5d6618bdeb bump: discord-canary-openasar discord-canary 2025-02-20 22:45:27 +00:00
Raboneko e72ab512ec bump: yt-dlp 2025-02-20 19:49:33 +00:00
Raboneko 92ccc46ee4 bump: preview stable osu-lazer 2025-02-20 18:31:04 +00:00
Raboneko 6ecbf37d0c bump: yt-dlp 2025-02-20 16:32:35 +00:00
Raboneko c423510c49 bump: yt-dlp 2025-02-20 15:49:46 +00:00
Raboneko eb51e87e82 bump: osu-lazer 2025-02-20 08:45:28 +00:00
sadlerm4 d34c23e35a chore: remove authy (#3465)
snap upstream link is 404
2025-02-20 14:15:12 +08:00
madomado b6fb82a237 fix(feishin): try newer nodejs20-npm (#3431)
* fix(feishin): try newer nodejs20-npm

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

* interesting

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

* we do the funny

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

* funny hack

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

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-02-20 16:20:27 +11:00
sadlerm4 79d231a2fe add: koji (#3453)
* add: koji

* remove crate

* anda-srpm-macros

* buildrequires openssl

* update licenses

* put conflicts tag in the right place
2025-02-20 12:38:19 +08:00
Gilver c1e6365d46 fix(ghostty-nightly): File name change and conditional epoch (#3306)
* Update ghostty-nightly.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Recreate the old script for now

Signed-off-by: Gilver <rockgrub@disroot.org>

* Hmm

Signed-off-by: Gilver <rockgrub@disroot.org>

* Hhhhh

Signed-off-by: Gilver <rockgrub@disroot.org>

* Trying again

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update ghostty-nightly.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update ghostty-nightly.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Add fix to stable

Signed-off-by: Gilver <rockgrub@disroot.org>

* No more patch so that did not need to be there

Signed-off-by: Gilver <rockgrub@disroot.org>

* Old method should (hopefully) work now

Signed-off-by: Gilver <rockgrub@disroot.org>

* Switch back here too?

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update ghostty.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oops

Signed-off-by: Gilver <rockgrub@disroot.org>

* Oops again

Signed-off-by: Gilver <rockgrub@disroot.org>

* WE ARE SO BACK

Signed-off-by: Gilver <rockgrub@disroot.org>

* Testing

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump epoch ifcond

Signed-off-by: Gilver <rockgrub@disroot.org>

* Spec hacks to iron out remaining upgrade kinks

* Change to global macro

Signed-off-by: Gilver <rockgrub@disroot.org>

* The dev ver is used for the internal version string so winning?

The Git commit is however missing in the internal version because it only exists if built from master so yay I fixed that.

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump this down just in case

Signed-off-by: Gilver <rockgrub@disroot.org>

* Now where did that vanish to?

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-20 11:57:58 +08:00
Raboneko c0b731a683 bump: discord-canary-openasar discord-canary 2025-02-20 02:48:12 +00:00
Raboneko 946ce25f5c bump: ruffle 2025-02-20 01:52:17 +00:00
Raboneko e8c43d5646 bump(nightly): mpv nightly prismlauncher-nightly nim-nightly 2025-02-20 01:36:57 +00:00
Raboneko 8213243299 bump: stable 2025-02-19 21:56:54 +00:00
Raboneko a70f1b7280 bump: tdlib mise 2025-02-19 21:21:17 +00:00
sadlerm4 3bc0a5ce26 fix: audacity-freeworld (#3452)
supplements #3351
2025-02-20 03:06:32 +08:00
Raboneko c9c81bb8c7 bump: audacity-freeworld preview inputplumber 2025-02-19 18:43:47 +00:00
sadlerm4 1987beae5a fix(audacity-freeworld): update.rhai function (#3351) 2025-02-20 02:31:43 +08:00
sadlerm4 d0fd155c68 add: nstool (#3367)
* add: nstool

* there are no f***ing docs
2025-02-20 02:25:04 +08:00
Willow e6a5052461 fix(vo-aacenc): Update URL and source links to HTTPS (#3433) 2025-02-20 02:23:02 +08:00
Willow 48ca23728a fix: change xavs URL to https from http (#3432) 2025-02-20 02:22:23 +08:00
madomado 103aa5dfa3 fix(lightly-qt*): make update.rhai scripts actually function (#3430)
* fix(lightly-qt*): make update.rhai scripts actually function

* the funny anda.hcls
2025-02-19 10:58:50 -06:00
Raboneko b95d3e3074 bump: mesa 2025-02-19 15:42:16 +00:00
Raboneko fee72a0178 bump: preview 2025-02-19 14:55:37 +00:00
Raboneko 5d332e21e1 bump: preview stable 2025-02-19 14:46:07 +00:00
sadlerm4 573f6ba506 add: lazygit (#3423)
* add: lazygit

* package provides lazygit
2025-02-19 21:34:49 +08:00
Raboneko 0ac3ce83f9 bump: yt-dlp 2025-02-19 02:40:53 +00:00
Raboneko b6202a4422 bump: ruffle picotool yt-dlp 2025-02-19 01:50:49 +00:00
Raboneko b94c714824 bump(nightly): mpv nightly nightly nim-nightly vala-nightly 2025-02-19 01:36:28 +00:00
Raboneko 80ba6072cf bump: preview 2025-02-18 23:15:56 +00:00
Raboneko fa5bb6cdc6 bump: picotool 2025-02-18 19:57:09 +00:00
Raboneko 6ed260c83e bump: discord-openasar discord pbcli 2025-02-18 18:44:23 +00:00
Raboneko 8d83ec45e9 bump: pbcli 2025-02-18 17:15:36 +00:00
Raboneko 9dd25c1ed2 bump: apparmor 2025-02-18 15:56:12 +00:00
Raboneko 84ebdd4abb bump: preview stable 2025-02-18 15:35:24 +00:00
Raboneko 3428ccb2ad bump: walker 2025-02-18 13:55:46 +00:00
Raboneko bac18ff6dd fix: Add patch for Intel Battlemage + Valve Gamescope (#3420) (#3421)
(cherry picked from commit 1238fbddad)

Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
2025-02-18 12:09:18 +08:00
Raboneko 237f74a349 bump(nightly): mpv nightly nightly prismlauncher-nightly vala-nightly 2025-02-18 01:35:44 +00:00
Raboneko e0ee762dd1 bump: ruffle 2025-02-18 01:17:55 +00:00
sadlerm4 ce364297ec fix(carla): version string (#3401)
* fix(carla): version string

* mado is smart
2025-02-18 05:17:55 +08:00
sadlerm4 4281a89253 fix: scenefx (#3407) 2025-02-18 02:36:24 +08:00
sadlerm4 a1f5af9c97 fix(mock-configs): package missing el10 template file (#3408) 2025-02-18 02:34:12 +08:00
Raboneko 56e9e8c214 bump: youtube-music 2025-02-17 15:55:36 +00:00
madomado ec0cee2e20 feat(ci/bootstrap): improve to make it work on future releases (#3311) 2025-02-17 21:06:21 +08:00
sadlerm4 a4abd74de1 fix(neovide): get source from crate and add dependencies (#3395)
* fix(neovide): get source from crate and add dependencies

* add license info
2025-02-17 17:28:42 +08:00
Raboneko 9c7b150018 bump: umu 2025-02-17 08:48:30 +00:00
Raboneko cec96954f6 bump: osu-lazer umu 2025-02-17 08:31:44 +00:00
madomado 7f08625627 chore(ci): rename arm64-lg (#3396)
* chore(ci): rename arm64-lg

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

* Update build.yml

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

* Update json-build.yml

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

* Update bootstrap.yml

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

---------

Signed-off-by: madomado <madonuko@outlook.com>
2025-02-17 16:29:44 +08:00
Raboneko 8b0a2dac5e bump: inputplumber 2025-02-17 06:28:01 +00:00
Raboneko d532939d2e bump: youtube-music 2025-02-17 04:20:44 +00:00
Raboneko 31b64ee403 bump: lomiri-system-settings 2025-02-17 03:55:38 +00:00
Raboneko ddc43262d6 bump: limine 2025-02-17 02:50:52 +00:00
Raboneko ba39fcb33e bump: ruffle 2025-02-17 01:53:13 +00:00
Raboneko fab763897f bump(nightly): mpv nightly nightly 2025-02-17 01:39:05 +00:00
Raboneko 9ff57f4476 bump: mise 2025-02-16 21:39:13 +00:00
Raboneko 029a53602c bump: scenefx 2025-02-16 19:25:50 +00:00
Owen Zimmerman 0cb020e12a Add: NeoHtop (#3368)
* Add: NeoHtop

* Add Categories

Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>

---------

Signed-off-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
2025-02-16 12:33:56 -06:00
sadlerm4 e90f415492 fix(umu-launcher): urllib3 dependency issues on <= 41 (#3380) 2025-02-17 04:08:41 +11:00
sadlerm4 8671118859 add: xplr (#3369)
* add: xplr

* remove crate

* update.rhai
2025-02-17 01:06:53 +08:00
sadlerm4 22c449fe35 remove: latte-dock-nightly (#3375) 2025-02-17 00:52:54 +08:00
Raboneko 073ddb9429 bump: eww 2025-02-16 15:49:29 +00:00
madomado a0dffcf761 fix: fuc (#3354)
Signed-off-by: madomado <madonuko@outlook.com>
2025-02-16 21:51:14 +11:00
madomado 086b501e93 fix(umu-launcher): builddep python3-hatch-vcs (#3355)
Signed-off-by: madomado <madonuko@outlook.com>
2025-02-16 00:24:14 -06:00
Raboneko 0e86806a4d bump: inputplumber 2025-02-16 03:55:36 +00:00
Raboneko a0dc51badc bump: mise 2025-02-16 02:52:23 +00:00
Raboneko 6730986db5 bump(nightly): envision mpv latte-dock-nightly nightly nightly 2025-02-16 01:42:23 +00:00
Raboneko 72c153b35c bump: inputplumber 2025-02-15 21:20:56 +00:00
sadlerm4 e3ea80f2fd fix(chromebook-usbc-fix): specify x86_64 arch in spec (#3352)
* fix(chromebook-usbc-fix): specify x86_64 arch in spec

* specify arch in anda config file too
2025-02-15 23:53:50 +08:00
sadlerm4 bfba9338b8 add: lowfi (#3357)
* add: lowfi

* remove changelog and add packager

* lowfi/update.rhai: typo
2025-02-15 23:53:21 +08:00
Raboneko 0dffb48715 bump: fuc 2025-02-15 02:37:05 +00:00
Raboneko 9d76945b21 bump(nightly): nightly mpv nightly nightly nim-nightly 2025-02-15 01:34:28 +00:00
Raboneko 4f11d9c743 bump: mise 2025-02-14 23:21:32 +00:00
Raboneko f7ce65f4b3 bump: preview stable 2025-02-14 21:29:47 +00:00
Raboneko ffe71fd27d bump: codium 2025-02-14 18:44:27 +00:00
Raboneko c2ae0b620c bump: umu 2025-02-14 18:28:05 +00:00
Raboneko c59f8cb272 bump: stable 2025-02-14 17:00:11 +00:00
Raboneko e637cde98e bump: pbcli 2025-02-14 16:39:38 +00:00
Raboneko 503b502891 bump: preview 2025-02-14 16:20:12 +00:00
Raboneko 92ab669d8b bump: umu 2025-02-14 15:55:49 +00:00
Raboneko 284aebb977 bump: audacity-freeworld 2025-02-14 11:47:51 +00:00
sadlerm4 83563969fa chore(comps): remove pantheon (#3339) 2025-02-14 19:41:40 +08:00
sadlerm4 f45f3e5d9d audacity-freeworld: fix version string (#3340)
(cherry picked from commit b26314b)
2025-02-14 19:40:09 +08:00
sadlerm4 029bc2d60f -r option has been removed (#3341) 2025-02-14 19:39:25 +08:00
sadlerm4 ee855f141e fix(davs2): syntax issues with spec (#3337)
* bump: umu davs2

* fix(davs2): rpm conditional syntax

* fix(davs2): use %nil

* why

* fix(davs2): go back to using %len

---------

Signed-off-by: sadlerm4 <sad_lerm@hotmail.com>
Co-authored-by: Raboneko <raboneko@fyralabs.com>
2025-02-14 16:58:44 +08:00
Raboneko a4e1121679 bump: umu davs2 2025-02-14 07:33:02 +00:00
sadlerm4 a49f31b6e8 fix(davs2): update logic (#3332) 2025-02-14 15:12:42 +08:00
Raboneko 0b254ea463 bump: inputplumber umu 2025-02-14 05:55:24 +00:00
Raboneko 52fcffb1a1 bump: mock-configs 2025-02-14 05:40:40 +00:00
Gilver 59995c5342 Update steam.spec (#3322)
Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-14 12:11:15 +08:00
Cappy Ishihara 3bdb0e8da3 youtube-music: fix WMClass (#3324) 2025-02-13 19:57:56 -06:00
Raboneko c7e84f3364 bump: ruffle sass 2025-02-14 01:48:58 +00:00
Raboneko 51cde2f052 bump(nightly): envision nightly mpv nightly nightly prismlauncher-nightly 2025-02-14 01:35:37 +00:00
Raboneko 31562484cd bump: stable 2025-02-13 23:17:23 +00:00
Raboneko f680b1fbe8 bump: discord-canary-openasar discord-canary 2025-02-13 22:45:38 +00:00
Raboneko af9ceca191 bump: discord-canary-openasar discord-canary 2025-02-13 20:58:37 +00:00
Raboneko 8902fcbe6f bump: stable 2025-02-13 20:37:33 +00:00
Raboneko e45d4c5204 bump: preview 2025-02-13 19:28:00 +00:00
Raboneko 9c7f2b64ad bump: discord-ptb-openasar discord-ptb preview stable 2025-02-13 19:17:57 +00:00
Raboneko 1041f67174 bump: mock-configs 2025-02-13 18:33:27 +00:00
Gilver 8de42ef0fd Fix: Update script for Mesa, bump Mesa back down (#3301)
* Fix update script?

Signed-off-by: Gilver <rockgrub@disroot.org>

* Bump Mesa back down

Signed-off-by: Gilver <rockgrub@disroot.org>

* ...Rel

Signed-off-by: Gilver <rockgrub@disroot.org>

* Switch to normal versioning scheme

Signed-off-by: Gilver <rockgrub@disroot.org>

* Was worth a shot

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update update.rhai

Signed-off-by: Gilver <rockgrub@disroot.org>

* Actually...

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update update.rhai

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-14 01:57:49 +08:00
madomado 7553ed2830 feat(ci): add f42, hook up updates copy_over (#3316) 2025-02-14 04:02:11 +11:00
sadlerm4 c079d9a629 fix: legcord (#3312)
* chore(legcord-bin): remove duplicate legcord-bin

* chore: legcord*.spec cleanup

* fix: dirname
2025-02-14 03:34:54 +11:00
Gilver 282f6051b5 Fix (uutils-coreutils-replace): Symlinks and cleanup (#3297)
* Delete anda/system/uutils-coreutils-replace/coreutils-colorls.csh

Signed-off-by: Gilver <rockgrub@disroot.org>

* Delete anda/system/uutils-coreutils-replace/coreutils-colorls.sh

Signed-off-by: Gilver <rockgrub@disroot.org>

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Signed-off-by: Gilver <rockgrub@disroot.org>

* Always the rel bump. ALWAYS THE

Signed-off-by: Gilver <rockgrub@disroot.org>

* Why not

Signed-off-by: Gilver <rockgrub@disroot.org>

* /usr/bin path

Signed-off-by: Gilver <rockgrub@disroot.org>

* Back to BUILDDIR

Signed-off-by: Gilver <rockgrub@disroot.org>

* More sums

Signed-off-by: Gilver <rockgrub@disroot.org>

* I don't want to overcomplicate this I guess

Signed-off-by: Gilver <rockgrub@disroot.org>

* Update uutils-coreutils-replace.spec

Signed-off-by: Gilver <rockgrub@disroot.org>

* Fix

Signed-off-by: Gilver <rockgrub@disroot.org>

---------

Signed-off-by: Gilver <rockgrub@disroot.org>
2025-02-14 00:30:35 +08:00
Raboneko f1f32a00bf bump: legcord-bin legcord-bin stable 2025-02-13 15:49:23 +00:00
Raboneko 85747ee0ce bump: codium 2025-02-13 15:27:35 +00:00
824 changed files with 8809 additions and 21983 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
"repoOwner": "terrapkg",
"repoName": "packages",
"resetAuthor": true,
"targetBranchChoices": ["el10", "f41", "f42", "frawhide"],
"targetBranchChoices": ["f39", "f40", "frawhide"],
"branchLabelMapping": {
"^sync-(.+)$": "$1"
}
+7 -3
View File
@@ -1,13 +1,17 @@
{
"name": "Terra Devcontainer",
"image": "ghcr.io/terrapkg/builder:f42",
"runArgs": ["--privileged"],
"image": "ghcr.io/terrapkg/builder:frawhide",
"runArgs": [
"--privileged"
],
"features": {
"ghcr.io/devcontainers/features/common-utils:2": {}
},
"customizations": {
"vscode": {
"extensions": ["rhaiscript.vscode-rhai"]
"extensions": [
"rhaiscript.vscode-rhai"
]
}
},
"remoteUser": "vscode",
+6 -6
View File
@@ -6,13 +6,13 @@ on:
paths:
- anda/**
branches:
- f42
- frawhide
pull_request:
branches:
- f42
- frawhide
merge_group:
branches:
- f42
- frawhide
workflow_dispatch:
workflow_call:
@@ -22,7 +22,7 @@ jobs:
outputs:
build_matrix: ${{ steps.generate_build_matrix.outputs.build_matrix }}
container:
image: ghcr.io/terrapkg/builder:f42
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Set workspace as safe
@@ -39,7 +39,7 @@ jobs:
strategy:
matrix:
pkg: ${{ fromJson(needs.manifest.outputs.build_matrix) }}
version: ["42"]
version: ["rawhide"]
fail-fast: false
runs-on: ${{ (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-22.04' }}
container:
@@ -69,7 +69,7 @@ jobs:
dnf5 builddep -y ${dir}/*.spec
- name: Build with Andaman
run: anda build ${{ matrix.pkg.pkg }} -D "vendor Terra" -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
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
+5 -5
View File
@@ -7,7 +7,7 @@ jobs:
bootstrap:
strategy:
matrix:
version: ["42"]
version: ["rawhide"]
arch: ["x86_64", "aarch64"]
fail-fast: true
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || 'ubuntu-22.04' }}
@@ -46,15 +46,15 @@ jobs:
echo "PATH=$PATH:/github/home/.cargo/bin" >> $GITHUB_ENV
export PATH=$PATH:/github/home/.cargo/bin
git config --global --add safe.directory "$GITHUB_WORKSPACE"
anda build -D "vendor Terra" -rrpmbuild anda/terra/mock-configs/pkg
anda build -rrpmbuild anda/terra/mock-configs/pkg
- name: Install terra-mock-configs
run: dnf5 install -y anda-build/rpm/rpms/terra-mock-configs*.rpm
- name: Build terra-release
run: anda build -D "vendor Terra" -rrpmbuild anda/terra/release/pkg
- name: Build trra-release
run: anda build -rrpmbuild anda/terra/release/pkg
- name: Build Subatomic
run: anda build -D "vendor Terra" -rrpmbuild anda/tools/buildsys/subatomic/pkg
run: anda build -rrpmbuild anda/tools/buildsys/subatomic/pkg
- name: Install Subatomic
run: dnf5 install -y ./anda-build/rpm/rpms/subatomic-*.rpm
+4 -4
View File
@@ -44,7 +44,7 @@ jobs:
strategy:
matrix:
pkg: ${{ fromJson(needs.parse.outputs.pkgs) }}
version: ["42"]
version: ["rawhide"]
arch: ${{ fromJson(needs.parse.outputs.arch) }}
fail-fast: false
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-22.04-arm' || needs.parse.outputs.builder && needs.parse.outputs.builder || 'ubuntu-22.04' }}
@@ -61,7 +61,7 @@ jobs:
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Build with Andaman
run: anda build -D "vendor Terra" -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/${{ matrix.pkg }}pkg
run: anda build -c terra-${{ matrix.version }}-${{ matrix.arch }} anda/${{ matrix.pkg }}pkg
- name: Generating artifact name
id: art
@@ -95,7 +95,7 @@ jobs:
- name: Notify Madoguchi (Success)
if: success()
run: ./.github/workflows/mg.sh true "anda/${{matrix.pkg}}pkg" "${{matrix.version}}" "${{matrix.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
run: ./.github/workflows/mg.sh true ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
- name: Notify Madoguchi (Failure)
if: cancelled() || failure()
run: ./.github/workflows/mg.sh false "anda/${{matrix.pkg}}pkg" "${{matrix.version}}" "${{matrix.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
run: ./.github/workflows/mg.sh false ${{matrix.pkg}} ${{matrix.version}} ${{matrix.arch}} ${{github.run_id}} ${{secrets.MADOGUCHI_JWT}} $GITHUB_SHA
+3 -3
View File
@@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
pkg: ${{ fromJson(inputs.packages) }}
version: ["42"]
version: ["rawhide"]
fail-fast: false
runs-on: ${{ (matrix.pkg.arch == 'aarch64' && matrix.pkg.labels['large']) && 'arm64-lg' || matrix.pkg.arch == 'aarch64' && 'ubuntu-22.04-arm' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-22.04' }}
container:
@@ -35,13 +35,13 @@ jobs:
fi
- name: Install Build Dependencies
if: ${{ matrix.pkg.labels.mock != '1' }}
if: ${{ !contains(matrix.pkg.labels, 'mock') }}
run: |
dir=$(dirname ${{ matrix.pkg.pkg }})
dnf5 builddep -y ${dir}/*.spec
- name: Build with Andaman
run: anda build -D "vendor Terra" ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-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
+1 -1
View File
@@ -23,7 +23,7 @@ jobs:
git config --global commit.gpgsign true
- name: Backport Action
uses: sorenlouv/backport-github-action@v9.5.1
uses: sorenlouv/backport-github-action@v9.3.0
with:
github_token: ${{ secrets.RABONEKO_BACKPORT_GITHUB_TOKEN }}
auto_backport_label_prefix: sync-
+7 -3
View File
@@ -11,11 +11,12 @@ jobs:
matrix:
branch:
- frawhide
- f40
- f41
- f42
- el10
container:
image: ghcr.io/terrapkg/builder:f42
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
@@ -33,7 +34,10 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update --filters updbranch=1 --labels branch=${{ matrix.branch }}
run: |
nbranch="${{ matrix.branch }}"
[ "$nbranch" = 'frawhide' ] && nbranch='f42'
anda update --filters updbranch=1 --labels branch=${{ matrix.branch }},nbranch=$nbranch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
@@ -45,7 +49,7 @@ jobs:
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(branch): $(anda run andax/ci/update_commit_message.rhai)"
msg="bump(branch): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git push -u origin --all
fi
+2 -1
View File
@@ -6,6 +6,7 @@ on:
- frawhide
- f42
- f41
- f40
- el10
paths:
- comps.xml
@@ -15,7 +16,7 @@ jobs:
update-comps:
runs-on: ubuntu-22.04
container:
image: ghcr.io/terrapkg/builder:f42
image: ghcr.io/terrapkg/builder:frawhide
steps:
- uses: actions/checkout@v4
- name: Push to subatomic
+3 -1
View File
@@ -37,7 +37,7 @@ jobs:
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(nightly): $(anda run andax/ci/update_commit_message.rhai)"
msg="bump(nightly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
@@ -46,7 +46,9 @@ jobs:
git add anda
git commit -S -a -m "$msg"
}
copy_over f40 || true
copy_over f41 || true
copy_over f42 || true
copy_over el10 || true
git push -u origin --all
fi
+3 -1
View File
@@ -37,7 +37,7 @@ jobs:
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(weekly): $(anda run andax/ci/update_commit_message.rhai)"
msg="bump(weekly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
@@ -46,7 +46,9 @@ jobs:
git add anda
git commit -S -a -m "$msg"
}
copy_over f40 || true
copy_over f41 || true
copy_over f42 || true
copy_over el10 || true
git push -u origin --all
fi
+3 -1
View File
@@ -37,7 +37,7 @@ jobs:
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump: $(anda run andax/ci/update_commit_message.rhai)"
msg="bump: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
@@ -46,7 +46,9 @@ jobs:
git add anda
git commit -S -a -m "$msg"
}
copy_over f40 || true
copy_over f41 || true
copy_over f42 || true
copy_over el10 || true
git push -u origin --all
fi
-2
View File
@@ -1,4 +1,2 @@
anda-build/
**/*.tar*
**/*.crate
**/*.zip
-20
View File
@@ -13,8 +13,6 @@ This monorepo contains the package manifests for all packages in Terra.
## Installation
### Fedora
```bash
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-release
```
@@ -26,24 +24,6 @@ curl -fsSL https://github.com/terrapkg/subatomic-repos/raw/main/terra.repo | pke
sudo rpm-ostree install terra-release
```
Optionally, you can install `terra-release-extra` to use the Extras repository. This also installs the Nvidia, and Mesa streams but does not enable them.
### Enterprise Linux (EL)
Only EL10 is supported. Not all packages available in Terra are available in Terra EL at this time.
Terra EL requires the EPEL repos, which may be installed with:
```bash
sudo dnf install 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-$releasever.noarch.rpm'
```
And Terra EL itself can be installed with:
```bash
sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terrael$releasever' terra-release
```
## Documentation
Our documentation can be found on our [Devdocs](https://developer.fyralabs.com/terra/).
+4 -4
View File
@@ -1,9 +1,9 @@
%global xurl https://files.pythonhosted.org/packages/f9/0d/a236895d92dfcf53be8e08e8421fb9d8bbf0f0c5d2ee9a89b699f59a2f50/anki-25.7.1-cp39-abi3-manylinux_2_36_x86_64.whl
%global aurl https://files.pythonhosted.org/packages/83/72/5e451e1503b9ff7df60ca5d3857757bb6eb661504015c22cb8330a1ee26a/anki-25.7.1-cp39-abi3-manylinux_2_36_aarch64.whl
%global qurl https://files.pythonhosted.org/packages/05/36/d381c10a0884b166ac3e465baeda4d116bf5f51ed1e6947831db56049173/aqt-25.7.1-py3-none-any.whl
%global xurl https://files.pythonhosted.org/packages/68/9c/7685bd012e597332f8ce379a31b0d58dd4eae960da96ff43e9fcd978c93f/anki-25.02-cp39-abi3-manylinux_2_35_x86_64.whl
%global aurl https://files.pythonhosted.org/packages/da/36/741cef7b7fce943d187784549fd8de8152986067d9226f384959c07770a7/anki-25.02-cp39-abi3-manylinux_2_35_aarch64.whl
%global qurl https://files.pythonhosted.org/packages/2c/bc/763589b97aa5c91acf3d834beaa473c25ca7f335c7b40954fd0d5fd41ddc/aqt-25.02-py3-none-any.whl
Name: anki-bin
Version: 25.7.1
Version: 25.02
Release: 1%?dist
Summary: Flashcard program for using space repetition learning (Installed with wheel)
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
+1 -1
View File
@@ -1,5 +1,5 @@
Name: anki-qt5
Version: 25.07.1
Version: 25.02
Release: 1%?dist
Summary: Flashcard program for using space repetition learning
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
+1 -1
View File
@@ -1,5 +1,5 @@
Name: anki
Version: 25.07.1
Version: 25.02
Release: 1%?dist
Summary: Flashcard program for using space repetition learning
License: AGPL-3.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-or-later AND MIT AND BSD-3-Clause AND CC-BY-SA-3.0 AND CC-BY-3.0 AND Apache-2.0 AND CC-BY-2.5
@@ -1,8 +1,8 @@
%global __requires_exclude ^lib-.*.so
%global __provides_exclude ^lib-.*.so
%global ver Audacity-3.7.4
%global sanitized_ver %(echo %{ver} | sed 's/Audacity-//g')
%global ver Audacity 3.7.1
%global sanitized_ver %(sed 's/ *//;s/Audacity//' <<< "%{ver}")
Name: audacity-freeworld
Version: %{sanitized_ver}
-3
View File
@@ -1,4 +1 @@
rpm.global("ver", gh("audacity/audacity"));
if rpm.changed() {
rpm.release();
}
+22 -20
View File
@@ -8,7 +8,7 @@ for background device management, as well as a GUI to expertly customize your se
%global __brp_mangle_shebangs %{nil}
Name: coolercontrol
Version: 2.2.1
Version: 1.4.5
Release: 1%?dist
Summary: Cooling device control for Linux
License: GPL-3.0-or-later
@@ -21,19 +21,19 @@ Requires: hicolor-icon-theme
Requires: webkit2gtk4.1
Requires: libappindicator-gtk3
Requires: coolercontrold
BuildRequires: nodejs-npm libdrm-devel curl wget file mold
BuildRequires: git-core make nodejs-npm libdrm-devel curl wget file mold
BuildRequires: systemd-rpm-macros anda-srpm-macros cargo >= 1.75.0 cargo-rpm-macros
BuildRequires: binutils bison cmake flex gcc gcc-c++ libtool strace
BuildRequires: autoconf automake binutils bison flex gcc gcc-c++ gdb libtool pkgconf strace
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
BuildRequires: libappindicator-gtk3-devel
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
BuildRequires: cmake(Qt6)
BuildRequires: cmake(Qt6WebEngineWidgets)
%description %_desc
%package liqctld
Summary: CoolerControl daemon for interacting with liquidctl devices on a system level
Requires: coolercontrold
BuildRequires: python3-devel python3-wheel python3-liquidctl python3-setproctitle python3-fastapi python3-uvicorn python3-pip
%description liqctld %_desc
coolercontrol-liqctld is a CoolerControl daemon for interacting with liquidctl devices on a system level, and is
installed as the coolercontrol-liqctld application. Its main purpose is to wrap the underlying
@@ -43,8 +43,6 @@ It also enables parallel device communication and access to specific device prop
%package -n coolercontrold
Summary: Monitor and control your cooling devices.
Requires: coolercontrol-liqctld
BuildRequires: pkgconfig(webkit2gtk-4.1) pkgconfig(openssl) pkgconfig(librsvg-2.0)
BuildRequires: libappindicator-gtk3-devel
%description -n coolercontrold %_desc
coolercontrold is the main daemon containing the core logic for interfacing with devices, and installed as
"coolercontrold". It is meant to run in the background as a system daemon. It handles all device
@@ -61,31 +59,33 @@ popd
pushd coolercontrol-ui
npm ci --prefer-offline &
pushd src-tauri
%cargo_prep_online &
popd
popd
wait
%build
pushd coolercontrol-ui
npm run build-only &
pushd coolercontrold
%{cargo_license_online} > LICENSE.dependencies &
%cargo_build -- &
popd
pushd coolercontrol-liqctld
%pyproject_wheel
popd
pushd coolercontrol
%cmake
%cmake_build &
popd
pushd coolercontrold
pushd coolercontrol-ui
npm run build &
pushd src-tauri
%{cargo_license_online} > LICENSE.dependencies &
wait
cp -rfp ../coolercontrol-ui/dist/* resources/app/
%cargo_build
%cargo_build -f custom-protocol
popd
popd
%install
pushd coolercontrol-liqctld
@@ -99,8 +99,9 @@ install -Dpm755 target/rpm/coolercontrold %buildroot%_bindir/coolercontrold
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/coolercontrold/LICENSE.dependencies
popd
pushd coolercontrol/
%cmake_install
pushd coolercontrol-ui/src-tauri
install -Dpm755 target/rpm/coolercontrol %buildroot%_bindir/coolercontrol
install -Dpm644 LICENSE.dependencies %buildroot%_datadir/licenses/%name/LICENSE.dependencies
popd
install -Dpm644 packaging/systemd/coolercontrol-liqctld.service %buildroot%_unitdir/coolercontrol-liqctld.service
@@ -134,6 +135,7 @@ appstream-util validate-relax --nonet %buildroot%_metainfodir/%rdnn.metainfo.xml
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%_bindir/coolercontrol
%_datadir/applications/%rdnn.desktop
%_datadir/metainfo/%rdnn.metainfo.xml
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary-openasar
Version: 0.0.712
Version: 0.0.601
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-canary
Version: 0.0.712
Version: 0.0.601
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: discord.com
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-openasar
Version: 0.0.100
Version: 0.0.87
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb-openasar
Version: 0.0.151
Version: 0.0.132
Release: 1%?dist
Summary: A snappier Discord rewrite with features like further customization and theming
License: MIT AND https://discord.com/terms
+1 -1
View File
@@ -6,7 +6,7 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: discord-ptb
Version: 0.0.151
Version: 0.0.132
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.100
Version: 0.0.87
Release: 1%?dist
Summary: Free Voice and Text Chat for Gamers
URL: https://discord.com
+5 -20
View File
@@ -1,27 +1,22 @@
%global commit 8f3f9b8759eecca4768f4860cbf6dc878337fb82
%global commit_date 20250615
%global commit 96717d193f5e39a829161fc1f2d6c13393eea186
%global commit_date 20250302
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: envision-nightly
Version: %commit_date.%shortcommit
Release: 1%?dist
Summary: UI for building, configuring and running Monado, the open source OpenXR runtime
SourceLicense: AGPL-3.0-or-later
License: ((Apache-2.0 OR MIT) AND BSD-3-Clause) AND ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND AGPL-3.0-or-later AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND ISC AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND Unicode-3.0 AND (Unlicense OR MIT) AND Zlib
License: AGPL-3.0-or-later
URL: https://gitlab.com/gabmus/envision/
Source0: %url/-/archive/%commit/envision-%commit.tar.gz
BuildRequires: anda-srpm-macros
BuildRequires: cargo
BuildRequires: cargo-rpm-macros
BuildRequires: meson
BuildRequires: ninja-build
BuildRequires: meson ninja-build cargo
BuildRequires: pkgconfig(glib-2.0) >= 2.66
BuildRequires: pkgconfig(gio-2.0) >= 2.66
BuildRequires: pkgconfig(gtk4) >= 4.10.0
BuildRequires: pkgconfig(vte-2.91-gtk4) >= 0.72.0
BuildRequires: pkgconfig(libadwaita-1)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(openssl)
BuildRequires: openssl-devel-engine
BuildRequires: openxr-devel
BuildRequires: libappstream-glib
BuildRequires: desktop-file-utils
@@ -35,27 +30,17 @@ Conflicts: envision
%prep
%autosetup -n envision-%commit
%cargo_prep_online
%build
# generate constants.rs from constants.rs.in
%meson
# skip subdir
sed -E "/^subdir\('src'\)/d" -i meson.build
%meson --reconfigure
%meson_build
%install
%meson_install
%cargo_install
%{cargo_license_online} > LICENSE.dependencies
%files
%doc README.md
%license LICENSE
%license LICENSE.dependencies
%_bindir/envision
%_datadir/applications/org.gabmus.envision.Devel.desktop
%_datadir/envision/
+11 -8
View File
@@ -6,15 +6,14 @@
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: feishin
Version: 0.17.0
Version: 0.12.2
Release: 1%?dist
Summary: A modern self-hosted music player
License: GPL-3.0
URL: https://github.com/jeffvli/feishin
Source0: %url/archive/refs/tags/v%version.tar.gz
Requires: fuse mpv
Packager: madonuko <mado@fyralabs.com>
BuildRequires: jq libxcrypt-compat pnpm
BuildRequires: nodejs20-npm jq libxcrypt-compat
%description
%summary.
@@ -39,9 +38,13 @@ Keywords=Music;Jellyfin;Audio;Stream;Sonixd
EOF
%build
pnpm i
pnpm run postinstall
pnpm run build
export PATH="$PATH:$(pwd)/bin"
mkdir bin
ln -s /usr/bin/node-20 bin/node
ln -s /usr/bin/npm-20 bin/npm
npm-20 install --legacy-peer-deps
npm-20 run postinstall
npm-20 run build
%ifarch x86_64
%define a linux
@@ -49,11 +52,11 @@ pnpm run build
%define a arm64
%endif
pnpm exec electron-builder --linux dir --%a
npx-20 electron-builder --linux dir --%a
%install
mkdir -p %buildroot%_datadir/{pixmaps,applications} %buildroot%_bindir
mv dist/*-unpacked %buildroot%_datadir/feishin
mv release/build/*-unpacked %buildroot%_datadir/feishin
install -Dm644 assets/icons/icon.png %buildroot%_datadir/pixmaps/feishin.png
ln -s %_datadir/feishin/feishin %buildroot%_bindir/feishin
install -Dm644 feishin.desktop %buildroot%_datadir/applications/
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "flameshot-nightly.spec"
}
labels {
nightly = 1
}
}
-109
View File
@@ -1,109 +0,0 @@
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
%global ver 12.1.0
%global commit 4edfb2ac1d71e7f75fcdcb850ff6bce5fb148a7b
%global shortcommit %{sub %{commit} 1 7}
#global commit_date 20250608
%global commit_date 20250618
%global devel_name QtColorWidgets
Name: flameshot.nightly
Version: %ver^%{commit_date}git.%shortcommit
Release: 2%?dist
License: GPL-3.0-or-later AND ASL-2.0 AND GPL-2.0-only AND LGPL-3.0-only AND FAL-1.3
Summary: Powerful yet simple to use screenshot software
URL: https://flameshot.org
Source0: https://github.com/flameshot-org/flameshot/archive/%commit/flameshot-%commit.tar.gz
Packager: madonuko <mado@fyralabs.com>
BuildRequires: cmake >= 3.13.0
BuildRequires: gcc-c++ >= 7
BuildRequires: fdupes
BuildRequires: libappstream-glib
BuildRequires: ninja-build
BuildRequires: desktop-file-utils
BuildRequires: cmake(Qt5Core) >= 5.9.0
BuildRequires: cmake(KF5GuiAddons) >= 5.89.0
BuildRequires: cmake(Qt5DBus) >= 5.9.0
BuildRequires: cmake(Qt5Gui) >= 5.9.0
BuildRequires: cmake(Qt5LinguistTools) >= 5.9.0
BuildRequires: cmake(Qt5Network) >= 5.9.0
BuildRequires: cmake(Qt5Svg) >= 5.9.0
BuildRequires: cmake(Qt5Widgets) >= 5.9.0
Requires: hicolor-icon-theme
Requires: qt5-qtbase >= 5.9.0
Requires: qt5-qttools >= 5.9.0
Requires: qt5-qtsvg%{?_isa} >= 5.9.0
%dnl Provides: flameshot = %version-%release
Conflicts: flameshot
Recommends: xdg-desktop-portal%{?_isa}
Recommends: (xdg-desktop-portal-gnome%{?_isa} if gnome-shell%{?_isa})
Recommends: (xdg-desktop-portal-kde%{?_isa} if plasma-workspace-wayland%{?_isa})
Recommends: (xdg-desktop-portal-wlr%{?_isa} if wlroots%{?_isa})
%description
Powerful and simple to use screenshot software with built-in
editor with advanced features.
Features:
* Customizable appearance.
* Easy to use.
* In-app screenshot edition.
* DBus interface.
* Upload to Imgur
%pkg_completion -Bfz flameshot
%package devel
Summary: Flameshot development files
Requires: %{name} = %{version}
%description devel
Development files for Flameshot.
%prep
%autosetup -p1 -n flameshot-%commit
%build
%cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_WAYLAND_CLIPBOARD:BOOL=ON \
%cmake_build
%install
%cmake_install
# https://fedoraproject.org/wiki/PackagingDrafts/find_lang
%find_lang Internationalization --with-qt
%fdupes %{buildroot}%{_datadir}/icons
%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%files -f Internationalization.lang
%{_datadir}/flameshot/translations/Internationalization_grc.qm
%doc README.md
%license LICENSE
%dir %{_datadir}/flameshot
%dir %{_datadir}/flameshot/translations
%{_bindir}/flameshot
%{_libdir}/lib%{devel_name}.so.*
%{_datadir}/applications/org.flameshot.Flameshot.desktop
%{_metainfodir}/org.flameshot.Flameshot.metainfo.xml
%{_datadir}/dbus-1/interfaces/org.flameshot.Flameshot.xml
%{_datadir}/dbus-1/services/org.flameshot.Flameshot.service
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/icons/hicolor/scalable/apps/*.svg
%{_mandir}/man1/flameshot.1*
%files devel
%{_libdir}/lib%{devel_name}.so
%{_libdir}/cmake/%{devel_name}/
%{_libdir}/pkgconfig/%{devel_name}.pc
%{_includedir}/%{devel_name}/
-8
View File
@@ -1,8 +0,0 @@
terminate();
rpm.global("commit", gh_commit("flameshot-org/flameshot"));
if rpm.changed() {
let v = gh("flameshot-org/flameshot");
v.crop(1);
rpm.global("ver", v);
rpm.global("commit_date", date());
}
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "flatpost.spec"
}
}
@@ -1,16 +0,0 @@
commit 86a77b2e3d69a09f75992e6795903ab56df1a900 (HEAD -> main, fork/main)
Author: Adam Fidel <adam@fidel.id>
Date: Tue Apr 22 14:52:16 2025 -0500
feat: add MimeType to .desktop file
diff --git a/data/usr/share/applications/com.flatpost.flatpostapp.desktop b/data/usr/share/applications/com.flatpost.flatpostapp.desktop
index 73013fc..d1f321d 100644
--- a/data/usr/share/applications/com.flatpost.flatpostapp.desktop
+++ b/data/usr/share/applications/com.flatpost.flatpostapp.desktop
@@ -4,3 +4,4 @@ Exec=python3 /usr/bin/flatpost
Icon=com.flatpost.flatpostapp
Type=Application
Categories=Utility;
+MimeType=application/vnd.flatpak.ref;application/vnd.flatpak.repo;
-11
View File
@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/vnd.flatpak.ref">
<glob pattern="*.flatpakref"/>
<comment>Flatpak Reference File</comment>
</mime-type>
<mime-type type="application/vnd.flatpak.repo">
<glob pattern="*.flatpakrepo"/>
<comment>Flatpak Repository File</comment>
</mime-type>
</mime-info>
-77
View File
@@ -1,77 +0,0 @@
Name: flatpost
Version: 1.0.6
Release: 1%?dist
License: BSD-2-Clause
Summary: Desktop environment agnostic Flathub software center.
URL: https://github.com/gloriouseggroll/flatpost
Source0: %{url}/archive/refs/tags/%{version}.tar.gz
Source1: flatpost-mime.xml
Patch0: flatpost-desktop-mimetype.patch
BuildArch: noarch
BuildRequires: python3-devel
BuildRequires: make
BuildRequires: desktop-file-utils
Provides: nobara-updater
# App Deps
Requires: python
Requires: python3
Requires: python3-gobject
Requires: python3-requests
Requires: python3-pillow
Requires: python3-svgwrite
Requires: python3-fonttools
Requires: python3-numpy
Requires: flatpak
Requires: glib2
Requires: gtk3
Requires: gtk4
Requires: xdg-utils
Requires(post): shared-mime-info
Requires(postun): shared-mime-info
Requires(posttrans): shared-mime-info
%description
Desktop environment agnostic Flathub software center. Allows for browsing,
installation, removal, updating, and permission management of flatpak packages and repositories.
%prep
%autosetup -p1
%build
make all DESTDIR=%{buildroot}
install -D -m644 %{SOURCE1} %{buildroot}/usr/share/mime/packages/flatpost.xml
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/com.flatpost.flatpostapp.desktop
%post
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%postun
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%posttrans
xdg-icon-resource forceupdate --theme hicolor &>/dev/null
update-mime-database usr/share/mime &>/dev/null
update-desktop-database -q
%files
%{python3_sitelib}/flatpost/
%{_bindir}/flatpost
%{_datadir}/applications/com.flatpost.flatpostapp.desktop
%{_datadir}/flatpost/collections_data.json
%{_datadir}/icons/hicolor/1024x1024/apps/com.flatpost.flatpostapp.png
%{_datadir}/icons/hicolor/64x64/apps/com.flatpost.flatpostapp.png
%{_datadir}/mime/packages/flatpost.xml
%license %{_datadir}/licenses/flatpost/LICENSE
-3
View File
@@ -1,3 +0,0 @@
let v = gh_rawfile("GloriousEggroll/flatpost", "main", "VERSION.txt");
v.trim();
rpm.version(v);
-9
View File
@@ -1,9 +0,0 @@
project pkg {
rpm {
spec = "goofcord-nightly.spec"
}
labels {
mock = 1
nightly = 1
}
}
@@ -1,101 +0,0 @@
%global commit 3f5eda113f33fead76a5a53e0b71c11b254d68fd
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250615
%global ver 1.10.1
%global base_name goofcord
%global git_name GoofCord
%global debug_package %{nil}
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: %{base_name}-nightly
Version: %{ver}^%{commit_date}.git.%{shortcommit}
Release: 1%{?dist}
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/%{commit}/%{git_name}-%{commit}.tar.gz
BuildRequires: bun-bin
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: git
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: python3
%ifarch aarch64
BuildRequires: zlib-ng-compat-devel
%endif
Packager: Gilver E. <rockgrub@disroot.org>
%description
A highly configurable and privacy minded Discord client.
%prep
%autosetup -n %{git_name}-%{commit}
%build
%ifarch aarch64 armv7hl armv7l
sed -i '/\"x64\",/d' electron-builder.ts
%endif
bun install
bun run packageLinux --publish=never
%install
mkdir -p %{buildroot}%{_datadir}/%{git_name}
%ifarch x86_64
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%elifarch aarch64
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%elifarch armv7hl armv7l
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{git_name}
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/%{git_name}/%{git_name} %{buildroot}%{_bindir}/%{git_name}
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
%ifarch x86_64
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
%elifarch aarch64
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
%elifarch armv7hl armv7l
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
%endif
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{git_name}/%{git_name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{git_name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{git_name}.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/%{git_name}
%{_datadir}/applications/%{git_name}.desktop
%{_datadir}/%{git_name}/
%{_iconsdir}/hicolor/16x16/apps/%{git_name}.png
%{_iconsdir}/hicolor/32x32/apps/%{git_name}.png
%{_iconsdir}/hicolor/48x48/apps/%{git_name}.png
%{_iconsdir}/hicolor/64x64/apps/%{git_name}.png
%{_iconsdir}/hicolor/128x128/apps/%{git_name}.png
%{_iconsdir}/hicolor/256x256/apps/%{git_name}.png
%{_iconsdir}/hicolor/512x512/apps/%{git_name}.png
%{_iconsdir}/hicolor/1024x1024/apps/%{git_name}.png
%changelog
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1^20250615.git.3f5eda1
- Initial package
-8
View File
@@ -1,8 +0,0 @@
rpm.global("commit", gh_commit("Milkshiift/GoofCord"));
if rpm.changed {
let v = gh_tag(""Milkshiift/GoofCord");
v.crop(1);
rpm.global("ver", v);
rpm.global("commit_date", date());
rpm.release();
}
-8
View File
@@ -1,8 +0,0 @@
project pkg {
rpm {
spec = "goofcord.spec"
}
labels {
mock = 1
}
}
-95
View File
@@ -1,95 +0,0 @@
%global git_name GoofCord
%global debug_package %{nil}
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64 armv7hl armv7l
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
Name: goofcord
Version: 1.10.1
Release: 1%{?dist}
License: OSL-3.0
Summary: A privacy-minded Legcord fork.
Group: Applications/Internet
URL: https://github.com/Milkshiift/%{git_name}
Source0: %{url}/archive/refs/tags/v%{version}.tar.gz
BuildRequires: bun-bin
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: nodejs
BuildRequires: nodejs-npm
BuildRequires: python3
%ifarch aarch64
BuildRequires: zlib-ng-compat-devel
%endif
Packager: Gilver E. <rockgrub@disroot.org>
%description
A highly configurable and privacy minded Discord client.
%prep
%autosetup -n %{git_name}-%{version}
%build
%ifarch aarch64 armv7hl armv7l
sed -i '/\"x64\",/d' electron-builder.ts
%endif
bun install
bun run packageLinux
%install
mkdir -p %{buildroot}%{_datadir}/%{name}
%ifarch x86_64
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/%{name}
%elifarch aarch64
mv dist/linux-arm64-unpacked/* -t %{buildroot}%{_datadir}/%{name}
%elifarch armv7hl armv7l
mv dist/linux-armv7l-unpacked/* -t %{buildroot}%{_datadir}/%{name}
%endif
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
install -Dm644 dist/.icon-set/icon_16x16.png %{buildroot}/%{_iconsdir}/hicolor/16x16/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}/%{_iconsdir}/hicolor/32x32/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}/%{_iconsdir}/hicolor/48x48/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}/%{_iconsdir}/hicolor/64x64/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}/%{_iconsdir}/hicolor/128x128/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}/%{_iconsdir}/hicolor/256x256/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}/%{_iconsdir}/hicolor/512x512/apps/%{name}.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}/%{_iconsdir}/hicolor/1024x1024/apps/%{name}.png
%ifarch x86_64
dist/%{git_name}-*x86_64.AppImage --appimage-extract '*.desktop'
%elifarch aarch64
dist/%{git_name}-*arm64.AppImage --appimage-extract '*.desktop'
%elifarch armv7hl armv7l
dist/%{git_name}-*armv7l.AppImage --appimage-extract '*.desktop'
%endif
desktop-file-install --set-key=Exec --set-value="%{_datadir}/%{name}/%{name} --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto %U" squashfs-root/%{name}.desktop
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
%files
%doc README.md
%license LICENSE
%{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/%{name}/
%{_iconsdir}/hicolor/16x16/apps/%{name}.png
%{_iconsdir}/hicolor/32x32/apps/%{name}.png
%{_iconsdir}/hicolor/48x48/apps/%{name}.png
%{_iconsdir}/hicolor/64x64/apps/%{name}.png
%{_iconsdir}/hicolor/128x128/apps/%{name}.png
%{_iconsdir}/hicolor/256x256/apps/%{name}.png
%{_iconsdir}/hicolor/512x512/apps/%{name}.png
%{_iconsdir}/hicolor/1024x1024/apps/%{name}.png
%changelog
* Sat Jun 28 2025 Gilver E. <rockgrub@disroot.org> - 1.10.1-1
- Initial package
-1
View File
@@ -1 +0,0 @@
rpm.version(gh_tag("Milkshiift/GoofCord"));
+3 -6
View File
@@ -3,10 +3,9 @@
%global gtk4_version 4.14.4
%global libadwaita_version 1.5.1
%global pure_protobuf_version 2.0.0
%global raw_ver v1.81.0
Name: komikku
Version: 1.81.0
Version: 1.70.0
%forgemeta
Release: 1%?dist
Summary: A manga reader for GNOME
@@ -15,7 +14,7 @@ BuildArch: noarch
License: GPL-3.0-or-later
URL: https://valos.gitlab.io/Komikku
Source0: https://codeberg.org/valos/%{appname}/archive/%{raw_ver}.tar.gz#/%{name}-%{version}.tar.gz
Source0: https://codeberg.org/valos/%{appname}/archive/v%{version}.tar.gz#/%{name}-v%{version}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: intltool
@@ -23,7 +22,6 @@ BuildRequires: libappstream-glib
BuildRequires: meson >= 0.59.0
BuildRequires: python3-devel >= 3.8
BuildRequires: blueprint-compiler
BuildRequires: cmake
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 1.35.9
BuildRequires: pkgconfig(gtk4) >= %{gtk4_version}
@@ -94,12 +92,11 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%files -f %{name}.lang
%license LICENSES/*
%license LICENSE
%doc README.md
%{_bindir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/*.desktop
%{_datadir}/dbus-1/services/%{uuid}.service
%{_datadir}/glib-2.0/schemas/*.gschema.xml
%{_datadir}/icons/hicolor/scalable/*/*.svg
%{_datadir}/icons/hicolor/symbolic/*/*.svg
-1
View File
@@ -1,4 +1,3 @@
let latest_tag = get("https://codeberg.org/api/v1/repos/valos/Komikku/tags").json_arr()[0].name;
let new_version = find("([\\.\\d]+)", latest_tag, 1);
rpm.global("raw_ver", latest_tag);
rpm.version(new_version);
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "legcord-bin.spec"
}
}
@@ -0,0 +1,92 @@
%define debug_package %nil
%global _build_id_links none
%ifarch x86_64
%global src Legcord-%version-linux-x64
%elifarch aarch64
%global src Legcord-%version-linux-arm64
%elifarch armv7l
%global src Legcord-%version-linux-armv7l
%endif
# Exclude private libraries
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
Name: legcord-bin
Version: 1.1.0
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/Legcord/Legcord
Group: Applications/Internet
Source0: %url/releases/download/v%version/%src.tar.gz
Source1: legcord.png
Source2: https://raw.githubusercontent.com/Legcord/Legcord/v%version/README.md
Requires: xdg-utils
ExclusiveArch: x86_64 aarch64 armv7l
Conflicts: legcord
Conflicts: legcord-nightly
BuildRequires: add-determinism
Obsoletes: armcord < 3.3.2-1
%description
Legcord is a custom client designed to enhance your Discord experience
while keeping everything lightweight.
%prep
%autosetup -n %src
cat <<EOF > .legcord.desktop
[Desktop Entry]
Name=Legcord
Comment=%summary
GenericName=Internet Messenger
Type=Application
Exec=%_bindir/legcord
Icon=legcord
Categories=Network;InstantMessaging;
StartupWMClass=legcord
Keywords=discord;armcord;legcord;vencord;shelter;electron;
EOF
%build
%install
mkdir -p %buildroot%_bindir %buildroot%_datadir/applications %buildroot%_datadir/pixmaps %buildroot%_datadir/legcord %buildroot%_docdir/%name
cp -a * %buildroot%_datadir/legcord/
ln -s %_datadir/legcord/legcord %buildroot%_bindir/legcord
ln -s %_datadir/legcord %buildroot%_datadir/armcord
chmod +x -R %buildroot%_datadir/legcord/*
chmod 755 %buildroot%_datadir/legcord/legcord
install -Dm644 .legcord.desktop %buildroot%_datadir/applications/LegCord.desktop
install -Dm644 %SOURCE1 %buildroot%_datadir/pixmaps/legcord.png
install -Dm644 %SOURCE2 %buildroot%_docdir/%name/
# HACK: rpm bug for unability to replace existing files on system.
%pre
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
echo "Found old %_datadir/armcord directory, removing"
rm -rf %_datadir/armcord
fi
%files
%doc README.md
%_datadir/legcord
%_datadir/armcord
%_bindir/legcord
%_datadir/applications/LegCord.desktop
%_datadir/pixmaps/legcord.png
%changelog
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
- Rename to LegCord.
* Sat Jun 17 2023 madonuko <mado@fyralabs.com> - 3.2.0-2
- Remove libnotify dependency.
- Fix desktop entry.
- Set as noarch package because there are not binary files.
- Use /usr/share/ instead of /opt/
* Sat May 6 2023 madonuko <mado@fyralabs.com> - 3.1.7-1
- Initial package
Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

@@ -0,0 +1 @@
rpm.version(gh("LegCord/LegCord"));
+2 -2
View File
@@ -1,9 +1,9 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "legcord-nightly.spec"
}
labels {
nightly = 1
mock = 1
}
}
}
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
electron=/usr/bin/electron
CONFIG=${XDG_CONFIG_HOME:-~/.config}
FLAGS="$CONFIG/armcord-flags.conf"
# Allow users to override command-line options
if [ -f "$FLAGS" ]; then
USER_FLAGS="$(cat "$FLAGS")"
fi
# shellcheck disable=SC2086 # USER_FLAGS has to be unquoted
"$electron" /usr/share/armcord/app.asar $USER_FLAGS "$@"
+45 -45
View File
@@ -1,14 +1,7 @@
%global commit 0b1a005936552abd5aed144bdc0ca5a82f2fa682
%global commit_date 20250622
%global commit 1833760c8be5b5fd4a76bbcd0cf1632d7bff0216
%global commit_date 20250215
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global debug_package %nil
%global __strip /bin/true
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
%define debug_package %nil
Name: legcord-nightly
Version: %commit_date.%shortcommit
@@ -17,60 +10,67 @@ License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/Legcord/Legcord
Group: Applications/Internet
Source0: %url/archive/%commit/Legcord-%commit.tar.gz
Source1: launch.sh
Packager: Owen <owen@fyralabs.com>
Requires: xdg-utils
Requires: electron xdg-utils
Provides: armcord-nightly
Obsoletes: armcord < 3.3.2-1
Conflicts: legcord-bin
Conflicts: legcord
BuildRequires: anda-srpm-macros pnpm nodejs-npm git-core gcc gcc-c++ make desktop-file-utils zlib-ng-compat-devel
BuildArch: noarch
BuildRequires: anda-srpm-macros pnpm
%description
Legcord is a custom client designed to enhance your Discord experience
while keeping everything lightweight.
%prep
%git_clone %{url}.git %{commit}
%autosetup -n Legcord-%commit
cat <<EOF > legcord.desktop
[Desktop Entry]
Name=Legcord
Comment=%summary
GenericName=Internet Messenger
Type=Application
Exec=/usr/bin/legcord
Icon=legcord
Categories=Network;InstantMessaging;
StartupWMClass=legcord
Keywords=discord;armcord;legcord;vencord;shelter;electron;
EOF
%build
pnpm install
pnpm run build
pnpm run package --linux AppImage tar.gz
pnpm install --no-frozen-lockfile
pnpm run packageQuick
%install
mkdir -p %{buildroot}%{_datadir}/legcord
%ifarch aarch64
mv dist/linux-arm64-unpacked/* %{buildroot}%{_datadir}/legcord
%else
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/legcord
%endif
install -Dm644 dist/*-unpacked/resources/app.asar %buildroot/usr/share/legcord/app.asar
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/legcord/legcord %{buildroot}%{_bindir}/legcord
install -Dm644 dist/.icon-set/icon_16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/legcord.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/legcord.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/legcord.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/legcord.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/legcord.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/legcord.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/legcord.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/legcord.png
install -Dm755 %SOURCE1 %buildroot/usr/bin/legcord
install -Dm644 legcord.desktop %buildroot/usr/share/applications/LegCord.desktop
install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/legcord.png
dist/Legcord-*.AppImage --appimage-extract '*.desktop'
desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" squashfs-root/legcord.desktop
ln -s %_datadir/legcord %buildroot%_datadir/armcord
# HACK: rpm bug for unability to replace existing files on system.
%pre
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
echo "Found old %_datadir/armcord directory, removing"
rm -rf %_datadir/armcord
fi
%files
%doc README.md
%license license.txt
%{_bindir}/legcord
%{_datadir}/applications/legcord.desktop
%{_datadir}/legcord/
%{_iconsdir}/hicolor/16x16/apps/legcord.png
%{_iconsdir}/hicolor/32x32/apps/legcord.png
%{_iconsdir}/hicolor/48x48/apps/legcord.png
%{_iconsdir}/hicolor/64x64/apps/legcord.png
%{_iconsdir}/hicolor/128x128/apps/legcord.png
%{_iconsdir}/hicolor/256x256/apps/legcord.png
%{_iconsdir}/hicolor/512x512/apps/legcord.png
%{_iconsdir}/hicolor/1024x1024/apps/legcord.png
/usr/bin/legcord
/usr/share/applications/LegCord.desktop
/usr/share/pixmaps/legcord.png
/usr/share/legcord/app.asar
/usr/share/armcord
%changelog
* Fri Nov 22 2024 owen <owen@fyralabs.com> - 1.0.2-2
+2 -4
View File
@@ -1,8 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "legcord.spec"
}
labels {
mock =1
}
}
}
+13
View File
@@ -0,0 +1,13 @@
#!/bin/sh
electron=/usr/bin/electron
CONFIG=${XDG_CONFIG_HOME:-~/.config}
FLAGS="$CONFIG/armcord-flags.conf"
# Allow users to override command-line options
if [ -f "$FLAGS" ]; then
USER_FLAGS="$(cat "$FLAGS")"
fi
# shellcheck disable=SC2086 # USER_FLAGS has to be unquoted
"$electron" /usr/share/armcord/app.asar $USER_FLAGS "$@"
+44 -43
View File
@@ -1,26 +1,25 @@
%define debug_package %nil
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%ifnarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\aarch64*\\.so.*))$
%elifarch aarch64
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*)|(.*\\x86_64*\\.so.*)|(.*\\x86-64*\\.so.*))$
%endif
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/(armcord|legcord)/.*\\.so
Name: legcord
Version: 1.1.5
Release: 2%?dist
Version: 1.1.0
Release: 1%?dist
License: OSL-3.0
Summary: Custom lightweight Discord client designed to enhance your experience
URL: https://github.com/Legcord/Legcord
Group: Applications/Internet
Source1: launch.sh
Packager: madonuko <mado@fyralabs.com>
Requires: xdg-utils
Requires: electron xdg-utils
Provides: armcord
Obsoletes: armcord < 3.3.2-1
Obsoletes: legcord-bin < 1.1.5-2
Conflicts: legcord-bin
Conflicts: legcord-nightly
BuildRequires: anda-srpm-macros pnpm nodejs-npm git-core gcc gcc-c++ make desktop-file-utils zlib-ng-compat-devel
BuildArch: noarch
BuildRequires: anda-srpm-macros pnpm
%description
Legcord is a custom client designed to enhance your Discord experience
@@ -29,47 +28,49 @@ while keeping everything lightweight.
%prep
%git_clone %url v%version
cat <<EOF > legcord.desktop
[Desktop Entry]
Name=Legcord
Comment=%summary
GenericName=Internet Messenger
Type=Application
Exec=/usr/bin/legcord
Icon=legcord
Categories=Network;InstantMessaging;
StartupWMClass=legcord
Keywords=discord;armcord;legcord;vencord;shelter;electron;
EOF
%build
pnpm install
pnpm run build
pnpm run package --linux AppImage tar.gz
pnpm install --no-frozen-lockfile
pnpm run packageQuick
%install
mkdir -p %{buildroot}%{_datadir}/legcord
%ifarch aarch64
mv dist/linux-arm64-unpacked/* %{buildroot}%{_datadir}/legcord
%else
mv dist/linux-unpacked/* -t %{buildroot}%{_datadir}/legcord
%endif
install -Dm644 dist/*-unpacked/resources/app.asar %buildroot/usr/share/legcord/app.asar
mkdir -p %{buildroot}%{_bindir}
ln -sf %{_datadir}/legcord/legcord %{buildroot}%{_bindir}/legcord
install -Dm644 dist/.icon-set/icon_16.png %{buildroot}%{_iconsdir}/hicolor/16x16/apps/legcord.png
install -Dm644 dist/.icon-set/icon_32.png %{buildroot}%{_iconsdir}/hicolor/32x32/apps/legcord.png
install -Dm644 dist/.icon-set/icon_48x48.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/legcord.png
install -Dm644 dist/.icon-set/icon_64.png %{buildroot}%{_iconsdir}/hicolor/64x64/apps/legcord.png
install -Dm644 dist/.icon-set/icon_128.png %{buildroot}%{_iconsdir}/hicolor/128x128/apps/legcord.png
install -Dm644 dist/.icon-set/icon_256.png %{buildroot}%{_iconsdir}/hicolor/256x256/apps/legcord.png
install -Dm644 dist/.icon-set/icon_512.png %{buildroot}%{_iconsdir}/hicolor/512x512/apps/legcord.png
install -Dm644 dist/.icon-set/icon_1024.png %{buildroot}%{_iconsdir}/hicolor/1024x1024/apps/legcord.png
install -Dm755 %SOURCE1 %buildroot/usr/bin/legcord
install -Dm644 legcord.desktop %buildroot/usr/share/applications/LegCord.desktop
install -Dm644 build/icon.png %buildroot/usr/share/pixmaps/legcord.png
dist/Legcord-*.AppImage --appimage-extract '*.desktop'
desktop-file-install --set-key=Exec --set-value="%{_datadir}/legcord/legcord %U" squashfs-root/legcord.desktop
ln -s %_datadir/legcord %buildroot%_datadir/armcord
# HACK: rpm bug for unability to replace existing files on system.
%pre
if [ -d %_datadir/armcord ] && [ ! -L %_datadir/armcord ]; then
echo "Found old %_datadir/armcord directory, removing"
rm -rf %_datadir/armcord
fi
%files
%doc README.md
%license license.txt
%{_bindir}/legcord
%{_datadir}/applications/legcord.desktop
%{_datadir}/legcord/
%{_iconsdir}/hicolor/16x16/apps/legcord.png
%{_iconsdir}/hicolor/32x32/apps/legcord.png
%{_iconsdir}/hicolor/48x48/apps/legcord.png
%{_iconsdir}/hicolor/64x64/apps/legcord.png
%{_iconsdir}/hicolor/128x128/apps/legcord.png
%{_iconsdir}/hicolor/256x256/apps/legcord.png
%{_iconsdir}/hicolor/512x512/apps/legcord.png
%{_iconsdir}/hicolor/1024x1024/apps/legcord.png
/usr/bin/legcord
/usr/share/applications/LegCord.desktop
/usr/share/pixmaps/legcord.png
/usr/share/legcord/app.asar
/usr/share/armcord
%changelog
* Mon Oct 21 2024 madonuko <mado@fyralabs.com> - 1.0.2-2
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "mission-center.spec"
}
}
@@ -1,99 +0,0 @@
%global forgeurl0 https://gitlab.com/mission-center-devs/mission-center
Version: 1.0.2
%global tag0 v%{version}
%global forgeurl1 https://gitlab.com/mission-center-devs/gng
%global commit1 319d95d29cbc3c373ae61cff228e8440fbaadbbb
%forgemeta -a
Name: mission-center
Release: 1%?dist
Summary: Monitor your CPU, Memory, Disk, Network and GPU usage
License: GPL-3.0-or-later
URL: %{forgeurl0}
Source0: %{forgesource0}
Source1: %{forgesource1}
Provides: bundled(mission-center-magpie)
Provides: bundled(nvtop) = 3.2.0
#mission centere uses a patched version of nvtop
BuildRequires: meson >= 0.63
BuildRequires: cargo
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(gtk4)
BuildRequires: pkgconfig(egl)
BuildRequires: libadwaita-devel
BuildRequires: desktop-file-utils
BuildRequires: blueprint-compiler
BuildRequires: cargo-rpm-macros >= 24
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: appstream-data
BuildRequires: libappstream-glib
Recommends: nethogs
%description
Monitor your CPU, Memory, Disk, Network and GPU usage
%prep
%forgesetup -z 0
mkdir -p ./subprojects/magpie
tar -x --strip-components=1 -f %{SOURCE1} -C ./subprojects/magpie
pushd ./subprojects/magpie/
%cargo_prep_online
popd
%cargo_prep_online
%{cargo_license_summary_online}
# %cargo_license_online > LICENSE.dependencies
#builds is erroring
%build
%meson
%meson_build
%install
%meson_install
%find_lang missioncenter
%check
desktop-file-validate %{buildroot}/%{_datadir}/applications/io.missioncenter.MissionCenter.desktop
appstream-util validate-relax %{buildroot}/%{_datadir}/metainfo/io.missioncenter.MissionCenter.metainfo.xml
%meson_test
# https://gitlab.com/mission-center-devs/mission-center/-/wikis/Home/Nethogs
%post
if command -v nethogs 2>&1 >/dev/null
then
setcap "cap_net_admin,cap_net_raw,cap_dac_read_search,cap_sys_ptrace+pe" "$(which nethogs)"
fi
%files -f missioncenter.lang
%doc README.md
%license COPYING
#builds is erroring
# [%]license LICENSE.dependencies
%{_datadir}/missioncenter/
%{_datadir}/applications/io.missioncenter.MissionCenter.desktop
%{_datadir}/metainfo/io.missioncenter.MissionCenter.metainfo.xml
%{_datadir}/glib-2.0/schemas/io.missioncenter.MissionCenter.gschema.xml
%{_datadir}/icons/hicolor/scalable/apps/io.missioncenter.MissionCenter.svg
%{_datadir}/icons/hicolor/symbolic/apps/io.missioncenter.MissionCenter-symbolic.svg
%{_bindir}/missioncenter-magpie
%{_bindir}/missioncenter
%changelog
%autochangelog
-4
View File
@@ -1,4 +0,0 @@
rpm.version(gitlab_tag("44426042"));
if rpm.changed() {
rpm.global("commit1", gitlab_commit("66855638", "main"));
}
+12 -5
View File
@@ -1,7 +1,7 @@
%global commit db7bc5949a7f6742131285f1383ff5a90d918a84
%global commit ee07dcf4c704e64d3d9d95191129bccd98c2c37d
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global commit_date 20250706
%global ver 0.40.0
%global commit_date 20250302
%global ver 0.39.0
Name: mpv-nightly
Version: %ver^%commit_date.%shortcommit
@@ -124,8 +124,6 @@ Requires: mpv-nightly-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
%description devel
This package contains development header files and libraries for Mpv.
%pkg_completion -Bfz mpv
%prep
%autosetup -p1 -n mpv-%commit
sed -e "s|/usr/local/etc|%{_sysconfdir}/mpv|" -i etc/mpv.conf
@@ -207,7 +205,13 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mpv.desktop
%{_docdir}/mpv/
%{_bindir}/mpv
%{_datadir}/applications/mpv.desktop
%dir %{_datadir}/bash-completion/
%dir %{_datadir}/bash-completion/completions/
%{_datadir}/bash-completion/completions/mpv
%{_datadir}/icons/hicolor/*/apps/mpv*.*
%dir %{_datadir}/zsh/
%dir %{_datadir}/zsh/site-functions/
%{_datadir}/zsh/site-functions/_mpv
%{_mandir}/man1/mpv.*
%{_metainfodir}/mpv.metainfo.xml
%dir %{_sysconfdir}/mpv/
@@ -221,3 +225,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/mpv.desktop
%{_includedir}/mpv/
%{_libdir}/libmpv.so
%{_libdir}/pkgconfig/mpv.pc
%changelog
%autochangelog
@@ -1 +0,0 @@
v1.11.14
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "nekoray.spec"
}
}
-11
View File
@@ -1,11 +0,0 @@
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=nekoray
Categories=Network;
Comment=Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
Comment[zh_CN]=基于 Qt 的跨平台代理配置管理器 (后端 sing-box)
Keywords=Internet;VPN;Proxy;sing-box;
Exec=/bin/nekoray
Icon=/usr/share/icons/nekoray.ico
-2
View File
@@ -1,2 +0,0 @@
#!/bin/sh
/lib64/nekoray/nekoray -appdata "${@}"
-93
View File
@@ -1,93 +0,0 @@
%global gomodulesmode GO111MODULE=on
Name: nekoray
Version: 4.3.5
Release: 1%?dist
Summary: Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
URL: https://github.com/Mahdi-zarei/nekoray
License: GPLv3
Source0: https://github.com/Mahdi-zarei/nekoray/archive/refs/tags/%{version}.tar.gz#/nekoray-%{version}.tar.gz
Packager: bunzuhbu <g89156436@gmail.com>
Source1: vendor-%{version}.tar.gz
%define fetch_vendor %{_rpmconfigdir}/rpmuncompress -xv %{SOURCE1}
Source2: Sagernet.SingBox.Version.txt
%define singbox_version $(cat %{SOURCE2})
Source3: %{name}.desktop
Source4: %{name}.sh
BuildRequires: rpm_macro(cmake)
BuildRequires: rpm_macro(cmake_build)
BuildRequires: rpm_macro(cmake_install)
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig(protobuf)
BuildRequires: pkgconfig(libcurl)
BuildRequires: cmake(yaml-cpp)
BuildRequires: cmake(ZXing)
BuildRequires: cmake(absl)
BuildRequires: cmake(cpr)
BuildRequires: cmake(Qt6)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6Linguist)
BuildRequires: cmake(Qt6Charts)
BuildRequires: patchelf
BuildRequires: sed
BuildRequires: golang
BuildRequires: rpm_macro(gobuildflags)
Requires: %{name}-core
%define core nekobox_core
%package core
Summary: %{summary}
%description
%{summary}
%description core
%{summary}
%prep
%autosetup -p1 -n %{name}-%{version}
sed -i 's~find_package(Protobuf CONFIG REQUIRED)~find_package(Protobuf REQUIRED)~' cmake/myproto.cmake
sed -i 's~add_library(qhotkey 3rdparty/QHotkey/qhotkey.cpp)~add_library(qhotkey STATIC 3rdparty/QHotkey/qhotkey.cpp)~' cmake/QHotkey.cmake
sed -i 's~ImageFormat::BGRA~ImageFormat::BGR~' 3rdparty/ZxingQtReader.hpp
pushd core/server
%{fetch_vendor}
popd
%build
%cmake
%cmake_build
DEST=$PWD/%{__cmake_builddir}/%{core}
pushd core/server
go build %{gobuildflags} -o $DEST -trimpath -ldflags "-B 0x$(echo "%{name}-%{version}-%{release}-${SOURCE_DATE_EPOCH:-}" | sha1sum | cut -d ' ' -f1) -w -s -X 'github.com/sagernet/sing-box/constant.Version=%{singbox_version}'" -tags "with_clash_api,with_gvisor,with_quic,with_wireguard,with_utls,with_ech,with_dhcp"
popd
%install
mkdir -p %{buildroot}%{_libdir}/%{name}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/applications
mkdir -p %{buildroot}%{_datadir}/icons
cp %{SOURCE4} %{buildroot}%{_bindir}/%{name}
cp %{SOURCE3} %{buildroot}%{_datadir}/applications/%{name}.desktop
sed -i 's~/bin~%{_bindir}~g;s~/usr/share~%{_datadir}~g;s~nekoray~%{name}~g' %{buildroot}%{_datadir}/applications/%{name}.desktop
sed -i 's~/bin~%{_bindir}~g;s~/lib64~%{_libdir}~g;s~nekoray~%{name}~g' %{buildroot}%{_bindir}/%{name}
cp %{__cmake_builddir}/%{name} %{buildroot}%{_libdir}/%{name}/%{name}
cp %{__cmake_builddir}/%{core} %{buildroot}%{_libdir}/%{name}/%{core}
cp res/nekoray.ico %{buildroot}%{_datadir}/icons/%{name}.ico
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{name}
patchelf --remove-rpath %{buildroot}%{_libdir}/%{name}/%{core}
%files
%attr(0755, -, -) %{_bindir}/%{name}
%attr(0755, -, -) %{_libdir}/%{name}/%{name}
%attr(0644, -, -) %{_datadir}/icons/%{name}.ico
%attr(0644, -, -) %{_datadir}/applications/%{name}.desktop
%files core
%dir %{_libdir}/%{name}
%attr(0755, -, -) %{_libdir}/%{name}/%{core}
-5
View File
@@ -1,5 +0,0 @@
let sourcedir = "anda/apps/nekoray";
sh(`dnf in -y golang rpmdevtools tar rpm-build coreutils`, #{});
sh(`pushd ${sourcedir}; bash -x pre.sh; popd`, #{});
-9
View File
@@ -1,9 +0,0 @@
export sourcedir="$PWD"
rpmdev-spectool --all --get-files nekoray.spec
version=$(rpmspec --query --queryformat "%{VERSION}\n" nekoray.spec | uniq)
tar -xzf "nekoray-${version}.tar.gz"
pushd "nekoray-${version}/core/server"
go mod vendor
tar -czf "${sourcedir}/vendor-${version}.tar.gz" vendor
popd
-3
View File
@@ -1,3 +0,0 @@
rpm.version(find(`([\d.]+)-\d+-\d+-\d+`, gh_rawfile("Mahdi-zarei/nekoray", "dev", "nekoray_version.txt"), 1));
open_file("anda/apps/nekoray/Sagernet.SingBox.Version.txt", "w").write(gh("sagernet/sing-box"));
+1 -1
View File
@@ -1,7 +1,7 @@
%global __brp_mangle_shebangs %{nil}
Name: neohtop
Version: 1.2.0
Version: 1.1.2
Release: 1%?dist
Summary: System monitoring on steroids
License: MIT
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "opensnitch.spec"
}
}
-119
View File
@@ -1,119 +0,0 @@
# Generated by go2rpm 1.16.0
%bcond check 1
%bcond bootstrap 0
# https://github.com/evilsocket/opensnitch
%global goipath github.com/evilsocket/opensnitch
Version: 1.7.0.0
%gometa -f
%global common_description %{expand:
OpenSnitch is a GNU/Linux interactive application firewall inspired by Little
Snitch.}
%global golicenses LICENSE ui/LICENSE\\\
ui/opensnitch/res/themes/dark/icons/LICENSE
%global godocs README.md ebpf_prog/README ui/requirements.txt\\\
ui/i18n/README.md example example example\\\
utils/packaging/daemon/deb/debian/changelog\\\
utils/packaging/ui/deb/debian/changelog
Name: opensnitch
Release: %autorelease
Summary: OpenSnitch is a GNU/Linux interactive application firewall inspired by Little Snitch
License: GPL-3.0-only AND LGPL-2.1-or-later
URL: %{gourl}
Source: %{gosource}
BuildRequires: gcc-c++
BuildRequires: python3-devel
BuildRequires: python-rpm-macros
BuildRequires: python3dist(pip)
BuildRequires: python3dist(setuptools) >= 61.0
BuildRequires: python3dist(wheel) >= 0.37.1
BuildRequires: python3dist(pyqt5)
BuildRequires: /usr/bin/lrelease-qt5
BuildRequires: protobuf-compiler
BuildRequires: pkgconfig(libnetfilter_queue)
#BuildRequires: protoc-gen-go
#BuildRequires: /usr/bin/protoc-gen-go-grpc
%description %{common_description}
%gopkg
%prep
%goprep -A
%autopatch -p1
export GOBIN=$(go env GOPATH | sed -E 's/:.+$//')/bin
echo $GOBIN > %_builddir/gobin
go install github.com/golang/protobuf/protoc-gen-go@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.1
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
sed -i 's/@pip3 /@python3 -m pip /' ui/Makefile
%build
pushd ui
%make_build deps
popd
export GOBIN=$(cat %_builddir/gobin)
export PATH=$GOBIN:$PATH
pushd proto
%make_build
popd
pushd ui
%make_build
%pyproject_wheel
popd
%global gomodulesmode GO111MODULE=on
pushd daemon
%gobuild -o ../opensnitchd .
popd
%install
%gopkginstall
install -Dm755 opensnitchd -t %buildroot%_bindir
pushd ui
%if 0%{?fedora} <= 41
%py3_install
%else
%pyproject_install
%pyproject_save_files %name
%endif
popd
rm -rf %buildroot%python3_sitelib/tests/
cp -r %buildroot%python3_sitelib%_usr/ %buildroot%_usr/ --preserve=all --no-target-directory
rm -rf %buildroot%python3_sitelib%_usr
%if 0%{?fedora} <= 41
%files
%{python3_sitelib}/%name/
%{python3_sitelib}/%name-%{version}-py%{python3_version}.egg-info/
%else
%files -f %{pyproject_files}
%endif
%license LICENSE
%doc README.md
%_bindir/opensnitch-ui
%_bindir/opensnitchd
%_datadir/applications/opensnitch_ui.desktop
%_iconsdir/hicolor/48x48/apps/opensnitch-ui.png
%_iconsdir/hicolor/64x64/apps/opensnitch-ui.png
%_iconsdir/hicolor/scalable/apps/opensnitch-ui.svg
%_datadir/kservices5/kcm_opensnitch.desktop
%_metainfodir/io.github.evilsocket.opensnitch.appdata.xml
/usr/share/icons/hicolor/scalable/apps/opensnitch-ui.svg
%gopkgfiles
View File
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "peazip.spec"
}
}
-138
View File
@@ -1,138 +0,0 @@
# can't figure out how to apply usual build flags to lazbuild
%define debug_package %nil
Name: peazip
Version: 10.5.0
Release: 1%?dist
Summary: Free Zip / Unzip software and Rar file extractor. Cross-platform file and archive manager
License: LGPL-3.0-only
URL: https://peazip.github.io
Source0: https://github.com/peazip/PeaZip/archive/refs/tags/%version.tar.gz
# holy smoke this is written in pascal?
BuildRequires: lazarus-tools
BuildRequires: lazarus-lcl-gtk2
BuildRequires: lazarus-lcl-gtk3
BuildRequires: lazarus-lcl-qt5
BuildRequires: lazarus-lcl-qt6
Requires: (peazip-gtk2 or peazip-gtk3 or peazip-gtk4 or peazip-qt5 or peazip-qt6)
Requires: p7zip brotli zstd
Suggests: (peazip-gtk4 if gtk4)
Suggests: (peazip-qt5 if qt5-qtbase)
Suggests: (peazip-qt6 if qt6-qtbase)
%description
PeaZip is a free file archiver utility and rar extractor for Linux, macOS, and
Windows, which works with 200+ archive types and variants (7z, ace, arc, bz2,
cab, gz, iso, paq, pea, rar, tar, wim, zip, zipx...), handles spanned archives
(001, r01, z01...), supports multiple archive encryption standards, file
hashing, exports tasks as console scripts.
%package gtk2
Summary: GTK2 version of peazip
Requires: peazip
RemovePathPostFixes: .gtk2
%description gtk2
GTK2 version of peazip.
%package gtk3
Summary: GTK3 version of peazip
Requires: peazip
RemovePathPostFixes: .gtk3
%description gtk3
GTK3 version of peazip.
%package qt5
Summary: Qt5 version of peazip
Requires: peazip
RemovePathPostFixes: .qt5
%description qt5
Qt5 version of peazip.
%package qt6
Summary: Qt6 version of peazip
Requires: peazip
RemovePathPostFixes: .qt6
%description qt6
Qt6 version of peazip.
%package -n pea
Summary: Engine for PEA file format support
%description -n pea
Engine for PEA file format support.
%package -n pea-gtk2
Summary: GTK2 version of pea
Requires: pea
RemovePathPostFixes: .gtk2
%description -n pea-gtk2
GTK2 version of pea.
%package -n pea-gtk3
Summary: GTK3 version of pea
Requires: pea
RemovePathPostFixes: .gtk3
%description -n pea-gtk3
GTK3 version of pea.
%package -n pea-qt5
Summary: Qt5 version of pea
Requires: pea
RemovePathPostFixes: .qt5
%description -n pea-qt5
Qt5 version of pea.
%package -n pea-qt6
Summary: Qt6 version of pea
Requires: pea
RemovePathPostFixes: .qt6
%description -n pea-qt6
Qt6 version of pea.
%prep
%autosetup -n PeaZip-%version
%build
cd peazip-sources
lazbuild --add-package dev/metadarkstyle/metadarkstyle.lpk
lazbuild --ws=gtk2 dev/project_peach.lpi && cp dev/peazip ../peazip.gtk2
lazbuild --ws=gtk3 dev/project_peach.lpi && cp dev/peazip ../peazip.gtk3
lazbuild --ws=qt5 dev/project_peach.lpi && cp dev/peazip ../peazip.qt5
lazbuild --ws=qt6 dev/project_peach.lpi && cp dev/peazip ../peazip.qt6
lazbuild --ws=gtk2 dev/project_pea.lpi && cp dev/pea ../pea.gtk2
lazbuild --ws=gtk3 dev/project_pea.lpi && cp dev/pea ../pea.gtk3
lazbuild --ws=qt5 dev/project_pea.lpi && cp dev/pea ../pea.qt5
lazbuild --ws=qt6 dev/project_pea.lpi && cp dev/pea ../pea.qt6
%install
install -Dm755 peazip.* -t %buildroot%_bindir
install -Dm755 pea.* -t %buildroot%_bindir
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/peazip.desktop -t %{buildroot}%{_datadir}/applications
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/*.png -t %{buildroot}%{_datadir}/pixmaps
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/KDE-servicemenus/KDE6-dolphin/peazip-kde6.desktop -t %{buildroot}%{_datadir}/kio/servicemenus
install -Dm644 peazip-sources/res/share/batch/freedesktop_integration/Nautilus-scripts/PeaZip/* -t %{buildroot}%{_datadir}/nautilus/scripts/PeaZip
%files
%doc README.md
%license LICENSE SECURITY.md
%{_datadir}/applications/peazip.desktop
%{_datadir}/pixmaps/peazip*.png
%{_datadir}/kio/servicemenus/peazip-kde6.desktop
%dir %{_datadir}/nautilus/scripts/PeaZip
%{_datadir}/nautilus/scripts/PeaZip/*
%files -n pea
%doc README.md
%license LICENSE SECURITY.md
%files gtk2
%_bindir/peazip.gtk2
%files gtk3
%_bindir/peazip.gtk3
%files qt5
%_bindir/peazip.qt5
%files qt6
%_bindir/peazip.qt6
%files -n pea-gtk2
%_bindir/pea.gtk2
%files -n pea-gtk3
%_bindir/pea.gtk3
%files -n pea-qt5
%_bindir/pea.qt5
%files -n pea-qt6
%_bindir/pea.qt6
-1
View File
@@ -1 +0,0 @@
rpm.version(get("https://raw.githubusercontent.com/peazip/peazip.github.io/master/autoupdate.txt"));
-9
View File
@@ -1,9 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "protontricks.spec"
}
labels {
subrepo = "extras"
}
}
-92
View File
@@ -1,92 +0,0 @@
%bcond_with tests
%global pypi_name protontricks
Name: terra-%{pypi_name}
Version: 1.12.1
Release: 1%{?dist}
Summary: Simple wrapper that does winetricks things for Proton enabled games
BuildArch: noarch
License: GPL-3.0-or-later
URL: https://github.com/Matoking/protontricks
# GitHub tarball won't work for setuptools-scm
Source0: %{pypi_source}
BuildRequires: desktop-file-utils
BuildRequires: python3-devel
BuildRequires: python3dist(pip)
BuildRequires: python3dist(setuptools)
BuildRequires: python3dist(setuptools-scm)
# BuildRequires: python3dist(vdf) >= 3.4
%if %{with tests}
BuildRequires: python3dist(pytest-cov) >= 2.10
BuildRequires: python3dist(pytest) >= 6.0
%endif
Requires: (terra-winetricks or winetricks-git)
Conflicts: protontricks
Recommends: yad
Suggests: zenity
# https://github.com/Matoking/protontricks/blob/master/CHANGELOG.md#1120---2024-09-16
Provides: bundled(python3-vdf)
%description
A simple wrapper that does winetricks things for Proton enabled games,
requires Winetricks.
This is a fork of the original project created by sirmentio. The original
repository is available at Sirmentio/protontricks.
%prep
%autosetup -n %{pypi_name}-%{version}
%build
%if 0%{?fedora} <= 41
%py3_build
%else
%pyproject_wheel
%endif
%install
%if 0%{?fedora} <= 41
%py3_install
%else
%pyproject_install
%endif
# Remove `protontricks-desktop-install`, since we already install .desktop
# files properly
# https://bugzilla.redhat.com/show_bug.cgi?id=1991684
rm %{buildroot}%{_bindir}/%{pypi_name}-desktop-install
%if %{with tests}
%check
%{py3_test_envvars} %{python3} -m pytest -v
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
%endif
%files
%license LICENSE
%doc README.md CHANGELOG.md
%{_bindir}/%{pypi_name}-launch
%{_bindir}/%{pypi_name}
%{_datadir}/applications/*.desktop
%{python3_sitelib}/%{pypi_name}/
%if 0%{?fedora} <= 41
%{python3_sitelib}/%{pypi_name}-%{version}*.egg-info/
%else
%{python3_sitelib}/%{pypi_name}-%{version}*.dist-info/
%endif
%changelog
%autochangelog
-1
View File
@@ -1 +0,0 @@
rpm.version(pypi("protontricks"));
+10 -10
View File
@@ -1,4 +1,4 @@
%global ver 2025-07-06
%global ver 2025-03-02
%global goodver %(echo %ver | sed 's/-//g')
%global __brp_mangle_shebangs %{nil}
%bcond_without mold
@@ -31,7 +31,7 @@ Packager: madonuko <mado@fyralabs.com>
%doc README.md
%license LICENSE.md
%license LICENSE.dependencies
%_bindir/ruffle
%_bindir/ruffle_desktop
%_datadir/applications/rs.ruffle.Ruffle.desktop
%_iconsdir/hicolor/scalable/apps/rs.ruffle.Ruffle.svg
%_metainfodir/rs.ruffle.Ruffle.metainfo.xml
@@ -39,18 +39,18 @@ Packager: madonuko <mado@fyralabs.com>
%prep
%autosetup -n ruffle-nightly-%ver -p1
%cargo_prep_online
sed -iE 's@^Exec=ruffle %%u$@Exec=ruffle_desktop %%u@' desktop/packages/linux/rs.ruffle.Ruffle.desktop
cat desktop/packages/linux/rs.ruffle.Ruffle.desktop
%build
cd desktop
%cargo_build
%{cargo_license_online} > LICENSE.dependencies
%install
install -Dm755 target/rpm/ruffle_desktop %buildroot%_bindir/ruffle
install -Dm644 desktop/packages/linux/rs.ruffle.Ruffle.svg %buildroot%_iconsdir/hicolor/scalable/apps/rs.ruffle.Ruffle.svg
install -Dm644 desktop/packages/linux/rs.ruffle.Ruffle.desktop %buildroot%_datadir/applications/rs.ruffle.Ruffle.desktop
install -Dm644 desktop/packages/linux/rs.ruffle.Ruffle.metainfo.xml %buildroot%_metainfodir/rs.ruffle.Ruffle.metainfo.xml
%{cargo_license_online} > LICENSE.dependencies
cd desktop
%cargo_install
install -Dm644 packages/linux/rs.ruffle.Ruffle.svg %buildroot%_iconsdir/hicolor/scalable/apps/rs.ruffle.Ruffle.svg
install -Dm644 packages/linux/rs.ruffle.Ruffle.desktop %buildroot%_datadir/applications/rs.ruffle.Ruffle.desktop
install -Dm644 packages/linux/rs.ruffle.Ruffle.metainfo.xml %buildroot%_metainfodir/rs.ruffle.Ruffle.metainfo.xml
%changelog
* Mon Jul 29 2024 madonuko <mado@fyralabs.com>
-5
View File
@@ -1,5 +0,0 @@
project pkg {
rpm {
spec = "subtitleedit.spec"
}
}
-56
View File
@@ -1,56 +0,0 @@
%global pkgdir %_datadir/subtitleedit
%global realname subtitleedit
Name: %realname.bin
Version: 4.0.12
Release: 2%?dist
Summary: An advanced subtitle editor and converter
License: GPL-3.0-only
URL: https://www.nikse.dk/SubtitleEdit
Source0: https://github.com/SubtitleEdit/subtitleedit/releases/download/%version/SE%{gsub %version %. %{quote:}}.zip
Source1: https://github.com/SubtitleEdit/subtitleedit/blob/%version/src/libse/Icon.png?raw=true
Packager: madonuko <mado@fyralabs.com>
Provides: %realname = %evr
Conflicts: %realname
BuildRequires: unzip anda-srpm-macros
Requires: dejavu-sans-mono-fonts mono-core
%description
%summary.
%prep
cat<<EOF > subtitleedit.desktop
[Desktop Entry]
Name=Subtitle Edit
Comment=An advanced subtitle editor and converter
Exec=/usr/bin/subtitleedit %%F
Icon=subtitleedit
Terminal=false
Type=Application
Categories=Video;AudioVideo;AudioVideoEditing;
EOF
cat<<EOF > subtitleedit
#!/usr/bin/sh
exec mono /usr/share/subtitleedit/SubtitleEdit.exe "$@"
EOF
%install
mkdir -p %buildroot%pkgdir
unzip %{S:0} -d %buildroot%pkgdir
rm -r %buildroot%pkgdir/Tesseract302
rm %buildroot%pkgdir/Hunspell{x86,x64}.dll
touch %buildroot%pkgdir/.PACKAGE-MANAGER
install -Dm755 subtitleedit -t %buildroot%_bindir
install -Dm644 subtitleedit.desktop -t %buildroot%_datadir/applications
install -Dm644 %{S:1} %buildroot%_datadir/pixmaps/subtitleedit.png
%files
%pkgdir
%_bindir/%realname
%_datadir/applications/%realname.desktop
%_datadir/pixmaps/%realname.png
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("SubtitleEdit/subtitleedit"));
@@ -0,0 +1,27 @@
From 44046bfbcb30a19c45416113a2a82a4d17a1a998 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
Date: Mon, 14 Aug 2023 14:06:45 +0200
Subject: [PATCH 01/10] main: update GPUs comment for dbus property
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
src/net.hadess.SwitcherooControl.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/net.hadess.SwitcherooControl.xml b/src/net.hadess.SwitcherooControl.xml
index e52bc1a..59a8896 100644
--- a/src/net.hadess.SwitcherooControl.xml
+++ b/src/net.hadess.SwitcherooControl.xml
@@ -38,7 +38,8 @@
will contain a user-facing name for the GPU, the "Environment" (as) key will
contain an array of even number of strings, each being an environment
variable to set to use the GPU, followed by its value, the "Default" (b) key
- will tag the default (usually integrated) GPU.
+ will tag the default GPU, the "Discrete" (b) key tags if the GPU is a
+ dedicated component.
-->
<property name="GPUs" type="aa{sv}" access="read"/>
--
2.46.0
@@ -0,0 +1,379 @@
From 4f31415cb61a50c2bcba1510a7511518417d0970 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
Date: Mon, 11 Sep 2023 15:21:46 +0200
Subject: [PATCH 02/10] main: add Discrete key
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
.gitlab-ci.yml | 1 +
data/30-discrete-gpu.rules.in | 3 +
data/meson.build | 7 ++
meson.build | 9 +++
meson_options.txt | 24 +++++++
src/discrete-detection/amdgpu.c | 46 +++++++++++++
src/discrete-detection/meson.build | 18 +++++
src/discrete-detection/nouveau.c | 105 +++++++++++++++++++++++++++++
src/meson.build | 4 +-
src/switcheroo-control.c | 16 +++++
10 files changed, 232 insertions(+), 1 deletion(-)
create mode 100644 data/30-discrete-gpu.rules.in
create mode 100644 src/discrete-detection/amdgpu.c
create mode 100644 src/discrete-detection/meson.build
create mode 100644 src/discrete-detection/nouveau.c
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a6aa3c7..a09fe20 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,7 @@ image: fedora:rawhide
variables:
DEPENDENCIES: glib2-devel
libgudev-devel
+ libdrm-devel
gtk-doc
gcc
gcc-c++
diff --git a/data/30-discrete-gpu.rules.in b/data/30-discrete-gpu.rules.in
new file mode 100644
index 0000000..a803ed4
--- /dev/null
+++ b/data/30-discrete-gpu.rules.in
@@ -0,0 +1,3 @@
+DRIVERS=="amdgpu", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-amdgpu $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
+DRIVERS=="nouveau", SUBSYSTEM=="drm", PROGRAM="@libexecdir@/check-discrete-nouveau $env{DEVNAME}", TAG+="switcheroo-discrete-gpu"
+DRIVERS=="nvidia", TAG+="switcheroo-discrete-gpu"
diff --git a/data/meson.build b/data/meson.build
index 85e5c93..38cf96c 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -17,3 +17,10 @@ install_data(
'30-pci-intel-gpu.hwdb',
install_dir: hwdb_dir,
)
+
+configure_file(
+ input: '30-discrete-gpu.rules.in',
+ output: '30-discrete-gpu.rules',
+ configuration: data_conf,
+ install_dir: rules_dir,
+)
diff --git a/meson.build b/meson.build
index b8f4bff..b3aaf0c 100644
--- a/meson.build
+++ b/meson.build
@@ -20,6 +20,9 @@ gnome = import('gnome')
glib = dependency('glib-2.0', version: '>= 2.56.0')
gio = dependency('gio-2.0', version: '>= 2.56.0')
gudev = dependency('gudev-1.0', version: '>= 232')
+libdrm = dependency('libdrm', version: '>= 2.4.97', required: get_option('libdrm'))
+libdrm_nouveau = dependency('libdrm_nouveau', version: '>= 2.4.97', required: get_option('libdrm_nouveau'))
+libdrm_amdgpu = dependency('libdrm_amdgpu', version: '>= 2.4.97', required: get_option('libdrm_amdgpu'))
systemd_systemunitdir = get_option('systemdsystemunitdir')
if systemd_systemunitdir == ''
@@ -32,6 +35,12 @@ if hwdb_dir == ''
hwdb_dir = udevdir / 'hwdb.d'
endif
+rules_dir = get_option('rulesdir')
+if rules_dir == ''
+ udevdir = dependency('udev').get_pkgconfig_variable('udevdir')
+ rules_dir = udevdir / 'rules.d'
+endif
+
# Make like license available in the build root for docs
configure_file(
input: 'COPYING',
diff --git a/meson_options.txt b/meson_options.txt
index c8d9619..b8d671a 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -10,6 +10,12 @@ option('hwdbdir',
description: 'Directory for hwdb files',
)
+option('rulesdir',
+ type: 'string',
+ value: '',
+ description: 'Directory for ruke files',
+)
+
option('gtk_doc',
type: 'boolean',
value: false,
@@ -21,3 +27,21 @@ option('tests',
type: 'boolean',
value: false
)
+
+option('libdrm',
+ description: 'Whether libdrm should be used to probe GPUs',
+ type: 'feature',
+ value: 'auto'
+)
+
+option('libdrm_nouveau',
+ description: 'Whether libdrm_nouveau should be used to probe Nvidia GPUs',
+ type: 'feature',
+ value: 'auto'
+)
+
+option('libdrm_amdgpu',
+ description: 'Whether libdrm_amdgpu should be used to probe AMD GPUs',
+ type: 'feature',
+ value: 'auto'
+)
diff --git a/src/discrete-detection/amdgpu.c b/src/discrete-detection/amdgpu.c
new file mode 100644
index 0000000..2d9804f
--- /dev/null
+++ b/src/discrete-detection/amdgpu.c
@@ -0,0 +1,46 @@
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <gio/gio.h>
+#include <gudev/gudev.h>
+
+#include <amdgpu.h>
+#include <amdgpu_drm.h>
+
+typedef int handle;
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(amdgpu_device_handle, free);
+
+int main(int argc, char** argv)
+{
+ if (argc < 2)
+ {
+ puts ("check-discrete-amdgpu [DEVNAME]");
+ return EXIT_FAILURE;
+ }
+
+ const char *devname;
+ g_auto(handle) fd = -1;
+ g_autoptr(GUdevDevice) parent = NULL;
+ struct drm_amdgpu_info_device device_info = {0};
+ amdgpu_device_handle device = NULL;
+ uint32_t drm_major, drm_minor;
+
+ devname = argv[1];
+ fd = open (devname, O_RDWR);
+ if (fd < 0)
+ return EXIT_FAILURE;
+
+ if (amdgpu_device_initialize (fd, &drm_major, &drm_minor, &device))
+ return EXIT_FAILURE;
+
+ if (amdgpu_query_info (device, AMDGPU_INFO_DEV_INFO, sizeof(device_info), &device_info))
+ return EXIT_FAILURE;
+
+ /* AMDGPU_IDS_FLAGS_FUSION is set for all APUs */
+ if (device_info.ids_flags & AMDGPU_IDS_FLAGS_FUSION)
+ return EXIT_FAILURE;
+
+ return EXIT_SUCCESS;
+}
diff --git a/src/discrete-detection/meson.build b/src/discrete-detection/meson.build
new file mode 100644
index 0000000..3a6c03f
--- /dev/null
+++ b/src/discrete-detection/meson.build
@@ -0,0 +1,18 @@
+
+if libdrm_amdgpu.found()
+ executable('check-discrete-amdgpu',
+ files('amdgpu.c'),
+ dependencies: deps,
+ install: true,
+ install_dir: libexecdir,
+ )
+endif
+
+if libdrm.found() and libdrm_nouveau.found()
+ executable('check-discrete-nouveau',
+ files('nouveau.c'),
+ dependencies: deps,
+ install: true,
+ install_dir: libexecdir,
+ )
+endif
diff --git a/src/discrete-detection/nouveau.c b/src/discrete-detection/nouveau.c
new file mode 100644
index 0000000..0a1f220
--- /dev/null
+++ b/src/discrete-detection/nouveau.c
@@ -0,0 +1,105 @@
+
+#include <fcntl.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <gio/gio.h>
+#include <gudev/gudev.h>
+
+#include <xf86drm.h>
+#include <nouveau_drm.h>
+#include <nouveau/nvif/ioctl.h>
+#include <nvif/cl0080.h>
+#include <nvif/class.h>
+
+typedef int handle;
+G_DEFINE_AUTO_CLEANUP_FREE_FUNC(handle, close, -1)
+
+int main(int argc, char** argv)
+{
+ if (argc < 2)
+ {
+ puts ("check-discrete-nouveau [DEVNAME]");
+ return EXIT_FAILURE;
+ }
+
+ const char *devname;
+ g_auto(handle) fd = -1;
+
+ devname = argv[1];
+ fd = open (devname, O_RDWR);
+ if (fd < 0)
+ return EXIT_FAILURE;
+
+ g_autofree void *device = malloc(352);
+
+ /* Init device */
+ {
+ struct {
+ struct nvif_ioctl_v0 ioctl;
+ struct nvif_ioctl_new_v0 new;
+ struct nv_device_v0 dev;
+ } init_args = {
+ .ioctl = {
+ .object = 0,
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
+ .route = 0x00,
+ .type = NVIF_IOCTL_V0_NEW,
+ .version = 0,
+ },
+ .new = {
+ .handle = 0,
+ .object = (uintptr_t)device,
+ .oclass = NV_DEVICE,
+ .route = NVIF_IOCTL_V0_ROUTE_NVIF,
+ .token = (uintptr_t)device,
+ .version = 0,
+ },
+ .dev = {
+ .device = ~0ULL,
+ },
+ };
+
+ if (drmCommandWrite (fd, DRM_NOUVEAU_NVIF, &init_args, sizeof(init_args)))
+ return EXIT_FAILURE;
+ }
+
+ /* Query device info */
+ struct {
+ struct nvif_ioctl_v0 ioctl;
+ struct nvif_ioctl_mthd_v0 mthd;
+ struct nv_device_info_v0 info;
+ } args = {
+ .ioctl = {
+ .object = (uintptr_t)device,
+ .owner = NVIF_IOCTL_V0_OWNER_ANY,
+ .route = 0x00,
+ .type = NVIF_IOCTL_V0_MTHD,
+ .version = 0,
+ },
+ .mthd = {
+ .method = NV_DEVICE_V0_INFO,
+ .version = 0,
+ },
+ .info = {
+ .version = 0,
+ },
+ };
+
+ if (drmCommandWriteRead (fd, DRM_NOUVEAU_NVIF, &args, sizeof(args)))
+ return EXIT_FAILURE;
+
+
+ switch (args.info.platform)
+ {
+ case NV_DEVICE_INFO_V0_IGP:
+ case NV_DEVICE_INFO_V0_SOC:
+ return EXIT_FAILURE;
+
+ case NV_DEVICE_INFO_V0_PCI:
+ case NV_DEVICE_INFO_V0_AGP:
+ case NV_DEVICE_INFO_V0_PCIE:
+ default:
+ return EXIT_SUCCESS;
+ }
+ return EXIT_FAILURE;
+}
diff --git a/src/meson.build b/src/meson.build
index ab3a77d..da4267f 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,4 +1,4 @@
-deps = [glib, gio, gudev]
+deps = [glib, gio, gudev, libdrm, libdrm_nouveau, libdrm_amdgpu]
sources = [
'info-cleanup.c',
@@ -34,3 +34,5 @@ configure_file(
configuration: switcherooctl_conf,
install_dir: get_option('bindir')
)
+
+subdir('discrete-detection')
diff --git a/src/switcheroo-control.c b/src/switcheroo-control.c
index abd8154..e407bfb 100644
--- a/src/switcheroo-control.c
+++ b/src/switcheroo-control.c
@@ -31,6 +31,7 @@ typedef struct {
char *name;
GPtrArray *env;
gboolean is_default;
+ gboolean is_discrete;
} CardData;
typedef struct {
@@ -94,6 +95,8 @@ build_gpus_variant (ControlData *data)
g_variant_new_strv ((const gchar * const *) card->env->pdata, card->env->len));
g_variant_builder_add (&asv_builder, "{sv}", "Default",
g_variant_new_boolean (card->is_default));
+ g_variant_builder_add (&asv_builder, "{sv}", "Discrete",
+ g_variant_new_boolean (card->is_discrete));
g_variant_builder_add (&builder, "a{sv}", &asv_builder);
}
@@ -312,6 +315,18 @@ get_card_is_default (GUdevDevice *d)
return g_udev_device_get_sysfs_attr_as_boolean (parent, "boot_vga");
}
+static gboolean
+get_card_is_discrete (GUdevDevice *d)
+{
+ const char * const * tags;
+ g_autoptr (GUdevDevice) platform_device = NULL;
+
+ tags = g_udev_device_get_tags (d);
+ if (tags && g_strv_contains (tags, "switcheroo-discrete-gpu"))
+ return TRUE;
+ return FALSE;
+}
+
static CardData *
get_card_data (GUdevClient *client,
GUdevDevice *d)
@@ -328,6 +343,7 @@ get_card_data (GUdevClient *client,
data->name = get_card_name (d);
data->env = env;
data->is_default = get_card_is_default (d);
+ data->is_discrete = get_card_is_discrete (d);
return data;
}
--
2.46.0
@@ -0,0 +1,27 @@
From 1b115ed72e03ff1169cbfddd79ef10890baca133 Mon Sep 17 00:00:00 2001
From: Jan200101 <sentrycraft123@gmail.com>
Date: Tue, 12 Sep 2023 15:53:40 +0200
Subject: [PATCH 03/10] tests: fix integration tests without UMockdev
`gi.require_version` throws ValueError if the dependency cannot be found
Signed-off-by: Jan200101 <sentrycraft123@gmail.com>
---
tests/integration-test.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/integration-test.py b/tests/integration-test.py
index d8dea16..e3dd996 100755
--- a/tests/integration-test.py
+++ b/tests/integration-test.py
@@ -37,7 +37,7 @@ except ImportError as e:
try:
gi.require_version('UMockdev', '1.0')
from gi.repository import UMockdev
-except ImportError:
+except (ImportError, ValueError):
sys.stderr.write('Skipping tests, umockdev not available (https://github.com/martinpitt/umockdev)\n')
sys.exit(0)
--
2.46.0
@@ -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
File diff suppressed because it is too large Load Diff
@@ -1,16 +1,22 @@
Name: switcheroo-control
Version: 2.6
Release: 9%{?dist}
Release: 8%{?dist}
Summary: D-Bus service to check the availability of dual-GPU
License: GPLv3
URL: https://gitlab.freedesktop.org/hadess/switcheroo-control/
# URL from https://gitlab.freedesktop.org/hadess/switcheroo-control/-/releases
Source0: https://gitlab.freedesktop.org/hadess/switcheroo-control/uploads/86ea54ac7ddb901b6bf6e915209151f8/switcheroo-control-2.6.tar.xz
# Adds proper discrete GPU detection to switcheroo-control
# https://gitlab.freedesktop.org/hadess/switcheroo-control/-/merge_requests/69
Patch: discrete.patch
Patch: 0001-main-update-GPUs-comment-for-dbus-property.patch
Patch: 0002-main-add-Discrete-key.patch
Patch: 0003-tests-fix-integration-tests-without-UMockdev.patch
Patch: 0004-tests-add-tests-for-discrete-detection-with-mock-lib.patch
Patch: 0005-main-remove-leftover-and-fix-typo.patch
Patch: 0006-main-move-discrete-dependencies-out-of-main-deps.patch
Patch: 0007-main-use-glib-for-discrete-command-line-arguments.patch
Patch: 0008-main-add-udev-rule-for-i915.patch
Patch: 0009-main-use-Discrete-key-in-switcherooctl.patch
Patch: 0010-main-use-new-GPU-list-on-uevent.patch
BuildRequires: gcc
BuildRequires: pkgconfig(gudev-1.0)
@@ -19,7 +25,6 @@ BuildRequires: gtk-doc
BuildRequires: meson
BuildRequires: systemd
BuildRequires: libdrm-devel
BuildRequires: kernel-headers
BuildRequires: python3-dbusmock
BuildRequires: umockdev
@@ -73,7 +78,6 @@ fi
%{_mandir}/man1/switcherooctl.1*
%{_libexecdir}/check-discrete-amdgpu
%{_libexecdir}/check-discrete-nouveau
%{_libexecdir}/check-discrete-xe
%{_udevrulesdir}/30-discrete-gpu.rules
%files docs
@@ -82,17 +86,14 @@ fi
%{_datadir}/gtk-doc/html/%{name}/
%changelog
* Tue Apr 29 2025 Jan200101 <sentrycraft123@gmail.com> - 2.6-9
* Fri Sep 06 2024 Jan200101 <sentrycraft123@gmail.com> - 2.6-8
- Update discrete patch
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Feb 15 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-7
- Update discrete patch
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.6-7
- convert license to SPDX
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Feb 14 2024 Jan Drögehoff <sentrycraft123@gmail.com> - 2.6-6
- Add discrete patch
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.6-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
@@ -6,7 +6,7 @@
Name: vencord-desktop
Provides: VencordDesktop = %{version}-%{release}
Version: 1.5.7
Version: 1.5.5
Release: 1%?dist
License: GPL-3.0
Summary: Vesktop is a cross platform desktop app aiming to give you a snappier Discord experience with Vencord pre-installed
+5 -5
View File
@@ -5,15 +5,15 @@
%define __strip /bin/true
# do not perform compression in cpio
%define _source_payload w19.zstdio
%define _source_payload w0.ufdio
%define _binary_payload w19.zstdio
# Exclude private libraries
%global __provides_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%global __requires_exclude ^((libffmpeg[.]so.*)|(lib.*\\.so.*))$
%global __requires_exclude libffmpeg.so
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
Name: voicevox
Version: 0.24.1
Version: 0.23.0
Release: 1%?dist
Summary: Free Japanese text-to-speech editor
License: LGPL-3.0
@@ -52,7 +52,7 @@ sed -i "s|Exec=.*|Exec=/usr/share/voicevox/VOICEVOX.AppImage|" squashfs-root/voi
%install
install -Dm755 VOICEVOX.AppImage %buildroot%_datadir/voicevox/VOICEVOX.AppImage
install -Dm755 voicevox.sh %buildroot%_bindir/voicevox
install -Dm644 squashfs-root%_iconsdir/hicolor/256x256/apps/voicevox.png %buildroot%_iconsdir/hicolor/256x256/apps/voicevox.png
install -Dm644 squashfs-root%_iconsdir/hicolor/0x0/apps/voicevox.png %buildroot%_iconsdir/hicolor/256x256/apps/voicevox.png
install -Dm644 squashfs-root/voicevox.desktop %buildroot%_datadir/applications/voicevox.desktop
%files
-6
View File
@@ -1,6 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "vpkedit.spec"
}
}
-1
View File
@@ -1 +0,0 @@
rpm.version(gh("craftablescience/VPKEdit"));
-55
View File
@@ -1,55 +0,0 @@
Name: vpkedit
Version: 4.4.2
Release: 3%?dist
Summary: A CLI/GUI tool to create, read, and write several pack file formats
License: MIT
URL: https://github.com/craftablescience/VPKEdit
Requires: qt6-qtbase hicolor-icon-theme
Suggests: qt6-qtwayland
Packager: madonuko <mado@fyralabs.com>
BuildRequires: cmake git-core gcc gcc-c++ binutils
BuildRequires: cmake(Qt6)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6Linguist)
BuildRequires: cmake(Qt6Charts)
BuildRequires: cmake(Qt6LinguistTools)
ExclusiveArch: x86_64
%description
VPKEdit is an open source MIT-licensed tool that can extract from, preview the
contents of and write to several pack file formats. It also supports creating
new VPKs.
%prep
%git_clone %url v%version
%build
%cmake -DCMAKE_INSTALL_PREFIX=%_libdir/%name \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DCMAKE_BUILD_TYPE=Release
# -DVPKEDIT_BUILD_LIBC=ON
%cmake_build
%install
%cmake_install
pushd %buildroot%_libdir/%name
rm -rf {libQt*,*.md,LICENSE}
popd
ln -sf %_libdir/vpkedit/vpkedit %buildroot%_bindir/vpkedit
ln -sf %_libdir/vpkedit/vpkeditcli %buildroot%_bindir/vpkeditcli
sed -i 's@Exec=/opt/vpkedit/@Exec=@g' %buildroot%_datadir/applications/vpkedit.desktop
%files
%doc README.md CREDITS.md
%license LICENSE
%_bindir/vpkedit
%_bindir/vpkeditcli
%_libdir/%name/
%_datadir/applications/vpkedit.desktop
%_iconsdir/hicolor/128x128/mimetypes/application-x-vpkedit.png
%_datadir/mime/packages/vpkedit.xml
%_datadir/pixmaps/vpkedit.png
-10
View File
@@ -1,10 +0,0 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "winetricks-git.spec"
}
labels {
subrepo = "extras"
nightly = 1
}
}
-7
View File
@@ -1,7 +0,0 @@
rpm.global("commit", gh_commit("Winetricks/winetricks"));
if rpm.changed() {
rpm.release();
rpm.global("commit_date", date());
let v = gh("Winetricks/winetricks");
rpm.global("ver", v);
}
@@ -1,75 +0,0 @@
# Fedora sometimes sources the snapshots under stable versions and just bumps release
# For user clarity I have separated these into different packages
%global commit 50417b23b5d3e79c6c8fa4d1af69167dfa3de719
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global ver 20250102
%global commit_date 20250621
Name: winetricks-git
Version: %{ver}^%{commit_date}git.%{shortcommit}
Release: 1%?dist
Summary: Work around common problems in Wine; Winetricks Git builds
License: LGPL-2.1-or-later
URL: https://github.com/Winetricks/winetricks
Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{commit}.tar.gz
BuildRequires: desktop-file-utils
BuildRequires: gcc
BuildRequires: make
Requires: cabextract
Requires: gzip
Requires: unzip
Requires: wget
Requires: which
Requires: hicolor-icon-theme
Requires: (kdialog or zenity)
Requires: (wine-stable or wine-staging or wine-dev or wine-common)
Conflicts: winetricks
Conflicts: terra-winetricks
BuildArch: noarch
# need arch-specific wine, not available everywhere:
# - adopted from wine.spec
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExcludeArch: ppc64 ppc64le
%description
Winetricks is an easy way to work around common problems in Wine.
It has a menu of supported games/apps for which it can do all the
workarounds automatically. It also lets you install missing DLLs
or tweak various Wine settings individually.
This version of Winetricks is built from the latest Git.
It is also compatible with Terra WINE builds.
%prep
%setup -qn winetricks-%{commit}
sed -i -e s:steam:: -e s:flash:: tests/*
%build
# Empty build section because RPM
%install
%make_install
# some tarballs do not install appdata
install -Dm0644 -t %{buildroot}%{_datadir}/metainfo src/io.github.winetricks.Winetricks.metainfo.xml
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/winetricks.desktop
%files
%license COPYING
%license debian/copyright
%doc README.md
%{_bindir}/winetricks
%{_mandir}/man1/winetricks.1*
%{_datadir}/applications/winetricks.desktop
%{_datadir}/bash-completion/completions/winetricks
%{_datadir}/icons/hicolor/scalable/apps/winetricks.svg
%{_datadir}/metainfo/io.github.winetricks.Winetricks.metainfo.xml
%changelog
%autochangelog

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