mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-16 17:41:33 +03:00
f9723bc4de
mesa.drivers is basically an implementation detail and should never be used as a dependency of other expressions. It also no longer exists on Darwin. mesa.osmesa is very niche and should generally be avoided. mesa.libdrm is used in exactly one place and it's irrelevant there.
113 lines
3.3 KiB
Nix
113 lines
3.3 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchFromGitHub,
|
|
rustPlatform,
|
|
cmake,
|
|
makeBinaryWrapper,
|
|
cosmic-icons,
|
|
just,
|
|
pkg-config,
|
|
libglvnd,
|
|
libxkbcommon,
|
|
libinput,
|
|
fontconfig,
|
|
freetype,
|
|
mesa,
|
|
wayland,
|
|
xorg,
|
|
vulkan-loader,
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "cosmic-edit";
|
|
version = "unstable-2024-03-30";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "pop-os";
|
|
repo = pname;
|
|
rev = "cd1b32218078979aa9a944b3a32f9b96996764a1";
|
|
hash = "sha256-54DwcI/pwN6nRnHC6GeDYVJXNgS+xBQTnRrKV2YMGUA=";
|
|
};
|
|
|
|
cargoLock = {
|
|
lockFile = ./Cargo.lock;
|
|
outputHashes = {
|
|
"accesskit-0.12.2" = "sha256-ksaYMGT/oug7isQY8/1WD97XDUsX2ShBdabUzxWffYw=";
|
|
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
|
|
"clipboard_macos-0.1.0" = "sha256-PEH+aCpjDCEIj8s39nIeWxb7qu3u9IfriGqf0pYObMk=";
|
|
"cosmic-config-0.1.0" = "sha256-x/xWMR5w2oEbghTSa8iCi24DA2s99+tcnga8K6jS6HQ=";
|
|
"cosmic-files-0.1.0" = "sha256-4uwqRzkttmPQlqkX6xLjxyXRcqUhchCjAzZH9wmR+Tk=";
|
|
"cosmic-syntax-theme-0.1.0" = "sha256-BNb9wrryD5FJImboD3TTdPRIfiBqPpItqwGdT1ZiNng=";
|
|
"cosmic-text-0.11.2" = "sha256-gUIQFHPaFTmtUfgpVvsGTnw2UKIBx9gl0K67KPuynWs=";
|
|
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
|
|
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
|
|
"smithay-clipboard-0.8.0" = "sha256-OZOGbdzkgRIeDFrAENXE7g62eQTs60Je6lYVr0WudlE=";
|
|
"softbuffer-0.4.1" = "sha256-a0bUFz6O8CWRweNt/OxTvflnPYwO5nm6vsyc/WcXyNg=";
|
|
"taffy-0.3.11" = "sha256-SCx9GEIJjWdoNVyq+RZAGn0N71qraKZxf9ZWhvyzLaI=";
|
|
"winit-0.29.10" = "sha256-ScTII2AzK3SC8MVeASZ9jhVWsEaGrSQ2BnApTxgfxK4=";
|
|
};
|
|
};
|
|
|
|
# COSMIC applications now uses vergen for the About page
|
|
# Update the COMMIT_DATE to match when the commit was made
|
|
env.VERGEN_GIT_COMMIT_DATE = "2024-03-30";
|
|
env.VERGEN_GIT_SHA = src.rev;
|
|
|
|
postPatch = ''
|
|
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
|
|
'';
|
|
|
|
nativeBuildInputs = [ just pkg-config makeBinaryWrapper ];
|
|
buildInputs = [
|
|
libxkbcommon
|
|
xorg.libX11
|
|
libinput
|
|
libglvnd
|
|
fontconfig
|
|
freetype
|
|
mesa
|
|
wayland
|
|
vulkan-loader
|
|
];
|
|
|
|
dontUseJustBuild = true;
|
|
|
|
justFlags = [
|
|
"--set"
|
|
"prefix"
|
|
(placeholder "out")
|
|
"--set"
|
|
"bin-src"
|
|
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-edit"
|
|
];
|
|
|
|
# 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"
|
|
];
|
|
|
|
# LD_LIBRARY_PATH can be removed once tiny-xlib is bumped above 0.2.2
|
|
postInstall = ''
|
|
wrapProgram "$out/bin/${pname}" \
|
|
--suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
|
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
|
|
xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr vulkan-loader libxkbcommon wayland
|
|
]}
|
|
'';
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/pop-os/cosmic-edit";
|
|
description = "Text Editor for the COSMIC Desktop Environment";
|
|
mainProgram = "cosmic-edit";
|
|
license = licenses.gpl3Only;
|
|
maintainers = with maintainers; [ ahoneybun nyanbinary ];
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|