diff --git a/pkgs/by-name/co/cosmic-comp/package.nix b/pkgs/by-name/co/cosmic-comp/package.nix index 1c0bf7489aef..90fb1c30c203 100644 --- a/pkgs/by-name/co/cosmic-comp/package.nix +++ b/pkgs/by-name/co/cosmic-comp/package.nix @@ -3,102 +3,85 @@ stdenv, rustPlatform, fetchFromGitHub, - makeBinaryWrapper, - pixman, + libcosmicAppHook, pkg-config, - libinput, - libglvnd, - libxkbcommon, + libdisplay-info, libgbm, + libinput, + pixman, seatd, udev, - xwayland, - wayland, - xorg, - useXWayland ? true, systemd, + xwayland, + nix-update-script, + + useXWayland ? true, useSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, }: -rustPlatform.buildRustPackage rec { +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"; - rev = "epoch-${version}"; - hash = "sha256-IbGMp+4nRg4v5yRvp3ujGx7+nJ6wJmly6dZBXbQAnr8="; + tag = "epoch-${finalAttrs.version}"; + hash = "sha256-CygtVtzO8JJQv+G3yx/OCCy8BlPqyNqcmf3Mv1gFuT4="; }; useFetchCargoVendor = true; - cargoHash = "sha256-4ahdQ0lQbG+lifGlsJE0yci4j8pR7tYVsMww9LyYyAA="; + cargoHash = "sha256-bfVsfrxGi0Lq/YRddCVhfqXL8kPGL9p4bqSNPsmjx0o="; separateDebugInfo = true; nativeBuildInputs = [ - makeBinaryWrapper + libcosmicAppHook pkg-config ]; + buildInputs = [ - libglvnd - libinput - libxkbcommon + libdisplay-info 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=$(out)" + "prefix=${placeholder "out"}" "CARGO_TARGET_DIR=target/${stdenv.hostPlatform.rust.cargoShortTarget}" ]; 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 = with lib; { + 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"; mainProgram = "cosmic-comp"; - license = licenses.gpl3Only; - maintainers = with maintainers; [ + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ qyliss nyabinary + HeitorAugustoLN ]; - platforms = platforms.linux; + platforms = lib.platforms.linux; }; -} +})