diff --git a/pkgs/build-support/skaware/clean-packaging.nix b/pkgs/build-support/skaware/clean-packaging.nix index 16bae04b21e2..762fe25c0acf 100644 --- a/pkgs/build-support/skaware/clean-packaging.nix +++ b/pkgs/build-support/skaware/clean-packaging.nix @@ -26,11 +26,11 @@ let writeScript "common-file-actions.sh" '' #!${stdenv.shell} set -e - DOCDIR="$1" + DOCDIR="''${1?commonFileActions: DOCDIR as argv[1] required}" shopt -s globstar extglob nullglob - ${rmNoise noiseFiles} mkdir -p "$DOCDIR" ${mvDoc docFiles} + ${rmNoise noiseFiles} ''; # Shell script to check whether the build directory is empty. diff --git a/pkgs/tools/misc/fdtools/default.nix b/pkgs/tools/misc/fdtools/default.nix new file mode 100644 index 000000000000..6e0cb66749f4 --- /dev/null +++ b/pkgs/tools/misc/fdtools/default.nix @@ -0,0 +1,78 @@ +{ stdenv, lib, fetchurl, skawarePackages }: + +let + pname = "fdtools"; + version = "2020.05.04"; + sha256 = "0lnafcp4yipi0dl8gh33zjs8wlpz0mim8mwmiz9s49id0b0fmlla"; + +in stdenv.mkDerivation { + inherit pname version; + + src = fetchurl { + url = "https://code.dogmap.org/${pname}/releases/${pname}-${version}.tar.bz2"; + inherit sha256; + }; + + outputs = [ "bin" "lib" "dev" "doc" "out" ]; + + buildInputs = [ skawarePackages.skalibs ]; + + configurePhase = '' + cd ${pname}-${version} + sed -e 's|gcc|$CC|' \ + conf-compile/defaults/host_link.sh \ + > conf-compile/host_link.sh + + echo "${skawarePackages.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.all; + maintainers = [ lib.maintainers.Profpatsch ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 50e3812a4aa3..6ff526349638 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3365,6 +3365,8 @@ in fdm = callPackage ../tools/networking/fdm {}; + fdtools = callPackage ../tools/misc/fdtools { }; + featherpad = callPackage ../applications/editors/featherpad {}; feedreader = callPackage ../applications/networking/feedreaders/feedreader {};