mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-22 23:13:19 +00:00
* Another sync with the trunk.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15269
This commit is contained in:
commit
f762b50991
185
doc/language-support.xml
Normal file
185
doc/language-support.xml
Normal file
@ -0,0 +1,185 @@
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:id="chap-meta">
|
||||
|
||||
<title>Support for specific programming languages</title>
|
||||
|
||||
<para>The <link linkend="chap-stdenv">standard build
|
||||
environment</link> makes it easy to build typical Autotools-based
|
||||
packages with very little code. Any other kind of package can be
|
||||
accomodated by overriding the appropriate phases of
|
||||
<literal>stdenv</literal>. However, there are specialised functions
|
||||
in Nixpkgs to easily build packages for other programming languages,
|
||||
such as Perl or Haskell. These are described in this chapter.</para>
|
||||
|
||||
|
||||
<section><title>Perl</title>
|
||||
|
||||
<para>Nixpkgs provides a function <varname>buildPerlPackage</varname>,
|
||||
a generic package builder function for any Perl package that has a
|
||||
standard <varname>Makefile.PL</varname>. It’s implemented in <link
|
||||
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/development/perl-modules/generic"><filename>pkgs/development/perl-modules/generic</filename></link>.</para>
|
||||
|
||||
<para>Perl packages from CPAN are defined in <link
|
||||
xlink:href="https://svn.nixos.org/repos/nix/nixpkgs/trunk/pkgs/top-level/perl-packages.nix"><filename>pkgs/perl-packages.nix</filename></link>,
|
||||
rather than <filename>pkgs/all-packages.nix</filename>. Most Perl
|
||||
packages are so straight-forward to build that they are defined here
|
||||
directly, rather than having a separate function for each package
|
||||
called from <filename>perl-packages.nix</filename>. However, more
|
||||
complicated packages should be put in a separate file, typically in
|
||||
<filename>pkgs/development/perl-modules</filename>. Here is an
|
||||
example of the former:
|
||||
|
||||
<programlisting>
|
||||
ClassC3 = buildPerlPackage rec {
|
||||
name = "Class-C3-0.21";
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/F/FL/FLORA/${name}.tar.gz";
|
||||
sha256 = "1bl8z095y4js66pwxnm7s853pi9czala4sqc743fdlnk27kq94gz";
|
||||
};
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
Note the use of <literal>mirror://cpan/</literal>, and the
|
||||
<literal>${name}</literal> in the URL definition to ensure that the
|
||||
name attribute is consistent with the source that we’re actually
|
||||
downloading. Perl packages are made available in
|
||||
<filename>all-packages.nix</filename> through the variable
|
||||
<varname>perlPackages</varname>. For instance, if you have a package
|
||||
that needs <varname>ClassC3</varname>, you would typically write
|
||||
|
||||
<programlisting>
|
||||
foo = import ../path/to/foo.nix {
|
||||
inherit stdenv fetchurl ...;
|
||||
inherit (perlPackages) ClassC3;
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
in <filename>all-packages.nix</filename>. You can test building a
|
||||
Perl package as follows:
|
||||
|
||||
<screen>
|
||||
$ nix-build -A perlPackages.ClassC3
|
||||
</screen>
|
||||
|
||||
<varname>buildPerlPackage</varname> adds <literal>perl-</literal> to
|
||||
the start of the name attribute, so the package above is actually
|
||||
called <literal>perl-Class-C3-0.21</literal>. So to install it, you
|
||||
can say:
|
||||
|
||||
<screen>
|
||||
$ nix-env -i perl-Class-C3
|
||||
</screen>
|
||||
|
||||
(Of course you can also install using the attribute name:
|
||||
<literal>nix-env -i -A perlPackages.ClassC3</literal>.)</para>
|
||||
|
||||
<para>So what does <varname>buildPerlPackage</varname> do? It does
|
||||
the following:
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem><para>In the configure phase, it calls <literal>perl
|
||||
Makefile.PL</literal> to generate a Makefile. You can set the
|
||||
variable <varname>makeMakerFlags</varname> to pass flags to
|
||||
<filename>Makefile.PL</filename></para></listitem>
|
||||
|
||||
<listitem><para>It adds the contents of the <envar>PERL5LIB</envar>
|
||||
environment variable to <literal>#! .../bin/perl</literal> line of
|
||||
Perl scripts as <literal>-I<replaceable>dir</replaceable></literal>
|
||||
flags. This ensures that a script can find its
|
||||
dependencies.</para></listitem>
|
||||
|
||||
<listitem><para>In the fixup phase, it writes the propagated build
|
||||
inputs (<varname>propagatedBuildInputs</varname>) to the file
|
||||
<filename>$out/nix-support/propagated-user-env-packages</filename>.
|
||||
<command>nix-env</command> recursively installs all packages listed
|
||||
in this file when you install a package that has it. This ensures
|
||||
that a Perl package can find its dependencies.</para></listitem>
|
||||
|
||||
</orderedlist>
|
||||
|
||||
</para>
|
||||
|
||||
<para><varname>buildPerlPackage</varname> is built on top of
|
||||
<varname>stdenv</varname>, so everything can be customised in the
|
||||
usual way. For instance, the <literal>BerkeleyDB</literal> module has
|
||||
a <varname>preConfigure</varname> hook to generate a configuration
|
||||
file used by <filename>Makefile.PL</filename>:
|
||||
|
||||
<programlisting>
|
||||
{buildPerlPackage, fetchurl, db4}:
|
||||
|
||||
buildPerlPackage rec {
|
||||
name = "BerkeleyDB-0.36";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/P/PM/PMQS/${name}.tar.gz";
|
||||
sha256 = "07xf50riarb60l1h6m2dqmql8q5dij619712fsgw7ach04d8g3z1";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
echo "LIB = ${db4}/lib" > config.in
|
||||
echo "INCLUDE = ${db4}/include" >> config.in
|
||||
'';
|
||||
}
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
|
||||
<para>Dependencies on other Perl packages can be specified in the
|
||||
<varname>buildInputs</varname> and
|
||||
<varname>propagatedBuildInputs</varname> attributes. If something is
|
||||
exclusively a build-time dependency, use
|
||||
<varname>buildInputs</varname>; if it’s (also) a runtime dependency,
|
||||
use <varname>propagatedBuildInputs</varname>. For instance, this
|
||||
builds a Perl module that has runtime dependencies on a bunch of other
|
||||
modules:
|
||||
|
||||
<programlisting>
|
||||
ClassC3Componentised = buildPerlPackage rec {
|
||||
name = "Class-C3-Componentised-1.0004";
|
||||
src = fetchurl {
|
||||
url = "mirror://cpan/authors/id/A/AS/ASH/${name}.tar.gz";
|
||||
sha256 = "0xql73jkcdbq4q9m0b0rnca6nrlvf5hyzy8is0crdk65bynvs8q1";
|
||||
};
|
||||
propagatedBuildInputs = [
|
||||
ClassC3 ClassInspector TestException MROCompat
|
||||
];
|
||||
};
|
||||
</programlisting>
|
||||
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section><title>Python</title>
|
||||
|
||||
<para>TODO</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section><title>Haskell</title>
|
||||
|
||||
<para>TODO</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section><title>Java</title>
|
||||
|
||||
<para>TODO; Java support needs lots of improvement</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<section><title>TeX / LaTeX</title>
|
||||
|
||||
<para>* Special support for building TeX documents</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
</chapter>
|
@ -32,41 +32,7 @@
|
||||
<xi:include href="quick-start.xml" />
|
||||
<xi:include href="stdenv.xml" />
|
||||
<xi:include href="meta.xml" />
|
||||
|
||||
|
||||
<!-- outline -->
|
||||
|
||||
<chapter>
|
||||
<title>Language Support</title>
|
||||
|
||||
<section>
|
||||
<title>Perl</title>
|
||||
<para>* Generic Perl builder</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Python</title>
|
||||
<para>* Wrapper generation</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Haskell</title>
|
||||
<para>TODO</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Java</title>
|
||||
<para>TODO; Java support needs lots of improvement</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>TeX / LaTeX</title>
|
||||
<para>* Special support for building TeX documents</para>
|
||||
</section>
|
||||
|
||||
</chapter>
|
||||
|
||||
|
||||
<xi:include href="language-support.xml" />
|
||||
<xi:include href="package-notes.xml" />
|
||||
|
||||
|
||||
|
@ -165,12 +165,60 @@ splashutils_15 = ...;</programlisting>
|
||||
<!--============================================================-->
|
||||
|
||||
<section>
|
||||
<title>X.org</title>
|
||||
<para>* Expression is auto-generated</para>
|
||||
<para>* How to update</para>
|
||||
|
||||
<title>X.org</title>
|
||||
|
||||
<para>The Nix expressions for the X.org packages reside in
|
||||
<filename>pkgs/servers/x11/xorg/default.nix</filename>. This file is
|
||||
automatically generated from lists of tarballs in an X.org
|
||||
release. As such it should not be modified directly; rather, you
|
||||
should modify the lists or the generator script.</para>
|
||||
|
||||
<para>The generator is invoked as follows:
|
||||
|
||||
<screen>
|
||||
$ cd pkgs/servers/x11/xorg
|
||||
$ cat tarballs-7.4.list extra.list old.list \
|
||||
| perl ./generate-expr-from-tarballs.pl
|
||||
</screen>
|
||||
|
||||
For each of the tarballs in the <filename>.list</filename> files, the
|
||||
script downloads it, unpacks it, and searches its
|
||||
<filename>configure.ac</filename> and <filename>*.pc.in</filename>
|
||||
files for dependencies. This information is used to generate
|
||||
<filename>default.nix</filename>. The generator caches downloaded
|
||||
tarballs between runs. Pay close attention to the <literal>NOT FOUND:
|
||||
<replaceable>name</replaceable></literal> messages at the end of the
|
||||
run, since they may indicate missing dependencies. (Some might be
|
||||
optional dependencies, however.)</para>
|
||||
|
||||
<para>A file like <filename>tarballs-7.4.list</filename> contains all
|
||||
tarballs in a X.org release. It can be generated like this:
|
||||
|
||||
<screen>
|
||||
$ export i="mirror://xorg/X11R7.4/src/everything/"
|
||||
$ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
|
||||
| perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'i'}$2\n"; }; }' \
|
||||
| sort > tarballs-7.4.list
|
||||
</screen>
|
||||
|
||||
<filename>extra.list</filename> contains libraries that aren’t part of
|
||||
X.org proper, but are closely related to it, such as
|
||||
<literal>libxcb</literal>. <filename>old.list</filename> contains
|
||||
some packages that were removed from X.org, but are still needed by
|
||||
some people or by other packages (such as
|
||||
<varname>imake</varname>).</para>
|
||||
|
||||
<para>If the expression for a package requires derivation attributes
|
||||
that the generator cannot figure out automatically (say,
|
||||
<varname>patches</varname> or a <varname>postInstall</varname> hook),
|
||||
you should modify the generator script
|
||||
(<varname>generate-expr-from-tarballs.pl</varname>).</para>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
<!--============================================================-->
|
||||
|
||||
<section>
|
||||
|
40
pkgs/applications/editors/elvis/default.nix
Normal file
40
pkgs/applications/editors/elvis/default.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ fetchurl, stdenv, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "elvis-2.2_0";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.cs.pdx.edu/pub/elvis/elvis-2.2_0.tar.gz;
|
||||
sha256 = "182fj9qzyq6cjq1r849gpam6nq9smwv9f9xwaq84961p56r6d14s";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i s/-lcurses/-lncurses/ configure
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
ensureDir $out/share/man/man1
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
ensureDir $out/bin $out/share/elvis $out/share/elvis/doc
|
||||
cp elvis ref elvtags elvfmt $out/bin
|
||||
cp -R data/* $out/share/elvis
|
||||
cp doc/* $out/share/elvis/doc
|
||||
|
||||
ensureDir $out/share/man/man1
|
||||
for a in doc/*.man; do
|
||||
cp $a $out/share/man/man1/`basename $a .man`.1
|
||||
done
|
||||
'';
|
||||
|
||||
configureFlags = "--ioctl=termios";
|
||||
|
||||
meta = {
|
||||
homepage = http://elvis.vi-editor.org/;
|
||||
description = "A vi clone for Unix and other operating systems";
|
||||
license = "free";
|
||||
};
|
||||
}
|
26
pkgs/applications/editors/leksah/default.nix
Normal file
26
pkgs/applications/editors/leksah/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{cabal, gtk2hs, binary, parsec, regexPosix, utf8String, libedit, makeWrapper}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "leksah";
|
||||
version = "0.4.4.1";
|
||||
sha256 = "092a8gi73jhalgs4ppg8ki761vwk3gdnjwlyd4chnahbv5i1wrjw";
|
||||
|
||||
# !!! The explicit libedit dependency shouldn't be necessary.
|
||||
extraBuildInputs = [gtk2hs binary parsec regexPosix utf8String libedit makeWrapper];
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
substituteInPlace leksah.cabal --replace 'Cabal ==1.6.0.1' 'Cabal >=1.6.0.1'
|
||||
'';
|
||||
|
||||
postInstall =
|
||||
''
|
||||
wrapProgram $out/bin/leksah --prefix XDG_DATA_DIRS : ${gtk2hs.gtksourceview}/share
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://leksah.org/;
|
||||
description = "An Integrated Development Environment for Haskell written in Haskell";
|
||||
};
|
||||
})
|
||||
|
49
pkgs/applications/editors/nvi/default.nix
Normal file
49
pkgs/applications/editors/nvi/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ fetchurl, stdenv, ncurses }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nvi-1.79";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.bostic.com/pub/nvi-1.79.tar.gz;
|
||||
sha256 = "0cvf56rbylz7ksny6g2256sjg8yrsxrmbpk82r64rhi53sm8fnvm";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
|
||||
# nvi tries to write to a usual tmp directory (/var/tmp),
|
||||
# so we will force it to use /tmp.
|
||||
patchPhase = ''
|
||||
sed -i -e s/-lcurses/-lncurses/ \
|
||||
-e s@vi_cv_path_preserve=no@vi_cv_path_preserve=/tmp/vi.recover@ \
|
||||
-e s@/var/tmp@@ build/configure
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
mkdir mybuild
|
||||
cd mybuild
|
||||
../build/configure --prefix=$out --disable-curses
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
ensureDir $out/bin $out/share/vi/catalog
|
||||
for a in dutch english french german ru_SU.KOI8-R spanish swedish; do
|
||||
cp ../catalog/$a $out/share/vi/catalog
|
||||
done
|
||||
cp nvi $out/bin/nvi
|
||||
ln -s $out/bin/nvi $out/bin/vi
|
||||
ln -s $out/bin/nvi $out/bin/ex
|
||||
ln -s $out/bin/nvi $out/bin/view
|
||||
|
||||
ensureDir $out/share/man/man1
|
||||
cp ../docs/USD.doc/vi.man/vi.1 $out/share/man/man1/nvi.1
|
||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/vi
|
||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/ex
|
||||
ln -s $out/share/man/man1/nvi.1 $out/share/man/man1/view
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.bostic.com/vi/;
|
||||
description = "The Berkeley Vi Editor";
|
||||
license = "free";
|
||||
};
|
||||
}
|
@ -1,11 +1,11 @@
|
||||
{cabal, X11}:
|
||||
{cabal, X11, mtl, parsec, stm}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "xmobar";
|
||||
name = "${self.fname}";
|
||||
version = "0.8";
|
||||
sha256 = "88aa5bc0715e2592282e5897bc7938f16580804f56757bc71ed3762bf86c9415";
|
||||
extraBuildInputs = [X11];
|
||||
version = "0.9.2";
|
||||
sha256 = "361295f5dc912512a2eb644ecd331562a271243192be6215cb071e44f50c7c66";
|
||||
extraBuildInputs = [X11 mtl parsec stm];
|
||||
meta = {
|
||||
description = "xmobar is a minimalistic text based status bar";
|
||||
};
|
||||
|
@ -5,6 +5,11 @@ export NO_HIDS=TRUE
|
||||
|
||||
export PATH=$icu/sbin:$PATH
|
||||
|
||||
postUnpack=postUnpack
|
||||
postUnpack() {
|
||||
tar xvjf $src_system
|
||||
}
|
||||
|
||||
preConfigure=preConfigure
|
||||
preConfigure() {
|
||||
for i in sysui/desktop/share/makefile.mk; do
|
||||
@ -51,7 +56,7 @@ wrapSOffice() {
|
||||
# looks for it at runtime.
|
||||
export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH\${LD_LIBRARY_PATH:+:}$fontconfig/lib:$libjpeg/lib:$cups/lib
|
||||
export JAVA_HOME=$jdk
|
||||
exec $ooFiles/program/soffice $arg "\$@"
|
||||
exec $ooFiles/openoffice.org3/program/soffice $arg "\$@"
|
||||
EOF
|
||||
chmod +x $out/bin/$fn
|
||||
}
|
||||
|
@ -1,21 +1,28 @@
|
||||
{ stdenv, fetchurl, pam, python, tcsh, libxslt, perl, perlArchiveZip
|
||||
, perlCompressZlib, zlib, libjpeg, expat, pkgconfig, freetype, libwpd
|
||||
{ stdenv, fetchurl, pam, python, tcsh, libxslt, perl, ArchiveZip
|
||||
, CompressZlib, zlib, libjpeg, expat, pkgconfig, freetype, libwpd
|
||||
, libxml2, db4, sablotron, curl, libXaw, fontconfig, libsndfile, neon
|
||||
, bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
|
||||
, icu, boost, jdk, ant, hsqldb, libXext, libX11, libXtst, libXi, cups
|
||||
, libXinerama, openssl
|
||||
, icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups
|
||||
, libXinerama, openssl, gperf, cppunit
|
||||
}:
|
||||
|
||||
let version = "2.4.1"; in
|
||||
let version = "3.0.1"; in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "openoffice.org-${version}";
|
||||
builder = ./builder.sh;
|
||||
|
||||
src =
|
||||
fetchurl {
|
||||
src = fetchurl {
|
||||
url = "http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&os=src_bzip&lang=core&version=${version}";
|
||||
name = "OOo_${version}_src_core.tar.bz2";
|
||||
sha256 = "1405l6xb1qy6l43n9nli8hhay917nyr8a69agj483aaiskrpdxdb";
|
||||
sha256 = "0fgk7n766lzsxn09p8g5ddabw568jw56k9bcdc02nlmk6k3a9qq0";
|
||||
};
|
||||
|
||||
patches = [ ./oo.patch ];
|
||||
|
||||
src_system = fetchurl {
|
||||
url = "http://openoffice.bouncer.osuosl.org/?product=OpenOffice.org&os=src_bzip&lang=system&version=${version}";
|
||||
name = "OOo_${version}_src_system.tar.bz2";
|
||||
sha256 = "1zp8lbn5x9wwbv82inqkanaip4l2jyiybjqv1dpx7wbh6nrasgdv";
|
||||
};
|
||||
|
||||
configureFlags = "
|
||||
@ -28,7 +35,6 @@ stdenv.mkDerivation rec {
|
||||
--disable-mozilla
|
||||
--disable-odk
|
||||
--disable-pasf
|
||||
--disable-qadevooo
|
||||
--with-cairo
|
||||
--with-system-libs
|
||||
--with-system-python
|
||||
@ -49,24 +55,24 @@ stdenv.mkDerivation rec {
|
||||
--without-system-xml-apis
|
||||
--without-system-xt
|
||||
--without-system-db
|
||||
--with-system-hsqldb
|
||||
--with-hsqldb-jar=${hsqldb}/lib/hsqldb.jar
|
||||
--without-system-jars
|
||||
--without-system-hunspell
|
||||
--without-system-altlinuxhyph
|
||||
--without-system-lpsolve
|
||||
";
|
||||
|
||||
LD_LIBRARY_PATH = "${libXext}/lib:${libX11}/lib:${libXtst}/lib:${libXi}/lib:${libjpeg}/lib";
|
||||
|
||||
buildInputs = [
|
||||
pam python tcsh libxslt perl perlArchiveZip perlCompressZlib zlib
|
||||
pam python tcsh libxslt perl ArchiveZip CompressZlib zlib
|
||||
libjpeg expat pkgconfig freetype libwpd libxml2 db4 sablotron curl
|
||||
libXaw fontconfig libsndfile neon bison flex zip unzip gtk libmspack
|
||||
getopt file jdk cairo which icu boost libXext libX11 libXtst libXi
|
||||
cups libXinerama openssl
|
||||
cups libXinerama openssl gperf
|
||||
];
|
||||
|
||||
inherit icu fontconfig libjpeg jdk cups;
|
||||
|
||||
patches = [./ooo-libtextcat.patch ];
|
||||
|
||||
meta = {
|
||||
description = "OpenOffice.org is a multiplatform and multilingual office suite";
|
||||
homepage = http://www.openoffice.org/;
|
||||
|
72
pkgs/applications/office/openoffice/oo.patch
Normal file
72
pkgs/applications/office/openoffice/oo.patch
Normal file
@ -0,0 +1,72 @@
|
||||
diff --git a/libtextcat/makefile.mk b/libtextcat/makefile.mk
|
||||
index 602b9b1..6be8427 100644
|
||||
--- a/libtextcat/makefile.mk
|
||||
+++ b/libtextcat/makefile.mk
|
||||
@@ -57,7 +57,7 @@ ADDITIONAL_FILES= \
|
||||
#CONFIGURE_DIR=$(BUILD_DIR)
|
||||
|
||||
#relative to CONFIGURE_DIR
|
||||
-CONFIGURE_ACTION=configure CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)"
|
||||
+CONFIGURE_ACTION=configure CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" --prefix=$(TMPDIR)
|
||||
CONFIGURE_FLAGS=
|
||||
|
||||
BUILD_ACTION=make
|
||||
diff --git a/redland/raptor/makefile.mk b/redland/raptor/makefile.mk
|
||||
index 0e64d50..547d66b 100644
|
||||
--- a/redland/raptor/makefile.mk
|
||||
+++ b/redland/raptor/makefile.mk
|
||||
@@ -104,7 +104,7 @@ XSLTLIB:=$(XSLTLIB)
|
||||
|
||||
CONFIGURE_DIR=
|
||||
CONFIGURE_ACTION=.$/configure
|
||||
-CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml
|
||||
+CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR)
|
||||
BUILD_ACTION=$(GNUMAKE)
|
||||
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
|
||||
BUILD_DIR=$(CONFIGURE_DIR)
|
||||
diff --git a/redland/rasqal/makefile.mk b/redland/rasqal/makefile.mk
|
||||
index 850ee9c..3293a79 100644
|
||||
--- a/redland/rasqal/makefile.mk
|
||||
+++ b/redland/rasqal/makefile.mk
|
||||
@@ -104,7 +104,7 @@ XSLTLIB:=$(XSLTLIB)
|
||||
|
||||
CONFIGURE_DIR=
|
||||
CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH"
|
||||
-CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml
|
||||
+CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR)
|
||||
BUILD_ACTION=$(GNUMAKE)
|
||||
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
|
||||
BUILD_DIR=$(CONFIGURE_DIR)
|
||||
diff --git a/redland/redland/makefile.mk b/redland/redland/makefile.mk
|
||||
index 5719272..75c31b7 100644
|
||||
--- a/redland/redland/makefile.mk
|
||||
+++ b/redland/redland/makefile.mk
|
||||
@@ -108,7 +108,7 @@ XSLTLIB:=$(XSLTLIB)
|
||||
|
||||
CONFIGURE_DIR=
|
||||
CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH"
|
||||
-CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml
|
||||
+CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR)
|
||||
BUILD_ACTION=$(GNUMAKE)
|
||||
BUILD_FLAGS+= -j$(EXTMAXPROCESS)
|
||||
BUILD_DIR=$(CONFIGURE_DIR)
|
||||
diff --git a/hunspell/hunspell-1.1.12.patch b/hunspell/hunspell-1.1.12.patch
|
||||
index 37b7964..e6fd962 100644
|
||||
--- a/hunspell/hunspell-1.1.12.patch
|
||||
+++ b/hunspell/hunspell-1.1.12.patch
|
||||
@@ -487,3 +487,15 @@
|
||||
i68568utf.test \
|
||||
1706659.test \
|
||||
digits_in_words.test \
|
||||
+diff --git a/hunspell/unxlngi6.pro/misc/build/hunspell-1.1.12/tests/test.sh b/hunspell/unxlngi6.pro/misc/build/hunspell-1.1.12/tests/test.sh
|
||||
+index 90080f6..f069517 100755
|
||||
+--- a/hunspell/unxlngi6.pro/misc/build/hunspell-1.1.12/tests/test.sh
|
||||
++++ b/hunspell/unxlngi6.pro/misc/build/hunspell-1.1.12/tests/test.sh
|
||||
+--- misc/hunspell-1.1.12/tests/test.sh Sep 4 01:25:35 2007
|
||||
++++ misc/build/hunspell-1.1.12/tests/test.sh Jun 18 11:53:11 2008
|
||||
+@@ -1,4 +1,4 @@
|
||||
+-#!/bin/bash
|
||||
++#!/bin/sh
|
||||
+ export LC_ALL="C"
|
||||
+
|
||||
+ function check_valgrind_log () {
|
@ -1,10 +0,0 @@
|
||||
--- OOH680_m17/libtextcat/makefile.mk 2008-01-02 18:33:39.000000000 +0100
|
||||
+++ OOH680_m17/libtextcat/makefile.mk 2008-08-14 15:52:19.000000000 +0200
|
||||
@@ -62,6 +62,6 @@ ADDITIONAL_FILES= \
|
||||
|
||||
#relative to CONFIGURE_DIR
|
||||
CONFIGURE_ACTION=configure CFLAGS="$(EXTRA_CFLAGS)"
|
||||
-CONFIGURE_FLAGS=
|
||||
+CONFIGURE_FLAGS=--prefix="${out}"
|
||||
|
||||
BUILD_ACTION=make
|
@ -1,19 +1,17 @@
|
||||
{stdenv, fetchurl, ghc, zlib, ncurses, curl, perl}:
|
||||
{cabal, html, mtl, parsec, regexCompat, zlib, curl} :
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "darcs-2.1.0";
|
||||
src = fetchurl {
|
||||
url = http://www.darcs.net/darcs-2.1.0.tar.gz;
|
||||
sha256 = "d5a63e62bceb45905163d508c6b25158dab6aca367015566d8c539ec37107ab4";
|
||||
};
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "darcs";
|
||||
name = self.fname;
|
||||
version = "2.2.1";
|
||||
sha256 = "0iy4d4qls6yhwmgv87pz4kmr5jh4bwigz1wfwzns71b68csynnsp";
|
||||
|
||||
buildInputs = [ghc zlib ncurses curl perl];
|
||||
|
||||
NIX_LDFLAGS = "-lz";
|
||||
extraBuildInputs = [html mtl parsec regexCompat zlib curl];
|
||||
|
||||
meta = {
|
||||
homepage = http://darcs.net/;
|
||||
description = "Patch-based version management system";
|
||||
};
|
||||
|
||||
patches = ./bash-completion.patch; # I didn't have "have"
|
||||
}
|
||||
})
|
||||
|
@ -1,22 +0,0 @@
|
||||
{stdenv, fetchurl, ghc, zlib, ncurses, curl, getConfig}:
|
||||
|
||||
# you really should consider using darcs2 and updating your darcs-1 repos ..
|
||||
# many performance improvements have been made if you use the darcs-2 or hashed format
|
||||
# (darcs-2 is default now when runnig darcs 2.1.0)
|
||||
# lookup darcs convert and make sure you understand the one way conversion..
|
||||
assert getConfig ["darcs" "IreallyWantDarcsOne"] false;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "darcs-1.0.9";
|
||||
src = fetchurl {
|
||||
url = http://www.darcs.net/darcs-1.0.9.tar.gz;
|
||||
sha256 = "a5fe4d5a743d8052d6cbfcea480a44593f821afd8a42e6d6d4ae37d40ed23cd8";
|
||||
};
|
||||
buildInputs = [ghc zlib ncurses curl];
|
||||
|
||||
NIX_LDFLAGS = "-lz";
|
||||
|
||||
meta = {
|
||||
description = "Patch-based version management system";
|
||||
};
|
||||
}
|
@ -15,7 +15,7 @@ rec {
|
||||
cpio tcl tk makeWrapper subversion;
|
||||
svnSupport = getConfig ["git" "svnSupport"] false; # for git-svn support
|
||||
guiSupport = getConfig ["git" "guiSupport"] false;
|
||||
perlLibs = [perlLWP perlURI perlTermReadKey subversion];
|
||||
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey subversion];
|
||||
};
|
||||
|
||||
gitGit = import ./git/git-git.nix {
|
||||
@ -26,7 +26,7 @@ rec {
|
||||
inherit (bleedingEdgeRepos) sourceByName;
|
||||
svnSupport = getConfig ["git" "svnSupport"] false; # for git-svn support
|
||||
guiSupport = getConfig ["git" "guiSupport"] false;
|
||||
perlLibs = [perlLWP perlURI perlTermReadKey subversion];
|
||||
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey subversion];
|
||||
};
|
||||
|
||||
qgit = import ./qgit {
|
||||
|
@ -20,13 +20,13 @@ assert compressionSupport -> neon.compressionSupport;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
version = "1.6.0";
|
||||
version = "1.6.1";
|
||||
|
||||
name = "subversion-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://subversion.tigris.org/downloads/${name}.tar.bz2";
|
||||
sha256 = "d6fb8bf61638580a0ad661edb642c38fbffad2a4c273e3f8631c6cc0da14d0a2";
|
||||
sha256 = "1jp6i7vmz0vd1zf4y896f7jzabwv81x8brwzp5kpkrn6wajagm6d";
|
||||
};
|
||||
|
||||
buildInputs = [zlib apr aprutil sqlite]
|
||||
|
@ -14,7 +14,7 @@ args.stdenv.mkDerivation {
|
||||
|
||||
buildInputs =(with args; [
|
||||
automake autoconf libtool pkgconfig
|
||||
X11 faad2 faac
|
||||
faad2 faac
|
||||
a52dec alsaLib fftw lame libavc1394 libiec61883
|
||||
libraw1394 libsndfile libvorbis libogg libjpeg libtiff freetype
|
||||
mjpegtools x264 gettext openexr esound
|
||||
|
@ -1,23 +0,0 @@
|
||||
args : with args;
|
||||
let localDefs = builderDefs {
|
||||
src = /* put a fetchurl here */
|
||||
fetchurl {
|
||||
url = http://www.virtualbox.org/download/1.5.2/VirtualBox-1.5.2_OSE.tar.bz2;
|
||||
sha256 = "1g9rvkqjcsfx36gwk6i9c0bml6053xx2mdn1sn7vyyy0sgwkwk53";
|
||||
};
|
||||
buildInputs = [libXcursor bridge_utils umlutilities kernelHeaders
|
||||
wine jre libxslt libIDL SDL qt3 openssl zlib];
|
||||
configureFlags = [];
|
||||
} null; /* null is a terminator for sumArgs */
|
||||
in with localDefs;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "VirtualBox-"+version;
|
||||
builder = writeScript (name + "-builder")
|
||||
(textClosure localDefs [doConfigure doMakeInstall doForceShare doPropagate]);
|
||||
meta = {
|
||||
description = "
|
||||
Virtual Box is just software for running virtual machines.
|
||||
";
|
||||
inherit src;
|
||||
};
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
{stdenv, fetchurl, iasl, dev86, libxslt, libxml2, libX11, xproto, libXext, libXcursor, qt3, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "virtualbox-2.1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://download.virtualbox.org/virtualbox/2.1.2/VirtualBox-2.1.2-OSE.tar.bz2;
|
||||
sha256 = "d3c1ae8ed7594094aaf8496204c5415479e1943e5b5179c5baae8a66885362de";
|
||||
};
|
||||
|
||||
buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt3 qt4 libIDL SDL hal libcap glib kernel];
|
||||
|
||||
patchPhase = "
|
||||
set -x
|
||||
MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
|
||||
sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \\
|
||||
-i configure
|
||||
ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
|
||||
export USER=nix
|
||||
set +x
|
||||
";
|
||||
|
||||
configurePhase = ''
|
||||
# It wants the qt utils from qt3, and it takes them from QTDIR
|
||||
export QTDIR=${qt3}
|
||||
./configure --with-qt-dir=${qt3} --with-qt4-dir=${qt4} --disable-python --disable-alsa --disable-pulse --disable-hardening
|
||||
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
|
||||
-i AutoConfig.kmk
|
||||
sed -e 's@arch/x86/@@' \
|
||||
-i Config.kmk
|
||||
cat >> AutoConfig.kmk << END_PATHS
|
||||
VBOX_PATH_APP_PRIVATE := $out
|
||||
VBOX_PATH_APP_DOCS := $out/doc
|
||||
END_PATHS
|
||||
'';
|
||||
|
||||
buildPhase = "
|
||||
source env.sh
|
||||
kmk
|
||||
";
|
||||
|
||||
|
||||
meta = {
|
||||
description = "PC emulator";
|
||||
homepage = http://www.virtualbox.org/;
|
||||
};
|
||||
}
|
79
pkgs/applications/virtualization/virtualbox/default.nix
Normal file
79
pkgs/applications/virtualization/virtualbox/default.nix
Normal file
@ -0,0 +1,79 @@
|
||||
{ stdenv, fetchurl, iasl, dev86, libxslt, libxml2, libX11, xproto, libXext
|
||||
, libXcursor, qt3, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel
|
||||
, python, which
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "virtualbox-2.2.0-${kernel.version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://download.virtualbox.org/virtualbox/2.2.0/VirtualBox-2.2.0-OSE.tar.bz2;
|
||||
sha256 = "8bf621cfcb61f2b0a71be53f072e58c3fb4f3183324faa3947346ff973314c71";
|
||||
};
|
||||
|
||||
buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt3 qt4 libIDL SDL hal libcap glib kernel python];
|
||||
|
||||
patchPhase = "
|
||||
set -x
|
||||
MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build`
|
||||
sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \\
|
||||
-i configure
|
||||
ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2
|
||||
ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
|
||||
export USER=nix
|
||||
set +x
|
||||
";
|
||||
|
||||
configurePhase = ''
|
||||
# It wants the qt utils from qt3, and it takes them from QTDIR
|
||||
export QTDIR=${qt3}
|
||||
./configure --with-qt-dir=${qt3} --with-qt4-dir=${qt4} --disable-python --disable-alsa --disable-pulse --disable-hardening
|
||||
sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \
|
||||
-i AutoConfig.kmk
|
||||
sed -e 's@arch/x86/@@' \
|
||||
-i Config.kmk
|
||||
cat >> AutoConfig.kmk << END_PATHS
|
||||
VBOX_PATH_APP_PRIVATE := $out
|
||||
VBOX_PATH_APP_DOCS := $out/doc
|
||||
END_PATHS
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
source env.sh
|
||||
kmk
|
||||
cd out/linux.*/release/bin/src
|
||||
export KERN_DIR=${kernel}/lib/modules/*/build
|
||||
make
|
||||
cd ../../../../..
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cd out/linux.*/release/bin
|
||||
ensureDir $out/virtualbox
|
||||
cp -av * $out/virtualbox
|
||||
cd src
|
||||
kernelVersion=$(cd ${kernel}/lib/modules; ls)
|
||||
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
|
||||
ensureDir $MODULE_DIR
|
||||
make install
|
||||
ensureDir $out/bin
|
||||
cp -v ${./VBox.sh} $out/bin/VBox.sh
|
||||
sed -i -e "s|@INSTALL_PATH@|$out/virtualbox|" \
|
||||
-e "s|@QT4_PATH@|${qt4}/lib|" \
|
||||
-e "s|which|${which}/bin/which|" \
|
||||
-e "s|gawk|${stdenv.gawk}/bin/gawk|" \
|
||||
$out/bin/VBox.sh
|
||||
chmod 755 $out/bin/VBox.sh
|
||||
for file in VirtualBox VBoxManage VBoxSDL
|
||||
do
|
||||
[ -f "$out/virtualbox/$file" ] && ln -sfv $out/bin/VBox.sh $out/bin/$file
|
||||
done
|
||||
ensureDir $out/share/applications
|
||||
ln -sfv $out/virtualbox/VirtualBox.desktop $out/share/applications
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "PC emulator";
|
||||
homepage = http://www.virtualbox.org/;
|
||||
};
|
||||
}
|
31
pkgs/applications/window-managers/vwm/default.nix
Normal file
31
pkgs/applications/window-managers/vwm/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{stdenv, fetchurl, ncurses, pkgconfig, glib, libviper, libpseudo, gpm}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "vwm-2.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/vwm/vwm-2.0.1.tar.gz;
|
||||
sha256 = "1kn1ga35kvl10s3xvgr5ys18gd4pp0gwah4pnvmfkvg0xazjrc0h";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
sed -i -e s@/usr/local@$out@ \
|
||||
-e s@/usr/lib@$out/lib@ \
|
||||
-e 's@tic vwmterm@tic -o '$out/lib/terminfo' vwmterm@' \
|
||||
-e /ldconfig/d Makefile modules/*/Makefile vwm.h
|
||||
'';
|
||||
|
||||
patches = [ ./signal.patch ];
|
||||
|
||||
preInstall = ''
|
||||
ensureDir $out/bin $out/include
|
||||
'';
|
||||
|
||||
buildInputs = [ ncurses pkgconfig glib libviper libpseudo gpm];
|
||||
|
||||
meta = {
|
||||
homepage = http://vwm.sourceforge.net/;
|
||||
description = "Dynamic window manager for the console";
|
||||
license="GPLv2+";
|
||||
};
|
||||
}
|
22
pkgs/applications/window-managers/vwm/signal.patch
Normal file
22
pkgs/applications/window-managers/vwm/signal.patch
Normal file
@ -0,0 +1,22 @@
|
||||
diff --git a/modules/vwmterm2/signals.c b/modules/vwmterm2/signals.c
|
||||
index 239e7f2..07d78fd 100644
|
||||
--- a/modules/vwmterm2/signals.c
|
||||
+++ b/modules/vwmterm2/signals.c
|
||||
@@ -1,4 +1,5 @@
|
||||
#include <vwm.h>
|
||||
+#include <signal.h>
|
||||
|
||||
struct sigaction* vwmterm_sigset(int signum,sighandler_t handler)
|
||||
{
|
||||
diff --git a/vwm_private.h b/vwm_private.h
|
||||
index 2d48ebf..46457bd 100644
|
||||
--- a/vwm_private.h
|
||||
+++ b/vwm_private.h
|
||||
@@ -2,6 +2,7 @@
|
||||
#define _H_VWM_PRIVATE_
|
||||
|
||||
#include <glib.h>
|
||||
+#include <signal.h>
|
||||
|
||||
#ifdef _VIPER_WIDE
|
||||
#include <ncursesw/curses.h>
|
@ -1,11 +1,11 @@
|
||||
{cabal, X11, xmessage}:
|
||||
{cabal, X11, mtl, xmessage}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "xmonad";
|
||||
name = "${self.fname}";
|
||||
version = "0.7";
|
||||
sha256 = "d5ee338eb6d0680082e20eaafa0b23b32358fffe69e2ec4ad7bdf6e03c751d67";
|
||||
extraBuildInputs = [X11];
|
||||
version = "0.8.1";
|
||||
sha256 = "9d58789a0bc08d40b9d14097b079822c7b8290d60efc6aa79144abf47d5db32c";
|
||||
propagatedBuildInputs = [X11 mtl];
|
||||
meta = {
|
||||
description = "xmonad is a tiling window manager for X";
|
||||
};
|
||||
|
@ -3,8 +3,8 @@
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "xmonad-contrib";
|
||||
name = "${self.fname}";
|
||||
version = "0.7";
|
||||
sha256 = "4034d0c8ce092fc9b4e9d9ecf89bc9c16c4ac28aad190f074edc9e4201db0697";
|
||||
version = "0.8.1";
|
||||
sha256 = "dedbd2e7718f7383e403f5f0b40d411f27099625e7e1dcddd42f7c12bf6488a9";
|
||||
extraBuildInputs = [X11 xmonad];
|
||||
meta = {
|
||||
description = "a huge extension library for xmonad";
|
||||
|
@ -582,7 +582,7 @@ rec {
|
||||
rpmClosureGenerator =
|
||||
{name, packagesList, urlPrefix, packages, archs ? []}:
|
||||
|
||||
runCommand "${name}.nix" {buildInputs = [perl perlXMLSimple]; inherit archs;} ''
|
||||
runCommand "${name}.nix" {buildInputs = [perl perlPackages.XMLSimple]; inherit archs;} ''
|
||||
gunzip < ${packagesList} > ./packages.xml
|
||||
perl -w ${rpm/rpm-closure.pl} \
|
||||
./packages.xml ${urlPrefix} ${toString packages} > $out
|
||||
|
@ -1,9 +1,9 @@
|
||||
args: with args;
|
||||
{fetchurl, stdenv, fontforge, perl, fontconfig, FontTTF}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "dejavu-fonts-2.23";
|
||||
#fontconfig is needed only for fc-lang (?)
|
||||
buildInputs = [fontforge perl perlFontTTF];
|
||||
buildInputs = [fontforge perl FontTTF];
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/dejavu/dejavu-fonts-2.23.tar.bz2;
|
||||
sha256 = "0gifaxiianls54i05yw5gxhi2a0j9jmy5p0q58ym4l9fxv5drnhn";
|
||||
|
@ -62,8 +62,8 @@ xkb_symbols "altgr-intl" {
|
||||
key <AD08> { [ i, I, iacute, Iacute ] };
|
||||
key <AD09> { [ o, O, oacute, Oacute ] };
|
||||
key <AD10> { [ p, P, odiaeresis, Odiaeresis ] };
|
||||
key <AD11> { [ bracketleft, braceleft, guillemotleft ] };
|
||||
key <AD12> { [ bracketright,braceright, guillemotright ] };
|
||||
key <AD11> { [ bracketleft, braceleft, guillemotleft, lessthanequal ] };
|
||||
key <AD12> { [ bracketright,braceright, guillemotright, greaterthanequal] };
|
||||
|
||||
key <AC01> { [ a, A, aacute, Aacute ] };
|
||||
key <AC02> { [ s, S, ssharp, section ] };
|
||||
|
@ -192,6 +192,21 @@ rec {
|
||||
input = desktop.gtksourceview;
|
||||
};
|
||||
|
||||
gtksourceview_24 = stdenv.mkDerivation {
|
||||
name = "gtksourceview-2.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://ftp.gnome.org/pub/gnome/sources/gtksourceview/2.4/gtksourceview-2.4.2.tar.bz2;
|
||||
sha256 = "1grc2y817c0xd225l0m92ja35x2bgld5npa4w3g21amkqhdnpka9";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
perl perlXMLParser pkgconfig gnomevfs libbonobo GConf
|
||||
libgnomeprintui libgnomecanvas gettext intltool
|
||||
];
|
||||
propagatedBuildInputs = [gtk libxml2 libgnomeprint];
|
||||
};
|
||||
|
||||
scrollkeeper = import ./scrollkeeper.nix {
|
||||
inherit fetchurl stdenv pkgconfig perl perlXMLParser
|
||||
libxml2 libxslt docbook_xml_dtd_42;
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Support dir for isolating GHC
|
||||
ghc_support=$TMPDIR/ghc-6.6-nix-support
|
||||
mkdir -p $ghc_support
|
||||
|
||||
# Create isolated package config
|
||||
packages_db=$ghc_support/package.conf
|
||||
cp @out@/lib/ghc-*/package.conf $packages_db
|
||||
chmod +w $packages_db
|
||||
|
||||
# Generate wrappers for GHC that use the isolated package config
|
||||
makeWrapper() {
|
||||
wrapperName="$1"
|
||||
wrapper="$ghc_support/$wrapperName"
|
||||
shift #the other arguments are passed to the source app
|
||||
echo '#!'"$SHELL" > "$wrapper"
|
||||
echo "exec \"@out@/bin/$wrapperName\" $@" '"$@"' >> "$wrapper"
|
||||
chmod +x "$wrapper"
|
||||
}
|
||||
|
||||
makeWrapper "ghc" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "ghci" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "runghc" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "runhaskell" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "ghc-pkg" "--global-conf $packages_db"
|
||||
|
||||
# Add wrappers to search path
|
||||
export _PATH=$ghc_support:$_PATH
|
||||
|
||||
# Env hook to add packages to the package config
|
||||
addLibToPackageConf ()
|
||||
{
|
||||
local regscript=$1/nix-support/register-ghclib.sh
|
||||
if test -f $regscript; then
|
||||
local oldpath=$PATH
|
||||
export PATH=$ghc_support:$PATH
|
||||
sh $regscript $package_db
|
||||
export PATH=$oldpath
|
||||
fi
|
||||
}
|
||||
|
||||
envHooks=(${envHooks[@]} addLibToPackageConf)
|
@ -1,26 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
# Setup isolated package management
|
||||
postInstall()
|
||||
{
|
||||
ensureDir "$out/nix-support"
|
||||
echo "# Path to the GHC compiler directory in the store" > $out/nix-support/setup-hook
|
||||
echo "ghc=$out" >> $out/nix-support/setup-hook
|
||||
echo "" >> $out/nix-support/setup-hook
|
||||
cat $setupHook >> $out/nix-support/setup-hook
|
||||
}
|
||||
postInstall=postInstall
|
||||
|
||||
configureFlags="--with-readline-libraries=\"$readline/lib\""
|
||||
|
||||
preConfigure()
|
||||
{
|
||||
chmod u+x rts/gmp/configure
|
||||
# add library paths for gmp, ncurses
|
||||
sed -i "s|^\(library-dirs.*$\)|\1 \"$gmp/lib\"|" rts/package.conf.in
|
||||
sed -i "s|^\(library-dirs.*$\)|\1 \"$ncurses/lib\"|" libraries/readline/package.conf.in
|
||||
}
|
||||
preConfigure=preConfigure
|
||||
|
||||
# Standard configure/make/make install
|
||||
genericBuild
|
@ -1,26 +0,0 @@
|
||||
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ghc-6.6";
|
||||
|
||||
src = map fetchurl [
|
||||
{ url = http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src.tar.bz2;
|
||||
md5 = "2427a8d7d14f86e0878df6b54938acf7";
|
||||
}
|
||||
{ url = http://www.haskell.org/ghc/dist/6.6/ghc-6.6-src-extralibs.tar.bz2;
|
||||
md5 = "14b22fce36caffa509046361724bc119";
|
||||
}
|
||||
];
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
buildInputs = [ghc readline perl m4];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler v6.6";
|
||||
};
|
||||
|
||||
inherit readline gmp ncurses;
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
# Support dir for isolating GHC
|
||||
ghc_support=$TMPDIR/ghc-6.6-nix-support
|
||||
mkdir -p $ghc_support
|
||||
|
||||
# Create isolated package config
|
||||
packages_db=$ghc_support/package.conf
|
||||
cp $ghc/lib/ghc-*/package.conf $packages_db
|
||||
chmod +w $packages_db
|
||||
|
||||
# Generate wrappers for GHC that use the isolated package config
|
||||
makeWrapper() {
|
||||
wrapperName="$1"
|
||||
wrapper="$ghc_support/$wrapperName"
|
||||
shift #the other arguments are passed to the source app
|
||||
echo '#!'"$SHELL" > "$wrapper"
|
||||
echo "exec \"$ghc/bin/$wrapperName\" $@" '"$@"' >> "$wrapper"
|
||||
chmod +x "$wrapper"
|
||||
}
|
||||
|
||||
makeWrapper "ghc" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "ghci" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "runghc" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "runhaskell" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "ghc-pkg" "--global-conf $packages_db"
|
||||
|
||||
# Add wrappers to search path
|
||||
export _PATH=$ghc_support:$_PATH
|
||||
|
||||
# Env hook to add packages to the package config
|
||||
addLibToPackageConf ()
|
||||
{
|
||||
local regscript=$1/nix-support/register-ghclib.sh
|
||||
if test -f $regscript; then
|
||||
local oldpath=$PATH
|
||||
export PATH=$ghc_support:$PATH
|
||||
sh $regscript $package_db
|
||||
export PATH=$oldpath
|
||||
fi
|
||||
}
|
||||
|
||||
envHooks=(${envHooks[@]} addLibToPackageConf)
|
@ -1,47 +0,0 @@
|
||||
{stdenv, fetchurl, readline, ghc, happy, alex, perl, m4, gmp, ncurses, haskellEditline}:
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
name = "ghc-6.9.20080719";
|
||||
homepage = "http://www.haskell.org/ghc";
|
||||
|
||||
src = map fetchurl [
|
||||
{ url = "${homepage}/dist/current/dist/${name}-src.tar.bz2";
|
||||
sha256 = "ed2371c3632962fccab6ec60c04e9fc6a38f3ade3a30a464cea5d53784bc3a34";
|
||||
}
|
||||
{ url = "${homepage}/dist/current/dist/${name}-src-extralibs.tar.bz2";
|
||||
sha256 = "d3c7aa7d53befe268f92148cc8f3b0861dfdc84e9b21b039af0f5b230bfbf72b";
|
||||
}
|
||||
];
|
||||
|
||||
buildInputs = [ghc readline perl m4 gmp happy alex haskellEditline];
|
||||
|
||||
# The setup hook is executed by other packages building with ghc.
|
||||
# It then looks for package configurations that are available and
|
||||
# build a package database on the fly.
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-readline-libraries=${readline}/lib"
|
||||
"--with-gcc=${gcc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
# should not be present in a clean distribution
|
||||
rm utils/pwd/pwd
|
||||
# fix bug in makefile
|
||||
sed -i -e 's/:\\"//' -e 's/\\"//' mk/config.mk.in
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
ln -s $out/lib/${name}/ghc $out/lib/${name}/${name}
|
||||
'';
|
||||
|
||||
inherit (stdenv) gcc;
|
||||
inherit readline gmp ncurses;
|
||||
})
|
@ -1,41 +0,0 @@
|
||||
# Support dir for isolating GHC
|
||||
ghc_support=$TMPDIR/ghc-6.8-nix-support
|
||||
ensureDir $ghc_support
|
||||
|
||||
# Create isolated package config
|
||||
packages_db=$ghc_support/package.conf
|
||||
cp @out@/lib/ghc-*/package.conf $packages_db
|
||||
chmod +w $packages_db
|
||||
|
||||
# Generate wrappers for GHC that use the isolated package config
|
||||
makeWrapper() {
|
||||
wrapperName="$1"
|
||||
wrapper="$ghc_support/$wrapperName"
|
||||
shift #the other arguments are passed to the source app
|
||||
echo '#!'"$SHELL" > "$wrapper"
|
||||
echo "exec \"@out@/bin/$wrapperName\" $@" '"$@"' >> "$wrapper"
|
||||
chmod +x "$wrapper"
|
||||
}
|
||||
|
||||
makeWrapper "ghc" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "ghci" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "runghc" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "runhaskell" "-no-user-package-conf -package-conf $packages_db"
|
||||
makeWrapper "ghc-pkg" "--global-conf $packages_db"
|
||||
|
||||
# Add wrappers to search path
|
||||
export _PATH=$ghc_support:$_PATH
|
||||
|
||||
# Env hook to add packages to the package config
|
||||
addLibToPackageConf ()
|
||||
{
|
||||
local regscript=$1/nix-support/register-ghclib.sh
|
||||
if test -f $regscript; then
|
||||
local oldpath=$PATH
|
||||
export PATH=$ghc_support:$PATH
|
||||
sh $regscript $package_db
|
||||
export PATH=$oldpath
|
||||
fi
|
||||
}
|
||||
|
||||
envHooks=(${envHooks[@]} addLibToPackageConf)
|
@ -1,34 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
export HOME=$(pwd)/fake-home
|
||||
|
||||
makeWrapper() {
|
||||
wrapperBase="$1"
|
||||
wrapperName="$2"
|
||||
wrapper="$out/$wrapperName"
|
||||
shift; shift #the other arguments are passed to the source app
|
||||
echo '#!'"$SHELL" > "$wrapper"
|
||||
echo "exec \"$wrapperBase/$wrapperName\" $@" '"$@"' > "$wrapper"
|
||||
chmod +x "$wrapper"
|
||||
}
|
||||
|
||||
mkdir -p $out/nix-support $out/bin
|
||||
packages_db=$out/nix-support/package.conf
|
||||
|
||||
#create packages database (start with compiler base packages)
|
||||
cp $ghc/lib/ghc-*/package.conf $packages_db
|
||||
chmod +w $packages_db
|
||||
for lib in $libraries; do
|
||||
sh $lib/nix-support/register.sh $packages_db || exit 1
|
||||
done
|
||||
rm -f $packages_db.old
|
||||
|
||||
#create the wrappers
|
||||
#NB: The double dash for ghc-pkg is not a typo!
|
||||
makeWrapper $ghc "bin/ghc" "-package-conf" $packages_db
|
||||
makeWrapper $ghc "bin/ghci" "-package-conf" $packages_db
|
||||
makeWrapper $ghc "bin/runghc" "-package-conf" $packages_db
|
||||
makeWrapper $ghc "bin/runhaskell" "-package-conf" $packages_db
|
||||
makeWrapper $ghc "bin/ghc-pkg" "--global-conf" $packages_db
|
||||
|
||||
# todo: link all other binaries of ghc
|
@ -1,7 +0,0 @@
|
||||
{stdenv, ghc, libraries}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
inherit (ghc) name meta;
|
||||
inherit ghc libraries;
|
||||
builder = ./builder.sh;
|
||||
}
|
@ -1,31 +1,32 @@
|
||||
{stdenv, fetchurl, perl, editline, ncurses, gmp, makeWrapper}:
|
||||
{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.1";
|
||||
|
||||
name = "ghc-${version}";
|
||||
name = "ghc-${version}-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
# libedit .so.0
|
||||
# This binary requires libedit.so.0 (rather than libedit.so.2).
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
|
||||
sha256 = "18l0vwlf7y86s65klpdvz4ccp8kydvcmyh03c86hld8jvx16q7zz";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
# libedit .so.0
|
||||
# Idem.
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
|
||||
sha256 = "14jvvn333i36wm7mmvi47jr93f5hxrw1h2dpjvqql0rp00svhzzg";
|
||||
}
|
||||
else if stdenv.system == "i686-darwin" then
|
||||
fetchurl {
|
||||
# update
|
||||
# untested
|
||||
# Idem.
|
||||
url = "http://haskell.org/ghc/dist/${version}/maeder/ghc-${version}-i386-apple-darwin.tar.bz2";
|
||||
sha256 = "0lax61cfzxkrjb7an3magdax6c8fygsirpw9qfmc651k2sfby1mq";
|
||||
}
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
|
||||
buildInputs = [perl makeWrapper];
|
||||
buildInputs = [perl];
|
||||
|
||||
postUnpack =
|
||||
# Strip is harmful, see also below. It's important that this happens
|
||||
@ -45,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
(if stdenv.isLinux then ''
|
||||
find . -type f -perm +100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${editline}/lib:${ncurses}/lib:${gmp}/lib" {} \;
|
||||
--set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
|
||||
for prog in ld ar gcc strip ranlib; do
|
||||
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||
done
|
||||
@ -61,46 +62,45 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# No building is necessary, but calling make without flags ironically
|
||||
# calls install-strip ...
|
||||
buildPhase = ":";
|
||||
buildPhase = "true";
|
||||
|
||||
# The binaries for Darwin use frameworks, so fake those frameworks,
|
||||
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
|
||||
# that the executables work with no special setup.
|
||||
postInstall = (if stdenv.isDarwin then "
|
||||
postInstall =
|
||||
(if stdenv.isDarwin then
|
||||
''
|
||||
ensureDir $out/frameworks/GMP.framework/Versions/A
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
|
||||
# !!! fix this
|
||||
ensureDir $out/frameworks/GNUeditline.framework/Versions/A
|
||||
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
|
||||
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/Versions/A/GNUeditline
|
||||
|
||||
ensureDir $out/frameworks/GMP.framework/Versions/A
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
|
||||
ensureDir $out/frameworks/GNUeditline.framework/Versions/A
|
||||
ln -s ${editline}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
|
||||
ln -s ${editline}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/Versions/A/GNUeditline
|
||||
mv $out/bin $out/bin-orig
|
||||
mkdir $out/bin
|
||||
for i in $(cd $out/bin-orig && ls); do
|
||||
echo "#! $SHELL -e" >> $out/bin/$i
|
||||
echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \"\$@\"" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
'' else "")
|
||||
+
|
||||
''
|
||||
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
|
||||
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
|
||||
|
||||
mv $out/bin $out/bin-orig
|
||||
mkdir $out/bin
|
||||
for i in $(cd $out/bin-orig && ls); do
|
||||
echo \"#! $SHELL -e\" >> $out/bin/$i
|
||||
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
|
||||
" else "")
|
||||
+
|
||||
''
|
||||
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
|
||||
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
|
||||
|
||||
wrapProgram $out/bin/ghc --set LDPATH "${gmp}/lib"
|
||||
# sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
cat > main.hs << EOF
|
||||
module Main where
|
||||
main = putStrLn "yes"
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
''
|
||||
;
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
cat > main.hs << EOF
|
||||
module Main where
|
||||
main = putStrLn "yes"
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
|
||||
}
|
27
pkgs/development/compilers/ghc/6.10.1.nix
Normal file
27
pkgs/development/compilers/ghc/6.10.1.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.1";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
homepage = "http://haskell.org/ghc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "16q08cxxsmh4hgjhvkl739pc1hh81gljycfq1d2z6m1ld3jpbi22";
|
||||
};
|
||||
|
||||
buildInputs = [ghc libedit perl gmp];
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${stdenv.gcc}/bin/gcc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit homepage;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
||||
}
|
100
pkgs/development/compilers/ghc/6.10.2-binary.nix
Normal file
100
pkgs/development/compilers/ghc/6.10.2-binary.nix
Normal file
@ -0,0 +1,100 @@
|
||||
{stdenv, fetchurl, perl, libedit, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.2";
|
||||
|
||||
name = "ghc-${version}-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
fetchurl {
|
||||
# This binary requires libedit.so.0 (rather than libedit.so.2).
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
|
||||
sha256 = "1fw0zr2qshlpk8s0d16k27zcv5263nqdg2xds5ymw8ff6qz9rz9b";
|
||||
}
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
fetchurl {
|
||||
# Idem.
|
||||
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
|
||||
sha256 = "1rd2j7lmcfsm2rdfb5g6q0l8dz3sxadk5m3d2f69d4a6g4p4h7jj";
|
||||
}
|
||||
else throw "cannot bootstrap GHC on this platform";
|
||||
|
||||
buildInputs = [perl];
|
||||
|
||||
postUnpack =
|
||||
# Strip is harmful, see also below. It's important that this happens
|
||||
# first. The GHC Cabal build system makes use of strip by default and
|
||||
# has hardcoded paths to /usr/bin/strip in many places. We replace
|
||||
# those below, making them point to our dummy script.
|
||||
''
|
||||
mkdir "$TMP/bin"
|
||||
for i in strip; do
|
||||
echo '#!/bin/sh' >> "$TMP/bin/$i"
|
||||
chmod +x "$TMP/bin/$i"
|
||||
PATH="$TMP/bin:$PATH"
|
||||
done
|
||||
'' +
|
||||
# On Linux, use patchelf to modify the executables so that they can
|
||||
# find editline/gmp.
|
||||
(if stdenv.isLinux then ''
|
||||
find . -type f -perm +100 \
|
||||
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${libedit}/lib:${ncurses}/lib:${gmp}/lib" {} \;
|
||||
for prog in ld ar gcc strip ranlib; do
|
||||
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||
done
|
||||
'' else "");
|
||||
|
||||
configurePhase = ''
|
||||
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
|
||||
'';
|
||||
|
||||
# Stripping combined with patchelf breaks the executables (they die
|
||||
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
|
||||
dontStrip = true;
|
||||
|
||||
# No building is necessary, but calling make without flags ironically
|
||||
# calls install-strip ...
|
||||
buildPhase = "true";
|
||||
|
||||
# The binaries for Darwin use frameworks, so fake those frameworks,
|
||||
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
|
||||
# that the executables work with no special setup.
|
||||
postInstall =
|
||||
(if stdenv.isDarwin then
|
||||
''
|
||||
ensureDir $out/frameworks/GMP.framework/Versions/A
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/Versions/A/GMP
|
||||
# !!! fix this
|
||||
ensureDir $out/frameworks/GNUeditline.framework/Versions/A
|
||||
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/GNUeditline
|
||||
ln -s ${libedit}/lib/libeditline.dylib $out/frameworks/GNUeditline.framework/Versions/A/GNUeditline
|
||||
|
||||
mv $out/bin $out/bin-orig
|
||||
mkdir $out/bin
|
||||
for i in $(cd $out/bin-orig && ls); do
|
||||
echo \"#! $SHELL -e\" >> $out/bin/$i
|
||||
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i -framework-path $out/frameworks \\\"\\$@\\\"\" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
'' else "")
|
||||
+
|
||||
''
|
||||
# bah, the passing gmp doesn't work, so let's add it to the final package.conf in a quick but dirty way
|
||||
sed -i "s@^\(.*pkgName = PackageName \"rts\".*\libraryDirs = \\[\)\(.*\)@\\1\"${gmp}/lib\",\2@" $out/lib/ghc-${version}/package.conf
|
||||
|
||||
# Sanity check, can ghc create executables?
|
||||
cd $TMP
|
||||
mkdir test-ghc; cd test-ghc
|
||||
cat > main.hs << EOF
|
||||
module Main where
|
||||
main = putStrLn "yes"
|
||||
EOF
|
||||
$out/bin/ghc --make main.hs
|
||||
echo compilation ok
|
||||
[ $(./main) == "yes" ]
|
||||
'';
|
||||
|
||||
}
|
27
pkgs/development/compilers/ghc/6.10.2.nix
Normal file
27
pkgs/development/compilers/ghc/6.10.2.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{stdenv, fetchurl, libedit, ghc, perl, gmp, ncurses}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.10.2";
|
||||
|
||||
name = "ghc-${version}";
|
||||
|
||||
homepage = "http://haskell.org/ghc";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "0q3wgp8svfl54kpyp55a1kh63cni5vzz811hqjsps84jdg0lg56m";
|
||||
};
|
||||
|
||||
buildInputs = [ghc libedit perl gmp];
|
||||
|
||||
configureFlags=[
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-gcc=${stdenv.gcc}/bin/gcc"
|
||||
];
|
||||
|
||||
meta = {
|
||||
inherit homepage;
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{stdenv, fetchurl, perl, readline, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = if stdenv.system == "i686-darwin" then "ghc-6.6.1" else "ghc-6.4.2";
|
||||
name = if stdenv.system == "i686-darwin" then "ghc-6.6.1-binary" else "ghc-6.4.2-binary";
|
||||
|
||||
src =
|
||||
if stdenv.system == "i686-linux" then
|
||||
@ -15,6 +15,9 @@ stdenv.mkDerivation {
|
||||
md5 = "8f5fe48798f715cd05214a10987bf6d5";
|
||||
}
|
||||
else if stdenv.system == "i686-darwin" then
|
||||
/* Yes, this isn't GHC 6.4.2. But IIRC either there was no
|
||||
6.4.2 binary for Darwin, or it didn't work. In any case, in
|
||||
Nixpkgs we just need this bootstrapping a "real" GHC. */
|
||||
fetchurl {
|
||||
url = http://www.haskell.org/ghc/dist/6.6.1/ghc-6.6.1-i386-apple-darwin.tar.bz2;
|
||||
sha256 = "1drbsicanr6jlykvs4vs6gbi2q9ac1bcaxz2vzwh3pfv3lfibwia";
|
||||
@ -38,7 +41,7 @@ stdenv.mkDerivation {
|
||||
# The binaries for Darwin use frameworks, so fake those frameworks,
|
||||
# and create some wrapper scripts that set DYLD_FRAMEWORK_PATH so
|
||||
# that the executables work with no special setup.
|
||||
postInstall = if stdenv.isDarwin then "
|
||||
postInstall = if stdenv.isDarwin then ''
|
||||
|
||||
ensureDir $out/frameworks/GMP.framework/Versions/A
|
||||
ln -s ${gmp}/lib/libgmp.dylib $out/frameworks/GMP.framework/GMP
|
||||
@ -50,13 +53,13 @@ stdenv.mkDerivation {
|
||||
mkdir $out/bin-orig
|
||||
for i in $(cd $out/bin && ls *); do
|
||||
mv $out/bin/$i $out/bin-orig/$i
|
||||
echo \"#! $SHELL -e\" >> $out/bin/$i
|
||||
echo "#! $SHELL -e" >> $out/bin/$i
|
||||
extraFlag=
|
||||
if test $i != ghc-pkg; then extraFlag=\"-framework-path $out/frameworks\"; fi
|
||||
echo \"DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \\\"\\$@\\\"\" >> $out/bin/$i
|
||||
if test $i != ghc-pkg; then extraFlag="-framework-path $out/frameworks"; fi
|
||||
echo "DYLD_FRAMEWORK_PATH=$out/frameworks exec $out/bin-orig/$i $extraFlag \"\$@\"" >> $out/bin/$i
|
||||
chmod +x $out/bin/$i
|
||||
done
|
||||
|
||||
" else "";
|
||||
'' else "";
|
||||
|
||||
}
|
@ -1,15 +1,25 @@
|
||||
{stdenv, gcc, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
|
||||
{stdenv, fetchurl, perl, ghc, m4, readline, ncurses, gmp}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ghc-6.4.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://www.haskell.org/ghc/dist/6.4.2/ghc-6.4.2-src.tar.bz2;
|
||||
md5 = "a394bf14e94c3bca5507d568fcc03375";
|
||||
};
|
||||
|
||||
buildInputs = [perl ghc m4];
|
||||
|
||||
propagatedBuildInputs = [readline ncurses gmp];
|
||||
builder = ./builder.sh;
|
||||
inherit gcc;
|
||||
|
||||
configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
# Don't you hate build processes that write in $HOME? :-(
|
||||
export HOME=$(pwd)/fake-home
|
||||
mkdir -p $HOME
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
@ -14,8 +14,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ghc readline perl58 m4 gmp];
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
@ -16,11 +16,6 @@ stdenv.mkDerivation (rec {
|
||||
|
||||
buildInputs = [ghc readline perl m4 gmp];
|
||||
|
||||
# The setup hook is executed by other packages building with ghc.
|
||||
# It then looks for package configurations that are available and
|
||||
# build a package database on the fly.
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
||||
@ -29,14 +24,11 @@ stdenv.mkDerivation (rec {
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-readline-libraries=${readline}/lib"
|
||||
"--with-gcc=${gcc}/bin/gcc"
|
||||
"--with-gcc=${stdenv.gcc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure = "
|
||||
# still requires a hack for ncurses
|
||||
sed -i \"s|^\\\(ld-options.*$\\\)|\\\1 -L${ncurses}/lib|\" libraries/readline/readline.buildinfo.in
|
||||
";
|
||||
|
||||
inherit (stdenv) gcc;
|
||||
inherit readline gmp ncurses;
|
||||
})
|
@ -1,25 +1,21 @@
|
||||
{stdenv, fetchurl, readline, ghc, perl, m4, gmp, ncurses, haddock}:
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
name = "ghc-6.8.3";
|
||||
stdenv.mkDerivation rec {
|
||||
version = "6.8.3";
|
||||
name = "ghc-${version}";
|
||||
homepage = "http://www.haskell.org/ghc";
|
||||
|
||||
src = map fetchurl [
|
||||
{ url = "${homepage}/dist/6.8.3/${name}-src.tar.bz2";
|
||||
{ url = "${homepage}/dist/${version}/${name}-src.tar.bz2";
|
||||
sha256 = "1fc1ff82a555532f1c9d2dc628fd9de5e6ebab2ce6ee9490a34174ceb6f76e6b";
|
||||
}
|
||||
{ url = "${homepage}/dist/6.8.3/${name}-src-extralibs.tar.bz2";
|
||||
{ url = "${homepage}/dist/${version}/${name}-src-extralibs.tar.bz2";
|
||||
sha256 = "ee2f5ba6a46157fc53eae515cb6fa1ed3c5023e7eac15981d92af0af00ee2ba2";
|
||||
}
|
||||
];
|
||||
|
||||
buildInputs = [ghc readline perl m4 gmp haddock];
|
||||
|
||||
# The setup hook is executed by other packages building with ghc.
|
||||
# It then looks for package configurations that are available and
|
||||
# build a package database on the fly.
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
meta = {
|
||||
description = "The Glasgow Haskell Compiler";
|
||||
};
|
||||
@ -28,7 +24,7 @@ stdenv.mkDerivation (rec {
|
||||
"--with-gmp-libraries=${gmp}/lib"
|
||||
"--with-gmp-includes=${gmp}/include"
|
||||
"--with-readline-libraries=${readline}/lib"
|
||||
"--with-gcc=${gcc}/bin/gcc"
|
||||
"--with-gcc=${stdenv.gcc}/bin/gcc"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
@ -37,9 +33,4 @@ stdenv.mkDerivation (rec {
|
||||
# build haddock docs
|
||||
echo "HADDOCK_DOCS = YES" >> mk/build.mk
|
||||
'';
|
||||
|
||||
installTargets = ["install" "install-docs"];
|
||||
|
||||
inherit (stdenv) gcc;
|
||||
inherit readline gmp ncurses;
|
||||
})
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
configureFlags="--with-gcc=$gcc/bin/gcc"
|
||||
|
||||
# Don't you hate build processes that write in $HOME? :-(
|
||||
export HOME=$(pwd)/fake-home
|
||||
mkdir -p $HOME
|
||||
|
||||
genericBuild
|
17
pkgs/development/compilers/ghc/setup-hook.sh
Normal file
17
pkgs/development/compilers/ghc/setup-hook.sh
Normal file
@ -0,0 +1,17 @@
|
||||
# Create isolated package config
|
||||
packages_db=$TMPDIR/.package.conf
|
||||
cp @ghc@/lib/ghc-*/package.conf $packages_db
|
||||
chmod u+w $packages_db
|
||||
|
||||
export GHC_PACKAGE_PATH=$packages_db
|
||||
|
||||
# Env hook to add packages to the package config
|
||||
addLibToPackageConf () {
|
||||
local fn
|
||||
shopt -s nullglob
|
||||
for fn in $1/lib/ghc-pkgs/ghc-@ghcVersion@/*.conf; do
|
||||
@ghc@/bin/ghc-pkg register --force $fn
|
||||
done
|
||||
}
|
||||
|
||||
envHooks=(${envHooks[@]} addLibToPackageConf)
|
15
pkgs/development/compilers/ghc/wrapper.nix
Normal file
15
pkgs/development/compilers/ghc/wrapper.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{stdenv, ghc}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ghc-wrapper-${ghc.version}";
|
||||
|
||||
propagatedBuildInputs = [ghc];
|
||||
|
||||
unpackPhase = "true";
|
||||
installPhase = "true";
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
inherit ghc;
|
||||
ghcVersion = ghc.version;
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
{stdenv, fetchurl, bison, flex}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "iasl-20090123.tar.gz";
|
||||
name = "iasl-20090123";
|
||||
src = fetchurl {
|
||||
url = http://www.acpica.org/download/acpica-unix-20090123.tar.gz;
|
||||
md5 = "4ca6484acbf16cf67fd4ba91d32fd0a0";
|
||||
|
@ -28,11 +28,11 @@ rec {
|
||||
|
||||
|
||||
strategoxt = stdenv.mkDerivation rec {
|
||||
name = "strategoxt-0.17pre18269";
|
||||
name = "strategoxt-0.17pre18583";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://releases.strategoxt.org/strategoxt/${name}-a0f0wy0j/${name}.tar.gz";
|
||||
sha256 = "7c51c2452bd45f34cd480b6b3cbaac50e0fc53fbb1a884d97cf4e2c2b5330577";
|
||||
url = "http://releases.strategoxt.org/strategoxt/strategoxt-0.17pre18583-i573smdl/strategoxt-0.17pre18583.tar.gz";
|
||||
sha256 = "4769d82a62d1c53fc3f4631ddef489e638ff2361a2eceb1226f2b56ab45b7784";
|
||||
};
|
||||
|
||||
buildInputs = [pkgconfig aterm sdf getopt];
|
||||
|
@ -9,7 +9,7 @@ let
|
||||
buildInputs = with args; [
|
||||
zlib sqlite gmp libffi cairo ncurses freetype mesa
|
||||
libpng libtiff libjpeg readline libsndfile libxml2
|
||||
freeglut e2fsprogs libsamplerate pcre libevent editline
|
||||
freeglut e2fsprogs libsamplerate pcre libevent libedit
|
||||
];
|
||||
in
|
||||
rec {
|
||||
|
@ -1,10 +1,10 @@
|
||||
{stdenv, fetchurl, ncurses, readline}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lua-5.1.2";
|
||||
name = "lua-5.1.4";
|
||||
src = fetchurl {
|
||||
url = http://www.lua.org/ftp/lua-5.1.2.tar.gz;
|
||||
sha256 = "17ixifwgjva5592s2rn1ki56wa7hgw0z210r4bcx5lv8zv39iw2w";
|
||||
url = http://www.lua.org/ftp/lua-5.1.4.tar.gz;
|
||||
sha256 = "0fmgk100ficm1jbm4ga9xy484v4cm89wsdfckdybb9gjx8jy4f5h";
|
||||
};
|
||||
buildFlags = "linux"; # TODO: support for non-linux systems
|
||||
installFlags = "install INSTALL_TOP=\${out}";
|
||||
|
@ -36,6 +36,8 @@ stdenv.mkDerivation {
|
||||
url = "mirror://sourceforge/boost/boost_1_38_0.tar.bz2";
|
||||
sha256 = "0rk044s4m7l4sma6anml34vxcd9w0fzcy1cy7csbzynjyida9qry";
|
||||
};
|
||||
|
||||
patches = [ ./classr.patch ];
|
||||
|
||||
buildInputs = [icu expat zlib bzip2 python];
|
||||
|
||||
|
15
pkgs/development/libraries/boost/classr.patch
Normal file
15
pkgs/development/libraries/boost/classr.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Taken from http://wiki.freebsd.org/BoostPortingProject
|
||||
--- boost1.38/boost/function/function_template.hpp.orig 2008-10-16 17:21:50.000000000 +0400
|
||||
+++ boost1.38_2/boost/function/function_template.hpp 2009-03-25 04:12:15.000000000 +0300
|
||||
@@ -950,10 +950,10 @@
|
||||
f.vtable->manager(f.functor, this->functor,
|
||||
boost::detail::function::move_functor_tag);
|
||||
f.vtable = 0;
|
||||
-#if !defined(BOOST_NO_EXCEPTIONS)
|
||||
} else {
|
||||
clear();
|
||||
}
|
||||
+#if !defined(BOOST_NO_EXCEPTIONS)
|
||||
} catch (...) {
|
||||
vtable = 0;
|
||||
throw;
|
@ -1,10 +0,0 @@
|
||||
{ stdenv, fetchurl, ncurses }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "editline-2.11";
|
||||
src = fetchurl {
|
||||
url = http://www.thrysoee.dk/editline/libedit-20080712-2.11.tar.gz;
|
||||
sha256 = "6ff51a15d1ada16c44be0f32a539b492cd3b0286c3dfa413915525f55851d1e6";
|
||||
};
|
||||
propagatedBuildInputs = [ ncurses ];
|
||||
}
|
15
pkgs/development/libraries/haskell/Agda/default.nix
Normal file
15
pkgs/development/libraries/haskell/Agda/default.nix
Normal file
@ -0,0 +1,15 @@
|
||||
{cabal, QuickCheck, binary, haskeline, haskellSrc, mtl, utf8String, xhtml, zlib,
|
||||
happy, alex}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "Agda";
|
||||
version = "2.2.2";
|
||||
sha256 = "265dbb5bc6d67bfeefa4a2a4ac9e5018d6d8b5c1a75816e05da2661c43a39bba";
|
||||
extraBuildInputs = [happy alex];
|
||||
propagatedBuildInputs =
|
||||
[QuickCheck binary haskeline haskellSrc mtl utf8String xhtml zlib];
|
||||
meta = {
|
||||
description = "A dependently typed functional language and proof assistant";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/GLUT/default.nix
Normal file
12
pkgs/development/libraries/haskell/GLUT/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, OpenGL, glut, libSM, libICE, libXmu, libXi, mesa}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "GLUT";
|
||||
version = "2.1.1.2"; # Haskell Platform 2009.0.0
|
||||
sha256 = "d5ecf4b6bacc5e68ade00710df04fa158c6ed322c74362954716a0baba6bd3fb";
|
||||
propagatedBuildInputs = [OpenGL glut libSM libICE libXmu libXi mesa];
|
||||
meta = {
|
||||
description = "A binding for the OpenGL Utility Toolkit";
|
||||
};
|
||||
})
|
||||
|
@ -1,9 +1,10 @@
|
||||
{cabal}:
|
||||
{cabal, mtl, network, parsec}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "HTTP";
|
||||
version = "3001.0.0";
|
||||
sha256 = "0d1ixrylb7vl5q963r31jc8gsqm24bkjas4dyi6ks8kbhzrgrw17";
|
||||
version = "4000.0.5"; # Haskell Platform 2009.0.0
|
||||
sha256 = "54cbb211e73f183aa91780afd6cc7c830edef1b2eb5ce8dc05e5fa539bb685d8";
|
||||
propagatedBuildInputs = [mtl network parsec];
|
||||
meta = {
|
||||
description = "a Haskell library for client-side HTTP";
|
||||
};
|
||||
|
11
pkgs/development/libraries/haskell/HUnit/default.nix
Normal file
11
pkgs/development/libraries/haskell/HUnit/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "HUnit";
|
||||
version = "1.2.0.3"; # Haskell Platform 2009.0.0
|
||||
sha256 = "954f584f7c096c3ddef677e70b3811195bb4fd18dfdb4727a260ca7d7465de12";
|
||||
meta = {
|
||||
description = "A unit testing framework for Haskell";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/OpenAL/default.nix
Normal file
12
pkgs/development/libraries/haskell/OpenAL/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, OpenGL, openal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "OpenAL";
|
||||
version = "1.3.1.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "4875e015770feb93d5127d4b6f2338eb3957a0c36f64ccb8b3846010619f89b0";
|
||||
propagatedBuildInputs = [OpenGL openal];
|
||||
meta = {
|
||||
description = "A binding to the OpenAL cross-platform 3D audio API";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/OpenGL/default.nix
Normal file
12
pkgs/development/libraries/haskell/OpenGL/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, mesa, libX11}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "OpenGL";
|
||||
version = "2.2.1.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "926ca25cf9502cdaaeb8ade484015468cb60594e1bfbf0e04bd01235d8d9a792";
|
||||
propagatedBuildInputs = [mesa libX11];
|
||||
meta = {
|
||||
description = "A binding for the OpenGL graphics system";
|
||||
};
|
||||
})
|
||||
|
13
pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix
Normal file
13
pkgs/development/libraries/haskell/QuickCheck/2.1.0.1.nix
Normal file
@ -0,0 +1,13 @@
|
||||
{cabal, mtl}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "QuickCheck";
|
||||
version = "2.1.0.1";
|
||||
sha256 = "f99edf1a45315e90c9ec672d5d959d5878dcc1de65678c6aed85829a896b75f1";
|
||||
propagatedBuildInputs = [mtl];
|
||||
configureFlags = ''--constraint=base<4'';
|
||||
meta = {
|
||||
description = "Automatic testing of Haskell programs";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/QuickCheck/default.nix
Normal file
11
pkgs/development/libraries/haskell/QuickCheck/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "QuickCheck";
|
||||
version = "1.2.0.0"; # Haskell Platform 2009.0.0
|
||||
sha256 = "21672d817913ac7ab6d3fd7f102dd5d0f115a0826c95b9604c8c0b0171e8d4ed";
|
||||
meta = {
|
||||
description = "Automatic testing of Haskell programs";
|
||||
};
|
||||
})
|
||||
|
@ -4,8 +4,8 @@ assert xineramaSupport -> (libXinerama != null && libXext != null);
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "X11";
|
||||
version = "1.4.2";
|
||||
sha256 = "7a37ba1adee9c30a27013ea7058e907c2348ef08eaa79c9895e62e4f0d73d2aa";
|
||||
version = "1.4.5";
|
||||
sha256 = "6665056b9fe5801ca27bf960a90215c940ae70b549753efed0303d5ed8d89ddb";
|
||||
propagatedBuildInputs = [libX11] ++ (if xineramaSupport then [libXinerama libXext] else []);
|
||||
meta = {
|
||||
description = "A Haskell binding to the X11 graphics library";
|
||||
|
@ -2,10 +2,9 @@
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "binary";
|
||||
version = "0.4.1";
|
||||
sha256 = "bb74824306843da25f6d97c271e2a06ee3a7e05fc529156fb81d7c576688e549";
|
||||
version = "0.5.0.1";
|
||||
sha256 = "1j5injgrwkjwl7lv6sqx4m033s3rrkspq690cb0ckfh267vsyig1";
|
||||
meta = {
|
||||
description = "Efficient, pure binary serialisation using lazy ByteStrings";
|
||||
};
|
||||
})
|
||||
|
||||
|
@ -17,7 +17,7 @@ attrs :
|
||||
# all packages with haskell- to avoid name clashes for libraries;
|
||||
# if that is not desired (for applications), name can be set to
|
||||
# fname.
|
||||
name = "haskell-${self.fname}";
|
||||
name = "haskell-${self.pname}-ghc${attrs.ghc.ghc.version}-${self.version}";
|
||||
|
||||
# the default download location for Cabal packages is Hackage,
|
||||
# you still have to specify the checksum
|
||||
@ -39,22 +39,14 @@ attrs :
|
||||
# library directories that have to be added to the Cabal files
|
||||
extraLibDirs = map (x : x + "/lib") self.propagatedBuildInputs;
|
||||
|
||||
# file(s) that have to be patched with information about extra libraries;
|
||||
# can be redefined to the empty list by the client if this is not desired
|
||||
patchLibFiles = [ "${self.pname}.cabal" ];
|
||||
|
||||
# patches files, compiles Setup, and configures
|
||||
# compiles Setup and configures
|
||||
configurePhase = ''
|
||||
eval "$preConfigure"
|
||||
|
||||
for i in ${toString self.patchLibFiles}; do
|
||||
echo "patching $i"
|
||||
test -f $i && sed -i '/[eE]xtra-[lL]ibraries/ { s|\( *\)[eE]xtra-[lL]ibraries.*|&\n\1extra-lib-dirs: ${toString self.extraLibDirs}| }' $i
|
||||
done
|
||||
for i in Setup.hs Setup.lhs; do
|
||||
test -f $i && ghc --make $i
|
||||
done
|
||||
./Setup configure --verbose --prefix="$out"
|
||||
./Setup configure --verbose --prefix="$out" ${toString (map (x : "--extra-lib-dir=" + x) self.extraLibDirs)} $configureFlags
|
||||
|
||||
eval "$postConfigure"
|
||||
'';
|
||||
@ -70,24 +62,19 @@ attrs :
|
||||
|
||||
# installs via Cabal; creates a registration file for nix-support
|
||||
# so that the package can be used in other Haskell-builds; also
|
||||
# creates a register-${name}.sh in userspace that can be used to
|
||||
# register the library in a user environment (but this scheme
|
||||
# should sooner or later be deprecated in favour of using a
|
||||
# ghc-wrapper).
|
||||
# adds all propagated build inputs to the user environment packages
|
||||
installPhase = ''
|
||||
eval "$preInstall"
|
||||
|
||||
./Setup copy
|
||||
./Setup register --gen-script
|
||||
mkdir -p $out/nix-support
|
||||
if test -f register.sh; then
|
||||
sed -i 's/|.*\(ghc-pkg update\)/| \1/' register.sh
|
||||
cp register.sh $out/nix-support/register-ghclib.sh
|
||||
sed -i 's/\(ghc-pkg update\)/\1 --user/' register.sh
|
||||
mkdir -p $out/bin
|
||||
cp register.sh $out/bin/register-${self.name}.sh
|
||||
fi
|
||||
|
||||
local confDir=$out/lib/ghc-pkgs/ghc-${attrs.ghc.ghc.version}
|
||||
ensureDir $confDir
|
||||
./Setup register --gen-pkg-config=$confDir/${self.fname}.conf
|
||||
|
||||
ensureDir $out/nix-support
|
||||
ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
|
||||
|
||||
eval "$postInstall"
|
||||
'';
|
||||
};
|
||||
|
12
pkgs/development/libraries/haskell/cgi/default.nix
Normal file
12
pkgs/development/libraries/haskell/cgi/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, mtl, network, parsec, xhtml}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "cgi";
|
||||
version = "3001.1.7.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "7d1d710871fffbbec2a33d7288b2959ddbcfd794d47f0122127576c02550b339";
|
||||
propagatedBuildInputs = [mtl network parsec xhtml];
|
||||
meta = {
|
||||
description = "A library for writing CGI programs";
|
||||
};
|
||||
})
|
||||
|
@ -1,21 +1,12 @@
|
||||
{ cabal, editline } :
|
||||
{ cabal, libedit } :
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "editline";
|
||||
version = "0.2";
|
||||
sha256 = "6ee0b553cc8d7542c096730ceebabdcb9b2951d7b00a5a0ddbf47b5436a77ce4";
|
||||
propagatedBuildInputs = [ editline ];
|
||||
patchLibFiles = [ "editline.buildinfo.in" ];
|
||||
preConfigure = ''
|
||||
sed -i -e '/el_get/d' include/HsEditline.h
|
||||
'';
|
||||
# I don't quite understand why ncurses as an extra-library is harmful, but
|
||||
# it works only if we remove it ...
|
||||
postConfigure = ''
|
||||
sed -i -e 's/ncurses//' editline.buildinfo
|
||||
'';
|
||||
version = "0.2.1.0";
|
||||
sha256 = "83618e5f86074fdc11d7f5033aa2886284462941be38fa02966acc92712c46e1";
|
||||
propagatedBuildInputs = [ libedit ];
|
||||
meta = {
|
||||
description = "Binding to the BSD editline library";
|
||||
description = "Binding to the BSD editline library (libedit)";
|
||||
};
|
||||
})
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "extensible-exceptions";
|
||||
version = "0.1.1.0";
|
||||
sha256 = "c252dc5a505332700f041d4e1fd3d309cde6158892f9c35339bf5e67bad7f781";
|
||||
meta = {
|
||||
description = "Extensible exceptions";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/fgl/default.nix
Normal file
12
pkgs/development/libraries/haskell/fgl/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, mtl}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "fgl";
|
||||
version = "5.4.2.2";
|
||||
sha256 = "8232c337f0792854bf2a12a5fd1bc46726fff05d2f599053286ff873364cd7d2";
|
||||
propagatedBuildInputs = [mtl];
|
||||
meta = {
|
||||
description = "Martin Erwig's Functional Graph Library";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/ghc-paths/default.nix
Normal file
11
pkgs/development/libraries/haskell/ghc-paths/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{ cabal } :
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "ghc-paths";
|
||||
version = "0.1.0.5";
|
||||
sha256 = "ea9e97425894e3dbd7915e00e107e2e7fc07b6e8293fd2dd66a813f0673cba10";
|
||||
meta = {
|
||||
description = "Knowledge of GHC's installations directories";
|
||||
};
|
||||
})
|
||||
|
@ -1,20 +1,31 @@
|
||||
{stdenv, fetchurl, pkgconfig, ghc, gtk, cairo, GConf, libglade
|
||||
, glib, libgtkhtml, gtkhtml}:
|
||||
{ stdenv, fetchurl, pkgconfig, gnome, cairo, ghc, mtl }:
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
let gtksourceview = gnome.gtksourceview_24; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtk2hs";
|
||||
version = "0.9.12.1";
|
||||
version = "0.10.0";
|
||||
fname = "${pname}-${version}";
|
||||
name = "haskell-${fname}";
|
||||
name = "haskell-${pname}-ghc${ghc.ghc.version}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/${pname}/${fname}.tar.gz";
|
||||
sha256 = "110z6v9gzhg6nzlz5gs8aafmipbva6rc50b8z1jgq0k2g25hfy22";
|
||||
url = http://nixos.org/tarballs/gtk2hs-0.10.0-20090419.tar.gz;
|
||||
sha256 = "18a7cfph83yvv91ks37nrgqrn21fvww8bhb8nd8xy1mgb8lnfds1";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [mtl];
|
||||
|
||||
buildInputs = [pkgconfig ghc gtk glib cairo GConf libglade libgtkhtml gtkhtml];
|
||||
|
||||
configureFlags = [
|
||||
"--enable-cairo"
|
||||
buildInputs = [
|
||||
pkgconfig cairo ghc gnome.glib gnome.gtk gnome.libglade
|
||||
gnome.GConf gtksourceview gnome.librsvg
|
||||
];
|
||||
|
||||
})
|
||||
postInstall =
|
||||
''
|
||||
local confDir=$out/lib/ghc-pkgs/ghc-${ghc.ghc.version}
|
||||
ensureDir $confDir
|
||||
cp $out/lib/gtk2hs/*.conf $confDir/
|
||||
''; # */
|
||||
|
||||
passthru = { inherit gtksourceview; };
|
||||
}
|
||||
|
12
pkgs/development/libraries/haskell/haskeline/default.nix
Normal file
12
pkgs/development/libraries/haskell/haskeline/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, extensibleExceptions, mtl, utf8String}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "haskeline";
|
||||
version = "0.6.1.3";
|
||||
sha256 = "af27d17bf6df7647e843bca91548b542748a5305f072ba7cfef97105a52578d4";
|
||||
propagatedBuildInputs = [extensibleExceptions mtl utf8String];
|
||||
meta = {
|
||||
description = "A command-line interface for user input, written in Haskell";
|
||||
};
|
||||
})
|
||||
|
@ -0,0 +1,29 @@
|
||||
{cabal, fetchurl, GLUT, HTTP, HUnit, OpenAL, OpenGL, QuickCheck, cgi, fgl,
|
||||
haskellSrc, html, parallel, regexBase, regexCompat, regexPosix,
|
||||
stm, time, xhtml, zlib, cabalInstall, alex, happy, haddock, ghc}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "haskell-platform";
|
||||
version = "2009.0.0";
|
||||
src = fetchurl {
|
||||
url = http://code.haskell.org/haskell-platform/haskell-platform.cabal;
|
||||
sha256 = "cefe19076bed6450d3d8611ff1b29fd0966106787003abedec90544968f30d9c";
|
||||
};
|
||||
unpackPhase = ''
|
||||
cp $src haskell-platform.cabal
|
||||
'';
|
||||
preConfigure = ''
|
||||
sed -i 's/^.*cabal-install ==.*$//' haskell-platform.cabal
|
||||
echo 'import Distribution.Simple; main = defaultMain' > Setup.hs
|
||||
touch LICENSE
|
||||
'';
|
||||
propagatedBuildInputs = [
|
||||
GLUT HTTP HUnit OpenAL OpenGL QuickCheck cgi fgl
|
||||
haskellSrc html parallel regexBase regexCompat regexPosix
|
||||
stm time xhtml zlib cabalInstall alex happy ghc
|
||||
];
|
||||
meta = {
|
||||
description = "Haskell Platform meta package";
|
||||
};
|
||||
})
|
||||
|
@ -0,0 +1,13 @@
|
||||
{cabal, cpphs, happy}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "haskell-src-exts";
|
||||
version = "0.4.8";
|
||||
sha256 = "f059f698681b262b2a4725735b99ecbafec721ccadab65fcf075c2fc5d346dec";
|
||||
extraBuildInputs = [happy];
|
||||
propagatedBuildInputs = [cpphs];
|
||||
meta = {
|
||||
description = "Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer";
|
||||
};
|
||||
})
|
||||
|
@ -0,0 +1,12 @@
|
||||
{cabal, haskellSrcExts}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "haskell-src-meta";
|
||||
version = "0.0.3.1";
|
||||
sha256 = "74d450fd9d50edfd3cdad5c2860da2af3454b280bd37b401e16e2f492bfb5e15";
|
||||
propagatedBuildInputs = [haskellSrcExts];
|
||||
meta = {
|
||||
description = "Parse source to template-haskell abstract syntax";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/haskell-src/default.nix
Normal file
12
pkgs/development/libraries/haskell/haskell-src/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, happy}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "haskell-src";
|
||||
version = "1.0.1.3"; # Haskell Platform 2009.0.0
|
||||
sha256 = "a7872900acd2293775a6bdc6dc8f70438ccd80e62d2d1e2394ddff15b1883e89";
|
||||
extraBuildInputs = [happy];
|
||||
meta = {
|
||||
description = "Manipulating Haskell source code";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/hscolour/default.nix
Normal file
11
pkgs/development/libraries/haskell/hscolour/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "hscolour";
|
||||
version = "1.10.1";
|
||||
sha256 = "293f24b8373be1d70d9e5a4b8d3c527166ad645b4ac983c1a6fc5999c44a2d36";
|
||||
meta = {
|
||||
description = "Colourise Haskell code";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/html/default.nix
Normal file
11
pkgs/development/libraries/haskell/html/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "html";
|
||||
version = "1.0.1.2"; # Haskell Platform 2009.0.0
|
||||
sha256 = "0c35495ea33d65e69c69bc7441ec8e1af69fbb43433c2aa3406c0a13a3ab3061";
|
||||
meta = {
|
||||
description = "HTML combinator library";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/mtl/default.nix
Normal file
11
pkgs/development/libraries/haskell/mtl/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "mtl";
|
||||
version = "1.1.0.2"; # Haskell Platform 2009.0.0
|
||||
sha256 = "a225aaf2b1e337f40c31e5c42f95eec9a4608322b0e4c135d2b31b8421a58d36";
|
||||
meta = {
|
||||
description = "Monad transformer library";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/multirec/default.nix
Normal file
11
pkgs/development/libraries/haskell/multirec/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "multirec";
|
||||
version = "0.2";
|
||||
sha256 = "66f748245020437ad30dbc25e2decae7d49c6d968c014b316c0961539892083c";
|
||||
meta = {
|
||||
description = "Generic programming with systems of recursive datatypes";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/network/default.nix
Normal file
12
pkgs/development/libraries/haskell/network/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, parsec}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "network";
|
||||
version = "2.2.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "111e4963a0a979570993e79511a778b267ef58df35320d1ddda61a869259b63c";
|
||||
propagatedBuildInputs = [parsec];
|
||||
meta = {
|
||||
description = "Networking-related facilities";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/parallel/default.nix
Normal file
11
pkgs/development/libraries/haskell/parallel/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "parallel";
|
||||
version = "1.1.0.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "0885086660268f3626effacb29a02b5c81f3e5a8dfa99dabe0981ddbc407999f";
|
||||
meta = {
|
||||
description = "parallel programming library";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/parsec/default.nix
Normal file
11
pkgs/development/libraries/haskell/parsec/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "parsec";
|
||||
version = "2.1.0.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "2d85e5b5c8b2b1f341037ce67e1db7fa47b31c083136796cfef9e5b945c656df";
|
||||
meta = {
|
||||
description = "Monadic parser combinators";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/readline/default.nix
Normal file
12
pkgs/development/libraries/haskell/readline/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{ cabal, readline } :
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "readline";
|
||||
version = "1.0.1.0";
|
||||
sha256 = "07f2f039f32bf18838a4875d0f3caa3ed9436dd52b962b2061f0bb8a3316fa1d";
|
||||
propagatedBuildInputs = [ readline ];
|
||||
meta = {
|
||||
description = "An interface to the GNU readline library";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/regex-base/default.nix
Normal file
12
pkgs/development/libraries/haskell/regex-base/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, mtl}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "regex-base";
|
||||
version = "0.72.0.2"; # Haskell Platform 2009.0.0
|
||||
sha256 = "38a4901b942fea646a422d52c52ef14eec4d6561c258b3c54cd96a8a354141ee";
|
||||
propagatedBuildInputs = [mtl];
|
||||
meta = {
|
||||
description = "Replaces/Ehances Text.Regex";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/regex-compat/default.nix
Normal file
12
pkgs/development/libraries/haskell/regex-compat/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, regexBase, regexPosix}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "regex-compat";
|
||||
version = "0.71.0.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "904552f7d690686b2602f37494827d09b09fc0a8a2565522b61847bec8d1de8d";
|
||||
propagatedBuildInputs = [regexBase regexPosix];
|
||||
meta = {
|
||||
description = "Replaces/Enhances Text.Regex";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/regex-posix/default.nix
Normal file
12
pkgs/development/libraries/haskell/regex-posix/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, regexBase}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "regex-posix";
|
||||
version = "0.72.0.3"; # Haskell Platform 2009.0.0
|
||||
sha256 = "327ab87f3d4f5315a9414331eb382b8b997de8836d577c3f7d232c574606feb1";
|
||||
propagatedBuildInputs = [regexBase];
|
||||
meta = {
|
||||
description = "Replaces/Enhances Text.Regex";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/stm/default.nix
Normal file
11
pkgs/development/libraries/haskell/stm/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "stm";
|
||||
version = "2.1.1.2"; # Haskell Platform 2009.0.0
|
||||
sha256 = "68d550067ae180373142c51f3fa14bdf0a1516310aee9a37e28f9ac7cf3b8c6d";
|
||||
meta = {
|
||||
description = "Software Transactional Memory";
|
||||
};
|
||||
})
|
||||
|
@ -0,0 +1,12 @@
|
||||
{cabal, parallel}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "strict-concurrency";
|
||||
version = "0.2.1";
|
||||
sha256 = "8838600033bde2ce7ca6bd95a3815412da67244b57dfc0e2246a8f2469f5fd9c";
|
||||
propagatedBuildInputs = [parallel];
|
||||
meta = {
|
||||
description = "Strict concurrency abstractions";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/time/default.nix
Normal file
11
pkgs/development/libraries/haskell/time/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "time";
|
||||
version = "1.1.2.4"; # Haskell Platform 2009.0.0
|
||||
sha256 = "11dfcb9b5ca76428a7a31019928c3c1898320f774e5d3df8e4407580d074fad3";
|
||||
meta = {
|
||||
description = "A time library";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/uniplate/default.nix
Normal file
12
pkgs/development/libraries/haskell/uniplate/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, mtl}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "uniplate";
|
||||
version = "1.2.0.3";
|
||||
sha256 = "77cf07c96ae62799d790284c0c84beca9ee17c9c2416d4de6641f3fddd644b58";
|
||||
propagatedBuildInputs = [mtl];
|
||||
meta = {
|
||||
description = "Uniform type generic traversals";
|
||||
};
|
||||
})
|
||||
|
10
pkgs/development/libraries/haskell/utf8-string/default.nix
Normal file
10
pkgs/development/libraries/haskell/utf8-string/default.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "utf8-string";
|
||||
version = "0.3.4";
|
||||
sha256 = "1gd5b5q5jw70mg0z8jjgqigc0wmvnc7fx2k3yfdsz20b9wsjfw7r";
|
||||
meta = {
|
||||
description = "A UTF8 layer for IO and Strings";
|
||||
};
|
||||
})
|
@ -2,9 +2,9 @@
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "uulib";
|
||||
version = "0.9.5";
|
||||
sha256 = "38415725133af464de582dadc7d7e60b1aeb96344b18b239d176bf2181f98563";
|
||||
version = "0.9.10";
|
||||
sha256 = "1df7336ed76c278323c2e25ab53ec1afc9eba6a7c918c826e9f783e84479e08f";
|
||||
meta = {
|
||||
description = "Fast Parser Combinators and Pretty Printing Combinators";
|
||||
description = "Haskell Utecht Tools Library";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/vacuum/default.nix
Normal file
12
pkgs/development/libraries/haskell/vacuum/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, ghcPaths, haskellSrcMeta}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "vacuum";
|
||||
version = "0.0.91";
|
||||
sha256 = "9240ec35b39d60928a73469893adf1d2aa742b9a781dbc6dcdaa54e96d9bf1af";
|
||||
propagatedBuildInputs = [ghcPaths haskellSrcMeta];
|
||||
meta = {
|
||||
description = "Extract graph representations of ghc heap values";
|
||||
};
|
||||
})
|
||||
|
12
pkgs/development/libraries/haskell/vacuumCairo/default.nix
Normal file
12
pkgs/development/libraries/haskell/vacuumCairo/default.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{cabal, vacuum, gtk2hs, parallel, strictConcurrency}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "vacuum-cairo";
|
||||
version = "0.4.1";
|
||||
sha256 = "4d506fec246d40e5c983eea1dbd72735e276f882539aa3682cda9d9a33f8ddb2";
|
||||
propagatedBuildInputs = [vacuum gtk2hs parallel strictConcurrency];
|
||||
meta = {
|
||||
description = "Visualize live Haskell data structures using vacuum, graphviz and cairo";
|
||||
};
|
||||
})
|
||||
|
11
pkgs/development/libraries/haskell/xhtml/default.nix
Normal file
11
pkgs/development/libraries/haskell/xhtml/default.nix
Normal file
@ -0,0 +1,11 @@
|
||||
{cabal}:
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "xhtml";
|
||||
version = "3000.2.0.1"; # Haskell Platform 2009.0.0
|
||||
sha256 = "60d7a44ae6d607475e2d60c5bf9909b8a3bd88850d52b08ff1532aa6d58bec96";
|
||||
meta = {
|
||||
description = "An XHTML combinator library";
|
||||
};
|
||||
})
|
||||
|
@ -2,8 +2,10 @@
|
||||
|
||||
cabal.mkDerivation (self : {
|
||||
pname = "zlib";
|
||||
version = "0.4.0.2";
|
||||
sha256 = "e6e9e51ca5b7f1685eb031f826f7865acc10cc2c8d0dfad975e0e81fd17f17ed";
|
||||
version = "0.5.0.0"; # Haskell Platform 2009.0.0
|
||||
sha256 = "20e067cfbec87ec062ac144875a60e158ea6cf7836aac031ec367fcdd5446891";
|
||||
# TODO: find out exactly why propagated is needed here (to build other
|
||||
# packages depending on zlib):
|
||||
propagatedBuildInputs = [zlib];
|
||||
meta = {
|
||||
description = "Compression and decompression in the gzip and zlib formats";
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user