about summary refs log tree commit diff
path: root/pkgs/build-support
Commit message (Collapse)AuthorAgeFilesLines
* auto-patchelf: Error out if dep is unavailableaszlig2018-02-011-0/+5
| | | | | | | | We certainly don't want the builder to succeed if we're missing a dependency, so let's make sure the build is aborted (due to set -e) whenever that happens. Signed-off-by: aszlig <aszlig@nix.build>
* auto-patchelf: Move checkElfDep into buildGameaszlig2018-02-012-8/+0
| | | | | | | | Having a function in autoPatchelfHook that's unused inside the setup hook is a bit of weird, because the actual usage is within buildGame and thus it should stay there for now. Signed-off-by: aszlig <aszlig@nix.build>
* auto-patchelf: Move into pkgs/build-supportaszlig2018-02-012-0/+165
| | | | | | | | | This is really not game-specific, so let's put it at the top-level and also make sure we substitute all the commands we're using there, even though a few of them are in PATH of stdenv so that it will always work even when the programs available in stdenv should change someday. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Check for absolute path in makedirsaszlig2017-11-301-0/+5
| | | | | | | | Though we're already checking the realpath() let's actually make sure that the path begins with a slash, otherwise we'll run into a segfault later when we try to access the second byte of path. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Add handling for XDG_CACHE_HOMEaszlig2017-11-301-19/+15
| | | | | | | | | | | | We only handle XDG_DATA_HOME and XDG_CONFIG_HOME, but we've missed XDG_CACHE_HOME. While the latter is used very rarely as it doesn't matter a lot if it ends up within a tmpfs anyway. However if the cache directory gets pretty large we might run out of space. Not only do we now have proper fallbacks but this also adds tests for all of the XDG environment variables we're using. Signed-off-by: aszlig <aszlig@nix.build>
* pkgs/sandbox: Handle mounting of regular filesaszlig2017-11-301-33/+43
| | | | | | | | | | | | | | | While we already have support for mounting plain files, this is done on a very specific basis, mainly the .Xauthority file. Whenever we use bind_mount() and the file is a regular file, mounting that file will fail. So let's actually do a stat on the file and decide whether we want to do bind_file() or bind_mount(). I've stumbled on this because one of the store paths of the run time dependency graph was a plain file and thus the sandbox wrapper was unable to mount it. Signed-off-by: aszlig <aszlig@nix.build>
* build-sandbox: Move to top-level build-supportaszlig2017-11-3010-0/+1007
| | | | | | | This is not only useful for packaging games, so let's make it available from the vuizvui scope, so we can use it from other packages as well. Signed-off-by: aszlig <aszlig@nix.build>
* Revert adding dummy machine "gitit-stub"aszlig2016-06-141-1/+0
| | | | | | | | | | | | | | This reverts commit 65435d827c846ab2eef966601cd0490591b8dbe9. Commit d730df7 fixed the meta.hydraPlatforms attribute, so the generic channel now should build the patched gitit version as part of its constituents and we don't need a dummy machine just for that anymore. Other than that, the package now also gets built as a separate job to allow for one-click installs. Signed-off-by: aszlig <aszlig@redmoonstudios.org> Cc: @Profpatsch
* machines/gitit-stubProfpatsch2016-06-131-0/+1
| | | | | | | | | | | | | According to 302fb4f4bc0213b231b9bf5b98093c60d3917313 the package should be included in the hydra build, but it is not usable, because there is no channel that waits for the gitit build to succeed. This stub exists until someone finds out how to create such a channel (aka the channel building mechanism is documented in a way that it can be used by people not deeply familiar with both nixpkgs and hydra). cc @aszlig
* channel: Enable preferLocalBuild for mkChannel.aszlig2015-05-121-0/+1
| | | | | | | | It's kinda pointless to shovel the whole source to a remote machine and then shovel the whole source back to the Hydra master without doing any real compiling or other CPU-intensive processing. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* channel: Fix passing attributes to mkChannel.aszlig2015-04-281-2/+2
| | | | | | | The problem here was that the attributes were added to the resulting derivation of mkDerivation instead of the input attribute set. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* channel: Add patchPhase to phases.aszlig2015-04-281-1/+1
| | | | | | Should make it easier to patch the channel expressions. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* channel: Pass meta.isHydraChannel = true.aszlig2015-04-211-1/+5
| | | | | | | In the latest not-yet-public implementation of Hydra channel improvements, we now have a meta attribute to designate a channel. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* channel: Switch from product subtype to type.aszlig2015-04-211-1/+1
| | | | | | | This is because I've changed the the WIP implementation to use a product type instead of a subtype. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* mkChannel: Remove channelName attribute.aszlig2015-04-151-7/+5
| | | | | | | The third argument in hydra-build-products is actually the base directory and not a name, Alzheimer's near! Signed-off-by: aszlig <aszlig@redmoonstudios.org>
* pkgs: Add helper function for creating channels.aszlig2015-04-151-0/+29
We're going to create several channels and we don't want to code duplicates across vuizvui. This essentially not only creates a channel but also ties it to constituents, which make sure that channels are only updated whenever all constituent builds are successful. Signed-off-by: aszlig <aszlig@redmoonstudios.org>