{ stdenv, lib, runCommandCC, skawarePackages, skalibs }:

let
  # From https://skarnet.org/software/misc/sdnotify-wrapper.c,
  # which is unversioned.
  src = ./sdnotify-wrapper.c;

in runCommandCC "sdnotify-wrapper" {

   outputs = [ "bin" "doc" "out" ];

   meta = {
     homepage = "https://skarnet.org/software/misc/sdnotify-wrapper.c";
     description = "Use systemd sd_notify without having to link against libsystemd";
     mainProgram = "sdnotify-wrapper";
     platforms = lib.platforms.linux;
     license = lib.licenses.isc;
     maintainers = with lib.maintainers; [ Profpatsch ];
   };

} ''
  mkdir -p $bin/bin
  mkdir $out

  # the -lskarnet has to come at the end to support static builds
  $CC \
    -o $bin/bin/sdnotify-wrapper \
    -I${skalibs.dev}/include \
    -L${skalibs.lib}/lib \
    ${src} \
    -lskarnet

  mkdir -p $doc/share/doc/sdnotify-wrapper
  # copy the documentation comment
  sed -ne '/Usage:/,/*\//p' ${src} > $doc/share/doc/sdnotify-wrapper/README
''
