summaryrefslogtreecommitdiffstats
path: root/pkgs/development/pure-modules
diff options
context:
space:
mode:
authorAlastair Pharo <asppsa@gmail.com>2015-05-26 16:58:18 +1000
committerAlastair Pharo <asppsa@gmail.com>2015-05-26 17:51:07 +1000
commit47aeaf9d04aa53202ed7ac9c7bf17799af100793 (patch)
treeb6cb47a8286f93d4eb4d5a7648ce6c48cb38e424 /pkgs/development/pure-modules
parenta92271f195f1490ca7da2b6ac3e1c6b38975c529 (diff)
Fairly complete set of packages for Pure
Diffstat (limited to 'pkgs/development/pure-modules')
-rw-r--r--pkgs/development/pure-modules/audio/default.nix25
-rw-r--r--pkgs/development/pure-modules/avahi/default.nix25
-rw-r--r--pkgs/development/pure-modules/csv/default.nix25
-rw-r--r--pkgs/development/pure-modules/doc/default.nix23
-rw-r--r--pkgs/development/pure-modules/fastcgi/default.nix25
-rw-r--r--pkgs/development/pure-modules/faust/default.nix25
-rw-r--r--pkgs/development/pure-modules/ffi/default.nix25
-rw-r--r--pkgs/development/pure-modules/gen/default.nix25
-rw-r--r--pkgs/development/pure-modules/generic-setup-hook.sh (renamed from pkgs/development/pure-modules/pure-gsl/setup-hook.sh)0
-rw-r--r--pkgs/development/pure-modules/gl/default.nix25
-rw-r--r--pkgs/development/pure-modules/glpk/default.nix39
-rw-r--r--pkgs/development/pure-modules/gplot/default.nix25
-rw-r--r--pkgs/development/pure-modules/gsl/default.nix (renamed from pkgs/development/pure-modules/pure-gsl/default.nix)21
-rw-r--r--pkgs/development/pure-modules/gtk/default.nix25
-rw-r--r--pkgs/development/pure-modules/liblo/default.nix25
-rw-r--r--pkgs/development/pure-modules/lilv/default.nix25
-rw-r--r--pkgs/development/pure-modules/lv2/default.nix25
-rw-r--r--pkgs/development/pure-modules/midi/default.nix25
-rw-r--r--pkgs/development/pure-modules/mpfr/default.nix25
-rw-r--r--pkgs/development/pure-modules/octave/default.nix25
-rw-r--r--pkgs/development/pure-modules/odbc/default.nix25
-rw-r--r--pkgs/development/pure-modules/pandoc/default.nix28
-rw-r--r--pkgs/development/pure-modules/rational/default.nix25
-rw-r--r--pkgs/development/pure-modules/readline/default.nix25
-rw-r--r--pkgs/development/pure-modules/sockets/default.nix25
-rw-r--r--pkgs/development/pure-modules/sql3/default.nix25
-rw-r--r--pkgs/development/pure-modules/stldict/default.nix25
-rw-r--r--pkgs/development/pure-modules/stllib/default.nix25
-rw-r--r--pkgs/development/pure-modules/tk/default.nix25
-rw-r--r--pkgs/development/pure-modules/xml/default.nix25
30 files changed, 724 insertions, 12 deletions
diff --git a/pkgs/development/pure-modules/audio/default.nix b/pkgs/development/pure-modules/audio/default.nix
new file mode 100644
index 000000000000..7b14b20dc83d
--- /dev/null
+++ b/pkgs/development/pure-modules/audio/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, portaudio, fftw, libsndfile, libsamplerate }:
+
+stdenv.mkDerivation rec {
+ baseName = "audio";
+ version = "0.6";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "c1f2a5da73983efb5a54f86d57ba93713ebed20ff0c72de9b3467f10f2904ee0";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure portaudio fftw libsndfile libsamplerate ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A digital audio interface for the Pure programming language";
+ homepage = http://puredocs.bitbucket.org/pure-audio.html;
+ license = stdenv.lib.licenses.bsd3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/avahi/default.nix b/pkgs/development/pure-modules/avahi/default.nix
new file mode 100644
index 000000000000..e22e1fae2202
--- /dev/null
+++ b/pkgs/development/pure-modules/avahi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, avahi }:
+
+stdenv.mkDerivation rec {
+ baseName = "avahi";
+ version = "0.3";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "5fac8a6e3a54e45648ceb207ee0061b22eac8c4e668b8d53f13eb338b09c9160";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure avahi ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A digital audio interface for the Pure programming language";
+ homepage = http://puredocs.bitbucket.org/pure-avahi.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/csv/default.nix b/pkgs/development/pure-modules/csv/default.nix
new file mode 100644
index 000000000000..6d41f2c5e6a6
--- /dev/null
+++ b/pkgs/development/pure-modules/csv/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+ baseName = "csv";
+ version = "1.6";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "fe7c4edebe8208c54d5792a9eefaeb28c4a58b9094d161a6dda8126f0823ab3c";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "Comma Separated Value Interface for the Pure Programming Language";
+ homepage = http://puredocs.bitbucket.org/pure-csv.html;
+ license = stdenv.lib.licenses.free;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/doc/default.nix b/pkgs/development/pure-modules/doc/default.nix
new file mode 100644
index 000000000000..68a083343752
--- /dev/null
+++ b/pkgs/development/pure-modules/doc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+ baseName = "doc";
+ version = "0.7";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "cfa880573941f37868269bcc443a09fecd2a141a78556383d2213f6c9f45ddd9";
+ };
+
+ buildInputs = [ pkgconfig pure ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+
+ meta = {
+ description = "A simple utility for literate programming and documenting source code written in the Pure programming language";
+ homepage = http://puredocs.bitbucket.org/pure-doc.html;
+ license = stdenv.lib.licenses.gpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/fastcgi/default.nix b/pkgs/development/pure-modules/fastcgi/default.nix
new file mode 100644
index 000000000000..f1bc49c5eccc
--- /dev/null
+++ b/pkgs/development/pure-modules/fastcgi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, fcgi }:
+
+stdenv.mkDerivation rec {
+ baseName = "fastcgi";
+ version = "0.6";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "aa5789cc1e17521c01f349ee82ce2a00500e025b3f8494f89a7ebe165b5aabc7";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure fcgi ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "Lets you write FastCGI scripts with Pure, to be run by web servers like Apache";
+ homepage = http://puredocs.bitbucket.org/pure-fastcgi.html;
+ license = stdenv.lib.licenses.bsd3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/faust/default.nix b/pkgs/development/pure-modules/faust/default.nix
new file mode 100644
index 000000000000..7f5c4801d5d1
--- /dev/null
+++ b/pkgs/development/pure-modules/faust/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, faust, libtool }:
+
+stdenv.mkDerivation rec {
+ baseName = "faust";
+ version = "0.11";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "51278a3b0807c4770163dc2ce423507dcf0ffec9cd1c1fbc08426d07294f6ae0";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure faust libtool ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "Lets you load and run Faust-generated signal processing modules in Pure";
+ homepage = http://puredocs.bitbucket.org/pure-faust.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/ffi/default.nix b/pkgs/development/pure-modules/ffi/default.nix
new file mode 100644
index 000000000000..a9a3a56ebb87
--- /dev/null
+++ b/pkgs/development/pure-modules/ffi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, libffi }:
+
+stdenv.mkDerivation rec {
+ baseName = "ffi";
+ version = "0.14";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "0331f48efaae40af21b23cf286fd7eac0ea0a249d08fd97bf23246929c0ea71a";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure libffi ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "Provides an interface to libffi which enables you to call C functions from Pure and vice versa";
+ homepage = http://puredocs.bitbucket.org/pure-ffi.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/gen/default.nix b/pkgs/development/pure-modules/gen/default.nix
new file mode 100644
index 000000000000..082a8c88c61e
--- /dev/null
+++ b/pkgs/development/pure-modules/gen/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchurl,
+ pkgconfig, pure, haskellPackages }:
+
+stdenv.mkDerivation rec {
+ baseName = "gen";
+ version = "0.20";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "cfadd99a378b296325937d2492347611cc1e1d9f24594f91f3c2293eca01a4a8";
+ };
+
+ hsEnv = haskellPackages.ghcWithPackages (hsPkgs : [hsPkgs.language-c]);
+ buildInputs = [ pkgconfig hsEnv pure ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+
+ meta = {
+ description = "Pure interface generator";
+ homepage = http://puredocs.bitbucket.org/pure-gen.html;
+ license = stdenv.lib.licenses.free;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/pure-gsl/setup-hook.sh b/pkgs/development/pure-modules/generic-setup-hook.sh
index efaa2211ae66..efaa2211ae66 100644
--- a/pkgs/development/pure-modules/pure-gsl/setup-hook.sh
+++ b/pkgs/development/pure-modules/generic-setup-hook.sh
diff --git a/pkgs/development/pure-modules/gl/default.nix b/pkgs/development/pure-modules/gl/default.nix
new file mode 100644
index 000000000000..37026ad93443
--- /dev/null
+++ b/pkgs/development/pure-modules/gl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, freeglut, mesa, x11 }:
+
+stdenv.mkDerivation rec {
+ baseName = "gl";
+ version = "0.9";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "edd594222f89ae372067eda6679a37488986b9739b5b79b4a25ac48255d31bba";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure freeglut mesa x11 ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "Fairly complete Pure bindings for the OpenGL graphics library, which allow you to do 2D and 3D graphics programming with Pure";
+ homepage = http://puredocs.bitbucket.org/pure-gl.html;
+ license = stdenv.lib.licenses.bsd3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/glpk/default.nix b/pkgs/development/pure-modules/glpk/default.nix
new file mode 100644
index 000000000000..22d2bc177380
--- /dev/null
+++ b/pkgs/development/pure-modules/glpk/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchurl,
+ pkgconfig, pure, glpk, gmp, libtool, libmysql, libiodbc, zlib }:
+
+stdenv.mkDerivation rec {
+ baseName = "glpk";
+ version = "0.5";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "5d6dc11706985dda02d96d481ea5f164c9e95ee446432fc4fc3d0db61a076346";
+ };
+
+ glpkWithExtras = lib.overrideDerivation glpk (attrs: {
+ propagatedNativeBuildInputs = [ gmp libtool libmysql libiodbc ];
+
+ preConfigure = ''
+ substituteInPlace configure \
+ --replace /usr/include/mysql ${libmysql}/include/mysql
+ '';
+ configureFlags = [ "--enable-dl"
+ "--enable-odbc"
+ "--enable-mysql"
+ "--with-gmp=yes" ];
+ });
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure glpkWithExtras ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "GLPK interface for the Pure Programming Language";
+ homepage = http://puredocs.bitbucket.org/pure-glpk.html;
+ license = stdenv.lib.licenses.gpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/gplot/default.nix b/pkgs/development/pure-modules/gplot/default.nix
new file mode 100644
index 000000000000..acaf1efdaaac
--- /dev/null
+++ b/pkgs/development/pure-modules/gplot/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, gnuplot }:
+
+stdenv.mkDerivation rec {
+ baseName = "gplot";
+ version = "0.1";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "841ded98e4d1cdfaf78f95481e5995d0440bfda2d5df533d6741a6e7058a882c";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure gnuplot ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "a pure binding to gnuplot";
+ homepage = http://puredocs.bitbucket.org/pure-gplot.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/pure-gsl/default.nix b/pkgs/development/pure-modules/gsl/default.nix
index bbad1e380d50..10eddeeb7971 100644
--- a/pkgs/development/pure-modules/pure-gsl/default.nix
+++ b/pkgs/development/pure-modules/gsl/default.nix
@@ -1,22 +1,19 @@
{ stdenv, fetchurl, pure, pkgconfig, gsl }:
-stdenv.mkDerivation {
- name = "pure-gsl-0.12";
+stdenv.mkDerivation rec {
+ baseName = "gsl";
+ version = "0.12";
+ name = "pure-${baseName}-${version}";
+
src = fetchurl {
- url = https://bitbucket.org/purelang/pure-lang/downloads/pure-gsl-0.12.tar.gz;
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
sha256 = "06bdd873d5417d90ca35093056a060b77365123ed24c3ac583cd3922d4c78a75";
};
buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ pure gsl ];
-
- installPhase = ''
- mkdir -p $out/lib/pure/gsl
- install gsl.pure gsl$(pkg-config pure --variable DLL) $out/lib/pure
- install gsl/*.pure $out/lib/pure/gsl
- '';
-
- setupHook = ./setup-hook.sh;
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
meta = {
description = "GNU Scientific Library interface for Pure";
@@ -25,4 +22,4 @@ stdenv.mkDerivation {
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ asppsa ];
};
-} \ No newline at end of file
+}
diff --git a/pkgs/development/pure-modules/gtk/default.nix b/pkgs/development/pure-modules/gtk/default.nix
new file mode 100644
index 000000000000..fd2460b5c1bd
--- /dev/null
+++ b/pkgs/development/pure-modules/gtk/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, pure-ffi, gtk2 }:
+
+stdenv.mkDerivation rec {
+ baseName = "gtk";
+ version = "0.13";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "e659ff1bc5809ce35b810f8ac3fb7e8cadaaef13996537d8632e2f86ed76d203";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure pure-ffi gtk2 ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A collection of bindings to use the GTK+ GUI toolkit version 2.x with Pure";
+ homepage = http://puredocs.bitbucket.org/pure-gtk.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/liblo/default.nix b/pkgs/development/pure-modules/liblo/default.nix
new file mode 100644
index 000000000000..a68d04f901f4
--- /dev/null
+++ b/pkgs/development/pure-modules/liblo/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, liblo }:
+
+stdenv.mkDerivation rec {
+ baseName = "liblo";
+ version = "0.9";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "c2ba4d6f94489acf8a8fac73982ae03d5ad4113146eb1f7d6558a956c57cb8ee";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure liblo ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A quick and dirty Pure wrapper for the liblo library, which implements Berkeley’s Open Sound Control (OSC) protocol";
+ homepage = http://puredocs.bitbucket.org/pure-liblo.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/lilv/default.nix b/pkgs/development/pure-modules/lilv/default.nix
new file mode 100644
index 000000000000..4f2d5abba1ef
--- /dev/null
+++ b/pkgs/development/pure-modules/lilv/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, lilv, lv2, serd, sord, sratom }:
+
+stdenv.mkDerivation rec {
+ baseName = "lilv";
+ version = "0.4";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "af20982fe43e8dce62d50bf7a78e461ab36c308325b123cddbababf0d3beaf9f";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure lilv lv2 serd sord sratom ];
+ makeFlags = "CFLAGS=-I${lilv}/include/lilv-0 libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A Pure module for David Robillard’s Lilv, a library for LV2 plugin host writers";
+ homepage = http://puredocs.bitbucket.org/pure-lilv.html;
+ license = stdenv.lib.licenses.bsd3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/lv2/default.nix b/pkgs/development/pure-modules/lv2/default.nix
new file mode 100644
index 000000000000..63a8cafc474f
--- /dev/null
+++ b/pkgs/development/pure-modules/lv2/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, lv2 }:
+
+stdenv.mkDerivation rec {
+ baseName = "lv2";
+ version = "0.2";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "721cacd831781d8309e7ecabb0ee7c01da17e75c5642a5627cf158bfb36093e1";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure lv2 ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A generic LV2 plugin wrapper for Pure which can be linked with batch-compiled Pure scripts to obtain LV2 plugin modules";
+ homepage = http://puredocs.bitbucket.org/pure-lv2.html;
+ license = stdenv.lib.licenses.bsd3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/midi/default.nix b/pkgs/development/pure-modules/midi/default.nix
new file mode 100644
index 000000000000..bbf20b66c295
--- /dev/null
+++ b/pkgs/development/pure-modules/midi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, portmidi }:
+
+stdenv.mkDerivation rec {
+ baseName = "midi";
+ version = "0.6";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "817ae9fa5f443a8c478a6770f36091e3cf99f3515c74e00d09ca958dead1e7eb";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure portmidi ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A MIDI interface for the Pure programming language";
+ homepage = http://puredocs.bitbucket.org/pure-midi.html;
+ license = stdenv.lib.licenses.bsd3;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/mpfr/default.nix b/pkgs/development/pure-modules/mpfr/default.nix
new file mode 100644
index 000000000000..ccc32739a49d
--- /dev/null
+++ b/pkgs/development/pure-modules/mpfr/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+ baseName = "mpfr";
+ version = "0.5";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "39d2255c2c0c2d60ce727be178b5e5a06f7c92eb365976c49c4a34b1edc576e7";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "This module makes the MPFR multiprecision floats available in Pure";
+ homepage = http://puredocs.bitbucket.org/pure-mpfr.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/octave/default.nix b/pkgs/development/pure-modules/octave/default.nix
new file mode 100644
index 000000000000..6a039313f0e3
--- /dev/null
+++ b/pkgs/development/pure-modules/octave/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, octave }:
+
+stdenv.mkDerivation rec {
+ baseName = "octave";
+ version = "0.6";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "5a42e8dff8023f6bf1214ed31b7999645d88ce2f103d9fba23b527259da9a0df";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure octave ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "An Octave module for the Pure programming language";
+ homepage = http://puredocs.bitbucket.org/pure-octave.html;
+ license = stdenv.lib.licenses.gpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/odbc/default.nix b/pkgs/development/pure-modules/odbc/default.nix
new file mode 100644
index 000000000000..666cf55044d0
--- /dev/null
+++ b/pkgs/development/pure-modules/odbc/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, libiodbc }:
+
+stdenv.mkDerivation rec {
+ baseName = "odbc";
+ version = "0.10";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "1907e9ebca11cc68762cf7046084b31e9e2bf056df85c40ccbcbe9f02221ff8d";
+ };
+
+ buildInputs = [ pkgconfig ];
+ propagatedBuildInputs = [ pure libiodbc ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ setupHook = ../generic-setup-hook.sh;
+
+ meta = {
+ description = "A simple ODBC interface for the Pure programming language";
+ homepage = http://puredocs.bitbucket.org/pure-odbc.html;
+ license = stdenv.lib.licenses.lgpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/pandoc/default.nix b/pkgs/development/pure-modules/pandoc/default.nix
new file mode 100644
index 000000000000..b51f2ff5e87a
--- /dev/null
+++ b/pkgs/development/pure-modules/pandoc/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, pkgconfig, pure, pandoc, gawk, getopt }:
+
+stdenv.mkDerivation rec {
+ baseName = "pandoc";
+ version = "0.1";
+ name = "pure-${baseName}-${version}";
+
+ src = fetchurl {
+ url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+ sha256 = "0f23a17549048ca3a8f4936ea9e931feb05997390b486850936b746996350cda";
+ };
+
+ buildInputs = [ pkgconfig pure ];
+ propagatedBuildInputs = [ pandoc gawk getopt ];
+ makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+ preInstall = ''
+ mkdir -p $out/bin
+ mkdir -p $out/share/man/man1
+ '';
+
+ meta = {
+ description = "Converts Sphinx-formatted Pure documentation files to Markdown and other formats using Pandoc";
+ homepage = http://puredocs.bitbucket.org/pure-pandoc.html;
+ license = stdenv.lib.licenses.gpl3Plus;
+ platforms = stdenv.lib.platforms.linux;
+ maintainers = with stdenv.lib.maintainers; [ asppsa ];
+ };
+}
diff --git a/pkgs/development/pure-modules/rational/default.nix b/pkgs/development/pure-modules/rational/default.nix
new file mode 100644
index 000000000000..42ead62b2569
--- /dev/