diff --git a/pkgs/development/libraries/xsd/default.nix b/pkgs/development/libraries/xsd/default.nix new file mode 100644 index 000000000000..bef2e46e0736 --- /dev/null +++ b/pkgs/development/libraries/xsd/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, xercesc }: + +let + fixed_paths = ''LDFLAGS="-L${xercesc}/lib" CPPFLAGS="-I${xercesc}/include"''; +in +stdenv.mkDerivation rec { + name = "xsd-${version}"; + version = "4.0.0"; + + src = fetchurl { + url = "http://codesynthesis.com/download/xsd/4.0/xsd-4.0.0+dep.tar.bz2"; + sha256 = "05wqhmd5cd4pdky8i8qysnh96d2h16ly8r73whmbxkajiyf2m9gc"; + }; + + patches = [ ./xsdcxx.patch ]; + + configurePhase = '' + patchShebangs . + ''; + + buildPhase = '' + make ${fixed_paths} + ''; + + buildInputs = [ xercesc ]; + + installPhase = '' + make ${fixed_paths} install_prefix="$out" install + ''; + + meta = { + homepage = http://www.codesynthesis.com/products/xsd; + description = "An open-source, cross-platform W3C XML Schema to C++ data binding compiler"; + license = stdenv.lib.licenses.gpl2; + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.jagajaga ]; + }; +} diff --git a/pkgs/development/libraries/xsd/xsdcxx.patch b/pkgs/development/libraries/xsd/xsdcxx.patch new file mode 100644 index 000000000000..88a893c6e602 --- /dev/null +++ b/pkgs/development/libraries/xsd/xsdcxx.patch @@ -0,0 +1,126 @@ +--- xsd-4.0.0+dep/xsd/doc/xsd.1~ 2014-09-14 12:25:36.862267587 +0000 ++++ xsd-4.0.0+dep/xsd/doc/xsd.1 2014-09-14 12:28:25.728229892 +0000 +@@ -1,16 +1,16 @@ + .\" Process this file with +-.\" groff -man -Tascii xsd.1 ++.\" groff -man -Tascii xsdcxx.1 + .\" + .TH XSD 1 "July 2014" "XSD 4.0.0" + .SH NAME +-xsd \- W3C XML Schema to C++ Compiler ++xsdcxx \- W3C XML Schema to C++ Compiler + .\" + .\" + .\" + .\"-------------------------------------------------------------------- + .SH SYNOPSIS + .\"-------------------------------------------------------------------- +-.B xsd ++.B xsdcxx + .I command + .B [ + .I options +@@ -20,19 +20,19 @@ + .I file + .B ...] + .in +-.B xsd help ++.B xsdcxx help + .B [ + .I command + .B ] + .in +-.B xsd version ++.B xsdcxx version + .\" + .\" + .\" + .\"-------------------------------------------------------------------- + .SH DESCRIPTION + .\"-------------------------------------------------------------------- +-.B xsd ++.B xsdcxx + generates vocabulary-specific, statically-typed C++ mapping from W3C XML + Schema definitions. Particular mapping to produce is selected by a + .IR command . +@@ -96,7 +96,7 @@ + .PP + .RS + .RS 3 +-.B xsd help ++.B xsdcxx help + .I command + .RE + .PP +@@ -206,7 +206,7 @@ + \fIfilename\fP \fInamespace\fP + + For example, if you have file \fBhello\.xsd\fP with namespace +-\fBhttp://example\.com/hello\fP and you run \fBxsd\fP on this file, then the ++\fBhttp://example\.com/hello\fP and you run \fBxsdcxx\fP on this file, then the + string in question will be: + + \fBhello\.xsd\. http://example\.com/hello\fP +@@ -1632,7 +1632,7 @@ + .\" + .SH DIAGNOSTICS + If the input file is not a valid W3C XML Schema definition, +-.B xsd ++.B xsdcxx + will issue diagnostic messages to + .B STDERR + and exit with non-zero exit code. +--- xsd-4.0.0+dep/xsd/doc/xsd.xhtml~ 2014-09-14 12:28:37.731513138 +0000 ++++ xsd-4.0.0+dep/xsd/doc/xsd.xhtml 2014-09-14 12:30:11.277789610 +0000 +@@ -50,19 +50,19 @@ + +

NAME

+ +-

xsd - W3C XML Schema to C++ Compiler

++

xsdcxx - W3C XML Schema to C++ Compiler

+ +

SYNOPSIS

+ +
+-
xsd command [options] file [file ...]
+-
xsd help [command]
+-
xsd version
++
xsdcxx command [options] file [file ...]
++
xsdcxx help [command]
++
xsdcxx version
+
+ +

DESCRIPTION

+ +-

xsd generates vocabulary-specific, statically-typed ++

xsdcxx generates vocabulary-specific, statically-typed + C++ mapping from W3C XML Schema definitions. Particular mapping to + produce is selected by a command. Each mapping has + a number of mapping-specific options that should +@@ -104,7 +104,7 @@ + +

help
+
Print usage information and exit. Use +-

xsd help command

++

xsdcxx help command

+ for command-specific help. +
+ +@@ -219,7 +219,7 @@ + +

For example, if you have file hello.xsd with + namespace http://example.com/hello and you run +- xsd on this file, then the string in question will ++ xsdcxx on this file, then the string in question will + be:

+ +

hello.xsd. http://example.com/hello

+@@ -1530,7 +1530,7 @@ +

DIAGNOSTICS

+ +

If the input file is not a valid W3C XML Schema definition, +- xsd will issue diagnostic messages to STDERR ++ xsdcxx will issue diagnostic messages to STDERR + and exit with non-zero exit code.

+ +

BUGS

diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3ce04832bca6..0a8df8426815 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14548,6 +14548,8 @@ in xrestop = callPackage ../tools/X11/xrestop { }; + xsd = callPackage ../development/libraries/xsd { }; + xscreensaver = callPackage ../misc/screensavers/xscreensaver { inherit (gnome) libglade; };