Merge pull request #297360 from emilytrau/ddd-3.4.0

ddd: 3.3.12 -> 3.4.0
This commit is contained in:
Emily Trau 2024-08-26 11:00:21 +10:00 committed by GitHub
commit c50e76f653
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 60 additions and 29 deletions

View File

@ -61,6 +61,13 @@ stdenv.mkDerivation rec {
})
];
env = lib.optionalAttrs stdenv.cc.isClang {
NIX_CFLAGS_COMPILE = toString [
"-Wno-error=implicit-function-declaration"
"-Wno-error=incompatible-function-pointer-types"
];
};
enableParallelBuilding = true;
meta = with lib; {

View File

@ -1,32 +1,67 @@
{lib, stdenv, fetchurl, motif, ncurses, libX11, libXt}:
{
lib,
stdenv,
fetchurl,
imagemagick,
desktopToDarwinBundle,
motif,
ncurses,
libX11,
libXt,
gdb,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "ddd";
version = "3.3.12";
src = fetchurl {
url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
sha256 = "0p5nx387857w3v2jbgvps2p6mlm0chajcdw5sfrddcglsxkwvmis";
};
buildInputs = [motif ncurses libX11 libXt];
configureFlags = [ "--with-x" ];
version = "3.4.0";
patches = [
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504868
./gcc44.patch
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
];
env.NIX_CFLAGS_COMPILE = "-fpermissive";
# 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 = ''
install -D icons/ddd.xpm $out/share/pixmaps/ddd.xpm
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 = {
homepage = "https://www.gnu.org/software/ddd";
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";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ emilytrau ];
platforms = lib.platforms.unix;
};
}
})

View File

@ -1,11 +0,0 @@
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504868
--- a/ddd/strclass.C~ 2008-11-07 17:57:13.000000000 +0000
+++ b/ddd/strclass.C 2008-11-07 17:57:27.000000000 +0000
@@ -39,6 +39,7 @@
#include <ctype.h>
#include <limits.h>
#include <new>
+#include <cstdio>
#include <stdlib.h>
void string::error(const char* msg) const