# SPDX-License-Identifier: CC0-1.0 language = 'Nim' display = 'Nim (Nim 2.2.4)' license = [{ name = 'MIT', url = 'https://github.com/nim-lang/Nim/blob/v2.2.4/copying.txt' }] library.neo = { license = [ { name = 'Apache-2.0', url = 'https://github.com/andreaferretti/neo/blob/0.3.5/LICENSE' }, ], version = '0.3.5' } library.bignum_chaemon = { license = [ { name = 'MIT', url = 'https://github.com/chaemon/bignum/blob/master/LICENSE' }, ], version = '1.0.6' } library.Nim-ACL = { license = [ { name = 'CC0-1.0', url = 'https://github.com/zer0-star/Nim-ACL/blob/master/LICENSE' }, ], version = '0.1.0'} library.gmp = { license = [ { name = 'GPL-2.0-or-later', url = 'https://gmplib.org/repo/gmp-6.3/file/tip/COPYINGv2' }, { name = 'LGPL-3.0-or-later', url = 'https://gmplib.org/repo/gmp-6.3/file/tip/COPYING.LESSERv3' }, ], version = '6.3.0'} library.bigints = { license = [ { name = 'MIT', url = 'https://github.com/nim-lang/bigints/blob/ca00f6da386af9ad7e3abf603c0201da6a014477/license.txt' }, ], version = 'ca00f6da386af9ad7e3abf603c0201da6a014477' } library.Arraymancer = { license = [ { name = 'Apache-2.0', url = 'https://github.com/mratsim/Arraymancer/blob/84af537af1bc1f90229fff2b90abf5e5c1b02616/LICENSE' }, ], version = '84af537af1bc1f90229fff2b90abf5e5c1b02616' } library.regex = { license = [ { name = 'MIT', url = 'https://github.com/nitely/nim-regex/blob/v0.26.3/LICENSE' }, ], version = '0.26.3' } library.nimsimd = { license = [ { name = 'MIT', url = 'https://github.com/guzba/nimsimd/blob/1.3.2/LICENSE' }, ], version = '1.3.2' } library.sat = { license = [ { name = 'MIT', url = 'https://github.com/nim-lang/sat/blob/faf1617f44d7632ee9601ebc13887644925dcc01/LICENSE' }, ], version = 'faf1617f44d7632ee9601ebc13887644925dcc01' } library.boost = { license = [ { name = 'BSL-1.0', url = 'https://www.boost.org/users/license.html' }, ], version = '1.88.0' } library.Eigen = { license = [ { name = 'MPL-2.0', url = 'https://gitlab.com/libeigen/eigen/-/blob/3.4.0/COPYING.MPL2' }, ], version = '3.4.0' } library.fftw = { license = [ { name = 'GPL-3.0-or-later', url = 'https://fftw.org/fftw3_doc/License-and-Copyright.html' }, ], version = '3.3.10' } library.'AC Library' = { license = [ { name = 'CC0-1.0', url = 'https://github.com/atcoder/ac-library/blob/v1.5.1/LICENSE' }, ], version = 'v1.5.1' } library.mpfr = { license = [ { name = 'GPL-3.0-or-later', url = 'https://gitlab.inria.fr/mpfr/mpfr/-/raw/4.2.1/COPYING' }, { name = 'LGPL-3.0-or-later', url = 'https://gitlab.inria.fr/mpfr/mpfr/-/raw/4.2.1/COPYING.LESSER' }, ], version = '4.2.1' } library.nimlapack = { license = [ {name = 'Apache-2.0', url = 'https://github.com/SciNim/nimlapack/blob/v0.3.1/LICENSE' }, ], indirect = true, version = '0.3.1'} library.nimcuda = { license = [ {name = 'Apache-2.0', url = 'https://github.com/SciNim/nimcuda/blob/v0.2.2/LICENSE' }, ], indirect = true, version = '0.2.2'} library.nimblas = { license = [ {name = 'Apache-2.0', url = 'https://github.com/SciNim/nimblas/blob/v0.3.1/LICENSE' }, ], indirect = true, version = '0.3.1'} library.nim-gmp_chaemon = { license = [ {name = 'MIT', url = 'https://github.com/chaemon/nim-gmp/blob/master/COPYING' }, ], indirect = true, version = '0.2.7'} library.opencl = { license = [ {name = 'MIT', url = 'https://github.com/nim-lang/opencl/blob/v1.0.1/LICENSE' }, ], indirect = true, version = '1.0.1'} library.clblast = { license = [ {name = 'Apache-2.0', url = 'https://github.com/mratsim/nim-clblast/blob/master/README.md' }, ], indirect = true, version = '0.0.2'} library.nimcl = { license = [ {name = 'Apache-2.0', url = 'https://github.com/SciNim/nimcl/blob/0.1.3/LICENSE' }, ], indirect = true, version = '0.1.3'} library.zip = { license = [ {name = 'MIT', url = 'https://github.com/nim-lang/zip/blob/0.3.1/LICENSE' }, ], indirect = true, version = '0.3.1'} library.stb_image = { license = [ {name = 'Unlicense', url = 'https://gitlab.com/define-private-public/stb_image-Nim/-/blob/2.5/LICENSE' }, ], indirect = true, version = '2.5'} library.untar = { license = [ {name = 'MIT', url = 'https://github.com/dom96/untar/blob/master/readme.markdown' }, ], indirect = true, version = '0.1.0'} library.unicodedb = { license = [ {name = 'MIT', url = 'https://github.com/nitely/nim-unicodedb/blob/v0.13.2/LICENSE' }, ], indirect = true, version = '0.13.2'} filename = 'Main.nim' install = ''' cd /tmp sudo ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime && sudo bash -c 'echo Etc/UTC > /etc/timezone' sudo apt update && sudo apt install -y bzip2 curl xz-utils g++ git sudo apt install -y lsb-release wget software-properties-common gnupg wget https://apt.llvm.org/llvm.sh chmod +x llvm.sh sudo ./llvm.sh 20 all sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-20 1 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 1 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 1 export CHOOSENIM_CHOOSE_VERSION=2.2.4 curl https://nim-lang.org/choosenim/init.sh -sSf | bash -s -- -y export PATH=$HOME/.nimble/bin:$PATH sudo apt install libopenblas-dev liblapack-dev -y nimble install neo@0.3.5 -y nimble install https://github.com/zer0-star/Nim-ACL@0.1.0 -y sudo apt install -y libgmp3-dev nimble install https://github.com/chaemon/bignum@1.0.6 -y nimble install https://github.com/nim-lang/bigints@#ca00f6da386af9ad7e3abf603c0201da6a014477 -y nimble install arraymancer@#84af537af1bc1f90229fff2b90abf5e5c1b02616 -y nimble install regex@0.26.3 -y nimble install nimsimd@1.3.2 -y nimble install https://github.com/nim-lang/sat@#faf1617f44d7632ee9601ebc13887644925dcc01 -y sudo apt install -y python3-dev wget https://archives.boost.io/release/1.88.0/source/boost_1_88_0.tar.gz tar -xf boost_1_88_0.tar.gz cd boost_1_88_0 ./bootstrap.sh --without-libraries=mpi,graph_parallel sudo ./b2 install sudo ldconfig cd /tmp sudo apt install -y libfftw3-dev wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz tar -xvf eigen-3.4.0.tar.gz cd eigen-3.4.0 sudo cp -r Eigen/ unsupported/ /usr/local/include/ cd /tmp wget https://github.com/atcoder/ac-library/archive/refs/tags/v1.5.1.tar.gz tar -xvf v1.5.1.tar.gz sudo cp -r ac-library-1.5.1/atcoder /usr/local/include sudo apt install -y libmpfr-dev ''' compile = ''' export PATH=$HOME/.nimble/bin:$PATH nim cpp -d:release --opt:speed --multimethods:on --warning[SmallLshouldNotBeUsed]:off --hints:off --maxLoopIterationsVM:10000000000000 --maxCallDepthVM:10000000000000 -o:a.out Main.nim ''' object = 'a.out' execution = [ './a.out' ]