depot/third_party/nixpkgs/pkgs/development/tools/misc/ddd/default.nix

68 lines
1.7 KiB
Nix
Raw Normal View History

{
lib,
stdenv,
fetchurl,
imagemagick,
desktopToDarwinBundle,
motif,
ncurses,
libX11,
libXt,
gdb,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "ddd";
version = "3.4.0";
src = fetchurl {
url = "mirror://gnu/ddd/ddd-${finalAttrs.version}.tar.gz";
hash = "sha256-XUy8iguwRYVDhm1nkwjFOj7wZuQC/loZGOGWmKPTWA8=";
};
postPatch = ''
substituteInPlace ddd/Ddd.in \
--replace-fail 'debuggerCommand:' 'debuggerCommand: ${gdb}/bin/gdb'
'';
nativeBuildInputs = [ imagemagick ] ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
buildInputs = [
motif
ncurses
libX11
libXt
];
# ioctl is not found without this flag. fixed in next release
# Upstream issue ref: https://savannah.gnu.org/bugs/index.php?64188
env = lib.optionalAttrs stdenv.isDarwin { NIX_CFLAGS_COMPILE = "-DHAVE_SYS_IOCTL_H"; };
configureFlags = [
"--enable-builtin-manual"
"--enable-builtin-app-defaults"
];
# From MacPorts: make will build the executable "ddd" and the X resource
# file "Ddd" in the same directory, as HFS+ is case-insensitive by default
# this will loosely FAIL
makeFlags = [ "EXEEXT=exe" ];
enableParallelBuilding = true;
postInstall = ''
mv $out/bin/dddexe $out/bin/ddd
convert icons/ddd.xbm ddd.png
install -D ddd.png $out/share/icons/hicolor/48x48/apps/ddd.png
'';
meta = {
changelog = "https://www.gnu.org/software/ddd/news.html";
description = "Graphical front-end for command-line debuggers";
homepage = "https://www.gnu.org/software/ddd";
license = lib.licenses.gpl3Only;
mainProgram = "ddd";
maintainers = with lib.maintainers; [ emilytrau ];
platforms = lib.platforms.unix;
};
})