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