|
@@ -0,0 +1,40 @@
|
|
|
+package("nim")
|
|
|
+ set_kind("toolchain")
|
|
|
+ set_homepage("https://nim-lang.org/")
|
|
|
+ set_description("Nim is a statically typed compiled systems programming language")
|
|
|
+
|
|
|
+ local precompiled = false
|
|
|
+ if is_host("windows") then
|
|
|
+ if os.arch() == "x86" then
|
|
|
+ add_urls("https://nim-lang.org/download/nim-$(version)_x32.zip")
|
|
|
+ add_versions("2.0.2", "d076d35fdab29baf83c66f1135a1fd607eb61d4c14037706f7be3ba58fb83d87")
|
|
|
+ precompiled = true
|
|
|
+ elseif os.arch() == "x64" then
|
|
|
+ add_urls("https://nim-lang.org/download/nim-$(version)_x64.zip")
|
|
|
+ add_versions("2.0.2", "948dbf8e3fdd1b5242e3d662fd25c50e9b2586e097be8a85c22d7db2bde70bad")
|
|
|
+ precompiled = true
|
|
|
+ end
|
|
|
+ end
|
|
|
+ if not precompiled then
|
|
|
+ add_urls("https://github.com/nim-lang/Nim/archive/refs/tags/v$(version).tar.gz")
|
|
|
+ add_versions("2.0.2", "2ca2f559d05e29f130cb4f319ebb93a98e7c0e2187716b17b2cb4e747f5ff798")
|
|
|
+ end
|
|
|
+
|
|
|
+ on_install("@windows", "@msys", function (package)
|
|
|
+ os.cp("*", package:installdir())
|
|
|
+ end)
|
|
|
+
|
|
|
+ on_install("@windows|arm64", function (package)
|
|
|
+ os.vrunv("./build_all.bat", {}, {shell = true})
|
|
|
+ os.cp("bin", package:installdir())
|
|
|
+ end)
|
|
|
+
|
|
|
+ on_install("@macosx", "@linux", function (package)
|
|
|
+ os.vrunv("./build_all.sh", {}, {shell = true})
|
|
|
+ os.cp("bin", package:installdir())
|
|
|
+ end)
|
|
|
+
|
|
|
+ on_test(function (package)
|
|
|
+ os.vrun("nim --version")
|
|
|
+ os.vrun("nimble --version")
|
|
|
+ end)
|