about summary refs log tree commit diff
path: root/src/libmain
AgeCommit message (Collapse)AuthorFilesLines
2019-10-09 Disable OpenSSL lock callback on OpenSSL >= 1.1.1Eelco Dolstra1-0/+4
(cherry picked from commit a56b51a0ba7b0d6fdff7fd0127a118185b146f4f)
2019-08-28 Merge pull request #2921 from matthewbauer/handle-sigwinchEelco Dolstra1-0/+9
Handle SIGWINCH in main thread
2019-06-25 Automatically use --no-net if there are no network interfacesEelco Dolstra1-11/+0
(cherry picked from commit 04a59769963fe2a28d10ba15de743fe499333c80)
2019-06-24 Add '--no-net' convenience flagEelco Dolstra1-0/+11
This flag * Disables substituters. * Sets the tarball-ttl to infinity (ensuring e.g. that the flake registry and any downloaded flakes are considered current). * Disables retrying downloads and sets the connection timeout to the minimum. (So it doesn't completely disable downloads at the moment.) (cherry picked from commit 8ea842260b4fd93315d35c5ba94b1ff99ab391d8)
2019-06-15 nix: Support -j flagEelco Dolstra2-4/+9
2019-06-05 Just enable hack on macOSMatthew Bauer1-2/+8
This is not needed on linux at all! Tried to explain as much as I understand with the problem.
2019-06-05 Handle SIGWINCH in main threadMatthew Bauer1-0/+3
For the SIGWINCH signal to be caught, it needs to be set in sigaction on the main thread. Previously, this was broken, and updateWindowSize was never being called. Tested on macOS 10.14.
2019-03-14 pkg-config files: Use c++17Eelco Dolstra1-1/+1
2019-01-05 Remove mentions of `libformat`, it no longer existsJohn Ericson1-1/+1
2018-11-20 Fix typoEelco Dolstra1-1/+1
2018-05-30 Modularize config settingsEelco Dolstra2-3/+3
Allow global config settings to be defined in multiple Config classes. For example, this means that libutil can have settings and evaluator settings can be moved out of libstore. The Config classes are registered in a new GlobalConfig class to which config files etc. are applied. Relevant to https://github.com/NixOS/nix/issues/2009 in that it removes the need for ad hoc handling of useCaseHack, which was the underlying cause of that issue.
2018-05-02 Fix some random -Wconversion warningsEelco Dolstra1-1/+1
2018-04-09 Export required C++ version in pkgconfig.Shea Levy1-1/+1
2018-03-21 shared.cc: style: prefer "nullptr" over '(char *)NULL'Will Dietz1-5/+5
2018-03-20 execl: cast NULL sentinel to (char *), per man page and compiler warningWill Dietz1-5/+5
From exec(3): > The list of arguments must be terminated by a null pointer, and, since these > are variadic functions, this pointer must be cast (char *) NULL
2018-02-15 Set backup MANPATH in case man path isn’t set correctly.Matthew Bauer1-0/+1
Previously, this would fail at startup for non-NixOS installs: nix-env --help The fix for this is to just use "nixManDir" as the value for MANPATH when spawning "man". To test this, I’m using the following: $ nix-build release.nix -A build $ MANPATH= ./result/bin/nix-env --help Fixes #1627
2018-02-13 Merge branch 'plugins' of https://github.com/shlevy/nixEelco Dolstra1-0/+1
2018-02-08 Add plugins to make Nix more extensible.Shea Levy1-0/+1
All plugins in plugin-files will be dlopened, allowing them to statically construct instances of the various Register* types Nix supports.
2018-02-08 nix-env: Fix parsing of --systemEelco Dolstra1-0/+4
https://hydra.nixos.org/build/68827814
2018-01-16 Make show-trace a config settingEelco Dolstra1-3/+0
2017-11-14 anchor nix::Exit exceptionWill Dietz2-0/+2
2017-11-14 Make config options available to legacy commandsEelco Dolstra1-0/+4
2017-10-24 Add --store argument to legacy commandsEelco Dolstra1-0/+6
2017-10-24 nix: Respect -I, --arg, --argstrEelco Dolstra3-68/+90
Also, random cleanup to argument handling.
2017-10-24 Remove the remote-builds optionEelco Dolstra1-3/+0
This is superfluous since you can now just set "builders" to empty, e.g. "--builders ''".
2017-09-01 Fix verbosity level for nix build --dry-runEelco Dolstra2-14/+14
2017-08-31 src/libmain/stack.cc: fix 'ucontext' usage on glibc-2.26Sergei Trofimovich1-2/+2
Build fails as: $ make CXX src/libmain/stack.o src/libmain/stack.cc: In function 'void nix::sigsegvHandler(int, siginfo_t*, void*)': src/libmain/stack.cc:21:21: error: 'ucontext' was not declared in this scope sp = (char *) ((ucontext *) ctx)->uc_mcontext.gregs[REG_RSP]; ^~~~~~~~ src/libmain/stack.cc:21:21: note: suggested alternative: 'ucontext_t' sp = (char *) ((ucontext *) ctx)->uc_mcontext.gregs[REG_RSP]; ^~~~~~~~ ucontext_t It's caused by upstream rename: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=251287734e89a52da3db682a8241eb6bccc050c9 which basically changes typedef struct ucontext {} ucontext_t; to typedef struct ucontext_t {} ucontext_t; The change uses ucontext_t. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
2017-08-31 Rename a few configuration optionsEelco Dolstra1-4/+4
In particular, drop the "build-" and "gc-" prefixes which are pointless. So now you can say nix build --no-sandbox instead of nix build --no-build-use-sandbox
2017-07-30 Replace Unicode quotes in user-facing strings by ASCIIJörg Thalheim2-11/+11
Relevant RFC: NixOS/rfcs#4 $ ag -l | xargs sed -i -e "/\"/s/’/'/g;/\"/s/‘/'/g"
2017-07-26 nix-build/nix-shell: Eliminate call to nix-instantiate / nix-storeEelco Dolstra2-1/+11
Note that this removes the need for a derivation symlink, so the --drv-path and --add-drv-link flags now do nothing.
2017-07-14 Shut up a memory leak warningEelco Dolstra1-1/+2
2017-06-12 On macOS, don't use /var/folders for TMPDIREelco Dolstra1-0/+8
This broke "nix-store --serve".
2017-06-07 Don't show flags from config settings in "nix --help"Eelco Dolstra1-2/+6
2017-04-24 Factor out --jsonEelco Dolstra1-1/+11
2017-04-21 add helper function to set 'interruptThrown'David McFarland1-1/+1
this fixes a linker failure on cygwin 64 due to some bad interaction between tls and shared libraries. see: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64697
2017-04-14 Minor cleanupEelco Dolstra1-1/+1
2017-04-13 Convert Settings to the new config systemEelco Dolstra2-8/+8
This makes all config options self-documenting. Unknown or unparseable config settings and --option flags now cause a warning.
2017-04-13 Initialise loggerEelco Dolstra1-2/+0
2017-03-16 Remove "killing process <pid>" messagesEelco Dolstra1-5/+1
They convey no useful information.
2017-02-28 Support auto-configuration of build-max-jobsEelco Dolstra1-1/+4
"build-max-jobs" and the "-j" option can now be set to "auto" to use the number of CPUs in the system. (Unlike build-cores, it doesn't use 0 to imply auto-configuration, because a) magic values are a bad idea in general; b) 0 is a legitimate value used to disable local building.) Fixes #1198.
2017-02-16 Move netrcFile to SettingsEelco Dolstra1-1/+0
Also get rid of Settings::processEnvironment(), it appears to be useless.
2017-02-08 Include config.h implicitly with '-include config.h' in CFLAGSTuomas Tynkkynen2-4/+0
Because config.h can #define things like _FILE_OFFSET_BITS=64 and not every compilation unit includes config.h, we currently compile half of Nix with _FILE_OFFSET_BITS=64 and other half with _FILE_OFFSET_BITS unset. This causes major havoc with the Settings class on e.g. 32-bit ARM, where different compilation units disagree with the struct layout. E.g.: diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc @@ -166,6 +166,8 @@ void Settings::update() _get(useSubstitutes, "build-use-substitutes"); + fprintf(stderr, "at Settings::update(): &useSubstitutes = %p\n", &nix::settings.useSubstitutes); _get(buildUsersGroup, "build-users-group"); diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc +++ b/src/libstore/remote-store.cc @@ -138,6 +138,8 @@ void RemoteStore::initConnection(Connection & conn) void RemoteStore::setOptions(Connection & conn) { + fprintf(stderr, "at RemoteStore::setOptions(): &useSubstitutes = %p\n", &nix::settings.useSubstitutes); conn.to << wopSetOptions Gave me: at Settings::update(): &useSubstitutes = 0xb6e5c5cb at RemoteStore::setOptions(): &useSubstitutes = 0xb6e5c5c7 That was not a fun one to debug!
2017-02-01 Restore default signal handling in child processesEelco Dolstra1-19/+10
In particular, this fixes Ctrl-C in nix-shell sessions.
2017-01-26 Fix interrupt handlingEelco Dolstra1-0/+9
2017-01-19 Kill builds when we get EOF on the log FDEelco Dolstra1-1/+1
This closes a long-time bug that allowed builds to hang Nix indefinitely (regardless of timeouts) simply by doing exec > /dev/null 2>&1; while true; do true; done Now, on EOF, we just send SIGKILL to the child to make sure it's really gone.
2017-01-17 Handle SIGINT etc. via a sigwait() signal handler threadEelco Dolstra1-17/+3
This allows other threads to install callbacks that run in a regular, non-signal context. In particular, we can use this to signal the downloader thread to quit. Closes #1183.
2016-11-26 Revert "Get rid of unicode quotes (#1140)"Eelco Dolstra2-11/+11
This reverts commit f78126bfd6b6c8477fcdbc09b2f98772dbe9a1e7. There really is no need for such a massive change...
2016-11-25 Get rid of unicode quotes (#1140)Guillaume Maudoux2-11/+11
2016-10-12 Shut up some warningsEelco Dolstra1-1/+1
2016-09-21 printMsg(lvlError, ...) -> printError(...) etc.Eelco Dolstra1-11/+11