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 similarity index 100% rename from pkgs/development/pure-modules/pure-gsl/setup-hook.sh rename to 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 similarity index 60% rename from pkgs/development/pure-modules/pure-gsl/default.nix rename to 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/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 000000000000..e93207943b06 --- /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 000000000000..522446104ffc --- /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 000000000000..f937b9eb5300 --- /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 000000000000..abfc0d0fdefc --- /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 000000000000..3be7bccf2a42 --- /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 000000000000..b36a58279fa3 --- /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 000000000000..ed08cdf52096 --- /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 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 234593906acb..5d01a619aba6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4768,7 +4768,9 @@ let pure = callPackage ../development/interpreters/pure { llvm = llvm_35; }; - pure-gsl = callPackage ../development/pure-modules/pure-gsl { }; + purePackages = recurseIntoAttrs (import ./pure-packages.nix { + inherit callPackage; + }); python = python2; python2 = python27; diff --git a/pkgs/top-level/pure-packages.nix b/pkgs/top-level/pure-packages.nix new file mode 100644 index 000000000000..005e09cc003e --- /dev/null +++ b/pkgs/top-level/pure-packages.nix @@ -0,0 +1,33 @@ +{ callPackage }: + +rec { + audio = callPackage ../development/pure-modules/audio { }; + avahi = callPackage ../development/pure-modules/avahi { }; + csv = callPackage ../development/pure-modules/csv { }; + doc = callPackage ../development/pure-modules/doc { }; + fastcgi = callPackage ../development/pure-modules/fastcgi { }; + faust = callPackage ../development/pure-modules/faust { }; + ffi = callPackage ../development/pure-modules/ffi { }; + gen = callPackage ../development/pure-modules/gen { }; + gl = callPackage ../development/pure-modules/gl { }; + glpk = callPackage ../development/pure-modules/glpk { }; + gplot = callPackage ../development/pure-modules/gplot { }; + gsl = callPackage ../development/pure-modules/gsl { }; + gtk = callPackage ../development/pure-modules/gtk { pure-ffi = ffi; }; + liblo = callPackage ../development/pure-modules/liblo { }; + lilv = callPackage ../development/pure-modules/lilv { }; + lv2 = callPackage ../development/pure-modules/lv2 { }; + midi = callPackage ../development/pure-modules/midi { }; + mpfr = callPackage ../development/pure-modules/mpfr { }; + octave = callPackage ../development/pure-modules/octave { }; + odbc = callPackage ../development/pure-modules/odbc { }; + pandoc = callPackage ../development/pure-modules/pandoc { }; + rational = callPackage ../development/pure-modules/rational { }; + readline = callPackage ../development/pure-modules/readline { }; + sockets = callPackage ../development/pure-modules/sockets { }; + sql3 = callPackage ../development/pure-modules/sql3 { }; + stldict = callPackage ../development/pure-modules/stldict { }; + stllib = callPackage ../development/pure-modules/stllib { }; + tk = callPackage ../development/pure-modules/tk { }; + xml = callPackage ../development/pure-modules/xml { }; +}