From 502587abb0e54be12ad8d71983aa8a6352a075d5 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Sat, 1 Dec 2012 21:28:32 +0100 Subject: [PATCH] Added libdwarf, libevent 1.4, libmcrypt, libmemcached, oniguruma. These are dependencies for HipHop Virtual Machine. --- .../libraries/intel-tbb/default.nix | 29 +++++++++++++++++++ .../libraries/libdwarf/default.nix | 27 +++++++++++++++++ pkgs/development/libraries/libevent/1.4.nix | 29 +++++++++++++++++++ .../libraries/libmcrypt/default.nix | 16 ++++++++++ .../libraries/libmemcached/default.nix | 18 ++++++++++++ .../libraries/oniguruma/default.nix | 16 ++++++++++ pkgs/top-level/all-packages.nix | 13 ++++++++- 7 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/intel-tbb/default.nix create mode 100644 pkgs/development/libraries/libdwarf/default.nix create mode 100644 pkgs/development/libraries/libevent/1.4.nix create mode 100644 pkgs/development/libraries/libmcrypt/default.nix create mode 100644 pkgs/development/libraries/libmemcached/default.nix create mode 100644 pkgs/development/libraries/oniguruma/default.nix diff --git a/pkgs/development/libraries/intel-tbb/default.nix b/pkgs/development/libraries/intel-tbb/default.nix new file mode 100644 index 000000000000..ad2c317a9efa --- /dev/null +++ b/pkgs/development/libraries/intel-tbb/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl }: + +assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; + +stdenv.mkDerivation rec { + name = "intel-tbb-4.1"; + + src = fetchurl { + url = http://threadingbuildingblocks.org/sites/default/files/software_releases/linux/tbb41_20121003oss_lin.tgz; + sha256 = "12vxljcgkrcyw9mm8v5vfk03nkf3bmwz60r2qbljs0hl2yrx8jml"; + }; + + buildPhase = '' + mkdir -p $out + cp -R * $out + + for f in $out/lib/${if stdenv.system == "x86_64-linux" then "linux64" else "ia32"}/*.so.2; do + patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64 $f + done + + rm $out/CHANGES $out/README $out/COPYING + ''; + + dontInstall = true; + + meta = { + homepage = http://threadingbuildingblocks.org/; + }; +} diff --git a/pkgs/development/libraries/libdwarf/default.nix b/pkgs/development/libraries/libdwarf/default.nix new file mode 100644 index 000000000000..44eec24cb41d --- /dev/null +++ b/pkgs/development/libraries/libdwarf/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, libelf }: + +stdenv.mkDerivation rec { + name = "libdwarf-20121130"; + + src = fetchurl { + url = http://reality.sgiweb.org/davea/libdwarf-20121130.tar.gz; + sha256 = "1nfdfn5xf3n485pvpb853awyxxnvrg207i0wmrr7bhk8fcxdxbn0"; + }; + + configureFlags = " --enable-shared --disable-nonshared"; + + preConfigure = '' + cd libdwarf + ''; + buildInputs = [ libelf ]; + + installPhase = '' + mkdir -p $out/lib $out/include + cp libdwarf.so $out/lib + cp libdwarf.h dwarf.h $out/include + ''; + + meta = { + homepage = http://reality.sgiweb.org/davea/dwarf.html; + }; +} diff --git a/pkgs/development/libraries/libevent/1.4.nix b/pkgs/development/libraries/libevent/1.4.nix new file mode 100644 index 000000000000..ed190bf60615 --- /dev/null +++ b/pkgs/development/libraries/libevent/1.4.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl}: + +let version = "1.4.14b"; in +stdenv.mkDerivation { + name = "libevent-${version}"; + + src = fetchurl { + url = "https://github.com/downloads/libevent/libevent/libevent-${version}-stable.tar.gz"; + sha256 = "00b3wih3qpcik6v0qh1406abs2xb954d58ncqwzs8ar2d93ip9mg"; + }; + + meta = { + description = "libevent, an event notification library"; + + longDescription = + '' The libevent API provides a mechanism to execute a callback function + when a specific event occurs on a file descriptor or after a timeout + has been reached. Furthermore, libevent also support callbacks due + to signals or regular timeouts. + + libevent is meant to replace the event loop found in event driven + network servers. An application just needs to call event_dispatch() + and then add or remove events dynamically without having to change + the event loop. + ''; + + license = "mBSD"; + }; +} diff --git a/pkgs/development/libraries/libmcrypt/default.nix b/pkgs/development/libraries/libmcrypt/default.nix new file mode 100644 index 000000000000..eac577869e29 --- /dev/null +++ b/pkgs/development/libraries/libmcrypt/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "libmcrypt-2.5.8"; + + src = fetchurl { + url = mirror://sourceforge/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz; + sha256 = "0gipgb939vy9m66d3k8il98rvvwczyaw2ixr8yn6icds9c3nrsz4"; + }; + + buildInputs = []; + + meta = { + homepage = http://mcrypt.sourceforge.net; + }; +} diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix new file mode 100644 index 000000000000..a57b5dcb959c --- /dev/null +++ b/pkgs/development/libraries/libmemcached/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, cyrus_sasl, libevent }: + +stdenv.mkDerivation rec { + name = "libmemcached-1.0.14"; + + src = fetchurl { + url = https://launchpad.net/libmemcached/1.0/1.0.14/+download/libmemcached-1.0.14.tar.gz; + sha256 = "0swl3r7m35rx7abkfycpcknbf83y7l2azq9zscms2rc99cnfmsij"; + }; + + buildInputs = [ cyrus_sasl libevent ]; + + meta = { + homepage = http://libmemcached.org; + description = "libMemcached is an open source C/C++ client library and tools for the memcached server."; + license = "BSD"; + }; +} diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix new file mode 100644 index 000000000000..984b84085fe4 --- /dev/null +++ b/pkgs/development/libraries/oniguruma/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "onig-5.9.3"; + + src = fetchurl { + url = http://www.geocities.jp/kosako3/oniguruma/archive/onig-5.9.3.tar.gz; + sha256 = "0ahz0l64v2xv4jbh0w3q697xjff8jzdq2264h9jhwxl459msdfy3"; + }; + + meta = { + homepage = http://www.geocities.jp/kosako3/oniguruma/; + description = "Oniguruma is a regular expressions library."; + license = "BSD"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c60e814234bf..dd1207d2d42b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -165,7 +165,7 @@ let x11 = xlibsWrapper; # `xlibs' is the set of X library components. This used to be the - # old modular X libraries project (called `xlibs') but now it's just + # old modular X llibraries project (called `xlibs') but now it's just # the set of packages in the modular X.org tree (which also includes # non-library components like the server, drivers, fonts, etc.). xlibs = xorg // {xlibs = xlibsWrapper;}; @@ -3952,6 +3952,8 @@ let iniparser = callPackage ../development/libraries/iniparser { }; + inteltbb = callPackage ../development/libraries/intel-tbb { }; + intltool = gnome.intltool; intltool_standalone = callPackage ../development/tools/misc/intltool {}; @@ -4103,6 +4105,8 @@ let libdvdread = callPackage ../development/libraries/libdvdread { }; + libdwarf = callPackage ../development/libraries/libdwarf { }; + libebml = callPackage ../development/libraries/libebml { }; libedit = callPackage ../development/libraries/libedit { }; @@ -4131,6 +4135,7 @@ let libev = builderDefsPackage ../development/libraries/libev { }; + libevent14 = callPackage ../development/libraries/libevent/1.4.nix { }; libevent = callPackage ../development/libraries/libevent { }; libewf = callPackage ../development/libraries/libewf { }; @@ -4189,6 +4194,8 @@ let liblockfile = callPackage ../development/libraries/liblockfile { }; + libmcrypt = callPackage ../development/libraries/libmcrypt {}; + libmhash = callPackage ../development/libraries/libmhash {}; libmtp = callPackage ../development/libraries/libmtp { }; @@ -4259,6 +4266,8 @@ let libmcs = callPackage ../development/libraries/libmcs { }; + libmemcached = callPackage ../development/libraries/libmemcached { }; + libmicrohttpd = callPackage ../development/libraries/libmicrohttpd { }; libmikmod = callPackage ../development/libraries/libmikmod { }; @@ -4598,6 +4607,8 @@ let ogrepaged = callPackage ../development/libraries/ogrepaged { }; + oniguruma = callPackage ../development/libraries/oniguruma { }; + openal = callPackage ../development/libraries/openal { }; # added because I hope that it has been easier to compile on x86 (for blender)