* [bug#49625] [PATCH WIP] gnu: Add minizinc.
@ 2021-07-18 15:03 Leo Prikler
2021-07-24 15:08 ` [bug#49625] [PATCH 1/2] gnu: Add gecode Leo Prikler
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Leo Prikler @ 2021-07-18 15:03 UTC (permalink / raw)
To: 49625
* gnu/packages/maths.scm (minizinc): New variable.
---
MiniZinc typically wants to be used with the hitherto unpackaged Gecode
(https://www.gecode.org), but getting its RUNPATH correct appears pretty
non-straightforward. It does however also function with CBC by specifying
‘--solver cbc’.
gnu/packages/maths.scm | 82 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index b4cf0b5409..dce1b5627f 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2837,6 +2837,88 @@ the Cauchy-Schwarz inequality, Stirling's formula, etc. See the Metamath
book.")
(license license:gpl2+)))
+(define-public minizinc
+ (package
+ (name "minizinc")
+ (version "2.5.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MiniZinc/libminizinc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10b2hsl1fx9psh0iagmp8ki3f60f3qg5hmvra5aczjlfmbl88ggp"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)))
+ (snippet
+ '(begin
+ ;; Do not advertise proprietary solvers
+ (with-directory-excursion "cmake/targets"
+ (let ((targets '("libminizinc_fzn.cmake"
+ "libminizinc_gecode.cmake"
+ "libminizinc_mip.cmake"
+ "libminizinc_nl.cmake"
+ "libminizinc_osicbc.cmake"
+ "libminizinc_parser.cmake"
+ "libmzn.cmake"
+ "minizinc.cmake"
+ "mzn2doc.cmake")))
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file (cons* "." ".." targets)))
+ (scandir ".")))
+ (substitute* "libmzn.cmake"
+ (("include\\(cmake/targets/(.*)\\)" all target)
+ (if (member target targets) all "")))))
+ (with-directory-excursion "include/minizinc/solvers/MIP"
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file '("." ".."
+ "MIP_osicbc_solverfactory.hh"
+ "MIP_osicbc_wrap.hh"
+ "MIP_solverinstance.hh"
+ "MIP_solverinstance.hpp"
+ "MIP_wrap.hh")))
+ (scandir "."))))
+ (with-directory-excursion "solvers/MIP"
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file '("." ".."
+ "MIP_osicbc_solverfactory.cpp"
+ "MIP_osicbc_wrap.cpp"
+ "MIP_solverinstance.cpp"
+ "MIP_wrap.cpp")))
+ (scandir "."))))
+ (substitute* "CMakeLists.txt"
+ (("find_package\\(([^ ]*).*\\)" all pkg)
+ (if (member pkg '("Gecode ""OsiCBC" "Threads"))
+ all
+ "")))
+ ;; TODO: swap out miniz for zlib
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no ‘check’ target
+ ))
+ (inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)
+ ("zlib" ,zlib)
+ ;; solvers
+ ("cbc" ,cbc)))
+ (home-page "https://www.minizinc.org")
+ (synopsis "High-level constraint modeling language")
+ (description "MiniZinc is a high-level modeling language for constraint
+satisfaction and optimization problems. Models are compiled to FlatZinc, a
+language understood by many solvers.")
+ (license license:mpl2.0)))
+
(define-public mumps
(package
(name "mumps")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49625] [PATCH 1/2] gnu: Add gecode.
2021-07-18 15:03 [bug#49625] [PATCH WIP] gnu: Add minizinc Leo Prikler
@ 2021-07-24 15:08 ` Leo Prikler
2021-07-24 15:08 ` [bug#49625] [PATCH 2/2] gnu: Add minizinc Leo Prikler
2021-07-24 18:25 ` [bug#49625] [PATCH WIP] " Maxime Devos
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Leo Prikler @ 2021-07-24 15:08 UTC (permalink / raw)
To: 49625
* gnu/packages/maths.scm (gecode): New variable.
---
gnu/packages/maths.scm | 71 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eeb32d554a..c052d33214 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2008,6 +2008,77 @@ linear and quadratic objectives. There are limited facilities for nonlinear
and quadratic objectives using the Simplex algorithm.")
(license license:epl1.0)))
+(define-public gecode
+ (package
+ (name "gecode")
+ (version "6.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Gecode/gecode")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b1cq0c810j1xr2x9y9996p894571sdxng5h74py17c6nr8c6dmk"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; delete generated sources
+ (for-each delete-file
+ '("gecode/kernel/var-imp.hpp"
+ "gecode/kernel/var-type.hpp"))))))
+ (outputs '("out" "examples"))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "GLDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib")
+ "--enable-examples=no")
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "compileexamples")))
+ ;; The Makefile disrespects GLDFLAGS for some reason, so we have to
+ ;; patch it ourselves... *sigh*
+ (add-after 'install 'fix-rpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((libdir (string-append (assoc-ref outputs "out") "/lib")))
+ (for-each
+ (lambda (file)
+ (let* ((pipe (open-pipe* OPEN_READ "patchelf"
+ "--print-rpath" file))
+ (line (read-line pipe)))
+ (and (zero? (close-pipe pipe))
+ (invoke "patchelf" "--set-rpath"
+ (string-append libdir ":" line)
+ file))))
+ (find-files libdir ".*\\.so$")))))
+ (add-after 'install 'install-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "installexamples"
+ (string-append "bindir=" (assoc-ref outputs "examples")
+ "/bin"))))
+ ;; Tests depend on installed libraries.
+ (delete 'check)
+ (add-after 'fix-rpath 'check
+ (assoc-ref %standard-phases 'check)))))
+ (native-inputs
+ `(("patchelf" ,patchelf)
+ ("perl" ,perl)
+ ("sed" ,sed)))
+ (home-page "https://www.gecode.org")
+ (synopsis "Toolkit for developing constraint-based systems")
+ (description "Gecode is a C++ toolkit for developing constraint-based
+systems and applications. It provides a modular and extensible solver.")
+ (license license:expat)))
+
(define-public libflame
(package
(name "libflame")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49625] [PATCH 2/2] gnu: Add minizinc.
2021-07-24 15:08 ` [bug#49625] [PATCH 1/2] gnu: Add gecode Leo Prikler
@ 2021-07-24 15:08 ` Leo Prikler
0 siblings, 0 replies; 7+ messages in thread
From: Leo Prikler @ 2021-07-24 15:08 UTC (permalink / raw)
To: 49625
* gnu/packages/maths.scm (minizinc): New variable.
---
gnu/packages/maths.scm | 130 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 130 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c052d33214..5f5184c722 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3057,6 +3057,136 @@ the Cauchy-Schwarz inequality, Stirling's formula, etc. See the Metamath
book.")
(license license:gpl2+)))
+(define-public minizinc
+ (package
+ (name "minizinc")
+ (version "2.5.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MiniZinc/libminizinc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10b2hsl1fx9psh0iagmp8ki3f60f3qg5hmvra5aczjlfmbl88ggp"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)))
+ (snippet
+ '(begin
+ ;; Do not advertise proprietary solvers
+ (with-directory-excursion "cmake/targets"
+ (let ((targets '("libminizinc_fzn.cmake"
+ "libminizinc_gecode.cmake"
+ "libminizinc_mip.cmake"
+ "libminizinc_nl.cmake"
+ "libminizinc_osicbc.cmake"
+ "libminizinc_parser.cmake"
+ "libmzn.cmake"
+ "minizinc.cmake"
+ "mzn2doc.cmake")))
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file (cons* "." ".." targets)))
+ (scandir ".")))
+ (substitute* "libmzn.cmake"
+ (("include\\(cmake/targets/(.*)\\)" all target)
+ (if (member target targets) all "")))))
+ (with-directory-excursion "include/minizinc/solvers/MIP"
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file '("." ".."
+ "MIP_osicbc_solverfactory.hh"
+ "MIP_osicbc_wrap.hh"
+ "MIP_solverinstance.hh"
+ "MIP_solverinstance.hpp"
+ "MIP_wrap.hh")))
+ (scandir "."))))
+ (with-directory-excursion "solvers/MIP"
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file '("." ".."
+ "MIP_osicbc_solverfactory.cpp"
+ "MIP_osicbc_wrap.cpp"
+ "MIP_solverinstance.cpp"
+ "MIP_wrap.cpp")))
+ (scandir "."))))
+ (substitute* "CMakeLists.txt"
+ (("find_package\\(([^ ]*).*\\)" all pkg)
+ (if (member pkg '("Gecode" "OsiCBC" "Threads"))
+ all
+ "")))
+ ;; TODO: swap out miniz for zlib
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no ‘check’ target
+ #:modules ((guix build cmake-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-solver-configs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((gecode (assoc-ref inputs "gecode"))
+ (pkgdatadir (string-append (assoc-ref outputs "out")
+ "/share/minizinc")))
+ (call-with-output-file (string-append pkgdatadir
+ "/Preferences.json")
+ (lambda (port)
+ (display "\
+{
+ \"tagDefaults\": [
+ [\"\", \"org.gecode.gecode\"],
+ [\"gecode\", \"org.gecode.gecode\"]
+ ],
+ \"solverDefaults\": []
+}"
+ port)
+ (newline port)))
+
+ (mkdir-p (string-append pkgdatadir "/solvers"))
+ (call-with-output-file (string-append pkgdatadir
+ "/solvers/gecode.msc")
+ (lambda (port)
+ (format port
+ "\
+{
+ \"id\": \"org.gecode.gecode\",
+ \"name\": \"Gecode\",
+ \"description\": \"Gecode FlatZinc executable\",
+ \"version\": ~s,
+ \"mznlib\": ~s,
+ \"executable\": ~s,
+ \"supportsMzn\": false,
+ \"supportsFzn\": true,
+ \"needsSolns2Out\": true,
+ \"needsMznExecutable\": false,
+ \"needsStdlibDir\": false,
+ \"isGUIApplication\": false
+}"
+ (last (string-split gecode #\-))
+ (string-append gecode "/share/gecode/mznlib")
+ (string-append gecode "/bin/fzn-gecode"))
+ (newline port)))))))))
+ (inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)
+ ("zlib" ,zlib)
+ ;; solvers
+ ("cbc" ,cbc)
+ ("gecode" ,gecode)))
+ (home-page "https://www.minizinc.org")
+ (synopsis "High-level constraint modeling language")
+ (description "MiniZinc is a high-level modeling language for constraint
+satisfaction and optimization problems. Models are compiled to FlatZinc, a
+language understood by many solvers.")
+ (license license:mpl2.0)))
+
(define-public mumps
(package
(name "mumps")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49625] [PATCH WIP] gnu: Add minizinc.
2021-07-18 15:03 [bug#49625] [PATCH WIP] gnu: Add minizinc Leo Prikler
2021-07-24 15:08 ` [bug#49625] [PATCH 1/2] gnu: Add gecode Leo Prikler
@ 2021-07-24 18:25 ` Maxime Devos
2021-07-25 22:23 ` [bug#49625] [PATCH v2 1/2] gnu: Add gecode Leo Prikler
2021-09-25 13:25 ` bug#49625: [PATCH WIP] " Liliana Marie Prikler
3 siblings, 0 replies; 7+ messages in thread
From: Maxime Devos @ 2021-07-24 18:25 UTC (permalink / raw)
To: Leo Prikler, 49625
[-- Attachment #1: Type: text/plain, Size: 383 bytes --]
Hi,
> + (inputs
> + `(("bison" ,bison)
> + ("flex" ,flex)
"bison" and "flex" are usually only used at compile time,
so these should probably be native inputs. As a test,
you can use "guix gc --references" to test if a reference to
"bison" and "flex" is retained (if there's no reference,
then they should probably be native-inputs).
Greetings,
Maxime.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* [bug#49625] [PATCH v2 1/2] gnu: Add gecode.
2021-07-18 15:03 [bug#49625] [PATCH WIP] gnu: Add minizinc Leo Prikler
2021-07-24 15:08 ` [bug#49625] [PATCH 1/2] gnu: Add gecode Leo Prikler
2021-07-24 18:25 ` [bug#49625] [PATCH WIP] " Maxime Devos
@ 2021-07-25 22:23 ` Leo Prikler
2021-07-25 22:23 ` [bug#49625] [PATCH v2 2/2] gnu: Add minizinc Leo Prikler
2021-09-25 13:25 ` bug#49625: [PATCH WIP] " Liliana Marie Prikler
3 siblings, 1 reply; 7+ messages in thread
From: Leo Prikler @ 2021-07-25 22:23 UTC (permalink / raw)
To: 49625
* gnu/packages/maths.scm (gecode): New variable.
---
gnu/packages/maths.scm | 71 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eeb32d554a..c052d33214 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2008,6 +2008,77 @@ linear and quadratic objectives. There are limited facilities for nonlinear
and quadratic objectives using the Simplex algorithm.")
(license license:epl1.0)))
+(define-public gecode
+ (package
+ (name "gecode")
+ (version "6.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Gecode/gecode")
+ (commit (string-append "release-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b1cq0c810j1xr2x9y9996p894571sdxng5h74py17c6nr8c6dmk"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; delete generated sources
+ (for-each delete-file
+ '("gecode/kernel/var-imp.hpp"
+ "gecode/kernel/var-type.hpp"))))))
+ (outputs '("out" "examples"))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "GLDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib")
+ "--enable-examples=no")
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 rdelim)
+ (ice-9 popen))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "compileexamples")))
+ ;; The Makefile disrespects GLDFLAGS for some reason, so we have to
+ ;; patch it ourselves... *sigh*
+ (add-after 'install 'fix-rpath
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((libdir (string-append (assoc-ref outputs "out") "/lib")))
+ (for-each
+ (lambda (file)
+ (let* ((pipe (open-pipe* OPEN_READ "patchelf"
+ "--print-rpath" file))
+ (line (read-line pipe)))
+ (and (zero? (close-pipe pipe))
+ (invoke "patchelf" "--set-rpath"
+ (string-append libdir ":" line)
+ file))))
+ (find-files libdir ".*\\.so$")))))
+ (add-after 'install 'install-examples
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "installexamples"
+ (string-append "bindir=" (assoc-ref outputs "examples")
+ "/bin"))))
+ ;; Tests depend on installed libraries.
+ (delete 'check)
+ (add-after 'fix-rpath 'check
+ (assoc-ref %standard-phases 'check)))))
+ (native-inputs
+ `(("patchelf" ,patchelf)
+ ("perl" ,perl)
+ ("sed" ,sed)))
+ (home-page "https://www.gecode.org")
+ (synopsis "Toolkit for developing constraint-based systems")
+ (description "Gecode is a C++ toolkit for developing constraint-based
+systems and applications. It provides a modular and extensible solver.")
+ (license license:expat)))
+
(define-public libflame
(package
(name "libflame")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [bug#49625] [PATCH v2 2/2] gnu: Add minizinc.
2021-07-25 22:23 ` [bug#49625] [PATCH v2 1/2] gnu: Add gecode Leo Prikler
@ 2021-07-25 22:23 ` Leo Prikler
0 siblings, 0 replies; 7+ messages in thread
From: Leo Prikler @ 2021-07-25 22:23 UTC (permalink / raw)
To: 49625
* gnu/packages/maths.scm (minizinc): New variable.
---
gnu/packages/maths.scm | 130 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 130 insertions(+)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c052d33214..d72a534f30 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3057,6 +3057,136 @@ the Cauchy-Schwarz inequality, Stirling's formula, etc. See the Metamath
book.")
(license license:gpl2+)))
+(define-public minizinc
+ (package
+ (name "minizinc")
+ (version "2.5.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/MiniZinc/libminizinc")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10b2hsl1fx9psh0iagmp8ki3f60f3qg5hmvra5aczjlfmbl88ggp"))
+ (modules '((guix build utils)
+ (ice-9 ftw)
+ (srfi srfi-1)))
+ (snippet
+ '(begin
+ ;; Do not advertise proprietary solvers
+ (with-directory-excursion "cmake/targets"
+ (let ((targets '("libminizinc_fzn.cmake"
+ "libminizinc_gecode.cmake"
+ "libminizinc_mip.cmake"
+ "libminizinc_nl.cmake"
+ "libminizinc_osicbc.cmake"
+ "libminizinc_parser.cmake"
+ "libmzn.cmake"
+ "minizinc.cmake"
+ "mzn2doc.cmake")))
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file (cons* "." ".." targets)))
+ (scandir ".")))
+ (substitute* "libmzn.cmake"
+ (("include\\(cmake/targets/(.*)\\)" all target)
+ (if (member target targets) all "")))))
+ (with-directory-excursion "include/minizinc/solvers/MIP"
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file '("." ".."
+ "MIP_osicbc_solverfactory.hh"
+ "MIP_osicbc_wrap.hh"
+ "MIP_solverinstance.hh"
+ "MIP_solverinstance.hpp"
+ "MIP_wrap.hh")))
+ (scandir "."))))
+ (with-directory-excursion "solvers/MIP"
+ (for-each delete-file
+ (remove
+ (lambda (file)
+ (member file '("." ".."
+ "MIP_osicbc_solverfactory.cpp"
+ "MIP_osicbc_wrap.cpp"
+ "MIP_solverinstance.cpp"
+ "MIP_wrap.cpp")))
+ (scandir "."))))
+ (substitute* "CMakeLists.txt"
+ (("find_package\\(([^ ]*).*\\)" all pkg)
+ (if (member pkg '("Gecode" "OsiCBC" "Threads"))
+ all
+ "")))
+ ;; TODO: swap out miniz for zlib
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no ‘check’ target
+ #:modules ((guix build cmake-build-system)
+ (guix build utils)
+ (srfi srfi-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'install-solver-configs
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((gecode (assoc-ref inputs "gecode"))
+ (pkgdatadir (string-append (assoc-ref outputs "out")
+ "/share/minizinc")))
+ (call-with-output-file (string-append pkgdatadir
+ "/Preferences.json")
+ (lambda (port)
+ (display "\
+{
+ \"tagDefaults\": [
+ [\"\", \"org.gecode.gecode\"],
+ [\"gecode\", \"org.gecode.gecode\"]
+ ],
+ \"solverDefaults\": []
+}"
+ port)
+ (newline port)))
+
+ (mkdir-p (string-append pkgdatadir "/solvers"))
+ (call-with-output-file (string-append pkgdatadir
+ "/solvers/gecode.msc")
+ (lambda (port)
+ (format port
+ "\
+{
+ \"id\": \"org.gecode.gecode\",
+ \"name\": \"Gecode\",
+ \"description\": \"Gecode FlatZinc executable\",
+ \"version\": ~s,
+ \"mznlib\": ~s,
+ \"executable\": ~s,
+ \"supportsMzn\": false,
+ \"supportsFzn\": true,
+ \"needsSolns2Out\": true,
+ \"needsMznExecutable\": false,
+ \"needsStdlibDir\": false,
+ \"isGUIApplication\": false
+}"
+ (last (string-split gecode #\-))
+ (string-append gecode "/share/gecode/mznlib")
+ (string-append gecode "/bin/fzn-gecode"))
+ (newline port)))))))))
+ (native-inputs
+ `(("bison" ,bison)
+ ("flex" ,flex)))
+ (inputs
+ `(("cbc" ,cbc)
+ ("gecode" ,gecode)
+ ("zlib" ,zlib)))
+ (home-page "https://www.minizinc.org")
+ (synopsis "High-level constraint modeling language")
+ (description "MiniZinc is a high-level modeling language for constraint
+satisfaction and optimization problems. Models are compiled to FlatZinc, a
+language understood by many solvers.")
+ (license license:mpl2.0)))
+
(define-public mumps
(package
(name "mumps")
--
2.32.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* bug#49625: [PATCH WIP] gnu: Add minizinc.
2021-07-18 15:03 [bug#49625] [PATCH WIP] gnu: Add minizinc Leo Prikler
` (2 preceding siblings ...)
2021-07-25 22:23 ` [bug#49625] [PATCH v2 1/2] gnu: Add gecode Leo Prikler
@ 2021-09-25 13:25 ` Liliana Marie Prikler
3 siblings, 0 replies; 7+ messages in thread
From: Liliana Marie Prikler @ 2021-09-25 13:25 UTC (permalink / raw)
To: 49625-done
Pushed v2.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-09-25 13:26 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-18 15:03 [bug#49625] [PATCH WIP] gnu: Add minizinc Leo Prikler
2021-07-24 15:08 ` [bug#49625] [PATCH 1/2] gnu: Add gecode Leo Prikler
2021-07-24 15:08 ` [bug#49625] [PATCH 2/2] gnu: Add minizinc Leo Prikler
2021-07-24 18:25 ` [bug#49625] [PATCH WIP] " Maxime Devos
2021-07-25 22:23 ` [bug#49625] [PATCH v2 1/2] gnu: Add gecode Leo Prikler
2021-07-25 22:23 ` [bug#49625] [PATCH v2 2/2] gnu: Add minizinc Leo Prikler
2021-09-25 13:25 ` bug#49625: [PATCH WIP] " Liliana Marie Prikler
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.