munge: Clean up expression & fix license

- Format & re-order the expression.
- Use finalAttrs pattern.
- Fix license according to https://github.com/dun/munge/wiki/License-Info.
- Use `lib.getDev` instead of directly using `dev` output. This provides loose coupling in case `dev` output is merged back to `out`.
- Add comment to segregate cross-configuration hacks from rest of the configuration flags.
  They were introduced in faacc88c93
  and appear to be still necessary to build `pkgsCross.aarch64-multiplatform.munge`.
This commit is contained in:
Jan Tojnar
2024-06-20 08:57:37 +02:00
parent 57d6973abb
commit 9b1bc3cc10
+36 -15
View File
@@ -1,42 +1,63 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, libgcrypt, zlib, bzip2 }:
{
lib,
stdenv,
fetchFromGitHub,
autoreconfHook,
libgcrypt,
zlib,
bzip2,
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "munge";
version = "0.5.16";
src = fetchFromGitHub {
owner = "dun";
repo = "munge";
rev = "${pname}-${version}";
rev = "munge-${finalAttrs.version}";
sha256 = "sha256-fv42RMUAP8Os33/iHXr70i5Pt2JWZK71DN5vFI3q7Ak=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
libgcrypt # provides libgcrypt.m4
];
buildInputs = [ libgcrypt zlib bzip2 ];
buildInputs = [
libgcrypt
zlib
bzip2
];
strictDeps = true;
configureFlags = [
"--localstatedir=/var"
# Cross-compilation hacks
"--with-libgcrypt-prefix=${lib.getDev libgcrypt}"
# workaround for cross compilation: https://github.com/dun/munge/issues/103
"ac_cv_file__dev_spx=no"
"x_ac_cv_check_fifo_recvfd=no"
];
preAutoreconf = ''
# Remove the install-data stuff, since it tries to write to /var
substituteInPlace src/Makefile.am --replace "etc \\" "\\"
'';
configureFlags = [
"--localstatedir=/var"
"--with-libgcrypt-prefix=${libgcrypt.dev}"
# workaround for cross compilation: https://github.com/dun/munge/issues/103
"ac_cv_file__dev_spx=no"
"x_ac_cv_check_fifo_recvfd=no"
];
meta = with lib; {
description = ''
An authentication service for creating and validating credentials
'';
license = licenses.lgpl3;
license = [
# MUNGE
licenses.gpl3Plus
# libmunge
licenses.lgpl3Plus
];
platforms = platforms.unix;
maintainers = [ maintainers.rickynils ];
};
}
})