From c92473100a5f6bba0cfd4e9b6ba3796d399c95d3 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Fri, 21 Mar 2025 06:10:55 -0300 Subject: [PATCH 1/6] cosmic-comp: refactor --- pkgs/by-name/co/cosmic-comp/package.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 1c0bf7489aef..40c1593a9abe 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -20,14 +20,14 @@ useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: -rustPlatform.buildRustPackage rec { +rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-comp"; version = "1.0.0-alpha.2"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-comp"; - rev = "epoch-${version}"; + tag = "epoch-${finalAttrs.version}"; hash = "sha256-IbGMp+4nRg4v5yRvp3ujGx7+nJ6wJmly6dZBXbQAnr8="; }; @@ -40,6 +40,7 @@ rustPlatform.buildRustPackage rec { makeBinaryWrapper pkg-config ]; + buildInputs = [ libglvnd libinput @@ -65,7 +66,7 @@ rustPlatform.buildRustPackage rec { ]; makeFlags = [ - "prefix=$(out)" + "prefix=${placeholder "out"}" "CARGO_TARGET_DIR=target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; @@ -90,15 +91,15 @@ rustPlatform.buildRustPackage rec { wrapProgram $out/bin/cosmic-comp "''${wrapProgramArgs[@]}" ''; - meta = with lib; { + meta = { homepage = "https://github.com/pop-os/cosmic-comp"; description = "Compositor for the COSMIC Desktop Environment"; mainProgram = "cosmic-comp"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ qyliss nyabinary ]; - platforms = platforms.linux; + platforms = lib.platforms.linux; }; -} +}) From a1b73116f02f55dc961bdeb6d09b33732a144106 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Fri, 21 Mar 2025 06:17:26 -0300 Subject: [PATCH 2/6] cosmic-comp: use libcosmicAppHook --- pkgs/by-name/co/cosmic-comp/package.nix | 51 +++++-------------------- 1 file changed, 10 insertions(+), 41 deletions(-) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 40c1593a9abe..d1b15ea87d5d 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -3,20 +3,17 @@ stdenv, rustPlatform, fetchFromGitHub, - makeBinaryWrapper, - pixman, + libcosmicAppHook, pkg-config, - libinput, - libglvnd, - libxkbcommon, libgbm, + libinput, + pixman, seatd, udev, xwayland, - wayland, - xorg, - useXWayland ? true, systemd, + + useXWayland ? true, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: @@ -37,34 +34,21 @@ rustPlatform.buildRustPackage (finalAttrs: { separateDebugInfo = true; nativeBuildInputs = [ - makeBinaryWrapper + libcosmicAppHook pkg-config ]; buildInputs = [ - libglvnd - libinput - libxkbcommon libgbm + libinput pixman seatd udev - wayland ] ++ lib.optional useSystemd systemd; # Only default feature is systemd buildNoDefaultFeatures = !useSystemd; - # Force linking to libEGL, which is always dlopen()ed, and to - # libwayland-client, which is always dlopen()ed except by the - # obscure winit backend. - RUSTFLAGS = map (a: "-C link-arg=${a}") [ - "-Wl,--push-state,--no-as-needed" - "-lEGL" - "-lwayland-client" - "-Wl,--pop-state" - ]; - makeFlags = [ "prefix=${placeholder "out"}" "CARGO_TARGET_DIR=target/${stdenv.hostPlatform.rust.cargoShortTarget}" @@ -72,24 +56,9 @@ rustPlatform.buildRustPackage (finalAttrs: { dontCargoInstall = true; - # These libraries are only used by the X11 backend, which will not - # be the common case, so just make them available, don't link them. - postInstall = - '' - wrapProgramArgs=(--prefix LD_LIBRARY_PATH : ${ - lib.makeLibraryPath [ - xorg.libX11 - xorg.libXcursor - xorg.libXi - ] - }) - '' - + lib.optionalString useXWayland '' - wrapProgramArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]}) - '' - + '' - wrapProgram $out/bin/cosmic-comp "''${wrapProgramArgs[@]}" - ''; + preFixup = lib.optionalString useXWayland '' + libcosmicAppWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]}) + ''; meta = { homepage = "https://github.com/pop-os/cosmic-comp"; From 5107cc35fb4a0a1268da40de9cc98c4258cd0d6d Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Fri, 21 Mar 2025 06:20:15 -0300 Subject: [PATCH 3/6] cosmic-comp: add libdisplay-info dependency It was added as a dependency for newer versions of cosmic-comp --- pkgs/by-name/co/cosmic-comp/package.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index d1b15ea87d5d..3859c74bb47c 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -5,6 +5,7 @@ fetchFromGitHub, libcosmicAppHook, pkg-config, + libdisplay-info, libgbm, libinput, pixman, @@ -39,6 +40,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; buildInputs = [ + libdisplay-info libgbm libinput pixman From 4485ce7a241391d124c0d75c1bb44d91ea99bae1 Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Fri, 21 Mar 2025 06:23:24 -0300 Subject: [PATCH 4/6] cosmic-comp: add updateScript --- pkgs/by-name/co/cosmic-comp/package.nix | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 3859c74bb47c..7a7d68e2e963 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -11,8 +11,9 @@ pixman, seatd, udev, - xwayland, systemd, + xwayland, + nix-update-script, useXWayland ? true, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, @@ -62,6 +63,15 @@ rustPlatform.buildRustPackage (finalAttrs: { libcosmicAppWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ xwayland ]}) ''; + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version" + "unstable" + "--version-regex" + "epoch-(.*)" + ]; + }; + meta = { homepage = "https://github.com/pop-os/cosmic-comp"; description = "Compositor for the COSMIC Desktop Environment"; From e41ccee608c8dbe59bf43f1b9d5afb4f0e503b7c Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Fri, 21 Mar 2025 06:25:31 -0300 Subject: [PATCH 5/6] cosmic-comp: 1.0.0-alpha.2 -> 1.0.0-alpha.6 --- pkgs/by-name/co/cosmic-comp/package.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 7a7d68e2e963..8bceab677349 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -21,17 +21,17 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "cosmic-comp"; - version = "1.0.0-alpha.2"; + version = "1.0.0-alpha.6"; src = fetchFromGitHub { owner = "pop-os"; repo = "cosmic-comp"; tag = "epoch-${finalAttrs.version}"; - hash = "sha256-IbGMp+4nRg4v5yRvp3ujGx7+nJ6wJmly6dZBXbQAnr8="; + hash = "sha256-CygtVtzO8JJQv+G3yx/OCCy8BlPqyNqcmf3Mv1gFuT4="; }; useFetchCargoVendor = true; - cargoHash = "sha256-4ahdQ0lQbG+lifGlsJE0yci4j8pR7tYVsMww9LyYyAA="; + cargoHash = "sha256-bfVsfrxGi0Lq/YRddCVhfqXL8kPGL9p4bqSNPsmjx0o="; separateDebugInfo = true; From e1cc6379ba25711c30cb8b3bb1a4d3b86d42be2a Mon Sep 17 00:00:00 2001 From: Heitor Augusto Date: Fri, 21 Mar 2025 06:26:10 -0300 Subject: [PATCH 6/6] cosmic-comp: add HeitorAugustoLN as a maintainer --- pkgs/by-name/co/cosmic-comp/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 8bceab677349..90fb1c30c203 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -80,6 +80,7 @@ rustPlatform.buildRustPackage (finalAttrs: { maintainers = with lib.maintainers; [ qyliss nyabinary + HeitorAugustoLN ]; platforms = lib.platforms.linux; };