Files
nixpkgs/pkgs/by-name/sg/sgfutils/package.nix
Sergei Trofimovich 1d43588b30 sgfutils: fix gcc-15 build
Without the chnage the build fails on `master` as:

```
sgfinfo.c: In function 'report_on_single_game':
sgfinfo.c:948:27: error: assignment to 'void (*)(void)' from incompatible pointer type 'void (*)(int)' [-Wincompatible-pointer-types]
  948 |                 outmovefn = fns[(optM-1) % 3];
      |                           ^
sgfinfo.c:952:25: error: too many arguments to function 'outmovefn'; expected 0, have 1
  952 |                         outmovefn(i);
      |                         ^~~~~~~~~ ~
```
2026-02-24 21:44:27 +00:00

57 lines
1.7 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
openssl,
libiconv,
makeWrapper,
imagemagick,
makeFontsConf,
}:
stdenv.mkDerivation {
pname = "sgfutils";
version = "0.25-unstable-2017-11-27";
src = fetchFromGitHub {
owner = "yangboz";
repo = "sgfutils";
rev = "11ab171c46cc16cc71ac6fc901d38ea88d6532a4";
hash = "sha256-KWYgTxz32WK3MKouj1WAJtZmleKt5giCpzQPwfWruZQ=";
};
patches = [
# FIx gcc-15 build failure: https://github.com/yangboz/sgfutils/pull/3
./gcc-15.patch
];
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ openssl ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ];
buildPhase = ''
runHook preBuild
make all
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp sgf sgfsplit sgfvarsplit sgfstrip sgfinfo sgfmerge sgftf \
sgfcheck sgfdb sgfdbinfo sgfcharset sgfcmp sgfx \
ngf2sgf nip2sgf nk2sgf gib2sgf sgftopng ugi2sgf \
$out/bin
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/sgftopng \
--prefix PATH : ${lib.makeBinPath [ imagemagick ]} \
--set-default FONTCONFIG_FILE ${makeFontsConf { fontDirectories = [ ]; }}
'';
meta = {
homepage = "https://homepages.cwi.nl/~aeb/go/sgfutils/html/sgfutils.html";
description = "Command line utilities that help working with SGF files";
longDescription = ''
The package sgfutils is a collection of command line utilities that help working with SGF files,
especially when they describe go (igo, weiqi, baduk) games.
'';
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ ggpeti ];
platforms = lib.platforms.all; # tested on x86_64-linux and aarch64-darwin
};
}