aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2022-11-02 00:02:54 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2022-11-02 16:22:56 +0000
commit1040fd38d58f27fd6897a72354ad980736395097 (patch)
treea8b5fb4fa27884ea79a54cd6b506ea6f01a3ebe2
parentfcae2c5fbc4aa4097986aa9eacd1afbd14953c1d (diff)
downloadports-1040fd38d58f27fd6897a72354ad980736395097.tar.gz
ports-1040fd38d58f27fd6897a72354ad980736395097.zip
science/dd_package: New port: MQT decision diagram package tailored to quantum computing
-rw-r--r--science/Makefile1
-rw-r--r--science/dd_package/Makefile29
-rw-r--r--science/dd_package/distinfo7
-rw-r--r--science/dd_package/files/patch-CMakeLists.txt11
-rw-r--r--science/dd_package/files/patch-include_dd_Package.hpp10
-rw-r--r--science/dd_package/pkg-descr4
-rw-r--r--science/dd_package/pkg-plist17
7 files changed, 79 insertions, 0 deletions
diff --git a/science/Makefile b/science/Makefile
index f27b0eee9581..832f4b446b50 100644
--- a/science/Makefile
+++ b/science/Makefile
@@ -66,6 +66,7 @@
SUBDIR += dakota
SUBDIR += dalton
SUBDIR += dcl
+ SUBDIR += dd_package
SUBDIR += devisor
SUBDIR += dftbplus
SUBDIR += dftd4
diff --git a/science/dd_package/Makefile b/science/dd_package/Makefile
new file mode 100644
index 000000000000..4e8a919ddbba
--- /dev/null
+++ b/science/dd_package/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= dd_package
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.1.0
+CATEGORIES= science # quantum-computing
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= MQT decision diagram package tailored to quantum computing
+WWW= https://www.cda.cit.tum.de/research/quantum_dd/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake:testing compiler:c++17-lang
+
+USE_GITHUB= yes
+GH_ACCOUNT= cda-tum
+GH_TUPLE= google:benchmark:398a8ac:benchmark/extern/benchmark \
+ google:googletest:3026483:googletest/extern/googletest
+
+CMAKE_OFF= BUILD_DD_PACKAGE_TESTS
+CMAKE_TESTING_ON= BUILD_DD_PACKAGE_TESTS # one test fails: DDPackageTest.RequestInvalidPackageSize, see https://github.com/cda-tum/dd_package/issues/117
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+do-install: # workaround for https://github.com/cda-tum/dd_package/issues/115
+ @cd ${WRKSRC}/include && ${COPYTREE_SHARE} dd ${STAGEDIR}${PREFIX}/include
+
+.include <bsd.port.mk>
diff --git a/science/dd_package/distinfo b/science/dd_package/distinfo
new file mode 100644
index 000000000000..ecf3a4baff73
--- /dev/null
+++ b/science/dd_package/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1667345831
+SHA256 (cda-tum-dd_package-v2.1.0_GH0.tar.gz) = 5b8ad683995e61505e15c13beafa9e5e1946b14b9e6ba9e5f8c1767af4496f14
+SIZE (cda-tum-dd_package-v2.1.0_GH0.tar.gz) = 74748
+SHA256 (google-benchmark-398a8ac_GH0.tar.gz) = 2991bb75b3454e008152cd14c448608e8133fe0f832eb4ce1b8e06f0f72d24ad
+SIZE (google-benchmark-398a8ac_GH0.tar.gz) = 196562
+SHA256 (google-googletest-3026483_GH0.tar.gz) = 1790cf41d6b9b023e1751888155b4fe1a20cd5b9842c3aa67633aac4b2610ba2
+SIZE (google-googletest-3026483_GH0.tar.gz) = 859168
diff --git a/science/dd_package/files/patch-CMakeLists.txt b/science/dd_package/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..256cced4a13b
--- /dev/null
+++ b/science/dd_package/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2022-11-01 23:29:46 UTC
++++ CMakeLists.txt
+@@ -87,7 +87,7 @@ macro(enable_lto TARGET_NAME)
+ endmacro()
+
+ # add test code
+-if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME OR BUILD_DD_PACKAGE_TESTS)
++if (BUILD_DD_PACKAGE_TESTS)
+ if (NOT EXISTS "${PROJECT_SOURCE_DIR}/extern/googletest/CMakeLists.txt")
+ message(FATAL_ERROR "GoogleTest submodule not cloned properly. Please run `git submodule update --init --recursive` from the main project directory")
+ endif ()
diff --git a/science/dd_package/files/patch-include_dd_Package.hpp b/science/dd_package/files/patch-include_dd_Package.hpp
new file mode 100644
index 000000000000..a8d024a00527
--- /dev/null
+++ b/science/dd_package/files/patch-include_dd_Package.hpp
@@ -0,0 +1,10 @@
+--- include/dd/Package.hpp.orig 2022-11-01 23:39:28 UTC
++++ include/dd/Package.hpp
+@@ -39,6 +39,7 @@
+ #include <random>
+ #include <regex>
+ #include <set>
++#include <stack>
+ #include <stdexcept>
+ #include <string>
+ #include <type_traits>
diff --git a/science/dd_package/pkg-descr b/science/dd_package/pkg-descr
new file mode 100644
index 000000000000..33affdca0e3a
--- /dev/null
+++ b/science/dd_package/pkg-descr
@@ -0,0 +1,4 @@
+A decision diagram package tailored to quantum computing developed by the Chair
+for Design Automation at the Technical University of Munich. The DD Package is
+part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by
+the Institute for Integrated Circuits at the Johannes Kepler University Linz).
diff --git a/science/dd_package/pkg-plist b/science/dd_package/pkg-plist
new file mode 100644
index 000000000000..5f678a8d30bf
--- /dev/null
+++ b/science/dd_package/pkg-plist
@@ -0,0 +1,17 @@
+include/dd/Complex.hpp
+include/dd/ComplexCache.hpp
+include/dd/ComplexNumbers.hpp
+include/dd/ComplexTable.hpp
+include/dd/ComplexValue.hpp
+include/dd/ComputeTable.hpp
+include/dd/Control.hpp
+include/dd/Definitions.hpp
+include/dd/Edge.hpp
+include/dd/Export.hpp
+include/dd/GateMatrixDefinitions.hpp
+include/dd/Node.hpp
+include/dd/NoiseOperationTable.hpp
+include/dd/Package.hpp
+include/dd/ToffoliTable.hpp
+include/dd/UnaryComputeTable.hpp
+include/dd/UniqueTable.hpp