Bug 51325

Summary: Cosmic DE 1.0.0 on loongarch64
Product: Sisyphus Reporter: Ilya Sorochan <sorochanilyav>
Component: cosmic-compAssignee: Yuri N. Sedunov <aris>
Status: NEW --- QA Contact: qa-sisyphus
Severity: enhancement    
Priority: P5 CC: aris
Version: unstable   
Hardware: loongarch64   
OS: Linux   
Attachments:
Description Flags
cosmic-greeter nix crate patch
none
cosmic-applets linux-raw-sys crate patch
none
cosmic-files linux-raw-sys crate patch
none
cosmic-launcher linux-raw-sys crate patch
none
cosmic-osd linux-raw-sys crate patch
none
cosmic-screenshot libc crate patch
none
cosmic-session linux-raw-sys crate patch
none
cosmic-settings-daemon linux-raw-sys crate patch
none
cosmic-term linux-raw-sys crate patch
none
xdg-desktop-portal-cosmic linux-raw-sys crate patch
none
cosmic-notifications 0001 patch
none
cosmic-notifications 0002 patch
none
cosmic-notifications 0003 patch
none
cosmic-panel 0001 patch
none
cosmic-panel 0002 patch
none
cosmic-panel 0003 patch
none
cosmic-settings 0001 patch
none
cosmic-settings 0002 patch
none
cosmic-settings 0003 patch
none
nix patch for cosmic-greeter
none
linux-raw-sys patch for cosmic-osd
none
libc patch for cosmic-screenshot
none
nix 0.23 & nix 0.26 patch for cosmic-session
none
linux-raw-sys patch for cosmic-settings-daemon
none
nix & linux-raw-sys patch for cosmic-notifications
none
nix & linux-raw-sys patch for cosmic-notifications
none
nix patch for cosmic-greeter
none
nix patch for cosmic-notifications
none
nix patch for cosmic-panel
none
libc patch for cosmic-screenshot
none
nix 0.23 & nix 0.26 patch for cosmic-session none

Description Ilya Sorochan 2024-08-29 12:23:28 MSK
Created attachment 16734 [details]
cosmic-greeter nix crate patch

Портировал cosmic пакеты на loongarch64, много патчей накопилось, но залить на git.alt увы не могу (многоуважаемый Глеб спит). Поэтому сейчас их сложу во вложения.
Полный список ниже. На некоторые пакеты несколько патчей.

Должны быть в таске что бы все собралось:
- cosmic-randr
- cosmic-bg
- icon-theme-cosmici
- cosmic-comp

Патч на крейт linux-raw-sys:
- cosmic-term
- xdg-desktop-portal-cosmic
- cosmic-files
- cosmic-launcher
- cosmic-osd
- cosmic-settings-daemon
- comsic-applets
- cosmic-session
- comsic-panel
- comsic-notifications
- cosmic-settings

Патч на крейт libc:
- cosmic-screenshot

Патч на крейт nix:
- cosmic-panel
- cosmic-notifications
- cosmic-greeter

Патч на крейт generator:
- cosmic-settings

Форматировал git format-patch
Comment 1 Ilya Sorochan 2024-08-29 12:24:49 MSK
Created attachment 16735 [details]
cosmic-applets linux-raw-sys crate patch
Comment 2 Ilya Sorochan 2024-08-29 12:25:22 MSK
(In reply to Ilya Sorochan from comment #0)
> Created attachment 16734 [details]
> nix crate patch
> 
> Портировал cosmic пакеты на loongarch64, много патчей накопилось, но залить
> на git.alt увы не могу (многоуважаемый Глеб спит). Поэтому сейчас их сложу
> во вложения.
> Полный список ниже. На некоторые пакеты несколько патчей.
> 
> Должны быть в таске что бы все собралось:
> - cosmic-randr
> - cosmic-bg
> - icon-theme-cosmici
> - cosmic-comp
> 
> Патч на крейт linux-raw-sys:
> - cosmic-term
> - xdg-desktop-portal-cosmic
> - cosmic-files
> - cosmic-launcher
> - cosmic-osd
> - cosmic-settings-daemon
> - comsic-applets
> - cosmic-session
> - comsic-panel
> - comsic-notifications
> - cosmic-settings
> 
> Патч на крейт libc:
> - cosmic-screenshot
> 
> Патч на крейт nix:
> - cosmic-panel
> - cosmic-notifications
> - cosmic-greeter
> 
> Патч на крейт generator:
> - cosmic-settings
> 
> Форматировал git format-patch

В linux-raw-sys еще должен быть cosmic-applets
Comment 3 Ilya Sorochan 2024-08-29 12:26:03 MSK
Created attachment 16736 [details]
cosmic-files linux-raw-sys crate patch
Comment 4 Ilya Sorochan 2024-08-29 12:28:28 MSK
Created attachment 16737 [details]
cosmic-launcher linux-raw-sys crate patch
Comment 5 Ilya Sorochan 2024-08-29 12:29:03 MSK
Created attachment 16738 [details]
cosmic-osd linux-raw-sys crate patch
Comment 6 Ilya Sorochan 2024-08-29 12:30:18 MSK
Created attachment 16739 [details]
cosmic-screenshot libc crate patch
Comment 7 Ilya Sorochan 2024-08-29 12:30:57 MSK
Created attachment 16740 [details]
cosmic-session linux-raw-sys crate patch
Comment 8 Ilya Sorochan 2024-08-29 12:31:33 MSK
Created attachment 16741 [details]
cosmic-settings-daemon linux-raw-sys crate patch
Comment 9 Ilya Sorochan 2024-08-29 12:32:36 MSK
Created attachment 16742 [details]
cosmic-term linux-raw-sys crate patch
Comment 10 Ilya Sorochan 2024-08-29 12:33:16 MSK
Created attachment 16743 [details]
xdg-desktop-portal-cosmic linux-raw-sys crate patch
Comment 11 Ilya Sorochan 2024-08-29 12:34:06 MSK
Created attachment 16744 [details]
cosmic-notifications 0001 patch
Comment 12 Ilya Sorochan 2024-08-29 12:34:21 MSK
Created attachment 16745 [details]
cosmic-notifications 0002 patch
Comment 13 Ilya Sorochan 2024-08-29 12:34:57 MSK
Created attachment 16746 [details]
cosmic-notifications 0003 patch
Comment 14 Ilya Sorochan 2024-08-29 12:35:35 MSK
Created attachment 16747 [details]
cosmic-panel 0001 patch
Comment 15 Ilya Sorochan 2024-08-29 12:35:51 MSK
Created attachment 16748 [details]
cosmic-panel 0002 patch
Comment 16 Ilya Sorochan 2024-08-29 12:36:07 MSK
Created attachment 16749 [details]
cosmic-panel 0003 patch
Comment 17 Ilya Sorochan 2024-08-29 12:36:36 MSK
Created attachment 16750 [details]
cosmic-settings 0001 patch
Comment 18 Ilya Sorochan 2024-08-29 12:36:54 MSK
Created attachment 16751 [details]
cosmic-settings 0002 patch
Comment 19 Ilya Sorochan 2024-08-29 12:37:15 MSK
Created attachment 16752 [details]
cosmic-settings 0003 patch
Comment 20 Ilya Sorochan 2024-08-29 12:39:41 MSK
Получилось довольно большая куча файлов. Если это необходимо могу запаковать их в один архив для удобства. Также могу скинуть именно патчи на linux-raw-sys и прочее, но мне кажется с такими форматированными патчами работать будет проще: не нужно менять spec (а в некоторых случаях еще и .gear/rules)
Comment 21 Yuri N. Sedunov 2024-08-29 13:01:40 MSK
(Ответ для Ilya Sorochan на комментарий #20)
> Получилось довольно большая куча файлов. Если это необходимо могу запаковать
> их в один архив для удобства. Также могу скинуть именно патчи на
> linux-raw-sys и прочее, но мне кажется с такими форматированными патчами
> работать будет проще: не нужно менять spec (а в некоторых случаях еще и
> .gear/rules)

Из-за этой вот одной строчки вся кутерьма?
+        target_arch = "loongarch64",
Comment 22 Ilya Sorochan 2024-08-29 14:13:36 MSK
> Из-за этой вот одной строчки вся кутерьма?
> +        target_arch = "loongarch64",

Только то что касается linux-raw-sys. В патчах libc и nix все тоже просто, generator посложнее. Там фиксим сам крейт и заставляем cosmic-settings использовать только его (есть еще старая версия)
Comment 23 Ilya Sorochan 2024-10-01 10:27:58 MSK
С выходом второй альфы все патчи больше не применяются а часть и вообще больше не нужна.
Нормально собираются:
- cosmic-randr
- cosmic-bg
- icon-theme-cosmic
- cosmic-comp
- cosmic-term
- xdg-desktop-portal-cosmic
- cosmic-files
- cosmic-launcher
- cosmic-applets
- cosmic-settings

Требуют патчей:
cosmic-greeter         nix
cosmic-panel           nix linux-raw-sys
cosmic-notifications   nix linux-raw-sys
cosmic-osd             linux-raw-sys
cosmic-session         nix nix
cosmic-settings-daemon linux-raw-sys
cosmic-screenshot      libc

Сейчас обновлю вложения
Comment 24 Ilya Sorochan 2024-10-01 10:30:02 MSK
Comment on attachment 16734 [details]
cosmic-greeter nix crate patch

diff --git a/cosmic-greeter-1.0.0-alt-nix-0.26-loongarch64.patch b/cosmic-greeter-1.0.0-alt-nix-0.26-loongarch64.patch
new file mode 100644
index 00000000..8521ecf3
--- /dev/null
+++ b/cosmic-greeter-1.0.0-alt-nix-0.26-loongarch64.patch
@@ -0,0 +1,16 @@
+Bring support of loongarch64 to nix 0.26
+
+diff --git a/cosmic-greeter-1.0.0.alpha.2-cargo/vendor/nix-0.26.4/src/sys/ioctl/linux.rs b/cosmic-greeter-1.0.0.alpha.2-cargo/vendor/nix-0.26.4/src/sys/ioctl/linux.rs
+--- a/cosmic-greeter-1.0.0.alpha.2-cargo/vendor/nix-0.26.4/src/sys/ioctl/linux.rs
++++ b/cosmic-greeter-1.0.0.alpha.2-cargo/vendor/nix-0.26.4/src/sys/ioctl/linux.rs
+@@ -42,7 +42,8 @@ mod consts {
+     target_arch = "x86_64",
+     target_arch = "aarch64",
+     target_arch = "riscv32",
+-    target_arch = "riscv64"
++    target_arch = "riscv64",
++    target_arch = "loongarch64"
+ ))]
+ mod consts {
+     #[doc(hidden)]
+
diff --git a/cosmic-greeter.spec b/cosmic-greeter.spec
index ec15565a..8a66e807 100644
--- a/cosmic-greeter.spec
+++ b/cosmic-greeter.spec
@@ -8,7 +8,7 @@
 
 Name: cosmic-greeter
 Version: %ver_major.0
-Release: alt0.2%beta
+Release: alt0.0.port.2%beta
 
 Summary: COSMIC Greeter
 License: GPL-3.0
@@ -24,6 +24,7 @@ Source: %name-%version%beta.tar
 %endif
 Source1: %name-%version%beta-cargo.tar
 Patch10: cosmic-term-1.0.0-alt-linux-raw-sys-char-loongarch64.patch
+Patch11: cosmic-greeter-1.0.0-alt-nix-0.26-loongarch64.patch
 
 Requires: greetd cosmic-comp
 
@@ -48,8 +49,10 @@ cargo vendor | sed 's/^directory = ".*"/directory = "vendor"/g' > .cargo/config.
 tar -cf %_sourcedir/%name-%version%beta-cargo.tar .cargo/ vendor/}
 
 %patch10 -p1
+%patch11 -p2
 sed -i -e 's/"files":{[^}]*}/"files":{}/' \
-    vendor/linux-raw-sys/.cargo-checksum.json
+    vendor/linux-raw-sys/.cargo-checksum.json \
+    vendor/nix-0.26.4/.cargo-checksum.json
 
 %build
 export RUSTFLAGS="${RUSTFLAGS} -g"
@@ -71,6 +74,9 @@ just rootdir=%buildroot install
 %doc README*
 
 %changelog
+* Fri Sep 27 2024 Ilya Sorochan <k0tran@altlinux.org> 1.0.0-alt0.0.port.2.alpha.2
+- add patch for old nix crate version
+
 * Thu Sep 26 2024 Yuri N. Sedunov <aris@altlinux.org> 1.0.0-alt0.2.alpha.2
 - 1.0.0-alpha.2
Comment 25 Ilya Sorochan 2024-10-01 10:46:57 MSK
Created attachment 16934 [details]
nix patch for cosmic-greeter
Comment 26 Ilya Sorochan 2024-10-01 10:49:56 MSK
Created attachment 16935 [details]
linux-raw-sys patch for cosmic-osd

applets, files, launcher больше не актуальны
Comment 27 Ilya Sorochan 2024-10-01 10:51:02 MSK
Created attachment 16936 [details]
libc patch for cosmic-screenshot
Comment 28 Ilya Sorochan 2024-10-01 10:52:16 MSK
Created attachment 16937 [details]
nix 0.23 & nix 0.26 patch for cosmic-session
Comment 29 Ilya Sorochan 2024-10-01 10:53:21 MSK
Created attachment 16938 [details]
linux-raw-sys patch for cosmic-settings-daemon

term и portal больше не актуальны
Comment 30 Ilya Sorochan 2024-10-01 10:55:46 MSK
Created attachment 16939 [details]
nix & linux-raw-sys patch for cosmic-notifications

Одним файлом что бы было проще применять, просматривать и что бы бага была почище
Comment 31 Ilya Sorochan 2024-10-01 10:56:55 MSK
Created attachment 16940 [details]
nix & linux-raw-sys patch for cosmic-notifications

Одним файлом что бы было проще применять, просматривать и что бы бага была почище

патч на settings больше не актуален
Comment 32 Ilya Sorochan 2024-10-01 11:01:28 MSK
Заменил format-patch на git diff потому что так проще просматривать изменения - один файл - один пакет. Сразу все видно. Работать с таким патчем тоже проще - скачал, апплайнул и все работает. Ну и на конец число патчей в баге сократилось, мне кажется так их легче воспринимать и скачивать.
Comment 33 Ilya Sorochan 2024-12-17 16:24:50 MSK
Created attachment 17405 [details]
nix patch for cosmic-greeter
Comment 34 Ilya Sorochan 2024-12-17 16:26:12 MSK
Created attachment 17406 [details]
nix patch for cosmic-notifications

Для cosmic-notifications теперь нужно патчить только nix
Comment 35 Ilya Sorochan 2024-12-17 16:28:01 MSK
Created attachment 17407 [details]
nix patch for cosmic-panel

Для cosmic-panel теперь нужен патч
Обсолит двух патчей, потому что cosmic-osd и cosmic-settings-daemon больше не нуждаются в патчах. Совсем
Comment 36 Ilya Sorochan 2024-12-17 16:28:53 MSK
Created attachment 17408 [details]
libc patch for cosmic-screenshot
Comment 37 Ilya Sorochan 2024-12-17 16:29:49 MSK
Created attachment 17409 [details]
nix 0.23 & nix 0.26 patch for cosmic-session
Comment 38 Ilya Sorochan 2024-12-17 16:31:03 MSK
Пояснение к обновлениям патчей выше: адаптировал их для 1.0.0-alt0.4.alpha.4