Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scipoptsuite: init at 9.2.0 #374527

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -7497,6 +7497,12 @@
githubId = 11705326;
name = "Max Kochurov";
};
fettgoenner = {
email = "[email protected]";
github = "fettgoenner";
githubId = 92429150;
name = "Paul Meinhold";
};
ffinkdevs = {
email = "[email protected]";
github = "ffinkdevs";
Expand Down
62 changes: 62 additions & 0 deletions pkgs/by-name/sc/scipopt-gcg/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
lib,
pkgs,
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
stdenv,
fetchFromGitHub,
cmake,
scipopt-scip,
cliquer,
gsl,
gmp,
bliss,
nauty,
}:

stdenv.mkDerivation rec {
pname = "scipopt-gcg";
version = "370";

src = fetchFromGitHub {
owner = "scipopt";
repo = "gcg";
rev = "v370";
sha256 = "s7VmBWwDSGa7fAoydg54OHvulFWda8E48nEVsdCdQt8=";
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
};

nativeBuildInputs = [
cmake
];

buildInputs = [
scipopt-scip
cliquer
gsl
gmp
bliss
nauty
];

# Fixing the error
# > CMake Error at CMakeLists.txt:236 (find_package):
# > By not providing "FindNAUTY.cmake" in CMAKE_MODULE_PATH this project has
# > asked CMake to find a package configuration file provided by "NAUTY", but
# > CMake did not find one.
# with this weird workaround of setting SCIPOptSuite_SOURCE_DIR to include the scipopt-scip source
# files via symlinks, so the specific nauty files are found:
preConfigure = ''
mkdir -pv $out/scip
ln -sv ${scipopt-scip.src}/src/ $out/scip/src
cmakeFlagsArray+=(
"-DSCIPOptSuite_SOURCE_DIR=$out"
)
'';

cmakeFlags = [ ];

FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
meta = {
maintainers = with lib.maintainers; [ fettgoenner ];
description = "Branch-and-Price & Column Generation for Everyone";
license = lib.licenses.lgpl3;
homepage = "https://gcg.zib.de";
};
}
50 changes: 50 additions & 0 deletions pkgs/by-name/sc/scipopt-papilo/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
{
lib,
pkgs,
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
stdenv,
cmake,
fetchFromGitHub,
boost,
blas,
gmp,
tbb_2021_11,
gfortran,
}:

stdenv.mkDerivation {
pname = "scipopt-papilo";
version = "2.4.0";

src = fetchFromGitHub {
owner = "scipopt";
repo = "papilo";
rev = "v2.4.0";
sha256 = "WMw9v57nuP6MHj9Ft4l5FxdIF5VUWCRm/909tbz7VD4=";
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
};

nativeBuildInputs = [ cmake ];

buildInputs = [
blas
gmp
gfortran
boost
tbb_2021_11
];

cmakeFlags = [
"-D GMP=ON"
"-D QUADMATH=ON"
"-D TBB=ON"
"-D TBB_DOWNLOAD=OFF"
"-D SOPLEX=OFF"
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
];

meta = {
maintainers = with lib.maintainers; [ fettgoenner ];
description = "Parallel Presolve for Integer and Linear Optimization";
license = lib.licenses.lgpl3;
homepage = "https://github.com/scipopt/papilo";
mainProgram = "papilo";
};
}
58 changes: 58 additions & 0 deletions pkgs/by-name/sc/scipopt-scip/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchzip,
fetchFromGitHub,
cmake,
zlib,
readline,
gmp,
scipopt-soplex,
scipopt-papilo,
scipopt-zimpl,
ipopt,
tbb_2021_11,
boost,
gfortran,
criterion,
mpfr,
}:

stdenv.mkDerivation rec {
pname = "scipopt-scip";
version = "9.2.0";

src = fetchFromGitHub {
owner = "scipopt";
repo = "scip";
rev = "v920";
sha256 = "sha256-F9PBnPuGh+vDYuBL9R0pWg0PUiDrrKT4YdOH1K22dRk=";
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
};

nativeBuildInputs = [ cmake ];

buildInputs = [
scipopt-soplex
scipopt-papilo
scipopt-zimpl
ipopt
gmp
readline
zlib
tbb_2021_11
boost
gfortran
criterion
mpfr # if not included, throws fatal error: mpfr.h not found
];

cmakeFlags = [ ];

meta = {
maintainers = with lib.maintainers; [ fettgoenner ];
description = "Solving Constraint Integer Programs";
license = lib.licenses.asl20;
homepage = "https://github.com/scipopt/scip";
mainProgram = "scip";
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,15 @@
lib,
stdenv,
cmake,
gmp,
mpfr,
zlib,
boost,
fetchFromGitHub,
}:

stdenv.mkDerivation (finalAttrs: {
pname = "soplex";
pname = "scipopt-soplex";
version = "712";

src = fetchFromGitHub {
Expand All @@ -18,12 +22,20 @@ stdenv.mkDerivation (finalAttrs: {

nativeBuildInputs = [ cmake ];

buildInputs = [
gmp
mpfr
zlib
boost
mpfr
];

strictDeps = true;

doCheck = true;

meta = {
homepage = "https://scipopt.org";
homepage = "https://soplex.zib.de/";
description = "Sequential object-oriented simPlex";
license = with lib.licenses; [ asl20 ];
mainProgram = "soplex";
Expand Down
39 changes: 39 additions & 0 deletions pkgs/by-name/sc/scipopt-ug/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
lib,
stdenv,
fetchzip,
cmake,
scipopt-scip,
zlib,
mpi,
}:

stdenv.mkDerivation rec {
pname = "scipopt-ug";
version = "1.0.0-beta6";
sikmir marked this conversation as resolved.
Show resolved Hide resolved

# Take the SCIPOptSuite source since no other source exists publicly.
src = fetchzip {
url = "https://github.com/scipopt/scip/releases/download/v920/scipoptsuite-9.2.0.tgz";
sha256 = "SaIo/U9cconmGRxEPV5M7IO6+L9wGCaXqxifefUzFk4=";
};

sourceRoot = "source/ug";
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved

nativeBuildInputs = [
cmake
];

buildInputs = [
scipopt-scip
mpi
zlib
];

meta = {
maintainers = with lib.maintainers; [ fettgoenner ];
description = "Ubiquity Generator framework to parallelize branch-and-bound based solvers";
license = lib.licenses.lgpl3;
homepage = "https://ug.zib.de";
};
}
59 changes: 59 additions & 0 deletions pkgs/by-name/sc/scipopt-zimpl/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{
lib,
pkgs,
FettGoenner marked this conversation as resolved.
Show resolved Hide resolved
stdenv,
fetchFromGitHub,
cmake,
bison,
flex,
gmp,
zlib,
}:

stdenv.mkDerivation {
pname = "scipopt-zimpl";
version = "362";

src = fetchFromGitHub {
owner = "scipopt";
repo = "zimpl";
rev = "v362";
sha256 = "juqAwzqBArsFXmz7L7RQaE78EhQdP5P51wQFlCoo7/o=";
};

nativeBuildInputs = [
cmake
bison
flex
];

buildInputs = [
gmp
zlib
];

meta = {
maintainers = with lib.maintainers; [ fettgoenner ];
description = "Zuse Institut Mathematical Programming Language";
longDescription = ''
ZIMPL is a little language to translate the mathematical model of a
problem into a linear or (mixed-)integer mathematical program
expressed in .lp or .mps file format which can be read by a LP or MIP
solver.

If you use Zimpl for research and publish results, the best way
to refer to Zimpl is to cite my Ph.d. thesis:

@PHDTHESIS{Koch2004,
author = "Thorsten Koch",
title = "Rapid Mathematical Programming",
year = "2004",
school = "Technische {Universit\"at} Berlin",
url = "http://www.zib.de/Publications/abstracts/ZR-04-58/",
note = "ZIB-Report 04-58",
}
'';
license = lib.licenses.lgpl3;
homepage = "https://zimpl.zib.de";
};
}