From 30b46643934471cbe0ebf47e430193eba95cf4bb Mon Sep 17 00:00:00 2001 From: Daniel Barter Date: Fri, 15 Jan 2021 15:21:48 -0800 Subject: [PATCH 1/4] maintainers: add danielbarter --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 50efa11c97c..e0a14ab0fe1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -2031,6 +2031,12 @@ githubId = 23366017; name = "Dan Haraj"; }; + danielbarter = { + email = "danielbarter@gmail.com"; + github = "danielbarter"; + githubId = 8081722; + name = "Daniel Barter"; + }; danieldk = { email = "me@danieldk.eu"; github = "danieldk"; From a8bb8fcab27461ca6d388caaf389fbca8a609390 Mon Sep 17 00:00:00 2001 From: Daniel Barter Date: Mon, 28 Dec 2020 12:01:20 -0800 Subject: [PATCH 2/4] openbabel: 2.4 -> 3.1.1 --- .../libraries/openbabel/default.nix | 47 ++++++++++++------- .../openbabel-bindings/default.nix | 27 +++++++++++ pkgs/top-level/python-packages.nix | 4 ++ 3 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 pkgs/development/python-modules/openbabel-bindings/default.nix diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix index d074db7d165..301025dfd20 100644 --- a/pkgs/development/libraries/openbabel/default.nix +++ b/pkgs/development/libraries/openbabel/default.nix @@ -1,34 +1,45 @@ -{stdenv, fetchurl, fetchpatch, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkgconfig }: +{stdenv, lib, fetchurl, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkg-config, swig, rapidjson }: stdenv.mkDerivation rec { pname = "openbabel"; - version = "2.4.1"; + version = "3.1.1"; src = fetchurl { url = "https://github.com/openbabel/openbabel/archive/openbabel-${stdenv.lib.replaceStrings ["."] ["-"] version}.tar.gz"; - sha256 = "0xm7y859ivq2cp0q08mwshfxm0jq31xkyr4x8s0j6l7khf57yk2r"; + sha256 = "c97023ac6300d26176c97d4ef39957f06e68848d64f1a04b0b284ccff2744f02"; }; - patches = [ - # ARM / AArch64 fixes. - (fetchpatch { - url = "https://github.com/openbabel/openbabel/commit/ee11c98a655296550710db1207b294f00e168216.patch"; - sha256 = "0wjqjrkr4pfirzzicdvlyr591vppydk572ix28jd2sagnfnf566g"; - }) + + buildInputs = [ zlib libxml2 eigen python cairo pcre swig rapidjson ]; + + nativeBuildInputs = [ cmake pkg-config ]; + + pythonMajorMinor = "${python.sourceVersion.major}.${python.sourceVersion.minor}"; + + cmakeFlags = [ + "-DRUN_SWIG=ON" + "-DPYTHON_BINDINGS=ON" ]; - # TODO : perl & python bindings; - # TODO : wxGTK: I have no time to compile - # TODO : separate lib and apps - buildInputs = [ zlib libxml2 eigen python cairo pcre ]; - nativeBuildInputs = [ cmake pkgconfig ]; + postFixup = '' + cat < $out/lib/python$pythonMajorMinor/site-packages/setup.py + from distutils.core import setup - meta = { + setup( + name = 'pyopenbabel', + version = '${version}', + packages = ['openbabel'], + package_data = {'openbabel' : ['_openbabel.so']} + ) + EOF + ''; + + meta = with lib; { description = "A toolbox designed to speak the many languages of chemical data"; homepage = "http://openbabel.org"; - platforms = stdenv.lib.platforms.all; - maintainers = [ ]; - license = stdenv.lib.licenses.gpl2Plus; + platforms = platforms.all; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ danielbarter ]; }; } diff --git a/pkgs/development/python-modules/openbabel-bindings/default.nix b/pkgs/development/python-modules/openbabel-bindings/default.nix new file mode 100644 index 00000000000..18a6a8dd032 --- /dev/null +++ b/pkgs/development/python-modules/openbabel-bindings/default.nix @@ -0,0 +1,27 @@ +{ stdenv, lib, openbabel, python, buildPythonPackage }: + +buildPythonPackage rec { + pname = "openbabel"; + version = "3.1.1"; + + src = "${openbabel}/lib/python${python.sourceVersion.major}.${python.sourceVersion.minor}/site-packages"; + + nativeBuildInputs = [ openbabel ]; + + # these env variables are used by the bindings to find libraries + # they need to be included explicitly in your nix-shell for + # some functionality to work (inparticular, pybel). + # see https://openbabel.org/docs/dev/Installation/install.html + BABEL_LIBDIR = "${openbabel}/lib/openbabel/3.1.0"; + LD_LIBRARY_PATH = "$LD_LIBRARY_PATH:${openbabel}/lib"; + + doCheck = false; + pythonImportsCheck = [ "openbabel" ]; + + meta = with lib; { + homepage = "http://openbabel.org/wiki/Main_Page"; + description = "Python bindings for openbabel"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ danielbarter ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 754e0d75310..ef69757042e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4458,6 +4458,10 @@ in { openapi-spec-validator = callPackage ../development/python-modules/openapi-spec-validator { }; + openbabel-bindings = callPackage ../development/python-modules/openbabel-bindings { + openbabel = (callPackage ../development/libraries/openbabel { python = self.python; }); + }; + opencv3 = toPythonModule (pkgs.opencv3.override { enablePython = true; pythonPackages = self; From aadf7a50d777726e9facd509e518d6d3e848fc93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 18 Jan 2021 00:21:05 +0100 Subject: [PATCH 3/4] openbabel2: init at 2.4.1 --- pkgs/development/libraries/openbabel/2.nix | 31 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/openbabel/2.nix diff --git a/pkgs/development/libraries/openbabel/2.nix b/pkgs/development/libraries/openbabel/2.nix new file mode 100644 index 00000000000..41631da1241 --- /dev/null +++ b/pkgs/development/libraries/openbabel/2.nix @@ -0,0 +1,31 @@ +{stdenv, lib, fetchurl, fetchpatch, cmake, zlib, libxml2, eigen, python, cairo, pcre, pkg-config }: + +stdenv.mkDerivation rec { + pname = "openbabel"; + version = "2.4.1"; + + src = fetchurl { + url = "https://github.com/openbabel/openbabel/archive/openbabel-${stdenv.lib.replaceStrings ["."] ["-"] version}.tar.gz"; + sha256 = "0xm7y859ivq2cp0q08mwshfxm0jq31xkyr4x8s0j6l7khf57yk2r"; + }; + + patches = [ + # ARM / AArch64 fixes. + (fetchpatch { + url = "https://github.com/openbabel/openbabel/commit/ee11c98a655296550710db1207b294f00e168216.patch"; + sha256 = "0wjqjrkr4pfirzzicdvlyr591vppydk572ix28jd2sagnfnf566g"; + }) + ]; + + buildInputs = [ zlib libxml2 eigen python cairo pcre ]; + + nativeBuildInputs = [ cmake pkg-config ]; + + meta = with lib; { + description = "A toolbox designed to speak the many languages of chemical data"; + homepage = "http://openbabel.org"; + platforms = platforms.all; + maintainers = with maintainers; [ danielbarter ]; + license = licenses.gpl2Plus; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 355df6b465f..7a0cce2f68f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15779,7 +15779,11 @@ in }; openal = openalSoft; - openbabel = callPackage ../development/libraries/openbabel { }; + openbabel = openbabel3; + + openbabel2 = callPackage ../development/libraries/openbabel/2.nix { }; + + openbabel3 = callPackages ../development/libraries/openbabel { }; opencascade = callPackage ../development/libraries/opencascade { inherit (darwin.apple_sdk.frameworks) OpenCL Cocoa; @@ -27344,6 +27348,7 @@ in ### SCIENCE/CHEMISTY avogadro = callPackage ../applications/science/chemistry/avogadro { + openbabel = openbabel2; eigen = eigen2; }; From 197eace0818140013f4e5cd12d6ecc40e153852c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sandro=20J=C3=A4ckel?= Date: Mon, 18 Jan 2021 00:21:19 +0100 Subject: [PATCH 4/4] avogadro: update maintainers --- pkgs/applications/science/chemistry/avogadro/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/science/chemistry/avogadro/default.nix b/pkgs/applications/science/chemistry/avogadro/default.nix index 14ceb91b06c..a1e775135e0 100644 --- a/pkgs/applications/science/chemistry/avogadro/default.nix +++ b/pkgs/applications/science/chemistry/avogadro/default.nix @@ -21,9 +21,9 @@ stdenv.mkDerivation rec { }) ]; - meta = { + meta = with lib; { description = "Molecule editor and visualizer"; - maintainers = [ ]; - platforms = lib.platforms.mesaPlatforms; + maintainers = with maintainers; [ danielbarter ]; + platforms = platforms.mesaPlatforms; }; }