diff --git a/pkgs/development/libraries/tclap/default.nix b/pkgs/development/libraries/tclap/1.2.nix similarity index 100% rename from pkgs/development/libraries/tclap/default.nix rename to pkgs/development/libraries/tclap/1.2.nix diff --git a/pkgs/development/libraries/tclap/1.4.nix b/pkgs/development/libraries/tclap/1.4.nix new file mode 100644 index 00000000000..7a0b5765963 --- /dev/null +++ b/pkgs/development/libraries/tclap/1.4.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, fetchgit +, cmake +, doxygen +, python3 +}: +stdenv.mkDerivation { + pname = "tclap"; + + # This version is slightly newer than 1.4.0-rc1: + # See https://github.com/mirror/tclap/compare/1.4.0-rc1..3feeb7b2499b37d9cb80890cadaf7c905a9a50c6 + version = "1.4-3feeb7b"; + + src = fetchgit { + url = "git://git.code.sf.net/p/tclap/code"; + rev = "3feeb7b2499b37d9cb80890cadaf7c905a9a50c6"; # 1.4 branch + hash = "sha256-byLianB6Vf+I9ABMmsmuoGU2o5RO9c5sMckWW0F+GDM="; + }; + + postPatch = '' + substituteInPlace CMakeLists.txt \ + --replace '$'{CMAKE_INSTALL_LIBDIR_ARCHIND} '$'{CMAKE_INSTALL_LIBDIR} + substituteInPlace packaging/pkgconfig.pc.in \ + --replace '$'{prefix}/@CMAKE_INSTALL_INCLUDEDIR@ @CMAKE_INSTALL_FULL_INCLUDEDIR@ + ''; + + nativeBuildInputs = [ + cmake + doxygen + python3 + ]; + + # Installing docs is broken in this package+version so we stub out some files + preInstall = '' + touch docs/manual.html + ''; + + doCheck = true; + + meta = with lib; { + description = "Templatized C++ Command Line Parser Library (v1.4)"; + homepage = "https://tclap.sourceforge.net/"; + license = licenses.mit; + maintainers = teams.deshaw.members; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 523be31c5a0..38c00cfc82b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -24858,7 +24858,11 @@ with pkgs; taskflow = callPackage ../development/libraries/taskflow { }; - tclap = callPackage ../development/libraries/tclap { }; + tclap = tclap_1_2; + + tclap_1_2 = callPackage ../development/libraries/tclap/1.2.nix { }; + + tclap_1_4 = callPackage ../development/libraries/tclap/1.4.nix { }; tcllib = callPackage ../development/libraries/tcllib { };