diff --git a/pkgs/applications/printing/pappl/default.nix b/pkgs/applications/printing/pappl/default.nix new file mode 100644 index 000000000000..5cad364d240b --- /dev/null +++ b/pkgs/applications/printing/pappl/default.nix @@ -0,0 +1,62 @@ +{ lib, stdenv, fetchFromGitHub +, avahi +, cups +, gnutls +, libjpeg +, libpng +, libusb1 +, pkg-config +, withPAMSupport ? true, pam +, zlib +}: + +stdenv.mkDerivation rec { + pname = "pappl"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "michaelrsweet"; + repo = pname; + rev = "v${version}"; + sha256 = "1cg06v8hxska0hnybnmfda1v4h3ifjir24nx2iqx80kb6jq0hayb"; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + cups + libjpeg + libpng + libusb1 + zlib + ] ++ lib.optionals (!stdenv.isDarwin) [ + # upstream mentions these are not needed for Mac + # see: https://github.com/michaelrsweet/pappl#requirements + avahi + gnutls + ] ++ lib.optionals withPAMSupport [ + pam + ]; + + # testing requires some networking + # doCheck = true; + + doInstallCheck = true; + installCheckPhase = '' + $out/bin/pappl-makeresheader --help + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "C-based framework/library for developing CUPS Printer Applications"; + homepage = "https://github.com/michaelrsweet/pappl"; + license = licenses.asl20; + platforms = platforms.linux; # should also work for darwin, but requires additional work + maintainers = with maintainers; [ jonringer ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f0c412e5c9bd..c064ead5e4ae 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6408,6 +6408,8 @@ in papertrail = callPackage ../tools/text/papertrail { }; + pappl = callPackage ../applications/printing/pappl { }; + par2cmdline = callPackage ../tools/networking/par2cmdline { }; parallel = callPackage ../tools/misc/parallel { };