Commit Graph
100 Commits
Author SHA1 Message Date
Eelco Dolstra 4db572062c download-via-ssh: Show where we're downloading from 2014-02-14 12:20:12 +01:00
Eelco Dolstra dba33d4018 Minor style fixes 2014-02-14 11:48:42 +01:00
Eelco Dolstra 61fd494d76 Merge remote-tracking branch 'shlevy/ssh-substituter' 2014-02-14 11:42:47 +01:00
Eelco Dolstra f9fc6acbf4 Document current meaning of preferLocalBuild
Closes #208.
2014-02-12 10:53:22 +01:00
Eelco Dolstra 1f841c9d50 Force use of Bash
"echo -n" doesn't work with /bin/sh on Darwin.
2014-02-10 17:42:36 +01:00
Eelco Dolstra 57386c9bae Binary tarball: Automatically create /nix
The tarball can now be unpacked anywhere.  The installation script
uses "sudo" to create /nix if it doesn't exist.  It also fetches the
nixpkgs-unstable channel.
2014-02-10 16:35:59 +01:00
Eelco Dolstra c5839752b9 Binary tarball: Automatically fetch the Nixpkgs channel 2014-02-10 10:50:29 +01:00
Eelco Dolstra b632153ebd nix-shell: Use shell.nix as the default expression if it exists 2014-02-10 10:25:13 +01:00
Eelco Dolstra 0432bc52ea Fix the RPM build 2014-02-07 17:36:04 +01:00
Eelco Dolstra 7fab23e237 Install header files 2014-02-07 17:36:04 +01:00
Eelco Dolstra 764d90597a Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097' 2014-02-07 16:27:34 +01:00
Eelco Dolstra a210c995cd Support DESTDIR 2014-02-07 16:21:27 +01:00
Eelco Dolstra 97f8e9bc76 Remove dead code 2014-02-06 19:06:08 +01:00
Eelco Dolstra 2a469ad31d Set a maintainer address
Issue #202.
2014-02-06 14:37:35 +01:00
Eelco Dolstra 1f94ec3924 Clean up a test warning 2014-02-06 13:54:44 +01:00
Eelco Dolstra 20d0598928 Drop dependency on ‘expr’
http://hydra.nixos.org/build/8715639

Not sure why this causes a failure now.
2014-02-06 13:51:57 +01:00
Eelco Dolstra 4161fce472 Create the target directory of libraries and programs 2014-02-06 11:30:05 +01:00
Eelco Dolstra 80b691316c Fix version in nix.spec
http://hydra.nixos.org/build/8715502
2014-02-04 11:21:13 +01:00
Eelco Dolstra 4ee6001f95 GNU Make 3.81 compatibility
3.81 doesn't understand the ‘define foo =’ syntax, which was added in
3.82.  So use ‘define foo’ instead.
2014-02-04 11:21:13 +01:00
Eelco Dolstra 0da82efa5d GNU Make 3.81 compatibility
3.81 doesn't understand the ‘define foo =’ syntax, which was added in
3.82.  So use ‘define foo’ instead.
2014-02-04 11:02:49 +01:00
Eelco Dolstra 143224f7cd Add nix.spec to the distribution 2014-02-04 10:09:45 +01:00
Eelco Dolstra d210cdc435 Fix assertion failure in ‘nix-store --load-db’
Namely:

  nix-store: derivations.cc:242: nix::Hash nix::hashDerivationModulo(nix::StoreAPI&, nix::Derivation): Assertion `store.isValidPath(i->first)' failed.

This happened because of the derivation output correctness check being
applied before the references of a derivation are valid.
2014-02-03 22:36:07 +01:00
Eelco Dolstra 73a775f3b7 Merge commit '8468806552d6730abec6431c42b5b0e897c0222c' 2014-02-03 19:57:02 +01:00
Eelco Dolstra 8468806552 Add a basic README 2014-02-03 17:05:55 +01:00
Eelco Dolstra d6582c04c1 Give a friendly error message if the DB directory is not writable
Previously we would say "error: setting synchronous mode: unable to
open database file" which isn't very helpful.
2014-02-01 16:57:38 +01:00
Eelco Dolstra 2f9bb5c7e7 Merge branch 'make' 2014-02-01 16:41:52 +01:00
Eelco Dolstra 6dca72006a Only run "git ls-files" when doing "make check" 2014-02-01 16:30:24 +01:00
Eelco Dolstra 2a97f7b039 Fix logging test 2014-02-01 16:08:59 +01:00
Eelco Dolstra 965218a62a Remove obsolete file 2014-02-01 16:08:51 +01:00
Eelco Dolstra b6465ae5d3 Merge commit '28dc4883356a50f2805a3e3c819a541c44a4ff0a' into make 2014-02-01 15:37:59 +01:00
Eelco Dolstra 762ef464f8 Fix the nix-profile test 2014-02-01 15:37:50 +01:00
Eelco Dolstra 28dc488335 installcheck: Don't depend on install
This is a hack to prevent "installcheck" from clobbering files fixed
up by Nixpkgs' fixupPhase.
2014-02-01 15:33:27 +01:00
Eelco Dolstra 844d83352c More "make dist" fixes 2014-02-01 15:18:48 +01:00
Eelco Dolstra 74ca70da3a Add 'mk/' from commit '1eff3ad37fdb9dcf9f8528fdacea0ebf0e79d545'
git-subtree-dir: mk
git-subtree-mainline: 6ef32bddc1
git-subtree-split: 1eff3ad37f
2014-02-01 14:38:28 +01:00
Eelco Dolstra 6ef32bddc1 Fix "make dist" 2014-02-01 14:38:12 +01:00
Eelco Dolstra 1eff3ad37f Add missing file 2014-02-01 14:36:44 +01:00
Eelco Dolstra 6f8aa145d4 Improve "make dist" 2014-02-01 14:22:08 +01:00
Eelco Dolstra 0c6d62cf27 Remove Automakefiles 2014-02-01 13:54:38 +01:00
Eelco Dolstra 16e7d69209 Update Makefile variable names 2014-02-01 13:54:38 +01:00
Eelco Dolstra ec1738589a Make variable names more regular 2014-02-01 12:20:06 +01:00
Eelco Dolstra 35107038f7 Support adding "make help" text 2014-02-01 11:47:34 +01:00
Eelco Dolstra f324b49ea1 Change dependency file names from foo.dep to .foo.o.dep 2014-02-01 11:31:25 +01:00
Eelco Dolstra ac8c2ef1aa Build/install manual 2014-02-01 11:30:21 +01:00
Eelco Dolstra 4271927c5b Add support for installing man-pages 2014-01-31 15:33:12 +01:00
Eelco Dolstra e0234dfddc Rename Makefile -> local.mk 2014-01-30 12:11:06 +01:00
Eelco Dolstra 4a2ec9c659 Install nix-worker symlink 2014-01-30 12:08:26 +01:00
Eelco Dolstra c5ba081333 nix-shell: Add --impure flag
This is currently the default, but I might change that to --pure in
the future.
2014-01-23 13:34:04 +01:00
Eelco Dolstra 79dee4283d nix-shell: Preserve the TZ variable of the user 2014-01-23 13:34:04 +01:00
Eelco Dolstra 7fdee6e136 nix-build: Refactor 2014-01-23 13:34:04 +01:00
Eelco Dolstra 5311b2b250 Clang doesn't know the "-z defs" flag 2014-01-23 10:49:53 +01:00
Eelco Dolstra 94f9c14d52 Fix some clang warnings 2014-01-21 18:29:55 +01:00
Eelco Dolstra a26307b281 Fix build 2014-01-21 17:39:19 +01:00
Eelco Dolstra 625ffd441d Ugly hack to fix building with clang 2014-01-21 16:38:03 +01:00
Eelco Dolstra 68cde53c47 Fix building against Bison 3.0.2 2014-01-21 15:34:04 +01:00
Eelco Dolstra 81628a6ccc Merge branch 'master' into make
Conflicts:
	src/libexpr/eval.cc
2014-01-21 15:30:01 +01:00
Eelco Dolstra 5ef8508a92 Remove unused type 2014-01-21 15:11:57 +01:00
Eelco Dolstra c8fff6a77f Fix evaluation 2014-01-21 15:09:59 +01:00
Eelco Dolstra 0e2ca26818 nix.spec: Remove "make check" since it's a no-op 2014-01-20 14:23:07 +01:00
Eelco Dolstra 0f2f44bb0f Build Fedora 20 RPMs 2014-01-20 14:22:59 +01:00
Eelco Dolstra bf0ad8aabc nix-profile.sh: Add the Nixpkgs channel to $NIX_PATH 2014-01-15 14:34:49 +01:00
Eelco Dolstra e640d67144 Document nulls 2014-01-13 13:50:12 +01:00
Eelco Dolstra f1357059a4 nix-shell: Don't set NIX_INDENT_MAKE
It generally is not useful in interactive environments (and messes up
some non-ANSI-compliant terminals).
2014-01-13 13:46:44 +01:00
Eelco Dolstra ea59f39326 nix-shell: Set $IN_NIX_SHELL before evaluating 2014-01-13 13:43:31 +01:00
Eelco Dolstra ca73c0102f Nicer Make output
E.g.

  CXX    src/nix-log2xml/log2xml.o
  CC     src/bsdiff-4.3/bsdiff.o
  GEN    scripts/nix-channel
  LD     src/libmain/libnixmain.so
2014-01-10 22:31:38 +01:00
Eelco Dolstra e991ab942b Add support for building shared libraries on Mac OS X 2014-01-09 22:14:34 +01:00
Eelco Dolstra b1db599dd0 Generate schema.sql.hh 2014-01-09 22:10:35 +01:00
Eelco Dolstra cf918b889b Handle systems where "echo -n" doesn't work 2014-01-09 17:33:55 +01:00
Eelco Dolstra 70d8e8fdde Declare template_files as a simply expanded variable 2014-01-09 16:57:38 +01:00
Eelco Dolstra 814a73227f Remove duplicate elements from *_SOURCES
This is useful when you do:

  foo_SOURCES := $(wildcard *.cc) foo.cc

where foo.cc is a generated file.  In this case, if foo.cc already
exists, you get foo.cc twice in foo_SOURCES, leading to a link error.
2014-01-09 16:54:01 +01:00
Eelco Dolstra b4c684e0f9 Update Makefiles 2014-01-09 16:53:47 +01:00
Eelco Dolstra 568b1b0a8a Remove mk subdirectory in preparation for "git subtree" 2014-01-09 16:15:16 +01:00
Eelco Dolstra 55c9a40613 Move stuff to top-level
This makes it easier to use with "git subtree".
2014-01-09 16:12:02 +01:00
Eelco Dolstra f4013b6189 Fix signed-binary-caches test 2014-01-08 17:57:22 +01:00
Eelco Dolstra ea38e39a20 Test whether Nix correctly checks the hash of downloaded NARs 2014-01-08 17:56:30 +01:00
Eelco Dolstra 11cb4bfb25 Fix checking of NAR hashes
*headdesk*
*headdesk*
*headdesk*

So since commit 22144afa8d, Nix hasn't
actually checked whether the content of a downloaded NAR matches the
hash specified in the manifest / NAR info file.  Urghhh...
2014-01-08 17:35:49 +01:00
Eelco Dolstra 0fdf4da0e9 Support cryptographically signed binary caches
NAR info files in binary caches can now have a cryptographic signature
that Nix will verify before using the corresponding NAR file.

To create a private/public key pair for signing and verifying a binary
cache, do:

  $ openssl genrsa -out ./cache-key.sec 2048
  $ openssl rsa -in ./cache-key.sec -pubout > ./cache-key.pub

You should also come up with a symbolic name for the key, such as
"cache.example.org-1".  This will be used by clients to look up the
public key.  (It's a good idea to number keys, in case you ever need
to revoke/replace one.)

To create a binary cache signed with the private key:

  $ nix-push --dest /path/to/binary-cache --key ./cache-key.sec --key-name cache.example.org-1

The public key (cache-key.pub) should be distributed to the clients.
They should have a nix.conf should contain something like:

  signed-binary-caches = *
  binary-cache-public-key-cache.example.org-1 = /path/to/cache-key.pub

If all works well, then if Nix fetches something from the signed
binary cache, you will see a message like:

  *** Downloading ‘http://cache.example.org/nar/7dppcj5sc1nda7l54rjc0g5l1hamj09j-subversion-1.7.11’ (signed by ‘cache.example.org-1’) to ‘/nix/store/7dppcj5sc1nda7l54rjc0g5l1hamj09j-subversion-1.7.11’...

On the other hand, if the signature is wrong, you get a message like

  NAR info file `http://cache.example.org/7dppcj5sc1nda7l54rjc0g5l1hamj09j.narinfo' has an invalid signature; ignoring

Signatures are implemented as a single line appended to the NAR info
file, which looks like this:

  Signature: 1;cache.example.org-1;HQ9Xzyanq9iV...muQ==

Thus the signature has 3 fields: a version (currently "1"), the ID of
key, and the base64-encoded signature of the SHA-256 hash of the
contents of the NAR info file up to but not including the Signature
line.

Issue #75.
2014-01-08 15:42:53 +01:00
Eelco Dolstra 405434e084 Revert "nix-shell: Set $IN_NIX_SHELL before evaluation"
This reverts commit 0c1198cf08.
2014-01-06 17:38:04 +01:00
Eelco Dolstra 7a61c88dbb Merge branch 'dynamic-attrs-no-sugar' of github.com:shlevy/nix 2014-01-06 15:46:18 +01:00
Eelco Dolstra fe23e28f12 Disable FreeBSD tests for now
The FreeBSD machines in the build farm are currently unreachable.
2014-01-06 11:35:42 +01:00
Eelco Dolstra 4252b5a645 Disable the tail call test
On i686-linux, GCC stubbornly refuses to do tail-call optimisation.
Don't know why.

http://hydra.nixos.org/build/7300170
2014-01-06 11:32:22 +01:00
Eelco Dolstra b352fe2775 Revert "Scan /proc/<pid>/cmdline for GC roots"
This reverts commit 194e3374b8.
Checking the command line for GC roots means that

  $ nix-store --delete $path

will fail because $path is now a root because it's mentioned on the
command line.
2013-12-20 14:18:24 +01:00
Eelco Dolstra 8931bf7168 Doh 2013-12-20 13:09:12 +00:00
Eelco Dolstra 7d203faff6 nix-env --set-flag: Barf if a selector doesn't match any installed package
Fixes #184.
2013-12-20 13:56:42 +01:00
Eelco Dolstra 194e3374b8 Scan /proc/<pid>/cmdline for GC roots 2013-12-20 13:31:31 +01:00
Eelco Dolstra 769f662165 nix-shell: Don't warn about the lack of a GC root 2013-12-20 12:19:10 +00:00
Eelco Dolstra 0c1198cf08 nix-shell: Set $IN_NIX_SHELL before evaluation
This has some hacky applications.
2013-12-20 13:11:41 +01:00
Eelco Dolstra 65a6452240 nix-shell: Handle --option correctly
Fixes #181.
2013-12-20 13:10:14 +01:00
Eelco Dolstra 259086de84 Add support for building JARs from Java sources 2013-12-18 16:40:48 +01:00
Eelco Dolstra 99ed25accf Add a function for doing recursive wildcard searches
Source: http://blog.jgc.org/2011/07/gnu-make-recursive-wildcard-function.html
2013-12-18 15:01:14 +01:00
Eelco Dolstra 7b0d8fb23d nix-shell --pure: Keep $TERM 2013-12-17 18:16:04 +01:00
Eelco Dolstra 088552b319 Set default installation paths 2013-12-17 12:13:48 +01:00
Eelco Dolstra e81b82a2cf make dryclean: Sort names 2013-12-16 16:51:05 +01:00
Eelco Dolstra a630635d7f No longer interpret $(..._SOURCES) relative to $(..._DIR) 2013-12-16 16:49:41 +01:00
Eelco Dolstra 4da8046513 Don't include all *.dep files 2013-12-12 11:39:58 +01:00
Eelco Dolstra 034bbcafaf Add 'make help' 2013-12-12 11:27:47 +01:00
Eelco Dolstra 45131da736 Get rid of whitespace in $(d) 2013-12-12 11:24:03 +01:00
Eelco Dolstra c34f3c5ba4 Handle *.cpp extension 2013-12-12 11:22:57 +01:00
Eelco Dolstra dfcc64f556 Only provide 'make dist' if PACKAGE_NAME is set 2013-12-12 11:22:25 +01:00
Eelco Dolstra 3560f52cc4 dryclean: Show what actual files would be deleted 2013-12-12 11:22:08 +01:00
Eelco Dolstra 49a385096e Initial commit (imported from the Nix repo) 2013-12-10 15:54:34 +01:00