fdtools hasn’t caught up with skalibs yet. We also add a revdep test that alerts us in the future if a skalibs bumb breaks fdtools again.
88 lines
2.3 KiB
Nix
88 lines
2.3 KiB
Nix
{ stdenv, lib, fetchurl, skawarePackages }:
|
||
|
||
let
|
||
pname = "fdtools";
|
||
# When you update, check whether we can drop the skalibs pin.
|
||
version = "2020.05.04";
|
||
sha256 = "0lnafcp4yipi0dl8gh33zjs8wlpz0mim8mwmiz9s49id0b0fmlla";
|
||
skalibs = skawarePackages.skalibs_2_10;
|
||
|
||
in stdenv.mkDerivation {
|
||
inherit pname version;
|
||
|
||
src = fetchurl {
|
||
url = "https://code.dogmap.org/${pname}/releases/${pname}-${version}.tar.bz2";
|
||
inherit sha256;
|
||
};
|
||
|
||
patches = [ ./new-skalibs.patch ];
|
||
outputs = [ "bin" "lib" "dev" "doc" "out" ];
|
||
|
||
buildInputs = [
|
||
# temporary, until fdtools catches up to skalibs
|
||
skalibs
|
||
];
|
||
|
||
configurePhase = ''
|
||
cd ${pname}-${version}
|
||
sed -e 's|gcc|$CC|' \
|
||
conf-compile/defaults/host_link.sh \
|
||
> conf-compile/host_link.sh
|
||
sed -e 's|gcc|$CC|' \
|
||
conf-compile/defaults/host_compile.sh \
|
||
> conf-compile/host_compile.sh
|
||
|
||
echo "${skalibs.lib}/lib/skalibs/sysdeps" \
|
||
> conf-compile/depend_skalibs_sysdeps
|
||
'';
|
||
|
||
buildPhase = ''
|
||
bash package/build
|
||
'';
|
||
|
||
installPhase = ''
|
||
mkdir -p $bin/bin
|
||
tools=( grabconsole multitee pipecycle recvfd seek0 sendfd setblock setstate statfile vc-get vc-lock vc-switch )
|
||
|
||
for t in "''${tools[@]}"; do
|
||
mv "command/$t" "$bin/bin/$t"
|
||
done
|
||
|
||
mkdir -p $lib/lib
|
||
mkdir -p $dev/include
|
||
docdir=$doc/share/doc/${pname}
|
||
mkdir -p $docdir
|
||
|
||
mv library/fdtools.a $lib/lib/fdtools.a
|
||
mv include/fdtools.h $dev/include/fdtools.h
|
||
|
||
${skawarePackages.cleanPackaging.commonFileActions {
|
||
noiseFiles = [
|
||
"conf-compile/**/*"
|
||
"src/**/*"
|
||
"src/.**/*"
|
||
"compile/**/*"
|
||
"package/{build,check,compile,elsewhere,install,install_commands,own,run,sharing,upgrade,upgrade_version,url_src,url_src_latest,versions}"
|
||
];
|
||
docFiles = [
|
||
"package/INSTALL"
|
||
"package/LICENSE"
|
||
"package/README"
|
||
];
|
||
}} $docdir
|
||
|
||
${skawarePackages.cleanPackaging.checkForRemainingFiles}
|
||
|
||
# we don’t use this, but nixpkgs requires it
|
||
touch $out
|
||
'';
|
||
|
||
meta = {
|
||
homepage = "https://code.dogmap.org./fdtools/";
|
||
description = "A set of utilities for working with file descriptors";
|
||
license = lib.licenses.gpl2;
|
||
platforms = lib.platforms.linux;
|
||
maintainers = [ lib.maintainers.Profpatsch ];
|
||
};
|
||
}
|