Skip to content

Instantly share code, notes, and snippets.

@idontgetoutmuch
Created November 6, 2020 12:49
Show Gist options
  • Save idontgetoutmuch/fbb2e12592492ae7d5192c4f62718e9c to your computer and use it in GitHub Desktop.
Save idontgetoutmuch/fbb2e12592492ae7d5192c4f62718e9c to your computer and use it in GitHub Desktop.
{ stdenv
, fetchurl
, llvmPackages
, overrideCC
, gcc }:
let
openmp = llvmPackages.openmp;
in (overrideCC stdenv gcc).mkDerivation rec {
pname = "PhysiCell";
version = "1.7.1";
buildInputs = [ openmp ];
nativeBuildInputs = [ openmp ];
src = fetchGit {
url = "file:///Users/dom/GBM-tumour-growth-with-stroma";
rev = "f0541645b0cce984814efdb5bf6c6b60ced57821";
};
PHYSICELL_CPP="${gcc}/bin/g++";
project = "GBM_stroma_growth";
buildPhase = ''
make $project-sample
make
'';
installPhase = ''
mkdir -p "$out"/bin
cp $project $out/bin/$project
'';
meta = with stdenv.lib; {
description = "PhysiCell: an Open Source Physics-Based Cell Simulator for 3-D Multicellular Systems.";
homepage = http://physicell.org;
platforms = platforms.all;
maintainers = with maintainers; [ idontgetoutmuch ];
license = licenses.bsd3;
};
}
let
nixpkgs = builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/20.03.tar.gz";
sha256 = "0182ys095dfx02vl2a20j1hz92dx3mfgz2a6fhn31bqlp1wa8hlq";
};
in
with import nixpkgs { overlays = [ ]; };
let
openmp = llvmPackages.openmp;
myInputs = [
cabal-install
ghc
openmp
which
];
in
(overrideCC stdenv gcc).mkDerivation {
name = "nix-shell";
phases = ["nobuildPhase"];
buildInputs = myInputs;
nativeBuildInputs = myInputs;
propagatedBuildInputs = myInputs;
propagatedNativeBuildInputs = myInputs;
PHYSICELL_CPP="${gcc}/bin/g++";
nobuildPhase = ''
echo
echo "This derivation is not meant to be built, aborting";
echo
exit 1
'';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment