summary refs log tree commit diff stats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* Fix style inconsistencies due to the previous commitnarimiran2020-07-061-4/+4
|
* revert 0944b0f4narimiran2020-07-061-4/+4
|
* deprecate existsDir; use dirExists instead (#14884)Timothee Cour2020-07-033-7/+7
|
* Add jsre (#14870)Juan Carlos2020-07-031-2/+5
|
* {.deprecated: [existsFile: fileExists].} (#14735)Timothee Cour2020-07-026-15/+15
| | | | | | | | | * {.deprecated: [existsFile: fileExists].} * s/existsFile/fileExists/ except under deps * workaround pending #14819 * fix test
* CI openbsd: 3x batching via NIM_TESTAMENT_BATCH ; overall CI finishes in 21m ↵Timothee Cour2020-06-301-0/+63
| | | | | | | | | instead of 34m (#14851) * CI openbsd: 2x batching via NIM_TESTAMENT_BATCH * auto-generate .builds/openbsd_x.yml to avoid code duplication * 3x batching
* New freebsd platforms (#14801)lbartoletti2020-06-291-1/+1
| | | | | * add riscv as riscv64 * add all platforms supported by FreeBSD
* koch: add --localdocs to allow building only local docs (#14783)alaviss2020-06-251-5/+18
| | | | | | | | | | | | | | | | | | | * koch: add --localdocs to allow building only local docs This flag also make koch doc use the passed arguments when building the offline docs. This is useful when generating nightlies as we would want to use --doccmd:skip and also skipping a pass of docgen speed things up drastically (for non-native targets). This flag superseded the undocumented --docslocal. * kochdocs: filter google analytics code from the arg list instead This commit introduce a small PEG expression to filter out the google analytics code before building local docs when --localdocs is not specified. This lets us keep any arguments unrelated to google analytics when building local docs, useful for use with --doccmd:skip
* Patch #14716 - add missing `when` (#14792)Euan2020-06-241-2/+2
|
* Fix #14715 - detect tool fails on FreeBSD (#14716)Euan2020-06-241-3/+3
|
* Remove deprecated stuff from stdlib (#14699)Miran2020-06-173-3/+3
| | | | | | | * update to the latest Jester * remove deprecated procs from some stdlib modules * 'criterion' is not maintained anymore and relies on obsolete stuff
* Use cc on OpenBSD and link to libm when building result (#14672)Euan2020-06-161-5/+16
|
* tools/kochdocs: add log folding supports for more CI services (#14643)alaviss2020-06-121-1/+9
| | | | | Added log folding for: - Github Actions - Azure Pipelines
* [OpenBSD] Add arm support (#14608)lbartoletti2020-06-081-0/+1
| | | | | * add arm support to openbsd * use clang on openbsd
* ssl_config_parser: refactor for sanity reasonsLeorize2020-06-061-15/+17
|
* net: use a secure cipher list by defaultLeorize2020-06-062-0/+63
| | | | | | | | | | | Previously, the `net` module use the blanket "ALL" as the default cipher list. This list may contain security ciphers that are weak and/or outdated according to the current standard. This commit introduces a new module `ssl_config` that contains the latest OpenSSL configurations as recommended by Mozilla OpSec, and make the `net` module use the cipher list targeting `intermediate` compatibility level as the default.
* * honor --errorMax even for tools (eg drnim, nim doc) (#14546)Timothee Cour2020-06-022-3/+4
| | | * fix a bug that prevented nim doc compiler/nim on windows
* walkDirRecFilter, update doc CI filter, compiler/index.nim for docs + ↵Timothee Cour2020-06-012-58/+52
| | | | | | | | | | | various other fixes (#14501) * update doc CI filter to include the files mostly likely to require doc rebuild * remove code duplication in ./config/nimdoc.cfg; show link to compiler docs, various fixes * walkDirRecFilter, factor nativeToUnixPath workaround * glob for getRst2html * docslocal: 40s to build all docs * revert code dedup in github actions which did not work alas... * fixups
* enable compiler docs with their own index+search (#14493)Timothee Cour2020-05-291-21/+28
| | | * enable compiler docs (with its own index)
* Revert "niminst: use threaded compression when supported (#14455)" (#14462)alaviss2020-05-271-4/+2
| | | This reverts commit b749d58ea1d77aab0ab758a17140ebc57e32f8c8.
* niminst: use threaded compression when supported (#14455)alaviss2020-05-261-2/+4
|
* fix #6583, fix #14376, index+search now generated for all projects, many bug ↵Timothee Cour2020-05-251-10/+8
| | | | | | | | | fixes with nim doc (#14324) * refs #6583 fix nim doc output * changelog * change default for outDir when unspecified * cleanups * --project implies --index
* Remove the uses of {.procvar.} pragma (#14359)Kaushal Modi2020-05-152-2/+2
| | | | | | | This pragma did nothing. Ref: - https://github.com/nim-lang/Nim/issues/2172#issuecomment-383276469 - https://github.com/nim-lang/Nim/issues/12975
* Linux updates (#14170)wltsmrz2020-05-041-5/+16
| | | | | | | | | | | | | | * Add posix_memalign() * Add linux-specific open() flags O_TMPFILE: since Linux 3.11 O_PATH: since Linux 2.6.39 O_NOATIME: since Linux 2.6.8 O_DIRECT: since Linux 2.4.10 * Fix Stat type * Fix POSIX AF_INET* const generation
* Move generated tex file to doc to correct location (#14191)Dien Tran2020-05-021-0/+3
|
* tools/finish: don't quote path with space (#14058) [backport]alaviss2020-04-221-3/+2
| | | | | | | | | | Path with spaces should be added as is, quoting them makes utilities treat the quotes as part of the path. This makes `nim` unable to be used from the command line even if it appears to be added to user's Path environment variable. Even more confusing, Windows 10's PATH editor shows the path without any quotes, you only see them when you use "Edit text". Took me a good 15 minutes to figure out why couldn't I run `nim` despite it being in Path.
* Make file descriptors from stdlib non-inheritable by default (#13201)alaviss2020-04-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * io: make file descriptors non-inheritable by default This prevents file descriptors/handles leakage to child processes that might cause issues like running out of file descriptors, or potential security issues like leaking a file descriptor to a restricted file. While this breaks backward compatibility, I'm rather certain that not many programs (if any) actually make use of this implementation detail. A new API `setInheritable` is provided for the few that actually want to use this functionality. * io: disable inheritance at file creation time for supported platforms Some platforms provide extension to fopen-family of functions to allow for disabling descriptor inheritance atomically during File creation. This guards against possible leaks when a child process is spawned before we managed to disable the file descriptor inheritance (ie. in a multi-threaded program). * net, nativesockets: make sockets non inheritable by default With this commit, sockets will no longer leak to child processes when you don't want it to. Should solves a lot of "address in use" that might occur when your server has just restarted. All APIs that create sockets in these modules now expose a `inheritable` flag that allow users to toggle inheritance for the resulting sockets. An implementation of `setInheritance()` is also provided for SocketHandle. While atomically disabling inheritance at creation time is supported on Windows, it's only implemented by native winsock2, which is too much for now. This support can be implemented in a future patch. * posix: add F_DUPFD_CLOEXEC This command duplicates file descriptor with close-on-exec flag set. Defined in POSIX.1-2008. * ioselectors_kqueue: don't leak file descriptors File descriptors internally used by ioselectors on BSD/OSX are now shielded from leakage. * posix: add O_CLOEXEC This flag allows file descriptors to be open() with close-on-exec flag set atomically. This flag is specified in POSIX.1-2008 * tfdleak: test for selectors leakage Also simplified the test by using handle-type agnostic APIs to test for validity. * ioselectors_epoll: mark all fd created close-on-exec File descriptors from ioselectors should no longer leaks on Linux. * tfdleak: don't check for selector leakage on Windows The getFd proc for ioselectors_select returns a hardcoded -1 * io: add NoInheritFlag at compile time * io: add support for ioctl-based close-on-exec This allows for the flag to be set/unset in one syscall. While the performance gains might be negliable, we have one less failure point to deal with. * tfdleak: add a test for setInheritable * stdlib: add nimInheritHandles to restore old behaviors * memfiles: make file handle not inheritable by default for posix * io: setInheritable now operates on OS file handle On Windows, the native handle is the only thing that's inheritable, thus we can assume that users of this function will already have the handle available to them. This also allows users to pass down file descriptors from memfiles on Windows with ease, should that be desired. With this, nativesockets.setInheritable can be made much simpler. * changelog: clarify * nativesockets: document setInheritable return value * posix_utils: atomically disable fd inheritance for mkstemp
* make fuzzy search a bit less fuzzy (#13996) [backport:1.2]Miran2020-04-162-1/+4
|
* Improve #12920 fix (#13958)genotrance2020-04-121-3/+3
|
* posix: add full Haiku support (#13931)alaviss2020-04-091-0/+1
| | | | | | | | | | * posix: add full Haiku support This commit provides a posix_haiku derived from posix_other, with types following Haiku's definition. This fixes cases where the compiler generates type check for the wrong types (ie. checks where generated for an int-derived type but it's actually implemented as an uint instead). * tools/kochdocs: welcome posix_haiku to the blacklist
* move tinyc to a separate repo and allow installing external dependencency ↵Timothee Cour2020-04-031-0/+22
| | | | | | | (eg tinyc) from koch / library code (#13850) * remove tinyc * installDeps * update tinyc paths
* Add arm/arm64 for FreeBSD (#13822)lbartoletti2020-03-311-2/+2
| | | | | * Add arm and arm64 for FreeBSD * Add arm64 with aarch64 and reorder to avoid conflict with arm
* DrNim (Nim compiler with Z3 integration) (#13743)Andreas Rumpf2020-03-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | * code cleanups and feature additions * added basic test and koch/CI integration * make it build on Unix * DrNim: now buildable on Unix, only takes 10 minutes, enjoy * added basic documentation for DrNim which can also be seen as the RFC we're following * drnim: change the build setup so that drnim.exe ends up in bin/ * makes simple floating point ranges work * added basic float range check * drnim: teach Z3 about Nim's range types plus code refactoring * drnim: make unsigned numbers work * added and fixed index checking under setLen * first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking * drnim: .requires checking implemented * drnim: implemented .ensures properly * more impressive test involving min() * drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures * testament: support for 'pattern <directory> * koch: uses new <directory> feature of testament * drnim: added tiny musings about 'old' * Make testament work with old SSL versions * koch: add support for 'koch drnim -d:release' * drnim: preparations for the param.old notation
* Remove 2 old deprecated files (#13702)Juan Carlos2020-03-201-3/+1
|
* fix #13218: avoid some irrelevant warnings for nim doc,rst2html,--app:lib, + ↵Timothee Cour2020-03-131-1/+3
| | | | | | | | other fixes (#13550) * fix #13218: avoid some irrelevant warnings for nim doc,rst2html * suppress warnRedefinitionOfLabel for nim doc * lots of fixes for UnusedImport warnings
* `koch --nim:pathto/nim boot` and `koch boot --hint:cc:off` now work (#13516)Timothee Cour2020-03-111-7/+11
| | | | | * `koch boot --hint:cc:off` now works * `koch --nim:pathto/nim boot` now works; code cleanup
* fix nightlies builds on Windows (#13587)Varriount2020-03-041-4/+4
| | | | Before the files that should have been ignored weren't ignored because of different dir separator ('\' vs '/') on Windows.
* fix #13528 nimgrep --word now works better with operators (#13537)Timothee Cour2020-03-021-1/+2
|
* docgen: don't create compiler's docs + cleanup (#13509)Miran2020-02-261-95/+12
|
* only enable linenoise for -d:nimUseLinenoise (#13478)Timothee Cour2020-02-241-1/+2
| | | | | | * only enable linenoise for -d:nimUseLinenoise * fixup
* add more files to the ignore list, hopefully fixes nightlies on windows (#13474)Miran2020-02-241-7/+13
|
* fix linenoise regression (#13395)Timothee Cour2020-02-121-11/+19
| | | | | | * fix nightlies linenoise regression * fix other installers
* Make vccexe parse response files (#13329)Fredrik Høisæther Rasch2020-02-111-23/+43
|
* miscellaneous bug fixes (part 3) (#13304)Timothee Cour2020-02-071-1/+1
| | | | | | | | | | * fix deprecation; fix indentation * git clone: use -q * fix Warning: pragma before generic parameter list is deprecated; fix typo * bugfix: sysTypeFromName("float64") was never cached
* fix #13150 `nim doc --project` now works reliably (#13223)Timothee Cour2020-02-061-3/+5
| | | | | | | | | | * fix #13150 `nim doc --project` works with duplicate names and with imports below main project file * add to help; fixup after #13212 isRelativeTo got merged * fix test tests/compilerapi/tcompilerapi.nim * remove nimblePkg field; compute on the fly instead * kochdocs: compiler docs now under compiler/ * --docRoot now has smart default: best among @pkg, @path
* Quote nim executable before executing. (#13316) [backport]Fredrik Høisæther Rasch2020-02-021-8/+8
| | | | | In case nim executable is located in PATH containing spaces. fixes #13311
* kochdocs: use a glob instead of hardcoded list; generate docs for compiler/; ↵Timothee Cour2020-01-231-145/+138
| | | | | | | bugfixes (#13221) * kochdocs: use a glob instead of hardcoded list; generate docs for compiler/; bugfixes * fixup after #13212 isRelativeTo got merged
* maybe: allows optional chaining of field access and indexing when LHS i snil ↵Timothee Cour2020-01-181-0/+1
| | | | | | | | | (#13023) * maybe: allows optional chaining * fix tools/kochdocs.nim * improve semantics to distinguish valid from invalid values * for now, wrapnil, isValid, unwrap are not exported
* fixes #12998 nim doc regression (#13117)Timothee Cour2020-01-161-6/+3
|
* fixes #10665 (#13141) [backport]Andreas Rumpf2020-01-141-0/+47
|