Christian Lask
2d524a37f8
Remove myself as maintainer.
2016-11-03 11:54:54 +01:00
Vincent Demeester
1e2f37e9f4
godef: init at 20160620-ee532b9
...
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-11-03 08:30:49 +01:00
rbasso
66a25908de
maintainers: add rbasso
2016-11-03 03:25:06 +09:00
zraexy
b7996efeae
maintainers: add zraexy
2016-10-31 12:17:32 -08:00
zraexy
a3a40b7089
maintainers: fix alphabetical sorting
...
Put the list back into alphabetical order
2016-10-30 20:30:52 -08:00
Domen Kožar
62edf873aa
Merge pull request #18660 from aneeshusa/add-override-attrs
...
mkDerivation: add overrideAttrs function
2016-10-30 11:32:15 +01:00
Guillaume Koenig
dd04af4fcc
reno: init at 1.8.0
2016-10-29 13:30:18 +02:00
Charles Strahan
ca2b03439f
Merge pull request #19496 from Ericson2314/overridePackages
...
Make `overridePackages` extend rather than replace existing overrides
2016-10-26 14:01:13 -04:00
Kier Davis
a057dfc57f
unigine-valley: init at 1.0-1
...
Closes https://github.com/NixOS/nixpkgs/pull/19813
2016-10-24 19:35:06 -04:00
AbigailBuccaneer
1983181a7f
bootil: init at HEAD
2016-10-24 18:23:26 +01:00
Drill Bear
86793f600c
mtpaint: init at 3.49.12
2016-10-23 15:45:49 +01:00
Nick Novitski
69cf5aa4f3
frotz: init at 2.44
...
Closes https://github.com/NixOS/nixpkgs/pull/19595/files
2016-10-22 07:12:58 -04:00
Vladimír Čunát
210b3b3184
maintainers: add uwap
...
... to fix evaluation after 42e93b5f
.
2016-10-22 12:10:05 +02:00
Jörg Thalheim
9c0b5e4b22
Merge pull request #19666 from veprbl/hep_for_upstream
...
Add fastjet, hepmc, yoda, rivet, lhapdf, herwig, pythia, sacrifice, nlojet++
2016-10-21 21:58:45 +02:00
Dmitry Kalinkin
b4e3e7b752
add veprbl to maintainers
2016-10-21 13:29:57 -04:00
Philipp
5c3a6d6802
Added package for dehydrated. ( #19651 )
...
* Added package for dehydrated.
2016-10-20 13:32:05 +02:00
Pascal Wittmann
24c3271e39
Merge pull request #17554 from KaiHa/master
...
nitrokey-app: init at 0.4.0
2016-10-20 07:55:05 +02:00
Kai Harries
c43243f085
nitrokey-app: add kaiha as maintainer
2016-10-20 07:15:45 +02:00
Mikhail Volkhov
42cf40bfbd
scudcloud: init at 1.35/254-port-to-qt5
2016-10-19 18:45:31 +03:00
John Ericson
e4cd45a30c
top-level: Make overridePackages
extend rather than replace existing overrides
2016-10-13 11:14:11 -04:00
Jörg Thalheim
9079bc08e5
Merge pull request #19362 from davorb/purple-facebook
...
purple-facebook: init at 66ee77378d82
2016-10-12 13:38:34 +02:00
Michael Raskin
e207ba7d6a
fetchMD5warn: use INFO, maybe Hydra will like this more
2016-10-12 09:31:38 +02:00
Charles Strahan
da36847d92
nixos: make it easy to apply kernel patches
...
This makes it easy to specify kernel patches:
boot.kernelPatches = [ pkgs.kernelPatches.ubuntu_fan_4_4 ];
To make the `boot.kernelPatches` option possible, this also makes it
easy to extend and/or modify the kernel packages within a linuxPackages
set. For example:
pkgs.linuxPackages.extend (self: super: {
kernel = super.kernel.override {
kernelPatches = super.kernel.kernelPatches ++ [
pkgs.kernelPatches.ubuntu_fan_4_4
];
};
});
Closes #15095
2016-10-11 19:59:00 -04:00
Peter Simons
2804067fc8
Merge pull request #19462 from dipinhora/pony-stable
...
pony-stable: init at 2016-10-10
2016-10-11 22:43:07 +02:00
dipinhora
8a7cb597ae
pony-stable: init at 2016-10-10
2016-10-11 16:07:55 -04:00
Vladimír Čunát
9d1dfc9ed0
Merge #18861 : add AMDGPU-PRO driver
2016-10-11 19:57:30 +02:00
Davor Babić
7cf6f46bd1
purple-facebook: init at 66ee77378d82
...
adds inherit src meta
2016-10-10 16:23:27 +02:00
Jörg Thalheim
6f389da98d
Merge pull request #19399 from sternenseemann/master
...
Add libgee_0_8 and valadoc-unstable
2016-10-10 11:52:33 +02:00
Jörg Thalheim
905239db28
Merge pull request #18868 from RonnyPfannschmidt/enpass
...
enpass: init at 5.3.0
2016-10-10 07:56:56 +02:00
sternenseemann
3fb2993cb3
maintainers: rename lukasepple according to github account name
2016-10-09 22:04:22 +02:00
Michael Raskin
f603dc11a6
fetch*: print a trace warning about md5 deprecation
2016-10-09 16:19:04 +02:00
Ronny Pfannschmidt
98895f5b67
enpass: init at 5.3.0
2016-10-09 13:16:50 +02:00
Andrey Trachenko
bd6584277d
maintainers: add goodrone
2016-10-07 14:11:22 +02:00
Gabriel Adomnicai
18d7e2ac33
camingo-code: init at 1.0
2016-10-06 17:47:50 -07:00
Michael Weiss
8268f0a759
pgpdump: init at v0.31
...
Add the package "pgpdump" at version v0.31 under the category
"tools/security", add it to the top-level package collection and set
myself as the maintainer (I added myself to lib/maintainers.nix).
I have tested this package under NixOS and Gentoo+Nix.
2016-10-06 03:17:01 +02:00
Michael Lieberman
5baecbc4af
ptpython: init at 0.35
2016-10-05 15:36:57 -04:00
Kiba Fox
151edd446d
tinyfugue: init at 50b8
2016-10-04 17:46:26 -04:00
makefu
46370ee178
licenses: add Beerware
2016-10-03 19:43:26 +02:00
Alex Ivanov
43d327c137
rambox, franz: recommendations by Mic92
2016-10-03 19:24:57 +03:00
Aneesh Agrawal
39b64b52ed
mkDerivation: add overrideAttrs function
...
This is similar to `overrideDerivation`, but overrides the arguments to
`mkDerivation` instead of the underlying `derivation` call.
Also update `makeOverridable` so that uses of `overrideAttrs` can be
followed by `override` and `overrideDerivation`, i.e. they can be
mix-and-matched.
2016-10-02 11:08:34 -04:00
Jörg Thalheim
fd8e5bf117
Merge pull request #17843 from lucas8/imlibsetroot
...
imlibsetroot: init at 1.2
2016-10-02 16:39:27 +02:00
Jörg Thalheim
c2ee2a723f
Merge pull request #19156 from apeyroux/init/c14
...
c14: init at 2016-09-09
2016-10-02 15:31:53 +02:00
Francis St-Amour
643d5f80fd
linenoise: init at 1.0.10
...
Closes https://github.com/NixOS/nixpkgs/pull/19117
2016-10-02 13:03:51 +02:00
Alexandre Peyroux
e5aea822dd
mainteners: add apeyroux
2016-10-02 12:18:26 +02:00
Jörg Thalheim
7d3143990f
Merge pull request #19136 from nhooyr/powerdns
...
powerdns: removed PrivateTmp=true in serviceConfig
2016-10-01 18:28:34 +02:00
Anmol Sethi
489ca7e5c0
powerdns: removed PrivateTmp=true in serviceConfig
...
As discussed in #18718 PrivateTmp is unnecessary because powerdns is
chrooted to /var/lib/powerdns.
I also added myself as co-maintainer.
2016-10-01 12:27:23 -04:00
Joachim F
206851b166
Merge pull request #18922 from ericsagnes/feat/mkOptionModuleFunctions
...
Functions to change and merge module options
2016-10-01 17:58:40 +02:00
Joachim F
7e80c42b0e
Merge pull request #18511 from ericsagnes/feat/remove-optionSet
...
modules: optionSet -> submodule
2016-10-01 17:57:45 +02:00
David McFarland
44bc50ca15
Add myself as maintainer
2016-09-28 18:46:45 -03:00
Daniel Peebles
58ce50fedf
Merge pull request #19049 from grwlf/smironov-email
...
maintainers: change smironov email
2016-09-28 14:28:26 -04:00
Sergey Mironov
098113bbff
maintainers: change smironov email
2016-09-28 21:24:05 +03:00
Henry
295efa1062
libnabo: init at 1.0.6
2016-09-27 15:49:51 +02:00
Joachim F
81f47f7982
Merge pull request #18700 from yochai/master
...
mfcj470dw: split into mfcj470dwlpr and mfcj470dwcupswrapper
2016-09-27 12:56:05 +02:00
zimbatm
b92a367bed
Merge pull request #18969 from loskutov/master
...
libxml++: add 3.0.0
2016-09-27 11:01:43 +01:00
Ignat Loskutov
8843c40b1a
libxmlxx3: add myself as a maintainer
2016-09-27 01:53:43 -04:00
zimbatm
d4c66e2f46
Merge pull request #18694 from bachp/runner-master
...
gitlab-runner: add package and service
2016-09-26 22:45:39 +01:00
Yochai
3b548dacf4
mfcj470dw: split into mfcj470dwlpr and mfcj470dwcupswrapper
2016-09-26 18:26:52 +03:00
Joachim F
2522504bd1
Merge pull request #18463 from regnat/selfoss
...
Selfoss : add package and module
2016-09-24 16:10:39 +02:00
Joachim F
6c935af9e1
Merge pull request #18761 from schneefux/nextcloud
...
nextcloud: init at 10.0.0
2016-09-24 15:55:26 +02:00
Eric Sagnes
26ea947d33
lib/module: add mkChangedOptionModule function
2016-09-24 21:10:29 +09:00
Eric Sagnes
13eefc3a31
lib/module: add mkMergedOptionModule function
2016-09-24 21:09:52 +09:00
schneefux
9cab11980b
maintainers: add schneefux
2016-09-24 09:17:36 +02:00
Anthony Cowley
a3c26fec32
redprl: init at 2016-09-22
2016-09-23 20:37:20 -04:00
Pascal Bach
373b37f179
gitlab-runner: init at 1.6.0
2016-09-23 22:38:56 +02:00
Joachim F
fc4751eccc
Merge pull request #18751 from TvoroG/rtlwifi
...
rtlwifi_new: init at 2016-09-12
2016-09-22 22:50:46 +02:00
Marsel
52dd323047
rtlwifi_new: init at 2016-09-12
2016-09-20 16:18:24 +03:00
Eelco Dolstra
1c043e0749
toDerivation: Provide "out" and "outputName" attributes
2016-09-19 20:02:07 +02:00
Profpatsch
61462c94e6
lib/fetchers.nix: factor out impure proxy vars ( #18702 )
...
Apparently everyone just copied those variables, instead of creating a
library constant for them. Some even removed the comment. -.-
2016-09-17 21:50:01 +02:00
Jon Banafato
24923bae6e
Add myself to maintainers file
2016-09-16 18:15:04 -04:00
Profpatsch
bd44207786
lib/default.nix: reorder imports for clarity
...
Group imports according to the kind of functions they contain, in a more
descriptive manner.
2016-09-15 01:21:42 +02:00
Théophane Hufschmitt
e5ac0c8f17
mainteners: add regnat
2016-09-14 09:22:54 +02:00
lucas8
85f532bf41
imlibsetroot: init at 1.2
2016-09-13 10:49:57 +02:00
Eric Sagnes
f923905346
optionSet type: enable deprecation message
2016-09-13 12:57:36 +09:00
Tuomas Tynkkynen
49f4ba7ae0
Merge commit 'e0b5eef' from staging into master
2016-09-12 13:21:45 +03:00
cmfwyp
d6404ad48e
cabin: init at 1.005
2016-09-12 11:13:26 +02:00
Jesse Haber-Kucharsky
99e06fe771
opam, aspcud: init packages for external solver ( #16938 )
...
The opam package manager relies on external solvers to determine package
management decisions it makes related to upgrades, new installations,
etc.
While, strictly speaking, an external solver is optional, aspcud is
highly recommended in documentation. Furthermore, even having a
relatively small number of packages installed quickly causes the limits
of the interal solver to be reached (before it times out).
Aspcud itself depends on two programs from the same suite: gringo, and
clasp.
On Darwin, Boost 1.55 (and thus Gringo) do not build, so we only support
Aspcud on non-Darwin platforms.
2016-09-12 10:44:50 +02:00
Tuomas Tynkkynen
e0b5eef4e7
lib.chooseDevOutputs: Use lib.getDev
...
Reduces duplication, plus is actually needed for Go packages (at least
go-repo-root).
2016-09-12 00:18:18 +03:00
danbst
a01d4ee3f4
tomcat: add danbst as maintainer
2016-09-09 18:29:12 +02:00
Shea Levy
d81d59aad9
Merge branch 'fix/st-update-0.7' of git://github.com/andsild/nixpkgs
2016-09-06 18:04:48 -04:00
Dan Peebles
247c54e374
souffle: init at 1.0.0
2016-09-06 17:45:13 -04:00
asildnes
29aac27089
st: 0.6 -> 0.7
2016-09-06 22:00:19 +02:00
Nikolay Amiantov
845cb949fc
Merge pull request #18306 from aske/speech
...
Speech synthesizer improvements
2016-09-05 04:44:51 +04:00
aske
045bcfef4b
maintainers: add aske
2016-09-05 03:33:40 +03:00
Dmitry Ivanov
b52d937475
tcpkali: init at 0.9
2016-09-04 09:21:27 +00:00
Tuomas Tynkkynen
8c4aeb1780
Merge staging into master
...
Brings in:
- changed output order for multiple outputs:
https://github.com/NixOS/nixpkgs/pull/14766
- audit disabled by default
https://github.com/NixOS/nixpkgs/pull/17916
Conflicts:
pkgs/development/libraries/openldap/default.nix
2016-09-01 13:27:27 +03:00
Frederik Rietdijk
c99076e968
add maintainers
...
@nand0p @ryansydnor
2016-08-30 12:28:13 +02:00
Eelco Dolstra
822e1ddd89
Use builtins.partition if available
2016-08-29 17:50:06 +02:00
Tuomas Tynkkynen
5326e85f3d
stdenv.mkDerivation: Use chooseDevOutputs
2016-08-29 14:49:51 +03:00
s1lvester
0b22104c1d
keepassx2-http: init at 2.0.2 ( #18039 )
2016-08-29 00:02:19 +00:00
Domen Kožar
e01e92f12f
Merge pull request #15025 from ericsagnes/modules/manual
...
manual: automatically generate modules documentation
2016-08-28 13:57:34 +02:00
Domen Kožar
4af09e0031
Merge pull request #14311 from Profpatsch/mkRemovedOptionModule-replacement
...
mkRemovedOptionModule: add replacement argument
2016-08-28 13:55:28 +02:00
Jörg Thalheim
b170bed1ff
lib.licenses: Fix typo in fdl13 license description ( #18053 )
2016-08-28 07:56:40 +00:00
Nikolay Amiantov
3f70fcd4c1
Merge pull request #11484 from oxij/nixos-toposort-filesystems
...
lib: add toposort, nixos: use toposort for fileSystems to properly support bind and move mounts
2016-08-27 14:34:55 +04:00
Graham Christensen
8d10928ad0
Merge pull request #17908 from Mic92/ferm
...
Ferm
2016-08-25 20:38:02 -04:00
Jan Malakhovski
363b0fd040
lib: introduce listDfs and toposort, add example to hasPrefix
2016-08-23 17:48:13 +00:00
Jörg Thalheim
80036bcb1d
add mic92 to maintainers
2016-08-22 13:07:44 +02:00
Ertugrul Söylemez
00dc8c3033
Update compton-git to rev f1cd308.
...
Also update maintainer's e-mail address.
2016-08-21 07:19:00 +02:00
Peter Simons
99252ad1b4
Merge pull request #17762 from copumpkin/warnings
...
lib.{warn, info}: add simple helpers
2016-08-19 11:10:27 +02:00
Joachim F
a4bbb2d9a3
Merge pull request #17688 from nexusdev/solc
...
Add Solidity (Ethereum compiler)
2016-08-17 23:45:34 +02:00
Daniel Brockman
6999aad158
solc: add maintainer @dbrock
2016-08-17 23:31:20 +02:00
Artyom Shalkhakov
a28c729766
gnustep: init
...
Adding new library: gnustep-startup, which packages the core
libraries necessary for GNUstep: gnustep-make, gnustep-base,
gnustep-gui, gnustep-backend.
2016-08-16 20:58:57 +00:00
Dan Peebles
4dfdb27e00
lib.{warn, info}: add simple helpers
...
See also https://github.com/NixOS/nix/issues/749 .
2016-08-15 13:54:23 -04:00
Michal Rus
397a17aef9
visualvm: init at 1.3.8 ( #17745 )
2016-08-15 05:45:48 +02:00
Marius Bakke
b5bd862f24
maintainers.nix: update own email address
2016-08-14 00:07:50 +01:00
Domen Kožar
661415d4eb
getVersion: first try drv.version before parsing drv.name
2016-08-13 17:17:36 +02:00
Данило Глинський (Danylo Hlynskyi)
0a0b7eb5f2
fix documentation typo in lib/strings.nix ( #17684 )
2016-08-12 08:30:11 +00:00
Vladimír Čunát
d4de02c46e
treewide: change $IN_NIX_SHELL handling
...
... to be compatible with https://github.com/NixOS/nix/pull/933
while not breaking compatibility with current nix.
2016-08-11 16:40:44 +02:00
Domen Kožar
221f7f18c1
hasSuffix: human readable inputs
2016-08-10 20:06:52 +02:00
Eric Sagnes
4cdfeb78f9
modules: move meta at top level
2016-08-11 00:29:48 +09:00
Mohammed Yaseen Mowzer
04f0cb86d0
geogebra: init at 5.0.265.0
...
Closes #17400
2016-08-10 14:32:09 +01:00
Domen Kožar
ebffa9fd06
flatten: drastically improve performance, see #17626
2016-08-10 12:02:58 +02:00
obadz
f242b752fe
lib/sources.nix@commitIdFromGitRepo: parenthesize what should always have been
...
Fixes error: cannot coerce a partially applied built-in function to a string, at lib/sources.nix:59:32
I don't understand how this used to work, but doesn't work anymore?
2016-08-08 11:46:41 +01:00
Rok Garbas
d21981c2a8
Merge pull request #16506 from Profpatsch/debug-trace
...
traceSeq, traceValSeq, deprecate strict
2016-08-07 03:49:05 +02:00
Domen Kožar
39e689e316
cleanSource: filter out also nix result symlinks ( #16120 )
2016-08-06 19:53:18 +01:00
Mounium
8fcea0822e
added myself to maintainers.nix
2016-08-03 09:49:44 +02:00
Eric Sagnes
e276842f6a
lib: refactor nixpkgsVersion with fileContents
2016-08-01 18:35:26 +09:00
Eric Sagnes
85d8b01660
lib: refactor commitIdFromGitRepo with fileContents
2016-08-01 18:35:26 +09:00
Eric Sagnes
56575cc0ac
lib: add fileContents function
2016-08-01 18:35:25 +09:00
Josef Kemetmueller
33b9935878
Add geant4 license
...
This license was left out during the geant4 pull request:
https://github.com/NixOS/nixpkgs/pull/3963
2016-07-31 21:27:44 +02:00
Robin Lambertz
b65e9d87e2
matrix-synapse: Only run StartPre script when data folder doesn't exist ( #17216 )
2016-07-28 04:13:21 +02:00
obadz
fee334f672
lib/sources.nix@commitIdFromGitRepo: remove use of lib.splitString
...
lib.splitString was blowing up the stack in instances where the
.git/packed-refs file was too large. We now use a regexp over the
whole file instead.
Closes #16570
2016-07-27 15:47:08 +01:00
Proglodyte
16bd51fc0d
v8: fix 4.5.107 build
...
Similar to #14272 , but fixes 4.5 build rather than generic.
- Ignores errors due to strict-overflow warnings
- Strips clang-only '-Wno-format-pedantic' flag out since this build
uses gcc
2016-07-24 02:34:32 -04:00
Shawn Warren
9886c80daa
Add gocd agent and server service packages ( #16273 )
...
GoCD is an open source continuous delivery server specializing in advanced workflow
modeling and visualization. Update maintainers list to include swarren83. Update
module list to include gocd agent and server module. Update packages list to include
gocd agent and server package. Update version, revision and checksum for GoCD
release 16.5.0.
2016-07-23 00:29:18 +02:00
Joachim F
46c924c4a2
Merge pull request #17178 from amiloradovsky/add-evilwm
...
evilwm: init at 1.1.1 (#17104 )
2016-07-22 23:28:11 +02:00
Andrew Miloradovsky
17b127205d
evilwm: init at 1.1.1 ( #17104 )
...
Minimalist window manager for the X Window System
2016-07-22 19:15:57 +00:00
Dmytro Rets
2311673aa9
pythonPackages.jenkinsapi: init at 0.2.32
2016-07-20 01:33:04 +02:00
Langston Barrett
c40a0b50f7
doctl: init at 1.3.1 ( #17066 )
2016-07-19 12:30:35 +02:00
Hans-Christian Esperer
88154e2877
commandergenius: init at 194beta
2016-07-15 12:54:52 +02:00
Ioannis Koutras
4f987e0e60
maintainers.nix: add joko
2016-07-13 15:47:14 +03:00
Eric Bailey
9d58f894cd
lfe: init at 1.1.1 ( #16865 )
...
This is a first pass at adding an LFE package.
N.B. man pages are ignored for now.
2016-07-12 13:48:33 +02:00
Martin Gammelsæter
811cf56f5f
mypy-lang: init at 0.4.2
2016-07-11 19:35:00 +02:00
Adolfo E. García
b25d21955e
libqrencode: init at 3.4.4
...
* libqrencode: init at 3.4.4
* libqrencode: add maintainer
#16861
2016-07-11 17:46:30 +02:00
Eelco Dolstra
532211c68d
Really remove library functions
...
Throwing a message like "removed 2016-02-29 because unused and broken"
is unhelpful because it doesn't show what function was removed.
2016-07-11 16:34:46 +02:00
Nathan Moore
09f366a360
solarus: init at 1.4.5
2016-07-05 18:33:51 -07:00
Joachim Fasting
291c454d5e
Merge pull request #16594 from mpscholten/maphosts2
...
maphosts: init at 1.1.1
2016-07-02 14:05:09 +02:00
Ram Kromberg
0253f7eafb
transgui: init at 5.0.1-svn-r986
2016-07-01 13:51:47 +03:00
Scott Olson
73ee19f0e1
drumstick: init at 1.0.2
2016-06-30 14:39:03 -06:00
Marc Scholten
479c08750a
maphosts: init at 1.1.1
2016-06-29 13:31:54 +02:00
Ole Jørgen Brønner
08f0ce1d0a
zsh-completions: init at version 0.18.0 ( #16512 )
...
"This projects aims at gathering/developing new completion scripts that
are not available in Zsh yet. The scripts are meant to be contributed to
the Zsh project when stable enough."
2016-06-27 00:39:18 +02:00
zimbatm
8f5184beab
Merge pull request #16500 from carlsverre/add/sift
...
sift: init at 0.8.0
2016-06-26 12:08:17 +01:00
Profpatsch
93bbe13f98
debug.nix: deprecate strict
...
Replace the implementation by seq and add a deprecation warning.
The semantics seems a little bit off, but the function should only be
used for debugging.
2016-06-26 02:05:45 +02:00
Profpatsch
6889f53397
debug.nix: add traceSeq & traceValSeq
...
Debugging functions that strictly deep-evaluate the argument that should
be traced.
2016-06-26 02:04:58 +02:00
Carl Sverre
a12ec263fa
sift: init at 0.8.0
...
sift is a fast and powerful alternative to grep.
https://sift-tool.org
2016-06-25 14:10:34 -07:00
Christine Koppelt
117fb73965
git-ant-tools.git-extras: 3.0.0 -> 4.1.0
2016-06-25 14:21:16 +02:00
John Ericson
f073df60d6
Replace ./../*
with ../*
in Nix expressions ( #16414 )
2016-06-22 10:39:50 +02:00
zimbatm
bc6b93511f
Merge pull request #16377 from aszlig/improve-escape-shell-arg
...
lib: Make escapeShellArg more robust
2016-06-21 14:32:45 +01:00
Benjamin Saunders
8e47786c0e
coturn: init at 4.5.0.3 ( #16284 )
2016-06-21 12:59:29 +02:00
aszlig
df475092e9
lib: Make escapeShellArg more robust
...
Quoting various characters that the shell *may* interpret specially is a
very fragile thing to do.
I've used something more robust all over the place in various Nix
expression I've written just because I didn't trust escapeShellArg.
Here is a proof of concept showing that I was indeed right in
distrusting escapeShellArg:
with import <nixpkgs> {};
let
payload = runCommand "payload" {} ''
# \x00 is not allowed for Nix strings, so let's begin at 1
for i in $(seq 1 255); do
echo -en "\\x$(printf %02x $i)"
done > "$out"
'';
escapers = with lib; {
current = escapeShellArg;
better = arg: let
backslashEscapes = stringToCharacters "\"\\ ';$`()|<>\r\t*[]&!~#";
search = backslashEscapes ++ [ "\n" ];
replace = map (c: "\\${c}") backslashEscapes ++ [ "'\n'" ];
in replaceStrings search replace (toString arg);
best = arg: "'${replaceStrings ["'"] ["'\\''"] (toString arg)}'";
};
testWith = escaper: let
escaped = escaper (builtins.readFile payload);
in runCommand "test" {} ''
if ! r="$(bash -c ${escapers.best "echo -nE ${escaped}"} 2> /dev/null)"
then
echo bash eval error > "$out"
exit 0
fi
if echo -n "$r" | cmp -s "${payload}"; then
echo success > "$out"
else
echo failed > "$out"
fi
'';
in runCommand "results" {} ''
echo "Test results:"
${lib.concatStrings (lib.mapAttrsToList (name: impl: ''
echo " ${name}: $(< "${testWith impl}")"
'') escapers)}
exit 1
''
The resulting output is the following:
Test results:
best: success
better: success
current: bash eval error
I did the "better" implementation just to illustrate that the method of
quoting only "harmful" characters results in madness in terms of
implementation and performance.
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Cc: @edolstra, @zimbatm
2016-06-20 23:53:36 +02:00
zimbatm
31c158ad45
Merge pull request #16189 from zimbatm/usershell-config
...
User shell config
2016-06-19 23:36:45 +01:00
zimbatm
b0f8416c5c
Merge pull request #16180 from zimbatm/shell-escaping
...
Escape all shell arguments uniformly
2016-06-19 23:27:52 +01:00