stevenblack-blocklist: 3.15.5 -> 3.15.8 (#372042)
[NixPkgs.git] / pkgs / development / libraries / openbabel / default.nix
blob1b81bfa7752035a04a4722b18e2189269e6a5357
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   cmake,
6   perl,
7   zlib,
8   libxml2,
9   eigen,
10   python,
11   cairo,
12   pcre,
13   pkg-config,
14   swig,
15   rapidjson,
16   boost,
17   maeparser,
18   coordgenlibs,
21 stdenv.mkDerivation rec {
22   pname = "openbabel";
23   version = "unstable-06-12-23";
25   src = fetchFromGitHub {
26     owner = "openbabel";
27     repo = pname;
28     rev = "32cf131444c1555c749b356dab44fb9fe275271f";
29     hash = "sha256-V0wrZVrojCZ9Knc5H6cPzPoYWVosRZ6Sn4PX+UFEfHY=";
30   };
32   postPatch = ''
33     sed '1i#include <ctime>' -i include/openbabel/obutil.h # gcc12
34   '';
36   buildInputs = [
37     perl
38     zlib
39     libxml2
40     eigen
41     python
42     cairo
43     pcre
44     swig
45     rapidjson
46     boost
47     maeparser
48     coordgenlibs
49   ];
51   nativeBuildInputs = [
52     cmake
53     pkg-config
54   ];
56   preConfigure = ''
57     cmakeFlagsArray+=(
58       "-DRUN_SWIG=ON"
59       "-DPYTHON_BINDINGS=ON"
60       "-DPYTHON_INSTDIR=$out/${python.sitePackages}"
61     )
62   '';
64   # Setuptools only accepts PEP 440 version strings. The "unstable" identifier
65   # can not be used. Instead we pretend to be the 3.2 beta release.
66   postFixup = ''
67     cat << EOF > $out/${python.sitePackages}/setup.py
68     from setuptools import setup
70     setup(
71         name = 'pyopenbabel',
72         version = '3.2b1',
73         packages = ['openbabel'],
74         package_data = {'openbabel' : ['_openbabel.so']}
75     )
76     EOF
77   '';
79   meta = with lib; {
80     description = "Toolbox designed to speak the many languages of chemical data";
81     homepage = "http://openbabel.org";
82     platforms = platforms.all;
83     license = licenses.gpl2Plus;
84     maintainers = with maintainers; [ danielbarter ];
85   };