nixpkgs/pkgs/by-name/ct/ctx/package.nix
2023-10-05 17:53:27 -03:00

83 lines
1.8 KiB
Nix

{ lib
, stdenv
, fetchgit
, SDL2
, alsa-lib
, babl
, bash
, curl
, libdrm # Not documented
, pkg-config
, xxd
, enableFb ? false
, nixosTests
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ctx";
version = "unstable-2023-09-03";
src = fetchgit {
name = "ctx-source"; # because of a dash starting the directory
url = "https://ctx.graphics/.git/";
rev = "1bac18c152eace3ca995b3c2b829a452085d46fb";
hash = "sha256-fOcQJ2XCeomdtAUmy0A+vU7Vt325OSwrb1+ccW+gZ38=";
};
patches = [
# Many problematic things fixed - it should be upstreamed somehow:
# - babl changed its name in pkg-config files
# - arch detection made optional
# - LD changed to CCC
# - remove inexistent reference to static/*/*
./0001-fix-detections.diff
];
postPatch = ''
patchShebangs ./tools/gen_fs.sh
'';
nativeBuildInputs = [
pkg-config
xxd
];
buildInputs = [
SDL2
alsa-lib
babl
bash # for ctx-audioplayer
curl
libdrm
];
strictDeps = true;
env.ARCH = stdenv.hostPlatform.parsed.cpu.arch;
configureScript = "./configure.sh";
configureFlags = lib.optional enableFb "--enable-fb";
configurePlatforms = [];
dontAddPrefix = true;
dontDisableStatic = true;
installFlags = [
"PREFIX=${placeholder "out"}"
];
passthru.tests.test = nixosTests.terminal-emulators.ctx;
meta = {
homepage = "https://ctx.graphics/";
description = "Vector graphics terminal";
longDescription = ''
ctx is an interactive 2D vector graphics, audio, text- canvas and
terminal, with escape sequences that enable a 2D vector drawing API using
a vector graphics protocol.
'';
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})