summaryrefslogtreecommitdiff
path: root/math/chuffed
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2021-05-03 11:48:29 -0700
committerYuri Victorovich <yuri@FreeBSD.org>2021-05-03 11:59:07 -0700
commit6ae00aea2cdbffa61b2a70d222d6d453e50cd9fb (patch)
tree2bd0694046f90139de528c14dc6a6bb92d97fd9d /math/chuffed
parentx11/mako: update to 1.5 (diff)
New port: math/chuffed: Lazy clause generation CP solver for MiniZinc
Diffstat (limited to 'math/chuffed')
-rw-r--r--math/chuffed/Makefile30
-rw-r--r--math/chuffed/distinfo5
-rw-r--r--math/chuffed/pkg-descr3
-rw-r--r--math/chuffed/pkg-plist28
4 files changed, 66 insertions, 0 deletions
diff --git a/math/chuffed/Makefile b/math/chuffed/Makefile
new file mode 100644
index 000000000000..218e4b15bc49
--- /dev/null
+++ b/math/chuffed/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= chuffed
+DISTVERSION= 0.10.4
+CATEGORIES= math
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Lazy clause generation CP solver for MiniZinc
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= bison cmake compiler:c++11-lang
+USE_GITHUB= yes
+
+GH_TUPLE= cp-profiler:cpp-integration:d695d93:cpi/submodules/cp-profiler-integration
+
+CXXFLAGS+= -I${BUILD_WRKSRC}/chuffed/flatzinc # workaround for: fatal error: 'parser.tab.h' file not found, see https://github.com/chuffed/chuffed/issues/75
+
+post-patch: # workaround for: unknown symbol YYEMPTY: wrong parser.tab.h is used by the build, see https://github.com/chuffed/chuffed/issues/75
+ @${RM} ${WRKSRC}/chuffed/flatzinc/parser.tab.h
+
+post-install:
+ # move the msc file where MiniZinc looks for it, see https://github.com/chuffed/chuffed/issues/74
+ cd ${STAGEDIR}${PREFIX} && \
+ ${MKDIR} share/minizinc/solvers && \
+ ${MV} chuffed.msc share/minizinc/solvers
+ # adjust mzn executable and lib paths for MiniZinc to find them
+ ${REINPLACE_CMD} -i '' -e 's|bin/|${PREFIX}/&| ; s|share/chuffed/|${PREFIX}/&|' \
+ ${STAGEDIR}${PREFIX}/share/minizinc/solvers/chuffed.msc
+
+.include <bsd.port.mk>
diff --git a/math/chuffed/distinfo b/math/chuffed/distinfo
new file mode 100644
index 000000000000..d420e4c6986a
--- /dev/null
+++ b/math/chuffed/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1620064310
+SHA256 (chuffed-chuffed-0.10.4_GH0.tar.gz) = f7e7028d5a6b0d936f39d33e1e70ff71ccd34e39a5728928699132b213e52fde
+SIZE (chuffed-chuffed-0.10.4_GH0.tar.gz) = 308901
+SHA256 (cp-profiler-cpp-integration-d695d93_GH0.tar.gz) = ff556f0fcbdf4e438226c070bdf41e04b584bd193501b8882c6a1de8d4756ea9
+SIZE (cp-profiler-cpp-integration-d695d93_GH0.tar.gz) = 403484
diff --git a/math/chuffed/pkg-descr b/math/chuffed/pkg-descr
new file mode 100644
index 000000000000..356459fc8be7
--- /dev/null
+++ b/math/chuffed/pkg-descr
@@ -0,0 +1,3 @@
+The Chuffed CP solver backend for the MiniZinc constraint modelling language.
+
+WWW: https://github.com/chuffed/chuffed
diff --git a/math/chuffed/pkg-plist b/math/chuffed/pkg-plist
new file mode 100644
index 000000000000..41b89998f06f
--- /dev/null
+++ b/math/chuffed/pkg-plist
@@ -0,0 +1,28 @@
+bin/fzn-chuffed
+%%DATADIR%%/mznlib/all_different_int.mzn
+%%DATADIR%%/mznlib/arg_max_bool.mzn
+%%DATADIR%%/mznlib/at_least_int.mzn
+%%DATADIR%%/mznlib/at_most_int.mzn
+%%DATADIR%%/mznlib/chuffed.mzn
+%%DATADIR%%/mznlib/circuit.mzn
+%%DATADIR%%/mznlib/cost_regular.mzn
+%%DATADIR%%/mznlib/count.mzn
+%%DATADIR%%/mznlib/cumulative.mzn
+%%DATADIR%%/mznlib/disjunctive.mzn
+%%DATADIR%%/mznlib/disjunctive_strict.mzn
+%%DATADIR%%/mznlib/distribute.mzn
+%%DATADIR%%/mznlib/exactly_int.mzn
+%%DATADIR%%/mznlib/global_cardinality_low_up.mzn
+%%DATADIR%%/mznlib/inverse.mzn
+%%DATADIR%%/mznlib/maximum_int.mzn
+%%DATADIR%%/mznlib/minimum_int.mzn
+%%DATADIR%%/mznlib/nvalue.mzn
+%%DATADIR%%/mznlib/redefinitions.mzn
+%%DATADIR%%/mznlib/regular.mzn
+%%DATADIR%%/mznlib/subcircuit.mzn
+%%DATADIR%%/mznlib/table_int.mzn
+%%DATADIR%%/mznlib/values_interchange.mzn
+%%DATADIR%%/mznlib/values_sequences.mzn
+%%DATADIR%%/mznlib/variables_interchange.mzn
+%%DATADIR%%/mznlib/variables_sequences.mzn
+share/minizinc/solvers/chuffed.msc