Commit graph

286 commits

Author SHA1 Message Date
narimiran
9bd0c2d59a quick-fix for os.nim documentation 2019-02-01 19:37:24 +01:00
Miran
0c2c2dca2a better docs: os (#10492)
* better docs: os
* remove broken test on osx
2019-01-30 17:35:09 +01:00
Neelesh Chandola
3cc39c2eb9 Show filename in exception raised by expandFilename on windows (#10365) 2019-01-18 18:46:35 +01:00
Timothee Cour
9af85fb69f fixes #10273 execShellCmd now returns nonzero when child killed with signal + other fixes (#10274)
* s/exitStatus(...)/exitStatusLikeShell(...)/
* fix #10273 execShellCmd now returns nonzero when child exits with signal
* test case for #10249 and explanation for the bug
* fix test failure
* add tests/nim.cfg
2019-01-13 09:00:39 +01:00
alaviss
6737634d88 os.execShellCmd: fixes #10231 (#10232)
Darwin has long deprecated the wait union, but their macros still assume
it unless you define _POSIX_C_SOURCE. This trips up C++ compilers.

This commit duplicates the behavior of WEXITSTATUS when _POSIX_C_SOURCE
is defined.
2019-01-08 12:41:15 +01:00
alaviss
139fa396e8 os.execShellCmd: use WEXITSTATUS to retrieve exit code (#10222)
According to POSIX, system() shall returns the termination status in the
format specified by waitpid(), which means WEXITSTATUS should be used to
retrieve the exit code portably.

This fixes execShellCmd on Haiku.
2019-01-07 12:27:07 +01:00
Hugo Locurcio
e5ca57d85c Fix the tuple returned by os.splitFile() in documentation (#10197) 2019-01-05 01:00:38 +01:00
Neelesh Chandola
e9a192c36f expandFilename on windows is now consistent with other platforms (#10154) 2019-01-04 15:11:48 +01:00
Araq
0c97d3a41c fixes #10066 2018-12-21 14:28:52 +01:00
alaviss
b6257f3f21 os.walkDir: correctly evaluate paths when relative = true (#10057) [backport] 2018-12-21 14:12:48 +01:00
Timothee Cour
fc7df3283c fix test failure 2018-12-19 16:11:23 -08:00
Timothee Cour
656770402c fix #8255 numerous issues with splitFile 2018-12-19 16:11:23 -08:00
Timothee Cour
c4e3c4ca2d add getCurrentCompilerExe to vmops (eg allows to get nim compiler at CT); add tests for vmops (#9925) 2018-12-18 09:07:12 +01:00
Araq
ce9815bcf5 os.nim: use the new pathnorm.normalizePath implementation 2018-12-14 08:57:55 +01:00
Araq
5b39c7aca9 fixes joinPath regressions 2018-12-13 16:19:00 +01:00
Araq
9cc4a57768 os.nim: big refactoring, use the new pathnorm that was extracted by compiler/pathutils.nim; added os.relativePath 2018-12-13 12:05:50 +01:00
Andreas Rumpf
160a034643
Merge pull request #9803 from GULPF/walkdirrec-relative
Add `relative` parameter to walkDirRec
2018-12-06 09:29:35 +01:00
Timothee Cour
e4850b7f1c address comments 2018-12-04 02:51:27 -08:00
Timothee Cour
53147cc546 fixup 2018-12-03 14:25:04 -08:00
Timothee Cour
af7d758cfc address comments 2018-12-03 14:03:06 -08:00
Oscar Nihlgård
e5aae93bfe Add relative parameter to walkDirRec 2018-11-26 22:08:45 +01:00
Randy Smith
6c7abe6e5b Fixes #9671 (#9750) 2018-11-19 09:22:21 +01:00
Andreas Rumpf
8d850f7a69
deprecated ospaths (#9665) 2018-11-09 16:36:49 +01:00
Timothee Cour
3bef851143 fix #8225 os.isHidden was buggy on posix (#8315)
* fix #8225 isHidden was broken on posix

* scope rest of tos.nim under blocks to avoid variable scope bugs
2018-10-15 00:22:34 +02:00
alaviss
dad290accb os: use unlink() to remove file (#9220)
removeFile() behavior should now be consistant between Windows and POSIX

Fixes #9200
2018-10-09 15:37:36 +02:00
Timothee Cour
73e6b229aa [os] clarify docs for existsDir (#9212)
* Update os.nim

* Update os.nim
2018-10-09 15:04:29 +02:00
Yasuhiro Horimoto
aa8249d177 Fix #9126: use splitPath instead of substr 2018-09-30 23:20:14 +09:00
Leorize
8cc1c55620
os: add getAppFilename() implementation for Haiku 2018-09-24 21:01:55 +07:00
Andreas Rumpf
c1aecb8914 os.nim: allow walkDir to work on hierarchies with dangling symbolic links; refs #9034 2018-09-24 13:15:55 +02:00
Araq
64517445ea even more strict isNil handling for strings/seqs in order to detect bugs 2018-08-22 12:35:46 +02:00
Emery Hemingway
2da0341b4d Genode fixes (#8501)
* Genode fixes

- wrap strings in "Genode::Cstring" when logging
- define SIGABRT for Genode
- disable GCC -fstack-protector
- use log RPC for fatal messages
- add --os:genode build to appveyor
- define paramStr and paramCount

* Select fixups for Genode POSIX
2018-08-16 18:12:37 +02:00
alaviss
7ef268274f Haiku support for Nim (#8542)
* posix_other: Haiku now has spawn.h

This is added per https://dev.haiku-os.org/ticket/13446

* posix_other: Add Haiku specific Dirent members

* cpuinfo: Add an implementation for Haiku

* distros: Add basic Haiku support

* encodings: update Haiku support

* fenv, math: Haiku now provides libm

* times: Add Haiku struct members

* ansi_c, osalloc: Add Haiku constants

* threads: Add Haiku support

* testament: Haiku uses LIBRARY_PATH

* nim.cfg: Update Haiku support

libnetwork should only be linked if network functions are used

* threads: Haiku does not support -pthread switch

* tworkingdir: Haiku's env is in /bin

* posix_other: add SIGKILLTHR for Haiku

* sockets: link with libnetwork on Haiku

* coro: correct ucontext.h location

http://pubs.opengroup.org/onlinepubs/009696699/basedefs/ucontext.h.html

* coro: ucontext backend is not available on Haiku

Haiku doesn't provide the <ucontext.h> header, as it was removed from POSIX

* coro: fix setjmp backend

The compiler does not allow statements after a noreturn function

* nativesockets: Haiku doesn't support AI_V4MAPPED

* system: hostOS can contains "haiku"

* os: add support for Haiku's packagefs

packagefs is read-only, but there are writable holes to the underlying
file system as well

* os: update constant for Haiku
2018-08-14 09:35:07 +02:00
Timothee Cour
9249276db0 addresses issue #8391 show runtime context on some failed operations (#8393) 2018-07-23 22:58:03 +02:00
Timothee Cour
25bf0d1683 add os.absolutePath; fixes #8174 (#8213)
* add os.absolutePath

* fixup

* fixup

* Fixes absolutePath error message.
2018-07-10 20:31:13 +01:00
Federico Ceratto
d65429d857 Add normalizePath and tests 2018-07-06 20:21:39 +01:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Andreas Rumpf
61d9292095 fixes merge conflict 2018-06-11 01:25:48 +02:00
Araq
8e9551b1c7 fixex merge conflicts 2018-06-08 19:50:36 +02:00
Emery Hemingway
22f714585b Native access to Genode environment
Add a 'GenodeEnv' type and a 'componentConstructHook' to the system
module. The 'componentConstructHook' allows for detection of POSIX style
programs that exit implicitly or native Genode components that
initialize to serve RPC requests and OS signals.

This hook takes a 'GenodeEnv' argument so that the environment interface
is passed cleanly to application code after globals are initialized.
This is an typed pointer to a C++ object, procedures for accessing the
environment will be available from a Nimble library and not included in
the standard library.

The standard library has an internal pointer to the environment object
but this is not for external use, the undocumented global environment
pointer has been removed.
2018-06-07 07:21:20 +02:00
Oscar Nihlgård
05b447374b Use higher time resolution when available in os.nim (#7709) 2018-06-04 14:56:56 +02:00
Andreas Rumpf
afdd77363e Merge branch 'devel' into araq-big-refactoring 2018-05-28 12:13:50 +02:00
Federico Ceratto
21fb0db6e2 Update existsFile documentation (#7888) 2018-05-27 19:35:19 -04:00
Andreas Rumpf
cb6a4ffa86 Merge branch 'devel' into araq-big-refactoring 2018-05-21 17:31:23 +02:00
koranza
f9358e85ca
remove unneeded check on length 2018-05-19 14:48:19 -05:00
koranza
aefa6547c3
check string lengths to avoid index out of bound 2018-05-18 18:25:49 -05:00
Andreas Rumpf
3af5a5d9e3 os.nim: don't use echo for error reporting 2018-05-18 20:16:30 +02:00
Araq
bbb0fd4eb7 remove deprecated stuff from the stdlib; introduce better deprecation warnings 2018-05-05 21:45:07 +02:00
Andreas Rumpf
5758ebf02c more fixes for the new string behaviour 2018-04-30 08:53:31 +02:00
Jacek Sieka
72dfe176f5 remove dead code elimination option (#7669) 2018-04-23 11:02:38 +02:00
Oscar Nihlgård
7d034d7b6a Add fromWinTime and deprecate unixTimeToWinTime/winTimeToUnixTime (#7641) 2018-04-19 22:41:06 +02:00