about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/pure-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/pure-modules')
-rw-r--r--nixpkgs/pkgs/development/pure-modules/audio/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/avahi/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/csv/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/doc/default.nix24
-rw-r--r--nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/faust/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/ffi/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gen/default.nix27
-rw-r--r--nixpkgs/pkgs/development/pure-modules/generic-setup-hook.sh2
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gl/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/glpk/default.nix41
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gplot/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gsl/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/gtk/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/liblo/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/lilv/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/lv2/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/midi/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/mpfr/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/octave/default.nix27
-rw-r--r--nixpkgs/pkgs/development/pure-modules/odbc/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/pandoc/default.nix29
-rw-r--r--nixpkgs/pkgs/development/pure-modules/rational/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/readline/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/sockets/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/sql3/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/stldict/default.nix31
-rw-r--r--nixpkgs/pkgs/development/pure-modules/stllib/default.nix31
-rw-r--r--nixpkgs/pkgs/development/pure-modules/tk/default.nix25
-rw-r--r--nixpkgs/pkgs/development/pure-modules/xml/default.nix25
30 files changed, 762 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/pure-modules/audio/default.nix b/nixpkgs/pkgs/development/pure-modules/audio/default.nix
new file mode 100644
index 000000000000..2cdab404c5fe
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/avahi/default.nix b/nixpkgs/pkgs/development/pure-modules/avahi/default.nix
new file mode 100644
index 000000000000..f94ee8d7637f
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/csv/default.nix b/nixpkgs/pkgs/development/pure-modules/csv/default.nix
new file mode 100644
index 000000000000..846fb7e37306
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/doc/default.nix b/nixpkgs/pkgs/development/pure-modules/doc/default.nix
new file mode 100644
index 000000000000..54f99bf8afc9
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/doc/default.nix
@@ -0,0 +1,24 @@
+{ 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";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix b/nixpkgs/pkgs/development/pure-modules/fastcgi/default.nix
new file mode 100644
index 000000000000..ebd13743442d
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/faust/default.nix b/nixpkgs/pkgs/development/pure-modules/faust/default.nix
new file mode 100644
index 000000000000..74ec8e49343b
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/ffi/default.nix b/nixpkgs/pkgs/development/pure-modules/ffi/default.nix
new file mode 100644
index 000000000000..efea0b4182c2
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/gen/default.nix b/nixpkgs/pkgs/development/pure-modules/gen/default.nix
new file mode 100644
index 000000000000..22bbb4d3be41
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/gen/default.nix
@@ -0,0 +1,27 @@
+{ 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]);
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ 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;
+    hydraPlatforms = [];
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/pure-modules/generic-setup-hook.sh b/nixpkgs/pkgs/development/pure-modules/generic-setup-hook.sh
new file mode 100644
index 000000000000..efaa2211ae66
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/generic-setup-hook.sh
@@ -0,0 +1,2 @@
+addToSearchPath PURE_INCLUDE $1/lib/pure
+addToSearchPath PURE_LIBRARY $1/lib/pure
diff --git a/nixpkgs/pkgs/development/pure-modules/gl/default.nix b/nixpkgs/pkgs/development/pure-modules/gl/default.nix
new file mode 100644
index 000000000000..51c57bb5c519
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/gl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, freeglut, libGLU_combined, xlibsWrapper }:
+
+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";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure freeglut libGLU_combined xlibsWrapper ];
+  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/nixpkgs/pkgs/development/pure-modules/glpk/default.nix b/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
new file mode 100644
index 000000000000..7b615928da9a
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/glpk/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchurl,
+  pkgconfig, pure, glpk, gmp, libtool, mysql, libiodbc }:
+
+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: {
+    propagatedBuildInputs = [ gmp libtool mysql.connector-c libiodbc ];
+
+    CPPFLAGS = "-I${gmp.dev}/include";
+
+    preConfigure = ''
+      substituteInPlace configure \
+        --replace /usr/include/mysql ${mysql.connector-c}/include/mysql
+    '';
+    configureFlags = [ "--enable-dl"
+                       "--enable-odbc"
+                       "--enable-mysql"
+                       "--with-gmp=yes" ];
+  });
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/gplot/default.nix b/nixpkgs/pkgs/development/pure-modules/gplot/default.nix
new file mode 100644
index 000000000000..d1657cdd445d
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/gsl/default.nix b/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
new file mode 100644
index 000000000000..08aa674eb6bb
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/gsl/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pure, pkgconfig, gsl }:
+
+stdenv.mkDerivation rec {
+  baseName = "gsl";
+  version = "0.12";
+  name = "pure-${baseName}-${version}";
+  
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "06bdd873d5417d90ca35093056a060b77365123ed24c3ac583cd3922d4c78a75";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure gsl ];
+  makeFlags = "libdir=$(out)/lib prefix=$(out)/";
+  setupHook = ../generic-setup-hook.sh;
+
+  meta = {
+    description = "GNU Scientific Library interface for Pure";
+    homepage = http://puredocs.bitbucket.org/pure-gsl.html;
+    license = stdenv.lib.licenses.gpl3Plus;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/pure-modules/gtk/default.nix b/nixpkgs/pkgs/development/pure-modules/gtk/default.nix
new file mode 100644
index 000000000000..77fae1d0981c
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/liblo/default.nix b/nixpkgs/pkgs/development/pure-modules/liblo/default.nix
new file mode 100644
index 000000000000..2dd0865f6ea1
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/lilv/default.nix b/nixpkgs/pkgs/development/pure-modules/lilv/default.nix
new file mode 100644
index 000000000000..7f3638fe5c9c
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/lv2/default.nix b/nixpkgs/pkgs/development/pure-modules/lv2/default.nix
new file mode 100644
index 000000000000..98556acbf281
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/midi/default.nix b/nixpkgs/pkgs/development/pure-modules/midi/default.nix
new file mode 100644
index 000000000000..950c536e7606
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix b/nixpkgs/pkgs/development/pure-modules/mpfr/default.nix
new file mode 100644
index 000000000000..63196fadf468
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/octave/default.nix b/nixpkgs/pkgs/development/pure-modules/octave/default.nix
new file mode 100644
index 000000000000..8fbb1dac320d
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/octave/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, pure, octave }:
+
+stdenv.mkDerivation rec {
+  baseName = "octave";
+  version = "0.9";
+  name = "pure-${baseName}-${version}";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
+    sha256 = "0l1mvmi3rpabzjcrk6p04rdn922mvdm9x67zby3dha5iiccc47q0";
+  };
+
+  nativeBuildInputs = [ 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;
+    # This is set to none for now because it does not work with the
+    # current stable version of Octave.
+    platforms = stdenv.lib.platforms.none;
+    maintainers = with stdenv.lib.maintainers; [ asppsa ];
+  };
+}
diff --git a/nixpkgs/pkgs/development/pure-modules/odbc/default.nix b/nixpkgs/pkgs/development/pure-modules/odbc/default.nix
new file mode 100644
index 000000000000..4ae1e58a7bca
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix b/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
new file mode 100644
index 000000000000..d5b0a7dbde59
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/pandoc/default.nix
@@ -0,0 +1,29 @@
+{ 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";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/rational/default.nix b/nixpkgs/pkgs/development/pure-modules/rational/default.nix
new file mode 100644
index 000000000000..20d61e5c3626
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/readline/default.nix b/nixpkgs/pkgs/development/pure-modules/readline/default.nix
new file mode 100644
index 000000000000..a6bb2ed61672
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/sockets/default.nix b/nixpkgs/pkgs/development/pure-modules/sockets/default.nix
new file mode 100644
index 000000000000..235478a1776a
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/sql3/default.nix b/nixpkgs/pkgs/development/pure-modules/sql3/default.nix
new file mode 100644
index 000000000000..91ff3a446c2b
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/stldict/default.nix b/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
new file mode 100644
index 000000000000..8c39b9791e02
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/stldict/default.nix
@@ -0,0 +1,31 @@
+{ 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";
+  };
+
+  postPatch = ''
+    for f in hashdict.cc orddict.cc; do
+      sed -i '1i\#include <stddef.h>' $f
+    done
+  '';
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/stllib/default.nix b/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
new file mode 100644
index 000000000000..dd7a945182ba
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/stllib/default.nix
@@ -0,0 +1,31 @@
+{ 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";
+  };
+
+  postPatch = ''
+    for f in pure-stlmap/{stlmap.cpp,stlmmap.cpp,stlhmap.cpp}; do
+      sed -i '1i\#include <cstddef>' $f
+    done
+  '';
+
+  nativeBuildInputs = [ 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/nixpkgs/pkgs/development/pure-modules/tk/default.nix b/nixpkgs/pkgs/development/pure-modules/tk/default.nix
new file mode 100644
index 000000000000..03e322d74c0c
--- /dev/null
+++ b/nixpkgs/pkgs/development/pure-modules/tk/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, pkgconfig, pure, tcl, tk, xlibsWrapper }:
+
+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";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ pure tcl tk xlibsWrapper ];
+  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/nixpkgs/pkgs/development/pure-modules/xml/default.nix b/nixpkgs/pkgs/development/pure-modules/xml/default.nix
new file mode 100644
index 000000000000..8e2686110356
--- /dev/null
+++ b/nixpkgs/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";
+  };
+
+  nativeBuildInputs = [ 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 ];
+  };
+}