nixpkgs/pkgs/by-name/co/cosmic-term/package.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

119 lines
3.3 KiB
Nix
Raw Normal View History

{ lib
, cosmic-icons
, fetchFromGitHub
, fontconfig
, freetype
, just
, libglvnd
, libinput
, libxkbcommon
, makeBinaryWrapper
, pkg-config
, rustPlatform
, stdenv
, vulkan-loader
, wayland
, xorg
}:
rustPlatform.buildRustPackage rec {
pname = "cosmic-term";
version = "1.0.0-alpha.1";
src = fetchFromGitHub {
owner = "pop-os";
treewide: change `${pname}` to string literal (#336172) * adwaita-icon-theme: change `${pname}` to string literal * alp: change `${pname}` to string literal * alsa-oss: change `${pname}` to string literal * alsa-plugins: change `${pname}` to string literal * alsa-ucm-conf: change `${pname}` to string literal * alsa-utils: change `${pname}` to string literal * anyrun: change `${pname}` to string literal * assemblyscript: change `${pname}` to string literal * audiobookshelf: change `${pname}` to string literal * baobab: change `${pname}` to string literal * braa: change `${pname}` to string literal * brill: change `${pname}` to string literal * centrifugo: change `${pname}` to string literal * cheese: change `${pname}` to string literal * cljfmt: change `${pname}` to string literal * coppwr: change `${pname}` to string literal * cosmic-edit: change `${pname}` to string literal * cosmic-files: change `${pname}` to string literal * cosmic-store: change `${pname}` to string literal * cosmic-term: change `${pname}` to string literal * crate2nix: change `${pname}` to string literal * cups-kyocera-3500-4500: change `${pname}` to string literal * dbqn: change `${pname}` to string literal * dconf-editor: change `${pname}` to string literal * devhelp: change `${pname}` to string literal * dmarc-report-converter: change `${pname}` to string literal * engage: change `${pname}` to string literal * eog: change `${pname}` to string literal * evolution-data-server-gtk4: change `${pname}` to string literal * find-billy: change `${pname}` to string literal * firefly-iii: change `${pname}` to string literal * fuchsia-cursor: change `${pname}` to string literal * geary: change `${pname}` to string literal * ghex: change `${pname}` to string literal * gitg: change `${pname}` to string literal * glasskube: change `${pname}` to string literal * gnome.gnome-autoar: change `${pname}` to string literal * gnome.gnome-calculator: change `${pname}` to string literal * gnome.gnome-calendar: change `${pname}` to string literal * gnome.gnome-common: change `${pname}` to string literal * gnome.gnome-dictionary: change `${pname}` to string literal * gnome.gnome-disk-utility: change `${pname}` to string literal * gnome.gnome-font-viewer: change `${pname}` to string literal * gnome.gnome-keyring: change `${pname}` to string literal * gnome.gnome-screenshot: change `${pname}` to string literal * gnome.gnome-system-monitor: change `${pname}` to string literal * gnome.seahorse: change `${pname}` to string literal * gnome.simple-scan: change `${pname}` to string literal * gnome.sushi: change `${pname}` to string literal * gnome.totem: change `${pname}` to string literal * gnome.yelp: change `${pname}` to string literal * gnome.yelp-xsl: change `${pname}` to string literal * gnucap-full: change `${pname}` to string literal * goredo: change `${pname}` to string literal * guile-semver: change `${pname}` to string literal * halo: change `${pname}` to string literal * intiface-central: change `${pname}` to string literal * intune-portal: change `${pname}` to string literal * iscc: change `${pname}` to string literal * jetbrains-toolbox: change `${pname}` to string literal * jnr-posix: change `${pname}` to string literal * keymapp: change `${pname}` to string literal * libation: change `${pname}` to string literal * libeduvpn-common: change `${pname}` to string literal * libmamba: change `${pname}` to string literal * littlefs-fuse: change `${pname}` to string literal * logseq: change `${pname}` to string literal * lxgw-wenkai-tc: change `${pname}` to string literal * microsoft-identity-broker: change `${pname}` to string literal * minetest-mapserver: change `${pname}` to string literal * msalsdk-dbusclient: change `${pname}` to string literal * neverest: change `${pname}` to string literal * nf-test: change `${pname}` to string literal * numbat: change `${pname}` to string literal * pdf2odt: change `${pname}` to string literal * plemoljp: change `${pname}` to string literal * plemoljp-hs: change `${pname}` to string literal * plemoljp-nf: change `${pname}` to string literal * pocket-updater-utility: change `${pname}` to string literal * proto: change `${pname}` to string literal * pw3270: change `${pname}` to string literal * ratchet: change `${pname}` to string literal * read-it-later: change `${pname}` to string literal * redmine: change `${pname}` to string literal * regina: change `${pname}` to string literal * regripper: change `${pname}` to string literal * revolt-desktop: change `${pname}` to string literal * rs: change `${pname}` to string literal * signaturepdf: change `${pname}` to string literal * sonarlint-ls: change `${pname}` to string literal * srgn: change `${pname}` to string literal * stackit-cli: change `${pname}` to string literal * substudy: change `${pname}` to string literal * swayosd: change `${pname}` to string literal * synthesia: change `${pname}` to string literal * tarlz: change `${pname}` to string literal * termcap: change `${pname}` to string literal * tinycompress: change `${pname}` to string literal * tracexec: change `${pname}` to string literal * treefmt2: change `${pname}` to string literal * udev-gothic: change `${pname}` to string literal * udev-gothic-nf: change `${pname}` to string literal * vvvvvv: change `${pname}` to string literal * yggdrasil: change `${pname}` to string literal * zsync: change `${pname}` to string literal
2024-08-20 23:56:55 +01:00
repo = "cosmic-term";
rev = "epoch-${version}";
hash = "sha256-dY4QGQXJFL+yjCYRGCg3NfMLMjlEBSEmxHn68PvhCAQ=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"accesskit-0.12.2" = "sha256-1UwgRyUe0PQrZrpS7574oNLi13fg5HpgILtZGW6JNtQ=";
"atomicwrites-0.4.2" = "sha256-QZSuGPrJXh+svMeFWqAXoqZQxLq/WfIiamqvjJNVhxA=";
"clipboard_macos-0.1.0" = "sha256-cG5vnkiyDlQnbEfV2sPbmBYKv1hd3pjJrymfZb8ziKk=";
"cosmic-config-0.1.0" = "sha256-DgMh0gqWUmXjBhBySR0CMnv/8O3XbS2BwomU9eNt+4o=";
"cosmic-files-0.1.0" = "sha256-QDkHhU0zE0szFwGuVuSYrXd7AUdTU1rYxlAsaHr2YvQ=";
"cosmic-text-0.12.1" = "sha256-x0XTxzbmtE2d4XCG/Nuq3DzBpz15BbnjRRlirfNJEiU=";
"d3d12-0.19.0" = "sha256-usrxQXWLGJDjmIdw1LBXtBvX+CchZDvE8fHC0LjvhD4=";
"glyphon-0.5.0" = "sha256-j1HrbEpUBqazWqNfJhpyjWuxYAxkvbXzRKeSouUoPWg=";
"libc-0.2.154" = "sha256-/pkmpCxzRTjBiLFKauqUqGTBTxNUQX4zwPWYpDsjwVQ=";
"smithay-clipboard-0.8.0" = "sha256-4InFXm0ahrqFrtNLeqIuE3yeOpxKZJZx+Bc0yQDtv34=";
"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-08-03";
env.VERGEN_GIT_SHA = src.rev;
postPatch = ''
substituteInPlace justfile --replace '#!/usr/bin/env' "#!$(command -v env)"
'';
nativeBuildInputs = [
just
pkg-config
makeBinaryWrapper
];
buildInputs = [
fontconfig
freetype
libglvnd
libinput
libxkbcommon
vulkan-loader
wayland
xorg.libX11
];
dontUseJustBuild = true;
justFlags = [
"--set"
"prefix"
(placeholder "out")
"--set"
"bin-src"
"target/${stdenv.hostPlatform.rust.cargoShortTarget}/release/cosmic-term"
];
# 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 = ''
treewide: change `${pname}` to string literal (#336172) * adwaita-icon-theme: change `${pname}` to string literal * alp: change `${pname}` to string literal * alsa-oss: change `${pname}` to string literal * alsa-plugins: change `${pname}` to string literal * alsa-ucm-conf: change `${pname}` to string literal * alsa-utils: change `${pname}` to string literal * anyrun: change `${pname}` to string literal * assemblyscript: change `${pname}` to string literal * audiobookshelf: change `${pname}` to string literal * baobab: change `${pname}` to string literal * braa: change `${pname}` to string literal * brill: change `${pname}` to string literal * centrifugo: change `${pname}` to string literal * cheese: change `${pname}` to string literal * cljfmt: change `${pname}` to string literal * coppwr: change `${pname}` to string literal * cosmic-edit: change `${pname}` to string literal * cosmic-files: change `${pname}` to string literal * cosmic-store: change `${pname}` to string literal * cosmic-term: change `${pname}` to string literal * crate2nix: change `${pname}` to string literal * cups-kyocera-3500-4500: change `${pname}` to string literal * dbqn: change `${pname}` to string literal * dconf-editor: change `${pname}` to string literal * devhelp: change `${pname}` to string literal * dmarc-report-converter: change `${pname}` to string literal * engage: change `${pname}` to string literal * eog: change `${pname}` to string literal * evolution-data-server-gtk4: change `${pname}` to string literal * find-billy: change `${pname}` to string literal * firefly-iii: change `${pname}` to string literal * fuchsia-cursor: change `${pname}` to string literal * geary: change `${pname}` to string literal * ghex: change `${pname}` to string literal * gitg: change `${pname}` to string literal * glasskube: change `${pname}` to string literal * gnome.gnome-autoar: change `${pname}` to string literal * gnome.gnome-calculator: change `${pname}` to string literal * gnome.gnome-calendar: change `${pname}` to string literal * gnome.gnome-common: change `${pname}` to string literal * gnome.gnome-dictionary: change `${pname}` to string literal * gnome.gnome-disk-utility: change `${pname}` to string literal * gnome.gnome-font-viewer: change `${pname}` to string literal * gnome.gnome-keyring: change `${pname}` to string literal * gnome.gnome-screenshot: change `${pname}` to string literal * gnome.gnome-system-monitor: change `${pname}` to string literal * gnome.seahorse: change `${pname}` to string literal * gnome.simple-scan: change `${pname}` to string literal * gnome.sushi: change `${pname}` to string literal * gnome.totem: change `${pname}` to string literal * gnome.yelp: change `${pname}` to string literal * gnome.yelp-xsl: change `${pname}` to string literal * gnucap-full: change `${pname}` to string literal * goredo: change `${pname}` to string literal * guile-semver: change `${pname}` to string literal * halo: change `${pname}` to string literal * intiface-central: change `${pname}` to string literal * intune-portal: change `${pname}` to string literal * iscc: change `${pname}` to string literal * jetbrains-toolbox: change `${pname}` to string literal * jnr-posix: change `${pname}` to string literal * keymapp: change `${pname}` to string literal * libation: change `${pname}` to string literal * libeduvpn-common: change `${pname}` to string literal * libmamba: change `${pname}` to string literal * littlefs-fuse: change `${pname}` to string literal * logseq: change `${pname}` to string literal * lxgw-wenkai-tc: change `${pname}` to string literal * microsoft-identity-broker: change `${pname}` to string literal * minetest-mapserver: change `${pname}` to string literal * msalsdk-dbusclient: change `${pname}` to string literal * neverest: change `${pname}` to string literal * nf-test: change `${pname}` to string literal * numbat: change `${pname}` to string literal * pdf2odt: change `${pname}` to string literal * plemoljp: change `${pname}` to string literal * plemoljp-hs: change `${pname}` to string literal * plemoljp-nf: change `${pname}` to string literal * pocket-updater-utility: change `${pname}` to string literal * proto: change `${pname}` to string literal * pw3270: change `${pname}` to string literal * ratchet: change `${pname}` to string literal * read-it-later: change `${pname}` to string literal * redmine: change `${pname}` to string literal * regina: change `${pname}` to string literal * regripper: change `${pname}` to string literal * revolt-desktop: change `${pname}` to string literal * rs: change `${pname}` to string literal * signaturepdf: change `${pname}` to string literal * sonarlint-ls: change `${pname}` to string literal * srgn: change `${pname}` to string literal * stackit-cli: change `${pname}` to string literal * substudy: change `${pname}` to string literal * swayosd: change `${pname}` to string literal * synthesia: change `${pname}` to string literal * tarlz: change `${pname}` to string literal * termcap: change `${pname}` to string literal * tinycompress: change `${pname}` to string literal * tracexec: change `${pname}` to string literal * treefmt2: change `${pname}` to string literal * udev-gothic: change `${pname}` to string literal * udev-gothic-nf: change `${pname}` to string literal * vvvvvv: change `${pname}` to string literal * yggdrasil: change `${pname}` to string literal * zsync: change `${pname}` to string literal
2024-08-20 23:56:55 +01:00
wrapProgram "$out/bin/cosmic-term" \
--suffix XDG_DATA_DIRS : "${cosmic-icons}/share" \
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [
libxkbcommon
vulkan-loader
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXrandr
]}
'';
meta = with lib; {
homepage = "https://github.com/pop-os/cosmic-term";
description = "Terminal for the COSMIC Desktop Environment";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ahoneybun nyanbinary ];
platforms = platforms.linux;
mainProgram = "cosmic-term";
};
}