summary refs log tree commit diff
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)
downloadnixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.tar
nixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.tar.gz
nixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.tar.bz2
nixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.tar.lz
nixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.tar.xz
nixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.tar.zst
nixpkgs-47aeaf9d04aa53202ed7ac9c7bf17799af100793.zip
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 00000000000..7b14b20dc83
--- /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 00000000000..e22e1fae220
--- /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 00000000000..6d41f2c5e6a
--- /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 00000000000..68a08334375
--- /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 00000000000..f1bc49c5ecc
--- /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 00000000000..7f5c4801d5d
--- /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 00000000000..a9a3a56ebb8
--- /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 00000000000..082a8c88c61
--- /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 efaa2211ae6..efaa2211ae6 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 00000000000..37026ad9344
--- /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 00000000000..22d2bc17738
--- /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 00000000000..acaf1efdaaa
--- /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 bbad1e380d5..10eddeeb797 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 00000000000..fd2460b5c1b
--- /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 00000000000..a68d04f901f
--- /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 00000000000..4f2d5abba1e
--- /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 00000000000..63a8cafc474
--- /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 00000000000..bbf20b66c29
--- /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 00000000000..ccc32739a49
--- /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 00000000000..6a039313f0e
--- /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 00000000000..666cf55044d
--- /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 00000000000..b51f2ff5e87
--- /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 00000000000..42ead62b256
--- /dev/null
+++ b/pkgs/development/pure-modules/rational/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+  baseName = "rational";
+  version = "0.1";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "62cb4079a0dadd232a859e577e97e50e9718ccfcc5983c4d9c4c32cac7a9bafa";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A collection of utility functions for rational numbers, and a module for doing interval arithmetic in Pure";
+    homepage = http://puredocs.bitbucket.org/pure-rational.html;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/readline/default.nix b/pkgs/development/pure-modules/readline/default.nix
new file mode 100644
index 00000000000..e93207943b0
--- /dev/null
+++ b/pkgs/development/pure-modules/readline/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, readline }:
+
+stdenv.mkDerivation rec {
+  baseName = "readline";
+  version = "0.3";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "db8e6663b1c085466c09662fe86d952b6f4ffdafeecffe805c681ab91c910886";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure readline ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A trivial wrapper around GNU readline, which gives Pure scripts access to the most important facilities of the readline interface";
+    homepage = http://puredocs.bitbucket.org/pure-readline.html;
+    license = stdenv.lib.licenses.free;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/sockets/default.nix b/pkgs/development/pure-modules/sockets/default.nix
new file mode 100644
index 00000000000..522446104ff
--- /dev/null
+++ b/pkgs/development/pure-modules/sockets/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+  baseName = "sockets";
+  version = "0.7";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "4f2769618ae5818cf6005bb08bcf02fe359a2e31998d12dc0c72f0494e9c0420";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A Pure interface to the Berkeley socket functions";
+    homepage = http://puredocs.bitbucket.org/pure-sockets.html;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/sql3/default.nix b/pkgs/development/pure-modules/sql3/default.nix
new file mode 100644
index 00000000000..f937b9eb530
--- /dev/null
+++ b/pkgs/development/pure-modules/sql3/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, sqlite }:
+
+stdenv.mkDerivation rec {
+  baseName = "sql3";
+  version = "0.5";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "b9f79dd443c8ffc5cede51e2af617f24726f5c0409aab4948c9847e6adb53c37";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure sqlite ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A SQLite module for the Pure programming language";
+    homepage = http://puredocs.bitbucket.org/pure-sql3.html;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/stldict/default.nix b/pkgs/development/pure-modules/stldict/default.nix
new file mode 100644
index 00000000000..abfc0d0fdef
--- /dev/null
+++ b/pkgs/development/pure-modules/stldict/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+  baseName = "stldict";
+  version = "0.8";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "5b894ae6dc574c7022258e2732bea649c82c959ec4d0be13fb5a3e8ba8488f28";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A Pure interface to the C++ dictionary containers map and unordered_map";
+    homepage = http://puredocs.bitbucket.org/pure-stldict.html;
+    license = stdenv.lib.licenses.lgpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/stllib/default.nix b/pkgs/development/pure-modules/stllib/default.nix
new file mode 100644
index 00000000000..3be7bccf2a4
--- /dev/null
+++ b/pkgs/development/pure-modules/stllib/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure }:
+
+stdenv.mkDerivation rec {
+  baseName = "stllib";
+  version = "0.6";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/pure-stllib-${version}.tar.gz";
+    sha256 = "1d550764fc2f8ba6ddbd1fbd3da2d6965b69e2c992747265d9ebe4f16aa5e455";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "An “umbrella” package that contains a pair of Pure addons, pure-stlvec and pure-stlmap";
+    homepage = http://puredocs.bitbucket.org/pure-stllib.html;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/tk/default.nix b/pkgs/development/pure-modules/tk/default.nix
new file mode 100644
index 00000000000..b36a58279fa
--- /dev/null
+++ b/pkgs/development/pure-modules/tk/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, tcl, tk, x11 }:
+
+stdenv.mkDerivation rec {
+  baseName = "tk";
+  version = "0.5";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "3b6e97e2d723d5a05bf25f4ac62068ac17a1fd81db03e1986366097bf071a516";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure tcl tk x11 ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A basic interface between Pure and Tcl/Tk";
+    homepage = http://puredocs.bitbucket.org/pure-tk.html;
+    license = stdenv.lib.licenses.bsd3;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/pkgs/development/pure-modules/xml/default.nix b/pkgs/development/pure-modules/xml/default.nix
new file mode 100644
index 00000000000..ed08cdf5209
--- /dev/null
+++ b/pkgs/development/pure-modules/xml/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, libxml2, libxslt }:
+
+stdenv.mkDerivation rec {
+  baseName = "xml";
+  version = "0.7";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "e862dec060917a285bc3befc90f4eb70b6cc33136fb524ad3aa173714a35b0f7";
+  };
+
+  buildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure libxml2 libxslt ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "A simplified interface to the Gnome libxml2 and libxslt libraries for Pure";
+    homepage = http://puredocs.bitbucket.org/pure-xml.html;
+    license = stdenv.lib.licenses.lgpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}