nixpkgs/pkgs/applications/editors
Benno Fünfstück a4d6e2cf16 atom: avoid using LD_PRELOAD. Fixes glibc compat issues
The wrapper for Atom was loading libraries via LD_PRELOAD, for example
libxkbfile. Now, if you installed atom via nix-env and happened to use a newer
nixpkgs for that than what your system environment is build against, you could
end up with an error like this:

```
uname: relocation error:
/nix/store/68sa3m89shpfaqq1b9xp5p1360vqhwx6-glibc-2.25/lib/libdl.so.2:
symbol _dl_catch_error, version GLIBC_PRIVATE not defined in file libc.so.6
with link time reference
```

This happens because atom calls the `uname` executable from the system to
determine the platform. Because that inherits the `LD_PRELOAD` environment
variable, so the libxkbfile library that the `atom` wrapper was build against
is loaded into `uname`. But since `atom` comes from `nix-env`, the `libxkbfile`
it was built with might be compiled against a newer version of `glibc` than
`uname`, which comes from the system, was! Having two versions of glibc loaded
into the same processes results in chaos.

To fix this, we avoid setting `LD_PRELOAD` and instead use patchelf to set the
correct RPATH. RPATH is not inherited by child processes, so the above issue
can no longer occur.

The only small complication here is that the library that actually loads
libxkbfile is not the atom binary itself, but a node extension that atom uses.
So instead of setting the RPATH on `atom` only, we also set the `rpath` on all
node extensions (`*.node`) the output.
2017-03-18 01:51:36 +01:00
..
aewan treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
android-studio android-studio: use a dedicated fontconfig file 2017-01-10 13:36:02 +08:00
aseprite drop my maintainership (close #13881) 2016-03-13 18:39:01 +01:00
atom atom: avoid using LD_PRELOAD. Fixes glibc compat issues 2017-03-18 01:51:36 +01:00
bluefish bluefish: 2.2.9 -> 2.2.10 2017-03-13 23:01:35 +01:00
brackets brackets: 1.7 -> 1.8 2017-01-30 01:16:26 +01:00
bvi
bviplus Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-07-15 14:41:01 +00:00
codeblocks treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
deadpixi-sam sam: 2016-09-15 -> 2016-10-08 2016-10-17 10:21:29 +03:00
dhex treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
eclipse eclipses: add dependencies as build inputs 2017-03-14 20:38:04 +01:00
ed ed: 1.13 -> 1.14.1 2017-01-15 18:27:59 +01:00
edbrowse edbrowse: mark as broken 2017-01-25 20:12:42 +01:00
edit treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
elvis
emacs emacs: fix runtime GTK3 dependencies 2017-03-18 01:32:42 +03:00
emacs-modes melpa-packages: 2017-03-13 2017-03-13 15:00:27 -04:00
flpsed flpsed: ghostscript patch, fixes, new url 2017-02-23 18:52:30 +01:00
focuswriter focuswriter: move to qmake4Hook 2016-04-20 18:55:39 +03:00
fte fte: init at 0.50.02 2016-12-19 16:15:59 +01:00
geany Geany: 1.29 -> 1.30 2017-03-05 15:53:41 +01:00
gobby treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
hecate hecate: init at 0.0.1 2016-10-18 19:40:23 +03:00
heme ncurses: combine $lib and $out outputs 2016-03-08 11:35:24 -06:00
hexcurse hexcurse: 1.58 -> 1.60.0 2017-03-05 09:37:25 +01:00
hexedit treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
ht Merge branch 'hardened-stdenv' into staging 2016-08-22 01:19:35 +01:00
idea idea.clion: 2016.3.2 -> 2016.3.3 2017-02-23 16:55:18 -03:00
jedit
joe treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
kakoune kakoune: 2016-12-30 -> 2017-02-09 2017-02-10 14:06:28 -08:00
kdevelop5 kdevelop: 5.0.3 -> 5.0.4 (#23788) 2017-03-12 16:49:24 +01:00
kile extra-cmake-modules: Lift Qt dependency 2017-02-27 11:49:46 -06:00
leafpad treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
leo-editor leo-editor: 5.1 -> 5.3 2016-08-17 16:44:25 +03:00
lighttable treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
manuskript manuskript: cleanup of install 2016-08-29 22:55:45 +02:00
mg mg: fix darwin build 2016-08-16 19:25:43 +00:00
monodevelop treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
music/tuxguitar treewide: Use more makeLibraryPath 2016-08-23 02:56:12 +03:00
nano nano: add nix syntax hightlight, nano module: provide default (#21912) 2017-01-18 12:05:30 +01:00
ne ne: migrate from (broken) tetex to texlive 2017-02-11 17:57:32 +01:00
nedit Merge remote-tracking branch 'upstream/master' into hardened-stdenv 2016-08-12 09:46:53 +00:00
neovim neovim-qt: run tests 2017-03-08 20:31:29 +08:00
netbeans netbeans: 8.1 -> 8.2 2016-10-14 21:56:26 -04:00
notepadqq notepadqq: init at 0.53.0 2016-10-02 15:59:01 +02:00
nvi nvi: fix linking with ncurses 2017-01-11 19:21:18 -08:00
nvpy nvpy: use python2 2016-10-18 23:14:34 +02:00
rstudio RStudio: Optionally allow packages from custom R environment 2017-01-27 18:54:50 -05:00
scite treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
sigil treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
sublime treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
sublime3 sublime3: fix hardcoded /bin/bash when executing commands for build systems (#23561) 2017-03-15 11:32:44 +01:00
supertux-editor treewide: explicitly specify gtk and related package versions 2016-09-12 18:26:06 +03:00
tecoc tecoc: init at 20150606 2016-08-02 22:59:39 -03:00
texmacs treewide: Mass replace 'zlib}/lib' to refer the 'out' output 2016-01-24 10:03:39 +02:00
texmaker texmaker: 4.4.1 -> 4.5 (#16359) 2016-06-21 14:32:03 +02:00
texstudio texstudio: 2.11.0 -> 2.11.2 2016-10-31 23:40:18 +02:00
textadept textadept: 8.7 -> 9.0 2016-10-05 15:07:56 +11:00
tiled tiled: 0.16.1 -> 0.17.0 2016-09-30 13:49:08 +10:00
tweak tweak: Broken on Darwin 2016-08-06 17:06:45 +03:00
uemacs uemacs: init at 2014-12-08 2016-07-13 21:09:01 +03:00
vanubi vanubi: vala -> vala_0_26 2016-08-21 20:02:05 +03:00
vbindiff treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
vim vim: 8.0.0329 -> 8.0.0442 2017-03-11 08:14:28 +01:00
vis vis: 2016-08-24 -> 2016-10-09 2016-10-17 10:35:48 +03:00
vscode vscode: 1.9.1 -> 1.10.0 2017-03-01 23:35:05 +01:00
wily treewide: Add lots of meta.platforms 2016-08-02 21:42:43 +03:00
wxhexeditor
yi
zed
zile zile: 2.4.11 -> 2.4.13 2016-11-13 22:15:44 +01:00