From 51cc9612b74be68487e4803bb282cfc2075d64e8 Mon Sep 17 00:00:00 2001
From: "William A. Kennington III" <william@wkennington.com>
Date: Wed, 18 Feb 2015 18:02:05 -0800
Subject: [PATCH] openexr: 1.7.1 -> 2.2.0

---
 .../development/libraries/openexr/default.nix | 41 ++++++++++++-------
 pkgs/development/libraries/openexr/source.nix | 11 +++++
 .../libraries/openexr/stringh.patch           | 25 -----------
 3 files changed, 38 insertions(+), 39 deletions(-)
 create mode 100644 pkgs/development/libraries/openexr/source.nix
 delete mode 100644 pkgs/development/libraries/openexr/stringh.patch

diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index b54375ae062a..fcb27c2c0cca 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -1,18 +1,31 @@
-{ stdenv, fetchurl, pkgconfig, zlib, ctl, ilmbase }:
-
+{ stdenv, callPackage, autoconf, automake, libtool, pkgconfig, zlib, ilmbase }:
+let
+  source = callPackage ./source.nix { };
+in
 stdenv.mkDerivation rec {
-  name = "openexr-1.7.1";
+  name = "openexr-${source.version}";
   
-  src = fetchurl {
-    url = "mirror://savannah/openexr/${name}.tar.gz";
-    sha256 = "0l2rdbx9lg4qk2ms98hwbsnzpggdrx3pbjl6pcvrrpjqp5m905n6";
+  src = source.src;
+
+  prePatch = ''
+    cd OpenEXR
+  '';
+
+  preConfigure = ''
+    ./bootstrap
+  '';
+
+  configureFlags = [ "--enable-imfexamples" ];
+  
+  buildInputs = [ autoconf automake libtool pkgconfig ];
+  propagatedBuildInputs = [ ilmbase zlib ];
+  
+  meta = with stdenv.lib; {
+    homepage = http://www.openexr.com/;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
   };
-  
-  buildInputs = [ pkgconfig ctl ];
-  
-  propagatedBuildInputs = [ zlib ilmbase ];
-  
-  configureFlags = "--enable-imfexamples";
-  
-  patches = [ ./stringh.patch ];
+
+  passthru.source = source;
 }
diff --git a/pkgs/development/libraries/openexr/source.nix b/pkgs/development/libraries/openexr/source.nix
new file mode 100644
index 000000000000..30675dc54ec0
--- /dev/null
+++ b/pkgs/development/libraries/openexr/source.nix
@@ -0,0 +1,11 @@
+{ fetchFromGitHub }:
+rec {
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "openexr";
+    repo = "openexr";
+    rev = "v${version}";
+    sha256 = "030vj2jk3n65x1wl0rmxzpl1bd5mzmld2lzn7sg92svpnghry6a8";
+  };
+}
diff --git a/pkgs/development/libraries/openexr/stringh.patch b/pkgs/development/libraries/openexr/stringh.patch
deleted file mode 100644
index ef8cf06b24ae..000000000000
--- a/pkgs/development/libraries/openexr/stringh.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/exrenvmap/main.cpp b/exrenvmap/main.cpp
-index c5afcc5..5e993b3 100644
---- a/exrenvmap/main.cpp
-+++ b/exrenvmap/main.cpp
-@@ -45,6 +45,7 @@
- #include <iostream>
- #include <exception>
- #include <stdlib.h>
-+#include <string.h>
- 
- using namespace Imf;
- using namespace std;
-diff --git a/exrmaketiled/main.cpp b/exrmaketiled/main.cpp
-index 5ce4e95..f93ec08 100644
---- a/exrmaketiled/main.cpp
-+++ b/exrmaketiled/main.cpp
-@@ -44,7 +44,7 @@
- 
- #include <iostream>
- #include <exception>
--#include <string>
-+#include <string.h>
- #include <stdlib.h>
- 
- using namespace Imf;