Add Nix expression for Perl module SQL::Translator ( also known

as SQL Fairy) and dependencies.

svn path=/nixpkgs/trunk/; revision=24895
This commit is contained in:
Karn Kallio 2010-11-27 20:54:35 +00:00
parent 94585b9776
commit 675f6eb0c8
2 changed files with 195 additions and 5 deletions

View File

@ -0,0 +1,49 @@
This patch configures Getopt::Long to pass options
so they will be available at the second GetOptions call.
Also an option to specify the search path for libfontconfig
is added.
diff -Naur GD-2.45/Makefile.PL GD-2.45-patched/Makefile.PL
--- GD-2.45/Makefile.PL 2009-07-10 13:40:07.000000000 -0430
+++ GD-2.45-patched/Makefile.PL 2010-11-26 22:48:52.372992578 -0430
@@ -16,9 +16,9 @@
my (@INC,@LIBPATH,@LIBS);
my $AUTOCONFIG = 0; # global set by try_to_autoconfigure() below
-my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$force);
+my ($options,$lib_gd_path,$lib_ft_path,$lib_png_path,$lib_jpeg_path,$lib_xpm_path,$lib_zlib_path,$lib_fontconfig_path,$force);
-use Getopt::Long;
+use Getopt::Long qw(:config pass_through);
GetOptions("ignore_missing_gd" => \$force);
unless (try_to_autoconfigure(\$options,\$lib_gd_path,\@INC,\@LIBPATH,\@LIBS) || $force) {
@@ -49,6 +49,7 @@
"lib_jpeg_path=s" => \$lib_jpeg_path,
"lib_xpm_path=s" => \$lib_xpm_path,
"lib_zlib_path=s" => \$lib_zlib_path,
+ "lib_fontconfig_path=s" => \$lib_fontconfig_path,
);
unless ($result) {
print STDERR <<END;
@@ -64,6 +65,7 @@
-lib_jpeg_path path path to libjpeg
-lib_xpm_path path path to libxpm
-lib_zlib_path path path to libpng
+ -lib_fontconfig_path path path to libfontconfig
-ignore_missing_gd Ignore missing or old libgd installations and try to compile anyway
If no options are passed on the command line. The program will
@@ -111,6 +113,12 @@
@INC = ("-I$lib_zlib_path/include", @INC);
@LIBPATH = ("-L$lib_zlib_path/lib", @LIBPATH);
}
+if( defined($lib_fontconfig_path) )
+{
+ print "Fontconfig library used from: $lib_fontconfig_path\n";
+ @INC = ("-I$lib_fontconfig_path/include", @INC);
+ @LIBPATH = ("-L$lib_fontconfig_path/lib", @LIBPATH);
+}
#############################################################################################
if ($^O eq 'VMS'){

View File

@ -556,6 +556,14 @@ rec {
};
};
ClassBase = buildPerlPackage rec {
name = "Class-Base-0.03";
src = fetchurl {
url = "mirror://cpan/authors/id/A/AB/ABW/${name}.tar.gz";
sha256 = "149875qzfyayvkb6dm8frg0kmkzyjswwrjz7gyvwi7l8b19kiyk4";
};
};
ClassC3 = buildPerlPackage rec {
name = "Class-C3-0.21";
src = fetchurl {
@ -616,6 +624,14 @@ rec {
};
};
ClassMakeMethods = buildPerlPackage rec {
name = "Class-MakeMethods-1.009";
src = fetchurl {
url = "mirror://cpan/authors/id/E/EV/EVO/${name}.tar.gz";
sha256 = "10f65j4ywrnwyz0dm1q5ymmpv875drj40mj1xvsjv0bnjinnwzj8";
};
};
ClassMOP = buildPerlPackage rec {
name = "Class-MOP-0.88";
src = fetchurl {
@ -1235,6 +1251,49 @@ rec {
};
};
GD = buildPerlPackage rec {
name = "GD-2.45";
src = fetchurl {
url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz";
sha256 = "1p84585b4iyqa21hbqni0blj8fzd917ynd3y1hwh3mrmyfqj178x";
};
buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype
pkgs.libpng pkgs.fontconfig pkgs.xlibs.libXpm GetOptLong ];
# Patch needed to get arguments past the first GetOptions call
# and to specify libfontconfig search path.
# Patch has been sent upstream.
patches = [ ../development/perl-modules/gd-options-passthrough-and-fontconfig.patch ];
# Remove a failing test. The test does a binary comparison of a generated
# file with a file packaged with the source, and these are different
# ( although the images look the same to my eye ); this is
# possibly because the source packaged image was generated with a
# different version of some library ( libpng maybe? ).
postPatch = "sed -ie 's/if (GD::Image->can(.newFromJpeg.)) {/if ( 0 ) {/' t/GD.t";
makeMakerFlags = "--lib_png_path=${pkgs.libpng} --lib_jpeg_path=${pkgs.libjpeg} --lib_zlib_path=${pkgs.zlib} --lib_ft_path=${pkgs.freetype} --lib_fontconfig_path=${pkgs.fontconfig} --lib_xpm_path=${pkgs.xlibs.libXpm}";
};
GetOptLong = buildPerlPackage rec {
name = "Getopt-Long-2.38";
src = fetchurl {
url = "mirror://cpan/authors/id/J/JV/JV/modules/${name}.tar.gz";
sha256 = "0lrsm8vlqhdnkzfvyaiyfivmaar0rirrnwa2v0qk6l130a497mky";
};
};
Graph = buildPerlPackage rec {
name = "Graph-0.94";
src = fetchurl {
url = "mirror://cpan/authors/id/J/JH/JHI/modules/${name}.tar.gz";
sha256 = "1lyfl9s4mkhahnpxk2z5v6j750jqb4sls56b9rnkl5lni9ms7xgn";
};
buildInputs = [ TestPod TestPodCoverage ];
};
GraphViz = buildPerlPackage rec {
name = "GraphViz-2.04";
src = fetchurl {
@ -1244,7 +1303,7 @@ rec {
# XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz.
buildInputs = [ pkgs.graphviz ];
propagatedBuildInputs = [ IPCRun ];
propagatedBuildInputs = [ IPCRun TestMore ];
meta = {
description = "Perl interface to the GraphViz graphing tool";
@ -1482,6 +1541,14 @@ rec {
};
};
IOStringy = buildPerlPackage rec {
name = "IO-stringy-2.110";
src = fetchurl {
url = "mirror://cpan/authors/id/D/DS/DSKOLL/${name}.tar.gz";
sha256 = "1vh4n0k22hx20rwvf6h7lp25wb7spg0089shrf92d2lkncwg8g3y";
};
};
IPCRun = buildPerlPackage rec {
name = "IPC-Run-0.82";
src = fetchurl {
@ -1951,6 +2018,14 @@ rec {
};
};
OLEStorageLight = buildPerlPackage rec {
name = "OLE-Storage_Lite-0.19";
src = fetchurl {
url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/${name}.tar.gz";
sha256 = "179cxwqxb0f9dpx8954nvwjmggxxi5ndnang41yav1dx6mf0abp7";
};
};
ParamsUtil = buildPerlPackage rec {
name = "Params-Util-1.01";
src = fetchurl {
@ -1975,11 +2050,11 @@ rec {
};
};
ParseRecDescent = buildPerlPackage {
name = "ParseRecDescent-1.96.0";
ParseRecDescent = buildPerlPackage rec {
name = "Parse-RecDescent-1.965001";
src = fetchurl {
url = mirror://cpan/authors/id/D/DC/DCONWAY/Parse-RecDescent-1.96.0.tar.gz;
sha256 = "1hnsnpzdwcwpbnsspaz55gx7x7h1rpxdk7k1ninnqk1jximl3y9n";
url = "mirror://cpan/authors/id/D/DC/DCONWAY/${name}.tar.gz";
sha256 = "0r4dnrjgxv5irkyx1kgkg8vj6wqx67q5hbkifpb54906kc1n7yh0";
};
};
@ -2231,6 +2306,16 @@ rec {
};
};
SpreadsheetParseExcel = buildPerlPackage rec {
name = "Spreadsheet-ParseExcel-0.58";
src = fetchurl {
url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/${name}.tar.gz";
sha256 = "1ha32kfgf0b9mk00dvsx0jq72xsx0qskmgrnixcdfh044lcxzk17";
};
propagatedBuildInputs = [ IOStringy OLEStorageLight ];
};
SQLAbstract = buildPerlPackage rec {
name = "SQL-Abstract-1.60";
src = fetchurl {
@ -2254,6 +2339,20 @@ rec {
buildInputs = [TestPod TestPodCoverage];
};
SQLTranslator = buildPerlPackage rec {
name = "SQL-Translator-0.11006";
src = fetchurl {
url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/${name}.tar.gz";
sha256 = "0ifnzap3pgkxvkv2gxpmv02637pfraza5m4zk99braw319ra4mla";
};
propagatedBuildInputs = [
ClassBase ClassDataInheritable ClassMakeMethods DigestSHA1 CarpClan IOStringy
ParseRecDescent ClassAccessor DBI FileShareDir XMLWriter YAML TestDifferences
TemplateToolkit GraphViz XMLLibXML TestPod TextRecordParser HTMLParser
SpreadsheetParseExcel Graph GD
];
};
StringFormat = buildPerlPackage rec {
name = "String-Format-1.16";
src = fetchurl {
@ -2445,6 +2544,15 @@ rec {
propagatedBuildInputs = [TestTester TestNoWarnings];
};
TestDifferences = buildPerlPackage rec {
name = "Test-Differences-0.500";
src = fetchurl {
url = "mirror://cpan/authors/id/O/OV/OVID/${name}.tar.gz";
sha256 = "0ha36j6wr1d47zzilb28bvkm5lm5c6i4rqp4aqyknwg4qmagjr4w";
};
propagatedBuildInputs = [ TestMore TextDiff ];
};
TestException = buildPerlPackage {
name = "Test-Exception-0.27";
src = fetchurl {
@ -2627,6 +2735,15 @@ rec {
};
};
TextDiff = buildPerlPackage rec {
name = "Text-Diff-1.37";
src = fetchurl {
url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz";
sha256 = "08das6k4nrf8dgcg2l1jcy8868kgzx976j38rpdndgrgq0nz148n";
};
propagatedBuildInputs = [ AlgorithmDiff ];
};
TextMarkdown = buildPerlPackage rec {
name = "Text-Markdown-1.0.26";
src = fetchurl {
@ -2646,6 +2763,21 @@ rec {
propagatedBuildInputs = [ CompressZlib ];
};
TextRecordParser = buildPerlPackage rec {
name = "Text-RecordParser-v1.5.0";
src = fetchurl {
url = "mirror://cpan/authors/id/K/KC/KCLARK/${name}.tar.gz";
sha256 = "0zlwpayjnpjani3v3hgi77207i3n5fppcxww20chdldx98dkj7jm";
};
# In a NixOS chroot build, the tests fail because the font configuration
# at /etc/fonts/font.conf is not available.
doCheck = false;
propagatedBuildInputs = [ TestException IOStringy ClassAccessor Readonly ListMoreUtils
TestPod TestPodCoverage GraphViz ReadonlyXS TextTabularDisplay];
};
TextSimpleTable = buildPerlPackage {
name = "Text-SimpleTable-0.05";
src = fetchurl {
@ -2663,6 +2795,15 @@ rec {
propagatedBuildInputs = [TextAligner];
};
TextTabularDisplay = buildPerlPackage rec {
name = "Text-TabularDisplay-1.22";
src = fetchurl {
url = "mirror://cpan/authors/id/D/DA/DARREN/${name}.tar.gz";
sha256 = "05r3jvdf8av16hgy0i3wnc581ski08q1bnllq5cq1fnc7h2nm1c7";
};
propagatedBuildInputs = [TextAligner];
};
TieIxhash = buildPerlPackage rec {
name = "Tie-IxHash-1.21";
src = fetchurl {