From 51b04c1bf518cfb5053557491e99dc6ff64cc416 Mon Sep 17 00:00:00 2001 From: Jesse Haber-Kucharsky Date: Sat, 12 Nov 2016 07:26:30 -0500 Subject: [PATCH] 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. --- pkgs/tools/misc/aspcud/default.nix | 6 +-- pkgs/tools/misc/clingo/default.nix | 37 ----------------- pkgs/tools/misc/gringo/default.nix | 40 +++++++++++++++++++ .../misc/gringo/gringo-4.5.4-cmath.patch | 11 +++++ .../misc/gringo/gringo-4.5.4-to_string.patch | 11 +++++ pkgs/top-level/all-packages.nix | 2 +- 6 files changed, 66 insertions(+), 41 deletions(-) delete mode 100644 pkgs/tools/misc/clingo/default.nix create mode 100644 pkgs/tools/misc/gringo/default.nix create mode 100644 pkgs/tools/misc/gringo/gringo-4.5.4-cmath.patch create mode 100644 pkgs/tools/misc/gringo/gringo-4.5.4-to_string.patch diff --git a/pkgs/tools/misc/aspcud/default.nix b/pkgs/tools/misc/aspcud/default.nix index 0bdcfa76fec1..577c0a33b3ee 100644 --- a/pkgs/tools/misc/aspcud/default.nix +++ b/pkgs/tools/misc/aspcud/default.nix @@ -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 \ . diff --git a/pkgs/tools/misc/clingo/default.nix b/pkgs/tools/misc/clingo/default.nix deleted file mode 100644 index 6ab0a68920f7..000000000000 --- a/pkgs/tools/misc/clingo/default.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/tools/misc/gringo/default.nix b/pkgs/tools/misc/gringo/default.nix new file mode 100644 index 000000000000..00879d9505b8 --- /dev/null +++ b/pkgs/tools/misc/gringo/default.nix @@ -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; + }; +} diff --git a/pkgs/tools/misc/gringo/gringo-4.5.4-cmath.patch b/pkgs/tools/misc/gringo/gringo-4.5.4-cmath.patch new file mode 100644 index 000000000000..7b5510e2344b --- /dev/null +++ b/pkgs/tools/misc/gringo/gringo-4.5.4-cmath.patch @@ -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 ++ + namespace Gringo { + + // {{{ definition of Defines diff --git a/pkgs/tools/misc/gringo/gringo-4.5.4-to_string.patch b/pkgs/tools/misc/gringo/gringo-4.5.4-to_string.patch new file mode 100644 index 000000000000..b81eab4cd678 --- /dev/null +++ b/pkgs/tools/misc/gringo/gringo-4.5.4-to_string.patch @@ -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 + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 342b4e50d96f..0cfed41dceb2 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -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 { };