Commit graph

1765 commits

Author SHA1 Message Date
Vladimír Čunát
7c879d342d Merge #10816: improve FreeBSD support 2016-01-05 09:50:10 +01:00
Tobias Geerinckx-Rice
3a250b2518 Merge pull request #12050 from nckx/fix-mturk-hash
aws-mturk-clt: update sha256 hash
2016-01-01 14:59:53 +01:00
Michael Raskin
f1eeed7a29 ised: 2.6.0 -> 2.7.0 2016-01-01 12:30:17 +03:00
Tobias Geerinckx-Rice
6a903c1f87 aws-mturk-clt: update sha256 hash
Stable tarballs are so 2015.
2015-12-31 13:48:07 +01:00
Charles Strahan
b6c06e216b ruby: new bundler infrastructure
This improves our Bundler integration (i.e. `bundlerEnv`).

Before describing the implementation differences, I'd like to point a
breaking change: buildRubyGem now expects `gemName` and `version` as
arguments, rather than a `name` attribute in the form of
"<gem-name>-<version>".

Now for the differences in implementation.

The previous implementation installed all gems at once in a single
derivation. This was made possible by using a set of monkey-patches to
prevent Bundler from downloading gems impurely, and to help Bundler
find and activate all required gems prior to installation. This had
several downsides:

* The patches were really hard to understand, and required subtle
  interaction with the rest of the build environment.
* A single install failure would cause the entire derivation to fail.

The new implementation takes a different approach: we install gems into
separate derivations, and then present Bundler with a symlink forest
thereof. This has a couple benefits over the existing approach:

* Fewer patches are required, with less interplay with the rest of the
  build environment.
* Changes to one gem no longer cause a rebuild of the entire dependency
  graph.
* Builds take 20% less time (using gitlab as a reference).

It's unfortunate that we still have to muck with Bundler's internals,
though it's unavoidable with the way that Bundler is currently designed.
There are a number improvements that could be made in Bundler that would
simplify our packaging story:

* Bundler requires all installed gems reside within the same prefix
  (GEM_HOME), unlike RubyGems which allows for multiple prefixes to
  be specified through GEM_PATH. It would be ideal if Bundler allowed
  for packages to be installed and sourced from multiple prefixes.
* Bundler installs git sources very differently from how RubyGems
  installs gem packages, and, unlike RubyGems, it doesn't provide a
  public interface (CLI or programmatic) to guide the installation of a
  single gem. We are presented with the options of either
  reimplementing a considerable portion Bundler, or patch and use parts
  of its internals; I choose the latter. Ideally, there would be a way
  to install gems from git sources in a manner similar to how we drive
  `gem` to install gem packages.
* When a bundled program is executed (via `bundle exec` or a
  binstub that does `require 'bundler/setup'`), the setup process reads
  the Gemfile.lock, activates the dependencies, re-serializes the lock
  file it read earlier, and then attempts to overwrite the Gemfile.lock
  if the contents aren't bit-identical. I think the reasoning is that
  by merely running an application with a newer version of Bundler, you'll
  automatically keep the Gemfile.lock up-to-date with any changes in the
  format. Unfortunately, that doesn't play well with any form of
  packaging, because bundler will immediately cause the application to
  abort when it attempts to write to the read-only Gemfile.lock in the
  store. We work around this by normalizing the Gemfile.lock with the
  version of Bundler that we'll use at runtime before we copy it into
  the store. This feels fragile, but it's the best we can do without
  changes upstream, or resorting to more delicate hacks.

With all of the challenges in using Bundler, one might wonder why we
can't just cut Bundler out of the picture and use RubyGems. After all,
Nix provides most of the isolation that Bundler is used for anyway.

The problem, however, is that almost every Rails application calls
`Bundler::require` at startup (by way of the default project templates).
Because bundler will then, by default, `require` each gem listed in the
Gemfile, Rails applications are almost always written such that none of
the source files explicitly require their dependencies. That leaves us
with two options: support and use Bundler, or maintain massive patches
for every Rails application that we package.

Closes #8612
2015-12-29 09:30:21 -05:00
Arseniy Seroka
19b6034135 Merge pull request #11995 from dezgeg/pr-yledl
yle-dl: init at 2.9.1
2015-12-29 14:59:20 +03:00
Domen Kožar
688ff0c0dc Merge pull request #11992 from dezgeg/pr-update-diffoscope
diffoscope: 29 -> 44
2015-12-28 07:46:12 +01:00
Tuomas Tynkkynen
5120601c28 yle-dl: init at 2.9.1 2015-12-28 06:05:01 +02:00
Tuomas Tynkkynen
eae60d2f40 diffoscope: Add more tools to the runtime path 2015-12-28 02:28:01 +02:00
Tuomas Tynkkynen
7e85fdc6df diffoscope: 29 -> 44
Relevant changes:
 - Python version switched to Python 3
 - ssdeep library got replaced with tlsh
 - the 'magic' Python package got replaced with a different one
 - Minor build system improvements == less work for us
2015-12-28 02:27:44 +02:00
Yuri Albuquerque
5cfeedc914 fontforge: needs pango on Linux, too 2015-12-27 01:33:06 -04:00
Thomas Strobel
d856841ba4 nixos trustedGRUB: add support for HP laptops 2015-12-22 03:12:30 +01:00
Alexander Shabalin
d76c26e876 gibo: init at 1.0.4, fixes #11871 2015-12-22 02:43:24 +01:00
Alexander Shabalin
a0138e1ed5 dynamic-colors: init at 2013-12-28, fixes #11874 2015-12-22 02:04:06 +01:00
Thomas Tuegel
660736def8 polkit-qt: normalize package name to upstream 2015-12-20 07:56:51 -06:00
Thomas Tuegel
c1841675f3 antimicro: Qt 5 infrastructure update 2015-12-20 07:56:36 -06:00
Allan Espinosa
37341582bb screen: include the utmp from the apple_sdk 2015-12-18 00:12:31 -06:00
Tobias Geerinckx-Rice
535b4279c7 ipad_charge, simple-scan: libusb{-compat -> 1} 2015-12-17 23:51:43 +01:00
Tobias Geerinckx-Rice
11a8cddff4 man-db: use groff from closure, not PATH 2015-12-17 23:51:43 +01:00
Pascal Wittmann
a111fa517e zsh-navigation-tools: 1.3.2 -> 1.4 2015-12-17 18:28:35 +01:00
Thomas Tuegel
97b2b05a24 calamares: fix Qt dependencies 2015-12-17 05:50:32 -06:00
goibhniu
1b3168069d Merge pull request #11768 from k0ral/rmlint
rmlint: 2.4.1 -> 2.4.2
2015-12-17 01:10:47 +01:00
koral
123a6041de rmlint: 2.4.1 -> 2.4.2 2015-12-16 22:35:01 +00:00
Tobias Geerinckx-Rice
04728887e1 ms-sys: 2.4.1 -> 2.5.1 2015-12-14 23:32:18 +01:00
Tobias Geerinckx-Rice
0a35ffaace ms-sys: deprecate mssys attribute name 2015-12-14 23:32:18 +01:00
Arseniy Seroka
a01e7fed27 Merge pull request #11719 from rycee/fix/units
units: add readline dependency
2015-12-15 01:01:23 +03:00
Jim Garrison
a900bf6e15 vmtouch: git-20150310 -> 1.0.2 2015-12-14 12:36:15 -08:00
Robert Helgesson
268102ce2a units: add readline dependency
The dependency on `readline` is for tab-completion support. This commit
also enables tests and adds meta information.
2015-12-14 18:34:54 +01:00
Pascal Wittmann
c29702d132 Merge pull request #11640 from rnhmjoj/bdf2psf
bdf2psf: 1.132 -> 1.134
2015-12-11 22:37:43 +01:00
rnhmjoj
941ef62cae bdf2psf: 1.132 -> 1.134 2015-12-11 19:45:07 +01:00
Robert Helgesson
c4ab553c92 screen: patch CVE-2015-6806
Fixes a possible denial of service of the screen tool. Patch sourced
from upstream GIT repository.
2015-12-11 00:22:21 +01:00
Desmond O. Chang
700835bb45 yank: 0.4.1 -> 0.6.0, fixes #11522 2015-12-07 15:25:50 +01:00
Emery Hemingway
2b6dcdfcd0 Rename 'emery' maintainer handle to 'ehmry', fixes #11493
Communication happens on Github so names should be consistent.
2015-12-05 23:06:20 +01:00
Vladimír Čunát
263fd55d4b Merge recent staging built on Hydra
http://hydra.nixos.org/eval/1231884
Only Darwin jobs seem to be queued now,
but we can't afford to wait for that single build slave.
2015-12-05 11:11:51 +01:00
Nikolay Amiantov
ae7ff02081 tlp: use module_init_tools, avoid recompilation for nixos 2015-12-05 00:54:09 +03:00
Jan Malakhovski
35cca051b2 xapian-omega: init at 1.2.21 2015-12-04 17:53:21 +00:00
makefu
1eb3239181 logstash: fix bin path
with the last commit for logstash plugin the bin path was not being used and the executables
were written directly in the root directory
this results in the failure of the logstash service configuration.
additionally the logstash tool itself does not start because it cannot source shell libraries relative
to the current location
2015-12-04 14:21:58 +01:00
Eelco Dolstra
7c00ae68d8 bfr: Build with current Perl 2015-12-04 12:19:44 +01:00
Burke Libbey
211c9ab28b Add coreutils-prefixed to install coreutils as gls, ggrep, etc.
Close #11421. Amended by vcunat not to cause a stdenv rebuild.
2015-12-03 20:08:37 +01:00
Pascal Wittmann
16037c6df5 zsh-navigation-tools: 1.3.1 -> 1.3.2 2015-12-02 19:11:02 +01:00
Robert Helgesson
d76bc1daee svtplay-dl: 0.20.2015.10.25 -> 0.20.2015.11.29 2015-11-30 23:34:52 +01:00
Peter Simons
5c66b4c581 Merge pull request #11283 from mdorman/master-updates
parallel: Revert changes that broke go packages
2015-11-27 12:22:02 +01:00
Tobias Geerinckx-Rice
2798b02ad0 Convert some *Flags from strings to lists 2015-11-26 23:45:31 +01:00
Michael Alan Dorman
d9b858d67e Partial revert of "parallel: 20150922 -> 20151122"
This is a partial revert of commit ed2b30dc28.

The changes outside of a new version of parallel broke several go
packages.
2015-11-26 11:28:17 -05:00
Pascal Wittmann
ed2b30dc28 parallel: 20150922 -> 20151122 2015-11-25 13:14:34 +01:00
Anders Lundstedt
49a4a141f9 youtube-dl: 2015.11.19 -> 2015.11.24 2015-11-25 08:28:20 +01:00
goibhniu
e2fbd2d3dd Merge pull request #11060 from cillianderoiste/jraygauthier-jrg/pipelight_32_bit_support
pipelight: Add support for 32 bit linux via #9000
2015-11-24 23:15:40 +01:00
Vladimír Čunát
13eca6f79a Merge #11067: SmartOS updates
I amended some commits slightly.
2015-11-23 14:45:44 +01:00
Pascal Wittmann
6b747f7cd7 zsh-navigation-tools: 1.2 -> 1.3.1 2015-11-23 10:45:15 +01:00
Danny Wilson
e3a036225d Fix: remove trailing ; 2015-11-22 13:41:22 +01:00