From 64bc336f50a2203f8c8feccd0eef4b5462c6de16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Wed, 27 Mar 2013 22:25:33 +0100 Subject: [PATCH 1/8] Blender 2.66 WIP --- pkgs/applications/misc/blender/default.nix | 17 ++-- .../interpreters/python/3.3/default.nix | 82 +++++++++++++++++++ pkgs/development/libraries/oiio/default.nix | 27 ++++++ pkgs/top-level/all-packages.nix | 7 +- 4 files changed, 124 insertions(+), 9 deletions(-) create mode 100644 pkgs/development/interpreters/python/3.3/default.nix create mode 100644 pkgs/development/libraries/oiio/default.nix diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 828d55ad478..b9c32c982ec 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,26 +1,29 @@ -{ stdenv, fetchurl, SDL, cmake, gettext, ilmbase, libXi, libjpeg, -libpng, libsamplerate, libtiff, mesa, openal, openexr, openjpeg, +{ stdenv, fetchurl, SDL, cmake, ffmpeg, gettext, glew, ilmbase, libXi, libjpeg, +libpng, libsamplerate, libtiff, mesa, oiio, openal, openexr, openjpeg, python, zlib, boost }: stdenv.mkDerivation rec { - name = "blender-2.63a"; + name = "blender-2.66a"; src = fetchurl { url = "http://download.blender.org/source/${name}.tar.gz"; - sha256 = "c479b1abfe5fd8a1a5d04b8d21fdbc0fc960d7855b24785b888c09792bca4c1a"; + sha256 = "0wj8x9xk5irvsjc3rm7wzml1j47xcdpdpy84kidafk02biskcqcb"; }; - buildInputs = [ cmake mesa gettext python libjpeg libpng zlib openal - SDL openexr libsamplerate libXi libtiff ilmbase openjpeg boost ]; + buildInputs = [ cmake mesa ffmpeg gettext python glew libjpeg libpng zlib openal + SDL openexr libsamplerate libXi libtiff ilmbase oiio openjpeg boost ]; + cmakeFlags = [ "-DOPENEXR_INC=${openexr}/include/OpenEXR" "-DWITH_OPENCOLLADA=OFF" "-DWITH_INSTALL_PORTABLE=OFF" + "-DPYTHON_LIBRARY=python${python.majorVersion}m" "-DPYTHON_LIBPATH=${python}/lib" + "-DPYTHON_INCLUDE_DIR=${python}/include/python${python.majorVersion}m" ]; - NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}"; + NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}m"; enableParallelBuilding = true; diff --git a/pkgs/development/interpreters/python/3.3/default.nix b/pkgs/development/interpreters/python/3.3/default.nix new file mode 100644 index 00000000000..7baecad76c6 --- /dev/null +++ b/pkgs/development/interpreters/python/3.3/default.nix @@ -0,0 +1,82 @@ +{ stdenv, fetchurl +, bzip2 +, db4 +, gdbm +, libX11, xproto +, ncurses +, openssl +, readline +, sqlite +, tcl, tk +, zlib +}: + +assert readline != null -> ncurses != null; + +with stdenv.lib; + +let + majorVersion = "3.3"; + version = "${majorVersion}.1rc1"; + + buildInputs = filter (p: p != null) [ + zlib bzip2 gdbm sqlite db4 readline ncurses openssl tcl tk libX11 xproto + ]; +in +stdenv.mkDerivation { + name = "python3-${version}"; + inherit majorVersion version; + + src = fetchurl { + url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2"; + sha256 = "1pnsbdzbd3750jcy32sv1760lv7am4x3f33jn1kmdmd82za279gv"; + }; + + preConfigure = '' + for i in /usr /sw /opt /pkg; do # improve purity + substituteInPlace ./setup.py --replace $i /no-such-path + done + ${optionalString stdenv.isDarwin ''export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -msse2"''} + + configureFlagsArray=( --enable-shared --with-threads + CPPFLAGS="${concatStringsSep " " (map (p: "-I${p}/include") buildInputs)}" + LDFLAGS="${concatStringsSep " " (map (p: "-L${p}/lib") buildInputs)}" + LIBS="-lcrypt ${optionalString (ncurses != null) "-lncurses"}" + ) + ''; + + setupHook = ./setup-hook.sh; + + postInstall = '' + rm -rf "$out/lib/python${majorVersion}/test" + ''; + + passthru = { + zlibSupport = zlib != null; + sqliteSupport = sqlite != null; + db4Support = db4 != null; + readlineSupport = readline != null; + opensslSupport = openssl != null; + tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null); + libPrefix = "python${majorVersion}"; + }; + + enableParallelBuilding = true; + + meta = { + homepage = "http://python.org"; + description = "a high-level dynamically-typed programming language"; + longDescription = '' + Python is a remarkably powerful dynamic programming language that + is used in a wide variety of application domains. Some of its key + distinguishing features include: clear, readable syntax; strong + introspection capabilities; intuitive object orientation; natural + expression of procedural code; full modularity, supporting + hierarchical packages; exception-based error handling; and very + high level dynamic data types. + ''; + license = stdenv.lib.licenses.psfl; + platforms = stdenv.lib.platforms.all; + maintainers = with stdenv.lib.maintainers; [ simons chaoflow ]; + }; +} diff --git a/pkgs/development/libraries/oiio/default.nix b/pkgs/development/libraries/oiio/default.nix new file mode 100644 index 00000000000..1b6b8be115f --- /dev/null +++ b/pkgs/development/libraries/oiio/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, cmake, unzip, boost, libjpeg, libtiff, libpng, openexr, ilmbase }: + +stdenv.mkDerivation rec { + name = "oiio-${version}"; + version = "1.1.8"; + + src = fetchurl { + url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip"; + sha256 = "08a6qhplzs8kianqb1gjgrndg81h3il5531jn9g6i4940b1xispg"; + }; + + buildInputs = [ cmake unzip boost libjpeg libtiff libpng openexr ilmbase ]; + + configurePhase = ""; + + buildPhase = "make ILMBASE_HOME=${ilmbase} OPENEXR_HOME=${openexr} USE_PYTHON=0 INSTALLDIR=$out dist_dir="; + + installPhase = "echo hallo"; + + meta = with stdenv.lib; { + homepage = http://www.openimageio.org; + description = "A library for reading and writing images"; + license = licenses.bsd3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} \ No newline at end of file diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 354559a1efe..53c4feb0676 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2876,8 +2876,9 @@ let pure = callPackage ../development/interpreters/pure {}; - python3 = python32; + python3 = python33; python32 = callPackage ../development/interpreters/python/3.2 { }; + python33 = callPackage ../development/interpreters/python/3.3 { }; python = python27; python26 = callPackage ../development/interpreters/python/2.6 { }; @@ -4711,6 +4712,8 @@ let opensc = opensc_0_11_7; }; + oiio = callPackage ../development/libraries/oiio { }; + ois = callPackage ../development/libraries/ois {}; opal = callPackage ../development/libraries/opal {}; @@ -6647,7 +6650,7 @@ let }; blender = callPackage ../applications/misc/blender { - python = python32; + python = python3; }; bristol = callPackage ../applications/audio/bristol { }; From 67a1becfdca20d51cc97d99103e6978b209844d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Wed, 27 Mar 2013 23:29:17 +0100 Subject: [PATCH 2/8] OpenImageIO Tidy Up: moved to applications/graphics oiio includes CLI tools for manipulating graphics --- .../graphics/openimageio}/default.nix | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) rename pkgs/{development/libraries/oiio => applications/graphics/openimageio}/default.nix (62%) diff --git a/pkgs/development/libraries/oiio/default.nix b/pkgs/applications/graphics/openimageio/default.nix similarity index 62% rename from pkgs/development/libraries/oiio/default.nix rename to pkgs/applications/graphics/openimageio/default.nix index 1b6b8be115f..2a5c66fae18 100644 --- a/pkgs/development/libraries/oiio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl, cmake, unzip, boost, libjpeg, libtiff, libpng, openexr, ilmbase }: +{ stdenv, fetchurl, boost, cmake, ilmbase, libjpeg, libpng, libtiff, openexr +, unzip +}: stdenv.mkDerivation rec { name = "oiio-${version}"; @@ -9,13 +11,16 @@ stdenv.mkDerivation rec { sha256 = "08a6qhplzs8kianqb1gjgrndg81h3il5531jn9g6i4940b1xispg"; }; - buildInputs = [ cmake unzip boost libjpeg libtiff libpng openexr ilmbase ]; + buildInputs = [ boost cmake ilmbase libjpeg libpng libtiff openexr unzip ]; configurePhase = ""; - buildPhase = "make ILMBASE_HOME=${ilmbase} OPENEXR_HOME=${openexr} USE_PYTHON=0 INSTALLDIR=$out dist_dir="; + buildPhase = '' + make ILMBASE_HOME=${ilmbase} OPENEXR_HOME=${openexr} USE_PYTHON=0 \ + INSTALLDIR=$out dist_dir= + ''; - installPhase = "echo hallo"; + installPhase = ""; meta = with stdenv.lib; { homepage = http://www.openimageio.org; From 8ef25cf87674239fdef5ddc38acc0d7e5f54be5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Thu, 28 Mar 2013 00:45:22 +0100 Subject: [PATCH 3/8] Add OpenColorIO, a color management framework. Used by Blender --- .../libraries/opencolorio/default.nix | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 pkgs/development/libraries/opencolorio/default.nix diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix new file mode 100644 index 00000000000..513b340e132 --- /dev/null +++ b/pkgs/development/libraries/opencolorio/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, cmake, unzip }: + +stdenv.mkDerivation rec { + name = "ocio-${version}"; + version = "1.0.8"; + + src = fetchurl { + url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.8.zip"; + sha256 = "1l70bf40dz2znm9rh3r6xs9d6kp719y1djayb7dc89khfqqbx2di"; + }; + + buildInputs = [ cmake unzip ]; + + meta = with stdenv.lib; { + homepage = http://opencolorio.org; + description = "A color management framework for visual effects and animation"; + license = licenses.bsd3; + maintainers = [ maintainers.goibhniu ]; + platforms = platforms.linux; + }; +} \ No newline at end of file From 043d21b69d85e61229f60f4985525f9f59fb9fba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Thu, 28 Mar 2013 00:46:23 +0100 Subject: [PATCH 4/8] Add OpenColorIO support to OpenImageIO and tidy up --- pkgs/applications/graphics/openimageio/default.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix index 2a5c66fae18..fa7d16ccf0a 100644 --- a/pkgs/applications/graphics/openimageio/default.nix +++ b/pkgs/applications/graphics/openimageio/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, boost, cmake, ilmbase, libjpeg, libpng, libtiff, openexr -, unzip +{ stdenv, fetchurl, boost, cmake, ilmbase, libjpeg, libpng, libtiff +, opencolorio, openexr, unzip }: stdenv.mkDerivation rec { @@ -11,7 +11,9 @@ stdenv.mkDerivation rec { sha256 = "08a6qhplzs8kianqb1gjgrndg81h3il5531jn9g6i4940b1xispg"; }; - buildInputs = [ boost cmake ilmbase libjpeg libpng libtiff openexr unzip ]; + buildInputs = [ + boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr unzip + ]; configurePhase = ""; @@ -20,11 +22,11 @@ stdenv.mkDerivation rec { INSTALLDIR=$out dist_dir= ''; - installPhase = ""; + installPhase = ":"; meta = with stdenv.lib; { homepage = http://www.openimageio.org; - description = "A library for reading and writing images"; + description = "A library and tools for reading and writing images"; license = licenses.bsd3; maintainers = [ maintainers.goibhniu ]; platforms = platforms.linux; From 5c40e28dfb7a29f30af3489347f845c7ebbefaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Thu, 28 Mar 2013 00:47:47 +0100 Subject: [PATCH 5/8] Rename oiio to openimageio (more explicit) and add opencolorio --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 53c4feb0676..b6d32e6df39 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4712,7 +4712,7 @@ let opensc = opensc_0_11_7; }; - oiio = callPackage ../development/libraries/oiio { }; + opencolorio = callPackage ../development/libraries/opencolorio { }; ois = callPackage ../development/libraries/ois {}; @@ -7592,6 +7592,8 @@ let openbox = callPackage ../applications/window-managers/openbox { }; + openimageio = callPackage ../applications/graphics/openimageio { }; + openjump = callPackage ../applications/misc/openjump { }; openscad = callPackage ../applications/graphics/openscad {}; From ca2a39757c7850f2e7ec7a0b8eee6fb5ecc8e100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Thu, 28 Mar 2013 00:52:08 +0100 Subject: [PATCH 6/8] Blender: enable extra features in the Video Sequence Editor FFMPEG support allows a greater variety of export and import options. SNDFILE support allows WAV and other sound file formats to be used. JACK support allows blender to be used with XJadeo, Ardour or any other JACK away audio editor. --- pkgs/applications/misc/blender/default.nix | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index b9c32c982ec..763a7c2a6e5 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, SDL, cmake, ffmpeg, gettext, glew, ilmbase, libXi, libjpeg, -libpng, libsamplerate, libtiff, mesa, oiio, openal, openexr, openjpeg, +{ stdenv, fetchurl, SDL, cmake, ffmpeg, jackaudio, gettext, glew, ilmbase, libXi, libjpeg, +libpng, libsamplerate, libsndfile, libtiff, mesa, opencolorio, openimageio, openal, openexr, openjpeg, python, zlib, boost }: stdenv.mkDerivation rec { @@ -10,13 +10,17 @@ stdenv.mkDerivation rec { sha256 = "0wj8x9xk5irvsjc3rm7wzml1j47xcdpdpy84kidafk02biskcqcb"; }; - buildInputs = [ cmake mesa ffmpeg gettext python glew libjpeg libpng zlib openal - SDL openexr libsamplerate libXi libtiff ilmbase oiio openjpeg boost ]; + buildInputs = [ cmake mesa ffmpeg jackaudio gettext python glew libjpeg libpng zlib openal + SDL openexr libsamplerate libsndfile libXi libtiff ilmbase opencolorio openimageio openjpeg boost ]; cmakeFlags = [ "-DOPENEXR_INC=${openexr}/include/OpenEXR" "-DWITH_OPENCOLLADA=OFF" + "-DWITH_CODEC_FFMPEG=ON" + "-DWITH_CODEC_SNDFILE=ON" + "-DWITH_SYSTEM_OPENJPEG=ON" + "-DWITH_JACK=ON" "-DWITH_INSTALL_PORTABLE=OFF" "-DPYTHON_LIBRARY=python${python.majorVersion}m" "-DPYTHON_LIBPATH=${python}/lib" From 49b23b29dd84ff35a4ab1eb5bd9043e21e3f75e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Thu, 28 Mar 2013 01:00:22 +0100 Subject: [PATCH 7/8] Blender: Tidy up, sort inputs, remove unused OPENJPEG option --- pkgs/applications/misc/blender/default.nix | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 763a7c2a6e5..1ed51a81f5c 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl, SDL, cmake, ffmpeg, jackaudio, gettext, glew, ilmbase, libXi, libjpeg, -libpng, libsamplerate, libsndfile, libtiff, mesa, opencolorio, openimageio, openal, openexr, openjpeg, -python, zlib, boost }: +{ stdenv, fetchurl, SDL, boost, cmake, ffmpeg, gettext, glew +, ilmbase, jackaudio, libXi, libjpeg, libpng, libsamplerate, libsndfile +, libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg, python +, zlib +}: stdenv.mkDerivation rec { name = "blender-2.66a"; @@ -10,8 +12,11 @@ stdenv.mkDerivation rec { sha256 = "0wj8x9xk5irvsjc3rm7wzml1j47xcdpdpy84kidafk02biskcqcb"; }; - buildInputs = [ cmake mesa ffmpeg jackaudio gettext python glew libjpeg libpng zlib openal - SDL openexr libsamplerate libsndfile libXi libtiff ilmbase opencolorio openimageio openjpeg boost ]; + buildInputs = [ + SDL boost cmake ffmpeg gettext glew ilmbase jackaudio libXi + libjpeg libpng libsamplerate libsndfile libtiff mesa openal + opencolorio openexr openimageio openjpeg python zlib + ]; cmakeFlags = [ @@ -19,7 +24,6 @@ stdenv.mkDerivation rec { "-DWITH_OPENCOLLADA=OFF" "-DWITH_CODEC_FFMPEG=ON" "-DWITH_CODEC_SNDFILE=ON" - "-DWITH_SYSTEM_OPENJPEG=ON" "-DWITH_JACK=ON" "-DWITH_INSTALL_PORTABLE=OFF" "-DPYTHON_LIBRARY=python${python.majorVersion}m" From 3da635c88a163f418564b9066b8087eb6da23e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cillian=20de=20R=C3=B3iste?= Date: Thu, 28 Mar 2013 01:03:30 +0100 Subject: [PATCH 8/8] Python 3.3 add setup-hook --- .../interpreters/python/3.3/setup-hook.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 pkgs/development/interpreters/python/3.3/setup-hook.sh diff --git a/pkgs/development/interpreters/python/3.3/setup-hook.sh b/pkgs/development/interpreters/python/3.3/setup-hook.sh new file mode 100644 index 00000000000..e6fa34bf54b --- /dev/null +++ b/pkgs/development/interpreters/python/3.3/setup-hook.sh @@ -0,0 +1,15 @@ +addPythonPath() { + addToSearchPathWithCustomDelimiter : PYTHONPATH $1/lib/python3.2/site-packages +} + +toPythonPath() { + local paths="$1" + local result= + for i in $paths; do + p="$i/lib/python3.2/site-packages" + result="${result}${result:+:}$p" + done + echo $result +} + +envHooks=(${envHooks[@]} addPythonPath)