let pkgs = import {}; latest-coin-utils = pkgs.callPackage ./nix/coin-utils.nix {}; latest-osi = (pkgs.callPackage ./nix/osi.nix {}).override { coin-utils = latest-coin-utils; }; latest-clp = (pkgs.callPackage ./nix/clp.nix {}).override { coin-utils = latest-coin-utils; osi = latest-osi; }; in pkgs.mkShell { # "override" required dependencies buildInputs = (with pkgs; [ latest-clp latest-coin-utils pkg-config gmp bzip2 lapack blas ]); shellHook = '' # Why are these paths not set by Nix? export PKG_CONFIG_PATH=${latest-coin-utils}/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=${latest-coin-utils}/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=${latest-osi}/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=${latest-osi}/lib:$LD_LIBRARY_PATH export PKG_CONFIG_PATH=${latest-clp}/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=${latest-clp}/lib:$LD_LIBRARY_PATH ''; }