Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
201 commits
Select commit Hold shift + click to select a range
52b8b68
Libsystem: remove libsystem_network.dylib from reexport list
LnL7 Jun 22, 2018
5024e4a
stdenv-bootstrap-tools: update unpack to use $reexportedLibrariesFile
LnL7 Jul 5, 2018
15c30f4
libyaml: 0.1.7 -> 0.2.1
Jul 8, 2018
1dc0404
cc-wrapper: Define env vars with full path
Ericson2314 Aug 6, 2018
8c78eee
libgit2: 0.26.0 -> 0.26.6 (security, fixes)
dtzWill Aug 7, 2018
cc02890
libgit2_0_27: 0.27.3 -> 0.27.4 (security)
dtzWill Aug 7, 2018
044a73b
bintools-wrapper: Define env vars with full path
Ericson2314 Aug 6, 2018
5a2ef9b
libgcc: Tool env vars no longer need to be made full paths
Ericson2314 Aug 7, 2018
30ea1bf
ghc-*: Tool env vars no longer need to be made full paths
Ericson2314 Aug 7, 2018
4df268d
ncurses: patch wrong st-0.7 terminfo
typetetris Aug 8, 2018
7c5fd68
texlive: 2017 -> 2017-final
bhipple May 20, 2018
c9d55ae
Set xindy HOME to .
bhipple Aug 2, 2018
28dc72f
biber: 2.7 -> 2.10
xeji Aug 9, 2018
b1caaec
Merge pull request #44811 from typetetris/staging
Mic92 Aug 10, 2018
b135329
treewide: random cleanups
oxij Aug 8, 2018
6969f37
libsoup: cleanup
oxij Aug 8, 2018
2781c7d
fossil: cleanup tests
oxij Aug 8, 2018
ee90a2d
libpng: cleanup tests
oxij Aug 8, 2018
0317cc0
nlohmann_json: cleanup tests
oxij Aug 8, 2018
f01ff65
libtoxcore: cleanup tests
oxij Aug 8, 2018
86999f6
libminc: cleanup tests
oxij Aug 8, 2018
7ea0904
openssl: fix tests, also cleanup
oxij Aug 8, 2018
9808244
harfbuzz: fix tests, also cleanup
oxij Aug 8, 2018
1cec3d8
Merge branch 'staging-next' into staging
vcunat Aug 10, 2018
b9c8d68
Merge pull request #40826 from bhipple/u/texlive-2017-final
xeji Aug 10, 2018
1662443
utox: use checkInputs, also cleanup
oxij Aug 8, 2018
1cb5967
radiotray-ng: use checkInputs, but disable tests, also cleanup
oxij Aug 8, 2018
50556b5
gstreamer: make tests run, but disable, also cleanup
oxij Aug 8, 2018
995c506
libsecret: make tests run, but disable, also cleanup
oxij Aug 8, 2018
9bab07e
automake111x: disable tests, also cleanup
oxij Aug 10, 2018
cf84bc0
automake116x: disable tests, also cleanup
oxij Aug 10, 2018
d8850af
apr: fix most tests
oxij Aug 8, 2018
dc3d455
netcdf: fix most tests
oxij Aug 9, 2018
917e3ae
libndctl: fix tests
oxij Aug 7, 2018
9cbddc6
qt5.qtwebkit.hyphen: fix tests
oxij Jul 23, 2018
2f505d6
perlPackages.JSON: fix tests
oxij Mar 25, 2018
207a8a5
mr: fix tests
oxij Aug 8, 2018
856868d
hunspell: fix tests
oxij Aug 8, 2018
7b1d190
libdevil: fix tests
oxij Aug 8, 2018
28550bf
libdrm: fix tests
oxij Aug 8, 2018
28d98d7
libzip: fix tests
oxij Aug 8, 2018
81e9f11
intel-gpu-tools: fix tests
oxij Aug 8, 2018
2a9eff8
re2c: fix tests
oxij Aug 8, 2018
0e3ffe4
cryptsetup: fix tests
oxij Aug 8, 2018
556da20
libaio: fix tests
oxij Aug 8, 2018
2cd4bce
chrony: fix tests
oxij Aug 8, 2018
15bf17a
paperkey: fix tests
oxij Aug 8, 2018
17104e8
gptfdisk: fix tests
oxij Aug 8, 2018
b9aa37f
xmlto: fix tests
oxij Aug 8, 2018
d3b1514
flex, flex_2_6_1: fix tests
oxij Aug 8, 2018
a12d40e
cups: fix tests
oxij Aug 10, 2018
38d527b
libcdio: fix tests
oxij Aug 10, 2018
0495548
texinfo: use checkInputs
oxij Aug 5, 2018
7f29cf0
rsstail: use checkInputs
oxij Aug 8, 2018
411ef0e
gnome3.gnome-keyring: use checkInputs
oxij Aug 8, 2018
98d487e
cmdstan: use checkInputs
oxij Aug 8, 2018
9d257df
guile-cairo: use checkInputs
oxij Aug 8, 2018
633f579
libgsf: use checkInputs
oxij Aug 8, 2018
bcbf5f1
libosinfo: use checkInputs
oxij Aug 8, 2018
2bb678b
liburcu: use checkInputs
oxij Aug 8, 2018
c6b76a5
lightning: use checkInputs
oxij Aug 8, 2018
fffb55d
uthash: use checkInputs
oxij Aug 8, 2018
2dd797a
bison: use checkInputs
oxij Aug 8, 2018
0449c12
knot-resolver: use checkInputs
oxij Aug 8, 2018
2481ed8
myserver: use checkInputs
oxij Aug 8, 2018
f27dda4
xcbutilxrm: use checkInputs
oxij Aug 8, 2018
1563671
parted: use checkInputs
oxij Aug 8, 2018
75993b0
swec: use checkInputs
oxij Aug 8, 2018
ff4b82c
nix-info: use checkInputs
oxij Aug 8, 2018
ac832c7
pythonPackages.dbus-python: use checkInputs
oxij Aug 8, 2018
7739f79
pythonPackages.gensim: use checkInputs
oxij Aug 8, 2018
fd056d8
pythonPackages.nixpart: use checkInputs
oxij Aug 8, 2018
a231831
pythonPackages.cassandra-driver: use checkInputs
oxij Aug 8, 2018
17c660f
feh: use checkInputs, fix tests
oxij Aug 8, 2018
cca7c9f
fftw: use checkInputs, fix tests
oxij Aug 8, 2018
b096f35
gmime2: use checkInputs, fix tests
oxij Aug 8, 2018
37ec85f
gmime3: use checkInputs, fix tests
oxij Aug 8, 2018
3113041
libfaketime: use checkInputs, fix tests
oxij Aug 8, 2018
15e96bd
sshfs-fuse: use checkInputs, fix tests
oxij Aug 8, 2018
3b16f3d
tcpdump: use checkInputs, fix tests
oxij Aug 8, 2018
c2d335f
pass: convert check to installcheck, fix tests
oxij Aug 8, 2018
8aeec44
wdiff: use checkInputs, fix tests
oxij Aug 8, 2018
3f843e0
recutils: use checkInputs, fix tests, also fix build
oxij Aug 8, 2018
65b4ff4
flex_2_5_35: make tests run, but disable
oxij Aug 9, 2018
4715cfe
vala: make tests run, but disable
oxij Aug 8, 2018
880c9b5
glog: make tests run, but disable
oxij Aug 8, 2018
97aa8b1
gpgme: make tests run, but disable. Spooky!
oxij Aug 8, 2018
0f7badb
jbig2dec: make tests run, but disable
oxij Aug 8, 2018
ea07fc7
ldns: make tests run, but disable
oxij Aug 8, 2018
9b95dd8
graphite2: make tests run, but disable
oxij Aug 8, 2018
7e4c442
elfutils: make tests run, but disable. A bit spooky!
oxij Aug 8, 2018
2a7bd71
rman: make tests run, but disable
oxij Aug 8, 2018
2a3a4ff
nodejs: make tests run, but disable
oxij Aug 8, 2018
c8baf7c
foo2zjs: make tests run, but disable
oxij Aug 8, 2018
662756b
fuse: make tests run, but disable
oxij Aug 8, 2018
6c931a1
numactl: make tests run, but disable. Ugh!
oxij Aug 8, 2018
c74e595
syslinux: make tests run, but disable
oxij Aug 8, 2018
7cd8fdb
utillinux: make tests run, but disable
oxij Aug 8, 2018
6c1a9d9
lighttpd: make tests run, but disable
oxij Aug 8, 2018
35b8d5a
zstd: make tests run, but disable
oxij Aug 8, 2018
2a5d7d7
e2fsprogs: make tests run, but disable
oxij Aug 8, 2018
fea886b
aria2: make tests run, but disable
oxij Aug 8, 2018
131e6d6
socat: make tests run, but disable
oxij Aug 8, 2018
1cf53a0
kakasi: make tests run, but disable
oxij Aug 8, 2018
99974ea
gnome3.gcr: make tests run, but disable
oxij Aug 10, 2018
e745d79
mailutils: use checkInputs, make tests run, but disable, also cleanup
oxij Aug 8, 2018
cec9b26
subversion: use checkInputs, make tests run, but them keep disabled
oxij Aug 8, 2018
0b67d69
libseccomp: make tests run, but dependency cycle
oxij Aug 10, 2018
ef2f89b
bash: make tests run, but dependency cycle
oxij Aug 10, 2018
9ab74be
patchelf: disable tests
oxij Aug 10, 2018
1781c00
pcre2: disable tests
oxij Aug 10, 2018
49dd9d8
jdupes: disable tests
oxij Jul 23, 2018
1949a71
pango: disable tests
oxij Jul 29, 2018
8e1a0b5
pmount: disable tests
oxij Aug 1, 2018
875b48e
qt5.qtwebkit: disable tests
oxij Jul 23, 2018
1e837c9
volume_key: disable tests
oxij Aug 7, 2018
51cddcf
librdf: disable tests
oxij Aug 8, 2018
7cd3de6
redis: disable tests
oxij Aug 8, 2018
365df8c
glslang: disable tests
oxij Aug 8, 2018
139c710
clucene_core_2: disable tests
oxij Aug 8, 2018
d820f01
gst_all_1.gst-plugins-base: disable tests
oxij Aug 8, 2018
4b13850
gst_all_1.gst-plugins-good: disable tests
oxij Aug 8, 2018
751f7cf
gst-plugins-good: disable tests
oxij Aug 9, 2018
ead797e
gd: disable tests
oxij Aug 8, 2018
7371fe5
libappindicator: disable tests
oxij Aug 8, 2018
d8cbcb7
libdbusmenu: disable tests
oxij Aug 8, 2018
f305711
nss: disable tests
oxij Aug 8, 2018
b2563a5
nifticlib: disable tests
oxij Aug 9, 2018
1d5e35f
sqlite: disable tests
oxij Aug 8, 2018
37f69ca
twolame: disable tests
oxij Aug 8, 2018
441f3b5
vigra: disable tests
oxij Aug 8, 2018
0a953cc
strace: disable tests. Spooky!
oxij Aug 8, 2018
f360278
memtest86plus: disable tests
oxij Aug 8, 2018
10a4cc1
system-config-printer: disable tests
oxij Aug 8, 2018
c23c2cf
recode: disable tests
oxij Aug 10, 2018
50176ef
glibmm: disable tests
oxij Aug 10, 2018
a77ee3b
pixman: libpng is an optional dependency, not a member of `checkInputs`
oxij Aug 8, 2018
fed9423
knot-dns: enable check, disable installcheck
oxij Aug 9, 2018
35c9435
binutils: disable installcheck for different targetPlatforms
oxij Aug 8, 2018
a68e5e9
Merge pull request #44825 from oxij/docheck/continues-in-a-big-way
7c6f434c Aug 11, 2018
7d4efc1
wget: fix build
fpletz Aug 11, 2018
54f901d
Libsystem: remove version symbols
LnL7 Aug 11, 2018
0edb441
firefox: build on darwin
matthewbauer Jul 10, 2018
b5d529d
xcbuild: cleanup
matthewbauer Jul 11, 2018
72a1bc9
release18.09: add darwin target jobs
matthewbauer Jul 11, 2018
4b71fe6
firefox: cleanup expression
matthewbauer Jul 11, 2018
8fba054
firefox: build on darwin
matthewbauer Jul 29, 2018
c391bd3
xcbuild: cleanup
matthewbauer Jul 11, 2018
08655b1
firefox: fix darwin wrapper
matthewbauer Aug 9, 2018
98df4f6
Merge pull request #44186 from matthewbauer/firefox
matthewbauer Aug 12, 2018
ded9a4b
Merge branch 'staging-next' into staging
vcunat Aug 13, 2018
ea1542e
Merge pull request #43140 from LnL7/macos-10.14
LnL7 Aug 14, 2018
0c633cc
firefox: add default for execdir
matthewbauer Aug 15, 2018
98a7b92
openssl_1_0_2: 1.0.2o -> 1.0.2p
andir Aug 15, 2018
06e7a48
libxml2: fix CVE-2018-14567 & CVE-2018-14404
andir Aug 15, 2018
d4b453d
v8: remove xcodebuild patch
matthewbauer Aug 15, 2018
b421a7d
nodejs: remove ‘no-xcode’ patches
matthewbauer Aug 15, 2018
7a39b0c
libglvnd: build on darwin
matthewbauer Aug 15, 2018
9e8308d
libmspack: 0.6alpha -> 0.7.1alpha
andir Aug 15, 2018
9632b17
Merge pull request #45086 from andir/staging/libxml2
andir Aug 16, 2018
c6cff83
Merge pull request #45081 from andir/openssl_1_0_2p
xeji Aug 16, 2018
47c0245
Merge pull request #45093 from andir/libmspack
andir Aug 16, 2018
1c4fc1d
postgresql100: 10.4 -> 10.5
andir Aug 16, 2018
94c3589
postgresql96: 9.6.9 -> 9.6.10
andir Aug 16, 2018
98d8db4
postgresql95: 9.5.13 -> 9.5.14
andir Aug 16, 2018
2abb00e
postgresql94: 9.4.18 -> 9.4.19
andir Aug 16, 2018
5de601e
postgresql93: 9.3.23 -> 9.3.24
andir Aug 16, 2018
86a6c42
p11-kit: 0.23.12 -> 0.23.13
Aug 17, 2018
3b6b8fc
pciutils: 3.6.1 -> 3.6.2
Aug 17, 2018
bca8144
treewide: disable some tests broken on darwin
matthewbauer Aug 17, 2018
2d63877
wireshark: fix on darwin
matthewbauer Aug 17, 2018
aba9f67
qca: fix on darwin
matthewbauer Aug 17, 2018
030760a
doomseeker: fix on darwin
matthewbauer Aug 17, 2018
ee92ab0
chuck: cleanup
matthewbauer Aug 17, 2018
7cb57d7
harfbuzz: 1.8.2 -> 1.8.8
Aug 17, 2018
c64637e
expat: 2.2.5 -> 2.2.6
Aug 17, 2018
6cb6ea1
release: use jobs.firefox-unwrapped
matthewbauer Aug 17, 2018
4ff7702
Merge pull request #45183 from matthewbauer/macdevelop
matthewbauer Aug 17, 2018
14aa936
Merge branch 'staging-next' into staging
vcunat Aug 17, 2018
4ea21ac
firefox: finish adding default for execdir
vcunat Aug 17, 2018
8831f7a
pciutils: fix the comment with DB date
vcunat Aug 17, 2018
d0f1102
Merge #45175: pciutils: 3.6.1 -> 3.6.2
vcunat Aug 17, 2018
89efc27
Merge pull request #44767 from obsidiansystems/wrapper-env-var-path
Ericson2314 Aug 17, 2018
cb3a149
release.nix: fix a typo (breaking tarball job)
vcunat Aug 18, 2018
c13bbda
Merge #45146 into staging: postgresql security updates
vcunat Aug 18, 2018
aabe979
Merge #45237: expat: 2.2.5 -> 2.2.6
vcunat Aug 18, 2018
e033941
Merge #45174: p11-kit: 0.23.12 -> 0.23.13
vcunat Aug 18, 2018
65af430
Merge #45224: harfbuzz: 1.8.2 -> 1.8.8
vcunat Aug 18, 2018
0f57d85
Merge #43190: libyaml: 0.1.7 -> 0.2.1
vcunat Aug 18, 2018
b1548ce
postgresql*: fixup build by a side-step
vcunat Aug 19, 2018
11f1893
Merge #44625: libgit2* updates (security)
vcunat Aug 19, 2018
01fc00c
Revert "Merge #43190: libyaml: 0.1.7 -> 0.2.1"
vcunat Aug 19, 2018
38eea80
openjdk: fixup build after #44767
vcunat Aug 19, 2018
ae2cf7c
Merge branch 'staging' into staging-next
vcunat Aug 20, 2018
153a19d
Merge branch 'master' into staging-next
vcunat Aug 20, 2018
440ac01
postgresql: Fix cross compilation
Aug 20, 2018
cfa4e0a
openjdk: Fix a cross problem
Aug 20, 2018
b300ddd
xcbuild: only override version with 1 arg
matthewbauer Aug 20, 2018
d0888d1
treewide: fixup breakage due to absolute compiler path
vcunat Aug 21, 2018
eccba56
velox: enableParallelBuilding = false
vcunat Aug 21, 2018
cad8fc3
firefoxPackages: avoid BINDGEN_CFLAGS on some versions
oxij Aug 21, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 15 additions & 17 deletions pkgs/applications/audio/chuck/default.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{ stdenv, fetchurl, alsaLib, bison, flex, libsndfile, which
{ stdenv, lib, fetchurl, alsaLib, bison, flex, libsndfile, which
, AppKit, Carbon, CoreAudio, CoreMIDI, CoreServices, Kernel
, xcbuild
}:

stdenv.mkDerivation rec {
Expand All @@ -11,31 +12,28 @@ stdenv.mkDerivation rec {
sha256 = "02z7sglax3j09grj5s1skmw8z6wz7b21hjrm95nrrdpwbxabh079";
};

buildInputs = [ bison flex libsndfile which ]
++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
++ stdenv.lib.optional stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ];
nativeBuildInputs = [ flex bison which ];

buildInputs = [ libsndfile ]
++ lib.optional (!stdenv.isDarwin) alsaLib
++ lib.optional stdenv.isDarwin [ AppKit Carbon CoreAudio CoreMIDI CoreServices Kernel ];

patches = [ ./clang.patch ./darwin-limits.patch ];

NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-Wno-missing-sysroot";
NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-framework MultitouchSupport";
NIX_CFLAGS_COMPILE = lib.optional stdenv.isDarwin "-Wno-missing-sysroot";
NIX_LDFLAGS = lib.optional stdenv.isDarwin "-framework MultitouchSupport";

postPatch = ''
substituteInPlace src/makefile --replace "/usr/bin" "$out/bin"
substituteInPlace src/makefile.osx --replace "xcodebuild" "/usr/bin/xcodebuild"
substituteInPlace src/makefile.osx --replace "weak_framework" "framework"
substituteInPlace src/makefile.osx --replace "MACOSX_DEPLOYMENT_TARGET=10.5" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
'';

buildPhase = ''
make -C src ${if stdenv.isDarwin then "osx" else "linux-alsa"}
substituteInPlace src/makefile.osx \
--replace "weak_framework" "framework" \
--replace "MACOSX_DEPLOYMENT_TARGET=10.5" "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
'';

installPhase = ''
install -Dm755 ./src/chuck $out/bin/chuck
'';
makeFlags = [ "-C src" "DESTDIR=$(out)/bin" ];
buildFlags = [ (if stdenv.isDarwin then "osx" else "linux-alsa") ];

meta = with stdenv.lib; {
meta = with lib; {
description = "Programming language for real-time sound synthesis and music creation";
homepage = http://chuck.cs.princeton.edu;
license = licenses.gpl2;
Expand Down
17 changes: 9 additions & 8 deletions pkgs/applications/audio/radiotray-ng/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
# rt2rtng
, python2
# Testing
, gmock
, gtest
# Fixup
, wrapGAppsHook
, makeWrapper
Expand Down Expand Up @@ -58,11 +58,10 @@ stdenv.mkDerivation rec {
libxdg_basedir
lsb-release
wxGTK
] ++ stdenv.lib.optional doCheck gmock
++ gstInputs
] ++ gstInputs
++ pythonInputs;

prePatch = ''
postPatch = ''
for x in debian/CMakeLists.txt include/radiotray-ng/common.hpp data/*.desktop; do
substituteInPlace $x --replace /usr $out
done
Expand All @@ -74,14 +73,16 @@ stdenv.mkDerivation rec {
--replace radiotray-ng-notification radiotray-ng-on
'';

cmakeFlags = stdenv.lib.optional doCheck "-DBUILD_TESTS=ON";
cmakeFlags = [
"-DBUILD_TESTS=${if doCheck then "ON" else "OFF"}"
];

enableParallelBuilding = true;

# XXX: as of 0.2.2, tries to download gmock instead of checking for provided
doCheck = false;

checkInputs = [ gtest ];
checkPhase = "ctest";
# doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
doCheck = false; # fails to pick up supplied gtest, tries to download it instead

preFixup = ''
gappsWrapperArgs+=(--suffix PATH : ${stdenv.lib.makeBinPath [ dbus ]})
Expand Down
5 changes: 5 additions & 0 deletions pkgs/applications/graphics/exrtools/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "0jpkskqs1yjiighab4s91jy0c0qxcscwadfn94xy2mm2bx2qwp4z";
};

preConfigure = ''
CC=${stdenv.cc.targetPrefix}cc
CXX=${stdenv.cc.targetPrefix}c++
'';

nativeBuildInputs = [ pkgconfig ];
buildInputs = [ stdenv openexr libpng12 libjpeg ];

Expand Down
8 changes: 4 additions & 4 deletions pkgs/applications/graphics/feh/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ stdenv.mkDerivation rec {

outputs = [ "out" "man" "doc" ];

nativeBuildInputs = [ makeWrapper xorg.libXt ]
++ optionals doCheck [ perlPackages.TestCommand perlPackages.TestHarness ];
nativeBuildInputs = [ makeWrapper xorg.libXt ];

buildInputs = [ xorg.libX11 xorg.libXinerama imlib2 libjpeg libpng curl libexif ];

Expand All @@ -36,8 +35,9 @@ stdenv.mkDerivation rec {
install -D -m 644 man/*.1 $out/share/man/man1
'';

checkPhase = ''
PERL5LIB="${perlPackages.TestCommand}/lib/perl5/site_perl" make test
checkInputs = [ perlPackages.TestCommand perlPackages.TestHarness ];
preCheck = ''
export PERL5LIB="${perlPackages.TestCommand}/lib/perl5/site_perl"
'';

doCheck = true;
Expand Down
6 changes: 4 additions & 2 deletions pkgs/applications/misc/doomseeker/default.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ stdenv, cmake, fetchFromBitbucket, pkgconfig, qtbase, qttools, qtmultimedia, zlib, bzip2 }:
{ stdenv, cmake, fetchFromBitbucket, pkgconfig, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }:

stdenv.mkDerivation rec {
name = "doomseeker-${version}";
Expand All @@ -15,10 +15,12 @@ stdenv.mkDerivation rec {

buildInputs = [ qtbase qtmultimedia zlib bzip2 ];

nativeBuildInputs = [ cmake qttools pkgconfig ];
nativeBuildInputs = [ cmake qttools pkgconfig xxd ];

enableParallelBuilding = true;

NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isClang "-Wno-error=format-security";

meta = with stdenv.lib; {
homepage = http://doomseeker.drdteam.org/;
description = "Multiplayer server browser for many Doom source ports";
Expand Down
5 changes: 5 additions & 0 deletions pkgs/applications/misc/kiwix/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,11 @@ stdenv.mkDerivation rec {
cd ../../..
'';

preConfigure = ''
CC=${stdenv.cc.targetPrefix}cc
CXX=${stdenv.cc.targetPrefix}c++
'';

configureFlags = [
"--disable-static"
"--disable-staticbins"
Expand Down
2 changes: 1 addition & 1 deletion pkgs/applications/misc/ranger/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ python3Packages.buildPythonApplication rec {

# give image previews out of the box when building with w3m
substituteInPlace ranger/config/rc.conf \
--replace "set preview_images false" "set preview_images true" \
--replace "set preview_images false" "set preview_images true"
'';

meta = with stdenv.lib; {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ stdenv.mkDerivation {
gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped")
'';

passthru.execdir = "/bin";
passthru.ffmpegSupport = true;
passthru.gssSupport = true;
# update with:
Expand Down
76 changes: 60 additions & 16 deletions pkgs/applications/networking/browsers/firefox/common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

## optional libraries

, alsaSupport ? true, alsaLib
, alsaSupport ? stdenv.isLinux, alsaLib
, pulseaudioSupport ? true, libpulseaudio
, ffmpegSupport ? true, gstreamer, gst-plugins-base
, gtk3Support ? !isTorBrowserLike, gtk2, gtk3, wrapGAppsHook
Expand All @@ -39,6 +39,10 @@
, safeBrowsingSupport ? false
, drmSupport ? false

# macOS dependencies
, xcbuild, CoreMedia, ExceptionHandling, Kerberos, AVFoundation, MediaToolbox
, CoreLocation, Foundation, AddressBook, libobjc, cups, rsync

## other

# As stated by Sylvestre Ledru (@sylvestre) on Nov 22, 2017 at
Expand Down Expand Up @@ -66,7 +70,14 @@ assert stdenv.cc.libc or null != null;

let
flag = tf: x: [(if tf then "--enable-${x}" else "--disable-${x}")];
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;

default-toolkit = if stdenv.isDarwin then "cairo-cocoa"
else "cairo-gtk${if gtk3Support then "3" else "2"}";

execdir = if stdenv.isDarwin
then "/Applications/${browserName}.app/Contents/MacOS"
else "/bin";
browserName = if stdenv.isDarwin then "Firefox" else "firefox";
in

stdenv.mkDerivation (rec {
Expand All @@ -90,13 +101,27 @@ stdenv.mkDerivation (rec {
++ lib.optional pulseaudioSupport libpulseaudio # only headers are needed
++ lib.optionals ffmpegSupport [ gstreamer gst-plugins-base ]
++ lib.optional gtk3Support gtk3
++ lib.optional gssSupport kerberos;

NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
++ lib.optional gssSupport kerberos
++ lib.optionals stdenv.isDarwin [ CoreMedia ExceptionHandling Kerberos
AVFoundation MediaToolbox CoreLocation
Foundation libobjc AddressBook cups ];

NIX_CFLAGS_COMPILE = [ "-I${nspr.dev}/include/nspr"
"-I${nss.dev}/include/nss"
"-I${glib.dev}/include/gio-unix-2.0" ]
++ lib.optional stdenv.isDarwin [
"-isystem ${llvmPackages.libcxx}/include/c++/v1"
"-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_10" ];

postPatch = lib.optionalString stdenv.isDarwin ''
substituteInPlace js/src/jsmath.cpp --replace 'defined(HAVE___SINCOS)' 0
'';

nativeBuildInputs =
[ autoconf213 which gnused pkgconfig perl python2 cargo rustc ]
++ lib.optional gtk3Support wrapGAppsHook ++ extraNativeBuildInputs;
++ lib.optional gtk3Support wrapGAppsHook
++ lib.optionals stdenv.isDarwin [ xcbuild rsync ]
++ extraNativeBuildInputs;

preConfigure = ''
# remove distributed configuration files
Expand All @@ -110,11 +135,23 @@ stdenv.mkDerivation (rec {
'' else ''
make -f client.mk configure-files
configureScript="$(realpath ./configure)"
'') + ''
cxxLib=$( echo -n ${gcc}/include/c++/* )
archLib=$cxxLib/$( ${gcc}/bin/gcc -dumpmachine )

test -f layout/style/ServoBindings.toml && sed -i -e '/"-DRUST_BINDGEN"/ a , "-cxx-isystem", "'$cxxLib'", "-isystem", "'$archLib'"' layout/style/ServoBindings.toml
'') + lib.optionalString (!isTorBrowserLike && lib.versionAtLeast version "53") ''
export MOZCONFIG=$(pwd)/mozconfig

# Set C flags for Rust's bindgen program. Unlike ordinary C
# compilation, bindgen does not invoke $CC directly. Instead it
# uses LLVM's libclang. To make sure all necessary flags are
# included we need to look in a few places.
# TODO: generalize this process for other use-cases.

BINDGEN_CFLAGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
$(< ${stdenv.cc}/nix-support/cc-cflags) \
${stdenv.cc.default_cxx_stdlib_compile} \
${lib.optionalString stdenv.cc.isClang "-idirafter ${stdenv.cc.cc}/lib/clang/${lib.getVersion stdenv.cc.cc}/include"} \
${lib.optionalString stdenv.cc.isGNU "-isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc} -isystem ${stdenv.cc.cc}/include/c++/${lib.getVersion stdenv.cc.cc}/$(cc -dumpmachine)"} \
$NIX_CFLAGS_COMPILE"

echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
'' + lib.optionalString googleAPISupport ''
# Google API key used by Chromium and Firefox.
# Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
Expand Down Expand Up @@ -146,8 +183,9 @@ stdenv.mkDerivation (rec {
"--enable-jemalloc"
"--disable-maintenance-service"
"--disable-gconf"
"--enable-default-toolkit=cairo-gtk${if gtk3Support then "3" else "2"}"
"--enable-default-toolkit=${default-toolkit}"
]
++ lib.optional stdenv.isDarwin "--disable-xcode-checks"
++ lib.optional (lib.versionOlder version "61") "--enable-system-hunspell"
++ lib.optionals (lib.versionAtLeast version "56" && !stdenv.hostPlatform.isi686) [
# on i686-linux: --with-libclang-path is not available in this configuration
Expand Down Expand Up @@ -223,7 +261,12 @@ stdenv.mkDerivation (rec {
paxmark m dist/bin/xpcshell
'';

postInstall = ''
installPhase = if stdenv.isDarwin then ''
mkdir -p $out/Applications
cp -LR dist/Firefox.app $out/Applications
'' else null;

postInstall = lib.optionalString stdenv.isLinux ''
# For grsecurity kernels
paxmark m $out/lib/firefox*/{firefox,firefox-bin,plugin-container}

Expand All @@ -234,7 +277,7 @@ stdenv.mkDerivation (rec {
gappsWrapperArgs+=(--argv0 "$out/bin/.firefox-wrapped")
'';

postFixup = ''
postFixup = lib.optionalString stdenv.isLinux ''
# Fix notifications. LibXUL uses dlopen for this, unfortunately; see #18712.
patchelf --set-rpath "${lib.getLib libnotify
}/lib:$(patchelf --print-rpath "$out"/lib/firefox*/libxul.so)" \
Expand All @@ -244,18 +287,19 @@ stdenv.mkDerivation (rec {
doInstallCheck = true;
installCheckPhase = ''
# Some basic testing
"$out/bin/firefox" --version
"$out${execdir}/${browserName}" --version
'';

passthru = {
browserName = "firefox";
inherit version updateScript;
isFirefox3Like = true;
inherit isTorBrowserLike;
gtk = gtk2;
inherit nspr;
inherit ffmpegSupport;
inherit gssSupport;
inherit execdir;
inherit browserName;
} // lib.optionalAttrs gtk3Support { inherit gtk3; };

} // overrides)
2 changes: 1 addition & 1 deletion pkgs/applications/networking/browsers/firefox/packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ rec {
description = "A web browser built from Firefox source tree";
homepage = http://www.mozilla.com/en-US/firefox/;
maintainers = with lib.maintainers; [ eelco ];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
license = lib.licenses.mpl20;
};
updateScript = callPackage ./update.nix {
Expand Down
24 changes: 14 additions & 10 deletions pkgs/applications/networking/browsers/firefox/wrapper.nix
Original file line number Diff line number Diff line change
Expand Up @@ -101,24 +101,28 @@ let
];
};

buildInputs = [makeWrapper]
++ lib.optional (browser ? gtk3) browser.gtk3;

buildCommand = ''
if [ ! -x "${browser}/bin/${browserName}" ]
nativeBuildInputs = [ makeWrapper lndir ];
buildInputs = lib.optional (browser ? gtk3) browser.gtk3;

buildCommand = lib.optionalString stdenv.isDarwin ''
mkdir -p $out/Applications
cp -R --no-preserve=mode,ownership ${browser}/Applications/${browserName}.app $out/Applications
rm -f $out${browser.execdir or "/bin"}/${browserName}
'' + ''
if [ ! -x "${browser}${browser.execdir or "/bin"}/${browserName}" ]
then
echo "cannot find executable file \`${browser}/bin/${browserName}'"
echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
exit 1
fi

makeWrapper "$(readlink -v --canonicalize-existing "${browser}/bin/${browserName}")" \
"$out/bin/${browserName}${nameSuffix}" \
makeWrapper "$(readlink -v --canonicalize-existing "${browser}${browser.execdir or "/bin"}/${browserName}")" \
"$out${browser.execdir or "/bin"}/${browserName}${nameSuffix}" \
--suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
--suffix LD_LIBRARY_PATH ':' "$libs" \
--suffix-each GTK_PATH ':' "$gtk_modules" \
--suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
--suffix PATH ':' "$out/bin" \
--suffix PATH ':' "$out${browser.execdir or "/bin"}" \
--set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
--set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
${lib.optionalString (browser ? gtk3)
Expand All @@ -144,7 +148,7 @@ let

mkdir -p $out/lib/mozilla
for ext in ${toString nativeMessagingHosts}; do
${lndir}/bin/lndir -silent $ext/lib/mozilla $out/lib/mozilla
lndir -silent $ext/lib/mozilla $out/lib/mozilla
done

# For manpages, in case the program supplies them
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -337,6 +337,7 @@ stdenv.mkDerivation rec {
$out/bin/tor-browser -version >/dev/null
'';

passthru.execdir = "/bin";
meta = with stdenv.lib; {
description = "An unofficial version of the tor browser bundle, built from source";
homepage = https://torproject.org/;
Expand Down
Loading