nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchgit,
5}:
6
7stdenv.mkDerivation (finalAttrs: {
8 pname = "PStreams";
9 version = "1.0.1";
10
11 src = fetchgit {
12 url = "https://git.code.sf.net/p/pstreams/code";
13 rev =
14 let
15 dot2Underscore = lib.strings.stringAsChars (c: if c == "." then "_" else c);
16 in
17 "RELEASE_${dot2Underscore finalAttrs.version}";
18 sha256 = "0r8aj0nh5mkf8cvnzl8bdy4nm7i74vs83axxfimcd74kjfn0irys";
19 };
20
21 makeFlags = [ "prefix=${placeholder "out"}" ];
22 dontBuild = true;
23 doCheck = true;
24
25 preInstall = "rm INSTALL";
26 # `make install` fails on case-insensitive file systems (e.g. APFS by
27 # default) because this target exists
28
29 meta = {
30 description = "POSIX Process Control in C++";
31 longDescription = ''
32 PStreams allows you to run another program from your C++ application and
33 to transfer data between the two programs similar to shell pipelines.
34
35 In the simplest case, a PStreams class is like a C++ wrapper for the
36 POSIX.2 functions popen(3) and pclose(3), using C++ iostreams instead of
37 C's stdio library.
38 '';
39 homepage = "https://pstreams.sourceforge.net/";
40 downloadPage = "https://pstreams.sourceforge.net/download/";
41 maintainers = with lib.maintainers; [ arthur ];
42 license = lib.licenses.boost;
43 platforms = lib.platforms.all;
44 };
45})