Răsfoiți Sursa

add lemon and soplex (#703)

* add soplex

* add lemon

* update vcglib

* update xtensor

* fix xsimd

* fix flag on windows

* make avx default
Hoildkv 3 ani în urmă
părinte
comite
c2b3a855ae

+ 24 - 0
packages/l/lemon/xmake.lua

@@ -0,0 +1,24 @@
+package("lemon")
+
+    set_homepage("https://lemon.cs.elte.hu/trac/lemon")
+    set_description("Library for Efficient Modeling and Optimization in Networks.")
+    set_license("BSL-1.0")
+
+    add_urls("http://lemon.cs.elte.hu/pub/sources/lemon-$(version).tar.gz")
+    add_versions("1.3.1", "71b7c725f4c0b4a8ccb92eb87b208701586cf7a96156ebd821ca3ed855bad3c8")
+
+    if is_plat("windows") then
+        add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
+    end
+
+    add_deps("cmake")
+    on_install("windows", "macosx", "linux", function (package)
+        local configs = {"-DLEMON_ENABLE_GLPK=OFF", "-DLEMON_ENABLE_ILOG=OFF", "-DLEMON_ENABLE_COIN=OFF", "-DLEMON_ENABLE_SOPLEX=OFF"}
+        table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
+        table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
+        import("package.tools.cmake").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:has_cxxtypes("lemon::SmartDigraph", {configs = {languages = "c++11"}, includes = "lemon/smart_graph.h"}))
+    end)

+ 34 - 0
packages/s/soplex/xmake.lua

@@ -0,0 +1,34 @@
+package("soplex")
+
+    set_homepage("https://soplex.zib.de/")
+    set_description("SoPlex is an optimization package for solving linear programming problems (LPs) based on an advanced implementation of the primal and dual revised simplex algorithm.")
+
+    add_urls("https://soplex.zib.de/download/release/soplex-$(version).tgz")
+    add_versions("5.0.2", "eaaf3b1d0e8832b25e9f4c1e44bd935c869a487b26e86c2c41856f850b22f4dd")
+
+    add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
+
+    add_deps("cmake", "zlib")
+    if is_plat("macosx", "linux") then
+        add_deps("gmp")
+    end
+    add_links("soplex")
+    on_install("windows", "macosx", "linux", function (package)
+        local configs = {"-DBOOST=OFF"}
+        table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
+        if package:is_plat("windows") then
+            table.insert(configs, "-DMT=" .. (package:config("vs_runtime"):startswith("MT") and "ON" or "OFF"))
+        end
+        import("package.tools.cmake").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            #include <soplex.h>
+            void test() {
+                using namespace soplex;
+                SoPlex mysoplex;
+                mysoplex.setIntParam(SoPlex::OBJSENSE, SoPlex::OBJSENSE_MINIMIZE);
+            }
+        ]]}, {configs = {languages = "c++11"}}))
+    end)

+ 1 - 0
packages/v/vcglib/xmake.lua

@@ -7,6 +7,7 @@ package("vcglib")
     add_urls("https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/$(version).tar.gz")
     add_urls("https://github.com/cnr-isti-vclab/vcglib/archive/refs/tags/$(version).tar.gz")
     add_versions("2020.12", "731c57435e39c4b958a1d766cadd9865d9db35e36410708f2da7818e9fa5f786")
     add_versions("2020.12", "731c57435e39c4b958a1d766cadd9865d9db35e36410708f2da7818e9fa5f786")
     add_versions("2021.07", "384bb4bb86b4114391cbc0fb8990f218473a656d06f2214bcc3725dac193db1c")
     add_versions("2021.07", "384bb4bb86b4114391cbc0fb8990f218473a656d06f2214bcc3725dac193db1c")
+    add_versions("2021.10", "a443a4a63c0f6691229c80aa22a15f17ab7d9da2b0b6a5111cf39aee86632d5a")
 
 
     add_deps("eigen")
     add_deps("eigen")
     on_install("windows", "macosx", "linux", function (package)
     on_install("windows", "macosx", "linux", function (package)

+ 25 - 11
packages/x/xsimd/xmake.lua

@@ -5,11 +5,13 @@ package("xsimd")
     set_description("C++ wrappers for SIMD intrinsics")
     set_description("C++ wrappers for SIMD intrinsics")
     set_license("BSD-3-Clause")
     set_license("BSD-3-Clause")
 
 
-    add_urls("https://github.com/xtensor-stack/xsimd/archive/refs/tags/$(version).tar.gz")
+    add_urls("https://github.com/xtensor-stack/xsimd/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/xtensor-stack/xsimd.git")
     add_versions("7.6.0", "eaf47f1a316ef6c3287b266161eeafc5aa61226ce5ac6c13502546435b790252")
     add_versions("7.6.0", "eaf47f1a316ef6c3287b266161eeafc5aa61226ce5ac6c13502546435b790252")
+    add_versions("8.0.3", "d1d41253c4f82eaf2f369d7fcb4142e35076cf8675b9d94caa06ecf883024344")
 
 
     if is_plat("windows") then
     if is_plat("windows") then
-        add_cxxflags("/arch:AVX")
+        add_cxxflags("/arch:AVX2")
     else
     else
         add_cxxflags("-march=native")
         add_cxxflags("-march=native")
     end
     end
@@ -20,13 +22,25 @@ package("xsimd")
     end)
     end)
 
 
     on_test(function (package)
     on_test(function (package)
-        assert(package:check_cxxsnippets({test = [[
-            #include <iostream>
-            void test() {
-                xsimd::batch<double, 4> a(1.5, 2.5, 3.5, 4.5);
-                xsimd::batch<double, 4> b(2.5, 3.5, 4.5, 5.5);
-                auto mean = (a + b) / 2;
-                std::cout << mean << std::endl;
-            }
-        ]]}, {configs = {languages = "c++14"}, includes = "xsimd/xsimd.hpp"}))
+        if package:version():ge("8.0") then
+            assert(package:check_cxxsnippets({test = [[
+                #include <iostream>
+                void test() {
+                    xsimd::batch<double, xsimd::avx> a{1.5, 2.5, 3.5, 4.5};
+                    xsimd::batch<double, xsimd::avx> b{2.5, 3.5, 4.5, 5.5};
+                    auto mean = (a + b) / 2;
+                    std::cout << mean << std::endl;
+                }
+            ]]}, {configs = {languages = "c++14"}, includes = "xsimd/xsimd.hpp"}))
+        else
+            assert(package:check_cxxsnippets({test = [[
+                #include <iostream>
+                void test() {
+                    xsimd::batch<double, 4> a(1.5, 2.5, 3.5, 4.5);
+                    xsimd::batch<double, 4> b(2.5, 3.5, 4.5, 5.5);
+                    auto mean = (a + b) / 2;
+                    std::cout << mean << std::endl;
+                }
+            ]]}, {configs = {languages = "c++14"}, includes = "xsimd/xsimd.hpp"}))
+        end
     end)
     end)

+ 3 - 1
packages/x/xtensor-blas/xmake.lua

@@ -5,8 +5,10 @@ package("xtensor-blas")
     set_description("BLAS extension to xtensor")
     set_description("BLAS extension to xtensor")
     set_license("BSD-3-Clause")
     set_license("BSD-3-Clause")
 
 
-    add_urls("https://github.com/xtensor-stack/xtensor-blas/archive/refs/tags/$(version).tar.gz")
+    add_urls("https://github.com/xtensor-stack/xtensor-blas/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/xtensor-stack/xtensor-blas.git")
     add_versions("0.19.1", "c77cc4e2297ebd22d0d1c6e8d0a6cf0975176afa8cb99dbfd5fb2be625a0248f")
     add_versions("0.19.1", "c77cc4e2297ebd22d0d1c6e8d0a6cf0975176afa8cb99dbfd5fb2be625a0248f")
+    add_versions("0.20.0", "272f5d99bb7511a616bfe41b13a000e63de46420f0b32a25fa4fb935b462c7ff")
 
 
     add_configs("vendor", {description = "Set BLAS vendor.", default = "openblas", type = "string", values = {"mkl", "openblas"}})
     add_configs("vendor", {description = "Set BLAS vendor.", default = "openblas", type = "string", values = {"mkl", "openblas"}})
 
 

+ 3 - 1
packages/x/xtensor/xmake.lua

@@ -5,8 +5,10 @@ package("xtensor")
     set_description("Multi-dimensional arrays with broadcasting and lazy computing")
     set_description("Multi-dimensional arrays with broadcasting and lazy computing")
     set_license("BSD-3-Clause")
     set_license("BSD-3-Clause")
 
 
-    add_urls("https://github.com/xtensor-stack/xtensor/archive/refs/tags/$(version).tar.gz")
+    add_urls("https://github.com/xtensor-stack/xtensor/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/xtensor-stack/xtensor.git")
     add_versions("0.23.10", "2e770a6d636962eedc868fef4930b919e26efe783cd5d8732c11e14cf72d871c")
     add_versions("0.23.10", "2e770a6d636962eedc868fef4930b919e26efe783cd5d8732c11e14cf72d871c")
+    add_versions("0.24.0", "37738aa0865350b39f048e638735c05d78b5331073b6329693e8b8f0902df713")
 
 
     add_deps("cmake")
     add_deps("cmake")
     add_deps("xtl", "xsimd")
     add_deps("xtl", "xsimd")

+ 3 - 1
packages/x/xtl/xmake.lua

@@ -5,8 +5,10 @@ package("xtl")
     set_description("Basic tools (containers, algorithms) used by other quantstack packages")
     set_description("Basic tools (containers, algorithms) used by other quantstack packages")
     set_license("BSD-3-Clause")
     set_license("BSD-3-Clause")
 
 
-    add_urls("https://github.com/xtensor-stack/xtl/archive/refs/tags/$(version).tar.gz")
+    add_urls("https://github.com/xtensor-stack/xtl/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/xtensor-stack/xtl.git")
     add_versions("0.7.2", "95c221bdc6eaba592878090916383e5b9390a076828552256693d5d97f78357c")
     add_versions("0.7.2", "95c221bdc6eaba592878090916383e5b9390a076828552256693d5d97f78357c")
+    add_versions("0.7.3", "f4a81e3c9ca9ddb42bd4373967d4859ecfdca1aba60b9fa6ced6c84d8b9824ff")
 
 
     add_deps("cmake")
     add_deps("cmake")
     add_deps("nlohmann_json")
     add_deps("nlohmann_json")