* Added "easytag", a GUI for organizing id3tags in mp3s.

* Updated some ocaml packages.
* Updated coccinelle.

svn path=/nixpkgs/trunk/; revision=33674
This commit is contained in:
Arie Middelkoop
2012-04-09 09:42:20 +00:00
parent 68f739cc45
commit 2b18ccf305
8 changed files with 250 additions and 90 deletions
@@ -1,46 +1,46 @@
{stdenv, fetchurl, ocaml, findlib, python, ocaml_make}:
{stdenv, fetchurl, ocaml, findlib, ncurses, python, ocaml_make}:
# The actual version of pycaml is unclear, as it is the original
# 0.82 version with some patches applied in order to use it for
# the kompostilo type setter (see README). Apparently, some of
# the patches provide Python 3.1 support.
# This version also differs from the Debian version, which
# is also a heavily patched 0.82.
# Therefore, we may at some point try to find out what is
# actually the "real" version (if the library is still alive).
# This is the original pycaml version with patches from debian.
stdenv.mkDerivation {
name = "pycaml-0.82";
let debian = fetchurl {
url = "mirror://debian/pool/main/p/pycaml/pycaml_0.82-14.debian.tar.gz";
sha256 = "a763088ec1fa76c769bf586ed6692e7ac035b0a2bfd48a90a8e7a9539ec0c2f1";
};
src = fetchurl {
name = "pycaml.tar.gz";
url = "http://github.com/chemoelectric/pycaml/tarball/master";
sha256 = "ff6d863c42b4ef798f50ff5eff77b47b77b5c0d28b6f65364e8a436a216dc591";
};
in stdenv.mkDerivation {
name = "pycaml-0.82-14";
buildInputs = [ocaml findlib python ocaml_make];
srcs = [
(fetchurl {
url = "mirror://debian/pool/main/p/pycaml/pycaml_0.82.orig.tar.gz";
sha256 = "d57be559c8d586c575717d47817986bbdbcebe2ffd16ad6b291525c62868babe";
})
(fetchurl {
url = "mirror://debian/pool/main/p/pycaml/pycaml_0.82-14.debian.tar.gz";
sha256 = "a763088ec1fa76c769bf586ed6692e7ac035b0a2bfd48a90a8e7a9539ec0c2f1";
})
];
postPatch = ''
rm -f Makefile* configure*
cp ../debian/META ../debian/Makefile .
sed -i "Makefile" -e's|/usr/share/ocamlmakefile/OCamlMakefile|${ocaml_make}/include/OCamlMakefile|g'
'';
sourceRoot = "pycaml";
patches = [ "../debian/patches/*.patch" ];
buildInputs = [ ncurses ocaml findlib python ocaml_make ];
createFindlibDestdir = true;
phases = [ "unpackPhase" "patchPhase" "buildPhase" "installPhase" ];
# fix some paths to the appropriate store paths.
patchPhase = ''
sed -i "Makefile" -e's|/usr/include/OCamlMakefile|${ocaml_make}/include/OCamlMakefile|g'
sed -i "Makefile" -e's|/usr|${python}|g'
'';
buildPhase = ''
make -f Makefile -j1 PYVER=`python -c 'import sys; print("{0}.{1}".format(sys.version_info.major, sys.version_info.minor));'`
'';
# the Makefile is not shipped with an install target, hence we do it ourselves.
installPhase = ''
ocamlfind install pycaml \
dllpycaml_stubs.so* libpycaml_stubs.a pycaml.a pycaml.cma \
pycaml.cmi pycaml.cmo pycaml.cmx pycaml.cmxa pycaml.ml pycaml.mli \
pycaml.o pycaml_stubs.c pycaml_stubs.h pycaml_stubs.o META
'';
dllpycaml_stubs.so libpycaml_stubs.a pycaml.a pycaml.cma \
pycaml.cmi pycaml.cmo pycaml.cmx pycaml.cmxa \
META
'';
meta = {
homepage = "http://github.com/chemoelectric/pycaml";