Revert opam solver dependency changes

- Reverts the change to the monolithic `clingo` package in favor of the
  previous split between `clasp` and `gringo` since `opam` works with
  the latter but not (for some reason) with the former.

- Adds explicit non-support for Python in `gringo`. This is not necessary
  for opam.

- Forces usage of the `std::to_string` functions in the C++ standard
  library instead of the incomplete alternative implementations inside
  of the `gringo` sources.
This commit is contained in:
Jesse Haber-Kucharsky 2016-11-12 07:26:30 -05:00
parent c2b4a0d266
commit 51b04c1bf5
6 changed files with 66 additions and 41 deletions

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl,
boost, clasp, cmake, clingo, re2c
boost, clasp, cmake, gringo, re2c
}:
let
@ -14,11 +14,11 @@ stdenv.mkDerivation rec {
sha256 = "029035vcdk527ssf126i8ipi5zs73gqpbrg019pvm9r24rf0m373";
};
buildInputs = [ boost clasp cmake clingo re2c ];
buildInputs = [ boost clasp cmake gringo re2c ];
buildPhase = ''
cmake -DCMAKE_BUILD_TYPE=Release \
-DGRINGO_LOC=${clingo}/bin/gringo \
-DGRINGO_LOC=${gringo}/bin/gringo \
-DCLASP_LOC=${clasp}/bin/clasp \
-DENCODING_LOC=$out/share/aspcud/specification.lp \
.

View File

@ -1,37 +0,0 @@
{ stdenv, fetchFromGitHub,
bison, re2c, scons
}:
let
version = "5.1.0";
in
stdenv.mkDerivation rec {
name = "clingo-${version}";
src = fetchFromGitHub {
owner = "potassco";
repo = "clingo";
rev = "v${version}";
sha256 = "1rvaqqa8xfagsqxk45lax3l29sksijd3zvl662vpvdi1sy0d71xv";
};
buildInputs = [ bison re2c scons ];
buildPhase = ''
scons --build-dir=release
'';
installPhase = ''
mkdir -p $out/bin
cp build/release/{gringo,clingo,reify,lpconvert} $out/bin/
'';
meta = with stdenv.lib; {
description = "A grounder and solver for logic programs.";
homepage = http://potassco.org;
platforms = platforms.linux;
maintainers = [ maintainers.hakuch ];
license = licenses.gpl3Plus;
};
}

View File

@ -0,0 +1,40 @@
{ stdenv, fetchurl,
bison, re2c, scons
}:
let
version = "4.5.4";
in
stdenv.mkDerivation rec {
name = "gringo-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/potassco/gringo/${version}/gringo-${version}-source.tar.gz";
sha256 = "16k4pkwyr2mh5w8j91vhxh9aff7f4y31npwf09w6f8q63fxvpy41";
};
buildInputs = [ bison re2c scons ];
patches = [
./gringo-4.5.4-cmath.patch
./gringo-4.5.4-to_string.patch
];
buildPhase = ''
scons WITH_PYTHON= --build-dir=release
'';
installPhase = ''
mkdir -p $out/bin
cp build/release/gringo $out/bin/gringo
'';
meta = with stdenv.lib; {
description = "Converts input programs with first-order variables to equivalent ground programs";
homepage = http://potassco.sourceforge.net/;
platforms = platforms.linux;
maintainers = [ maintainers.hakuch ];
license = licenses.gpl3Plus;
};
}

View File

@ -0,0 +1,11 @@
--- gringo/libgringo/src/term.cc~ 2016-07-12 23:56:10.593577749 -0400
+++ gringo/libgringo/src/term.cc 2016-07-12 23:52:35.169968338 -0400
@@ -22,6 +22,8 @@
#include "gringo/logger.hh"
#include "gringo/graph.hh"
+#include <cmath>
+
namespace Gringo {
// {{{ definition of Defines

View File

@ -0,0 +1,11 @@
--- gringo/libgringo/gringo/bug.hh~ 2014-03-10 12:19:26.000000000 -0400
+++ gringo/libgringo/gringo/bug.hh 2016-11-12 07:51:55.288563663 -0500
@@ -32,7 +32,7 @@
#define _GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter)
#define _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) std::make_move_iterator(_Iter)
-#ifdef MISSING_STD_TO_STRING
+#if 0
#include <sstream>

View File

@ -876,7 +876,7 @@ in
goa = callPackage ../development/tools/goa { };
clingo = callPackage ../tools/misc/clingo { };
gringo = callPackage ../tools/misc/gringo { };
gti = callPackage ../tools/misc/gti { };