nixpkgs/pkgs/development/libraries/xalanc/default.nix
2021-11-06 06:01:07 +00:00

41 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, xercesc, getopt }:
let
platform = if stdenv.isLinux then "linux" else
if stdenv.isDarwin then "macosx" else
throw "Unsupported platform";
in stdenv.mkDerivation rec {
pname = "xalan-c";
version = "1.11";
src = fetchurl {
url = "mirror://apache/xalan/xalan-c/sources/xalan_c-${version}-src.tar.gz";
sha256 = "0a3a2b15vpacnqgpp6fiy1pwyc8q6ywzvyb5445f6wixfdspypjg";
};
configurePhase = ''
export XALANCROOT=`pwd`/c
cd `pwd`/c
mkdir -p $out
./runConfigure -p ${platform} -c cc -x c++ -P$out
'';
buildInputs = [ xercesc getopt ];
# Parallel build fails as:
# c++ ... -c ... ExecutionContext.cpp
# ProblemListenerBase.hpp:28:10: fatal error: LocalMsgIndex.hpp: No such file or directory
# The build failure happens due to missing intra-project dependencies
# against generated headers. Future 1.12 version dropped
# autotools-based build system. Let's disable parallel builds until
# next release.
enableParallelBuilding = false;
meta = {
homepage = "http://xalan.apache.org/";
description = "A XSLT processor for transforming XML documents";
license = lib.licenses.asl20;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = [ lib.maintainers.jagajaga ];
};
}