about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJustin Bedő <cu@cua0.org>2024-05-12 08:43:54 +1000
committerGitHub <noreply@github.com>2024-05-12 08:43:54 +1000
commit0d3377a696f110f746142176c4c5d79b2c1f7028 (patch)
tree07835ce9f9704aeccd563eaba047cecd70e73aac /pkgs
parent78c337ecc1de6ce8420c4860656a722c60441360 (diff)
parentffb6ffa430df38b9c867910b07421182f544288e (diff)
Merge pull request #305638 from Kupac/fix_rsbml
rPackages.rsbml: fix build
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/by-name/li/libsbml/package.nix58
-rw-r--r--pkgs/development/r-modules/default.nix2
2 files changed, 60 insertions, 0 deletions
diff --git a/pkgs/by-name/li/libsbml/package.nix b/pkgs/by-name/li/libsbml/package.nix
new file mode 100644
index 0000000000000..ce895beee0060
--- /dev/null
+++ b/pkgs/by-name/li/libsbml/package.nix
@@ -0,0 +1,58 @@
+{
+  lib,
+  stdenv,
+  fetchFromGitHub,
+  fetchpatch,
+  cmake,
+  pkg-config,
+  bzip2,
+  libxml2,
+  swig,
+}:
+stdenv.mkDerivation (attrs: {
+  pname = "libsbml";
+  version = "5.20.2";
+
+  src = fetchFromGitHub {
+    owner = "sbmlteam";
+    repo = "libsbml";
+    rev = "v${attrs.version}";
+    hash = "sha256-8JT2r0zuf61VewtZaOAccaOUmDlQPnllA0fXE9rT5X8=";
+  };
+
+  patches = [
+    # This should be in next release, remember to remove fetchpatch
+    (fetchpatch {
+      name = "fix-xmlerror-conversion.patch";
+      url = "https://github.com/sbmlteam/libsbml/pull/358.patch";
+      hash = "sha256-uirG6XJ+w0hqBUEAGDnzhHoVtJVRdN1eqBYeneKMBao=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+    swig
+  ];
+
+  buildInputs = [
+    bzip2.dev
+    libxml2
+  ];
+
+  # libSBML doesn't always make use of pkg-config
+  cmakeFlags = [
+    "-DLIBXML_INCLUDE_DIR=${lib.getDev libxml2}/include/libxml2"
+    "-DLIBXML_LIBRARY=${lib.getLib libxml2}/lib/libxml2${stdenv.hostPlatform.extensions.sharedLibrary}"
+    "-DPKG_CONFIG_EXECUTABLE=${lib.getBin pkg-config}/bin/pkg-config"
+    "-DSWIG_EXECUTABLE=${lib.getBin swig}/bin/swig"
+  ];
+
+  meta = with lib; {
+    description = "Library for manipulating Systems Biology Markup Language (SBML)";
+    homepage = "https://github.com/sbmlteam/libsbml";
+    license = licenses.lgpl21Only;
+    maintainers = [maintainers.kupac];
+    platforms = platforms.all;
+  };
+})
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 2565d1004fb3f..8d4004d7580f3 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -380,6 +380,7 @@ let
     LOMAR = [ pkgs.gmp.dev ];
     lpsymphony = with pkgs; [ pkg-config gfortran gettext ];
     lwgeom = with pkgs; [ proj geos gdal ];
+    rsbml = [ pkgs.pkg-config ];
     rvg = [ pkgs.libpng.dev ];
     MAGEE = [ pkgs.zlib.dev pkgs.bzip2.dev ];
     magick = [ pkgs.imagemagick.dev ];
@@ -589,6 +590,7 @@ let
     gdtools = [ pkgs.pkg-config ];
     archive = [ pkgs.libarchive];
     gdalcubes = with pkgs; [ proj.dev gdal sqlite.dev netcdf ];
+    rsbml = [ pkgs.libsbml ];
     SuperGauss = [ pkgs.pkg-config pkgs.fftw.dev];
     specklestar = [ pkgs.fftw.dev ];
     cartogramR = [ pkgs.fftw.dev ];