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
android-studio android-studio: use a dedicated fontconfig file 2017-01-10 13:36:02 +08:00
aseprite
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
codeblocks
deadpixi-sam
dhex
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
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
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
hecate
heme
hexcurse hexcurse: 1.58 -> 1.60.0 2017-03-05 09:37:25 +01:00
hexedit
ht
idea idea.clion: 2016.3.2 -> 2016.3.3 2017-02-23 16:55:18 -03:00
jedit
joe
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
leo-editor
lighttable
manuskript
mg
monodevelop
music/tuxguitar
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
neovim neovim-qt: run tests 2017-03-08 20:31:29 +08:00
netbeans
notepadqq
nvi nvi: fix linking with ncurses 2017-01-11 19:21:18 -08:00
nvpy
rstudio RStudio: Optionally allow packages from custom R environment 2017-01-27 18:54:50 -05:00
scite
sigil
sublime
sublime3 sublime3: fix hardcoded /bin/bash when executing commands for build systems (#23561) 2017-03-15 11:32:44 +01:00
supertux-editor
tecoc
texmacs
texmaker
texstudio texstudio: 2.11.0 -> 2.11.2 2016-10-31 23:40:18 +02:00
textadept
tiled
tweak
uemacs
vanubi
vbindiff
vim vim: 8.0.0329 -> 8.0.0442 2017-03-11 08:14:28 +01:00
vis
vscode vscode: 1.9.1 -> 1.10.0 2017-03-01 23:35:05 +01:00
wily
wxhexeditor
yi
zed
zile zile: 2.4.11 -> 2.4.13 2016-11-13 22:15:44 +01:00