Update nixpkgs-mozilla to NixOS 18.03-compatible version
parent
ea6791ecf9
commit
58cd496ef0
@ -0,0 +1,96 @@
|
||||
# This overlays add a customStdenv attribute which provide an stdenv with
|
||||
# different versions of the compilers. This can be used to test Gecko builds
|
||||
# against different compiler settings, or different compiler versions.
|
||||
#
|
||||
# See release.nix "builder" function, to understand how these different stdenv
|
||||
# are used.
|
||||
self: super:
|
||||
|
||||
let
|
||||
noSysDirs = (super.stdenv.system != "x86_64-darwin"
|
||||
&& super.stdenv.system != "x86_64-freebsd"
|
||||
&& super.stdenv.system != "i686-freebsd"
|
||||
&& super.stdenv.system != "x86_64-kfreebsd-gnu");
|
||||
crossSystem = null;
|
||||
|
||||
gcc473 = super.wrapCC (super.callPackage ./pkgs/gcc-4.7 (with self; {
|
||||
inherit noSysDirs;
|
||||
texinfo = texinfo4;
|
||||
# I'm not sure if profiling with enableParallelBuilding helps a lot.
|
||||
# We can enable it back some day. This makes the *gcc* builds faster now.
|
||||
profiledCompiler = false;
|
||||
|
||||
# When building `gcc.crossDrv' (a "Canadian cross", with host == target
|
||||
# and host != build), `cross' must be null but the cross-libc must still
|
||||
# be passed.
|
||||
cross = null;
|
||||
libcCross = if crossSystem != null then libcCross else null;
|
||||
libpthreadCross =
|
||||
if crossSystem != null && crossSystem.config == "i586-pc-gnu"
|
||||
then gnu.libpthreadCross
|
||||
else null;
|
||||
}));
|
||||
|
||||
# By default wrapCC keep the same header files, but NixOS is using the
|
||||
# latest header files from GCC, which are not supported by clang, because
|
||||
# clang implement a different set of locking primitives than GCC. This
|
||||
# expression is used to wrap clang with a matching verion of the libc++.
|
||||
maybeWrapClang = cc:
|
||||
if cc ? clang
|
||||
then clangWrapCC cc
|
||||
else cc;
|
||||
|
||||
clangWrapCC = llvmPackages:
|
||||
let libcxx =
|
||||
super.lib.overrideDerivation llvmPackages.libcxx (drv: {
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1277619
|
||||
# https://llvm.org/bugs/show_bug.cgi?id=14435
|
||||
patches = drv.patches ++ [ ./pkgs/clang/bug-14435.patch ];
|
||||
});
|
||||
in
|
||||
super.callPackage <nixpkgs/pkgs/build-support/cc-wrapper> {
|
||||
cc = llvmPackages.clang-unwrapped or llvmPackages.clang;
|
||||
isClang = true;
|
||||
stdenv = self.clangStdenv;
|
||||
libc = self.glibc;
|
||||
# cc-wrapper pulls gcc headers, which are not compatible with features
|
||||
# implemented in clang. These packages are used to override that.
|
||||
extraPackages = [ self.libcxx llvmPackages.libcxxabi ];
|
||||
nativeTools = false;
|
||||
nativeLibc = false;
|
||||
};
|
||||
|
||||
buildWithCompiler = cc:
|
||||
super.stdenvAdapters.overrideCC self.stdenv (maybeWrapClang cc);
|
||||
chgCompilerSource = cc: name: src:
|
||||
cc.override (conf:
|
||||
if conf ? gcc then # Nixpkgs 14.12
|
||||
{ gcc = super.lib.overrideDerivation conf.gcc (old: { inherit name src; }); }
|
||||
else # Nixpkgs 15.05
|
||||
{ cc = super.lib.overrideDerivation conf.cc (old: { inherit name src; }); }
|
||||
);
|
||||
|
||||
compilersByName = with self; {
|
||||
clang = llvmPackages;
|
||||
clang36 = llvmPackages_36;
|
||||
clang37 = llvmPackages_37;
|
||||
clang38 = llvmPackages_38; # not working yet.
|
||||
gcc = gcc;
|
||||
gcc49 = gcc49;
|
||||
gcc48 = gcc48;
|
||||
gcc474 = chgCompilerSource gcc473 "gcc-4.7.4" (fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-4.7.4/gcc-4.7.4.tar.bz2";
|
||||
sha256 = "10k2k71kxgay283ylbbhhs51cl55zn2q38vj5pk4k950qdnirrlj";
|
||||
});
|
||||
gcc473 = gcc473;
|
||||
# Version used on Linux slaves, except Linux x64 ASAN.
|
||||
gcc472 = chgCompilerSource gcc473 "gcc-4.7.2" (fetchurl {
|
||||
url = "mirror://gnu/gcc/gcc-4.7.2/gcc-4.7.2.tar.bz2";
|
||||
sha256 = "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la";
|
||||
});
|
||||
};
|
||||
|
||||
in {
|
||||
customStdenvs =
|
||||
super.lib.mapAttrs (name: value: buildWithCompiler value) compilersByName;
|
||||
}
|
@ -1,49 +1,16 @@
|
||||
# This script extends nixpkgs with mozilla packages.
|
||||
#
|
||||
# First it imports the <nixpkgs> in the environment and depends on it
|
||||
# providing fetchFromGitHub and lib.importJSON.
|
||||
#
|
||||
# After that it loads a pinned release of nixos-unstable and uses that as the
|
||||
# base for the rest of packaging. One can pass it's own pkgs attribute if
|
||||
# desired, probably in the context of hydra.
|
||||
let
|
||||
_pkgs = import <nixpkgs> {};
|
||||
_nixpkgs = _pkgs.fetchFromGitHub (_pkgs.lib.importJSON ./pkgs/nixpkgs.json);
|
||||
in
|
||||
# Nixpkgs overlay which aggregates overlays for tools and products, used and
|
||||
# published by Mozilla.
|
||||
self: super:
|
||||
|
||||
{ pkgs ? import _nixpkgs {}
|
||||
, geckoSrc ? null
|
||||
, servoSrc ? null
|
||||
}:
|
||||
with super.lib;
|
||||
|
||||
let
|
||||
callPackage = (extra: pkgs.lib.callPackageWith
|
||||
({ inherit geckoSrc servoSrc; } // self // extra)) {};
|
||||
(foldl' (flip extends) (_: super) [
|
||||
|
||||
self = {
|
||||
(import ./lib-overlay.nix)
|
||||
(import ./rust-overlay.nix)
|
||||
(import ./rr-overlay.nix)
|
||||
(import ./firefox-overlay.nix)
|
||||
(import ./vidyo-overlay.nix)
|
||||
(import ./servo-overlay.nix)
|
||||
|
||||
lib = callPackage ./pkgs/lib/default.nix { };
|
||||
|
||||
rustPlatform = pkgs.rustUnstable;
|
||||
|
||||
pkgs = pkgs // {
|
||||
name = "nixpkgs";
|
||||
updateScript = self.lib.updateFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "nixpkgs-channels";
|
||||
branch = "nixos-unstable-small";
|
||||
path = "pkgs/nixpkgs.json";
|
||||
};
|
||||
};
|
||||
|
||||
gecko = callPackage ./pkgs/gecko { };
|
||||
|
||||
servo = callPackage ./pkgs/servo { };
|
||||
|
||||
firefox-nightly-bin = _pkgs.lowPrio (callPackage ./pkgs/firefox-nightly-bin/default.nix { });
|
||||
|
||||
VidyoDesktop = callPackage ./pkgs/VidyoDesktop { };
|
||||
|
||||
};
|
||||
|
||||
in self
|
||||
]) self
|
||||
|
@ -0,0 +1,166 @@
|
||||
# This file provide the latest binary versions of Firefox published by Mozilla.
|
||||
self: super:
|
||||
|
||||
# firefo.key file is downloaded from:
|
||||
# https://gpg.mozilla.org/pks/lookup?search=Mozilla+Software+Releases+%3Crelease%40mozilla.com%3E&op=get
|
||||
|
||||
let
|
||||
# This file is currently maintained manually, if this Nix expression attempt
|
||||
# to download the wrong version, this is likely to be the problem.
|
||||
#
|
||||
# Open a pull request against https://github.com/mozilla-releng/ship-it/ to
|
||||
# update the version, as done in
|
||||
# https://github.com/mozilla-releng/ship-it/pull/182
|
||||
firefox_versions = with builtins;
|
||||
fromJSON (readFile (fetchurl https://product-details.mozilla.org/1.0/firefox_versions.json));
|
||||
|
||||
arch = if self.stdenv.system == "i686-linux"
|
||||
then "linux-i686"
|
||||
else "linux-x86_64";
|
||||
|
||||
yearOf = with super.lib; yyyymmddhhmmss:
|
||||
head (splitString "-" yyyymmddhhmmss);
|
||||
monthOf = with super.lib; yyyymmddhhmmss:
|
||||
head (tail (splitString "-" yyyymmddhhmmss));
|
||||
|
||||
# Given SHA512SUMS file contents and file name, extract matching sha512sum.
|
||||
extractSha512Sum = sha512sums: file:
|
||||
with builtins;
|
||||
# Nix 1.x do not have `builtins.split`.
|
||||
# Nix 2.0 have an bug in `builtins.match` (see https://github.com/NixOS/nix/issues/2147).
|
||||
# So I made separate logic for Nix 1.x and Nix 2.0.
|
||||
if builtins ? split then
|
||||
substring 0 128 (head
|
||||
(super.lib.filter
|
||||
(s: isString s && substring 128 (stringLength s) s == " ${file}")
|
||||
(split "\n" sha512sums)))
|
||||
else
|
||||
head (match ".*[\n]([0-9a-f]*) ${file}.*" sha512sums);
|
||||
|
||||
# The timestamp argument is a yyyy-mm-dd-hh-mm-ss date, which corresponds to
|
||||
# one specific version. This is used mostly for bisecting.
|
||||
versionInfo = { name, version, release, system ? arch, timestamp ? null }: with builtins;
|
||||
if release then
|
||||
# For versions such as Beta & Release:
|
||||
# http://download.cdn.mozilla.net/pub/firefox/releases/55.0b3/SHA256SUMS
|
||||
let
|
||||
dir = "http://download.cdn.mozilla.net/pub/firefox/releases/${version}";
|
||||
file = "${system}/en-US/firefox-${version}.tar.bz2";
|
||||
in rec {
|
||||
chksum = "${dir}/SHA512SUMS";
|
||||
chksumSig = "${chksum}.asc";
|
||||
url = "${dir}/${file}";
|
||||
sha512 = extractSha512Sum (readFile (fetchurl chksum)) file;
|
||||
}
|
||||
else
|
||||
# For Nightly versions:
|
||||
# http://download.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-56.0a1.en-US.linux-x86_64.checksums
|
||||
let
|
||||
dir =
|
||||
if timestamp == null then "http://download.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central"
|
||||
else "http://download.cdn.mozilla.net/pub/firefox/nightly/${yearOf timestamp}/${monthOf timestamp}/${timestamp}-mozilla-central" ;
|
||||
file = "firefox-${version}.en-US.${system}.tar.bz2";
|
||||
in rec {
|
||||
chksum = "${dir}/firefox-${version}.en-US.${system}.checksums";
|
||||
chksumSig = "${chksum}.asc";
|
||||
# file content:
|
||||
# <hash> sha512 62733881 firefox-56.0a1.en-US.linux-x86_64.tar.bz2
|
||||
# <hash> sha256 62733881 firefox-56.0a1.en-US.linux-x86_64.tar.bz2
|
||||
url = "${dir}/${file}";
|
||||
sha512 = head (match ".*[\n]([0-9a-f]*) sha512 [0-9]* ${file}[\n].*" (readFile (fetchurl chksum)));
|
||||
};
|
||||
|
||||
# From the version info, check the authenticity of the check sum file, such
|
||||
# that we guarantee that we have
|
||||
verifyAuthenticity = info:
|
||||
super.runCommandNoCC "check-firefox-signature" {
|
||||
buildInputs = [ self.gnupg ];
|
||||
CHKSUM_FILE = builtins.fetchurl info.chksum;
|
||||
CHKSUM_ASC = builtins.fetchurl info.chksumSig;
|
||||
} ''
|
||||
HOME=`mktemp -d`
|
||||
set -eux
|
||||
cat ${./firefox.key} | gpg --import
|
||||
gpgv --keyring=$HOME/.gnupg/pubring.kbx $CHKSUM_ASC $CHKSUM_FILE
|
||||
mkdir $out
|
||||
'';
|
||||
|
||||
# From the version info, create a fetchurl derivation which will get the
|
||||
# sources from the remote.
|
||||
fetchVersion = info:
|
||||
super.fetchurl {
|
||||
inherit (info) url sha512;
|
||||
|
||||
# This is a fixed derivation, but we still add as a dependency the
|
||||
# verification of the checksum. Thus, this fetch script can only be
|
||||
# executed once the verifyAuthenticity script finished successfully.
|
||||
postFetch = ''
|
||||
: # Authenticity Check (${verifyAuthenticity info})
|
||||
'';
|
||||
};
|
||||
|
||||
firefoxVersion = version:
|
||||
let info = versionInfo version; in
|
||||
super.wrapFirefox ((self.firefox-bin-unwrapped.override {
|
||||
generated = {
|
||||
version = version.version;
|
||||
sources = { inherit (info) url sha512; };
|
||||
};
|
||||
}).overrideAttrs (old: {
|
||||
# Add a dependency on the signature check.
|
||||
src = fetchVersion info;
|
||||
})) {
|
||||
browserName = "firefox";
|
||||
name = "firefox-bin-${version.version}";
|
||||
desktopName = "Firefox";
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
lib = super.lib // {
|
||||
firefoxOverlay = {
|
||||
inherit firefoxVersion;
|
||||
};
|
||||
};
|
||||
|
||||
# Set of packages which are automagically updated. Do not rely on these for
|
||||
# reproducible builds.
|
||||
latest = (super.latest or {}) // {
|
||||
firefox-nightly-bin = firefoxVersion {
|
||||
name = "Firefox Nightly";
|
||||
version = firefox_versions.FIREFOX_NIGHTLY;
|
||||
release = false;
|
||||
};
|
||||
firefox-beta-bin = firefoxVersion {
|
||||
name = "Firefox Beta";
|
||||
version = firefox_versions.LATEST_FIREFOX_DEVEL_VERSION;
|
||||
release = true;
|
||||
};
|
||||
firefox-bin = firefoxVersion {
|
||||
name = "Firefox";
|
||||
version = firefox_versions.LATEST_FIREFOX_VERSION;
|
||||
release = true;
|
||||
};
|
||||
firefox-esr-bin = firefoxVersion {
|
||||
name = "Firefox Esr";
|
||||
version = firefox_versions.FIREFOX_ESR;
|
||||
release = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Set of packages which used to build developer environment
|
||||
devEnv = (super.shell or {}) // {
|
||||
gecko = super.callPackage ./pkgs/gecko {
|
||||
inherit (self.python3Packages) setuptools;
|
||||
pythonFull = self.python3Full;
|
||||
|
||||
# Due to std::ascii::AsciiExt changes in 1.23, Gecko does not compile, so
|
||||
# use the latest Rust version before 1.23.
|
||||
# rust = (super.rustChannelOf { channel = "stable"; date = "2017-11-22"; }).rust;
|
||||
inherit (self.latest.rustChannels.stable) rust;
|
||||
};
|
||||
};
|
||||
|
||||
# Set of packages which are frozen at this given revision of nixpkgs-mozilla.
|
||||
firefox-nightly-bin = super.callPackage ./pkgs/firefox-nightly-bin/default.nix { };
|
||||
}
|
@ -0,0 +1,254 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: SKS 1.1.5
|
||||
Comment: Hostname: keyserver.mozilla.org
|
||||
|
||||
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
|
||||
MuTo71rAVDLtxerc+GNq0GI=
|
||||
=YjV6
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -0,0 +1,5 @@
|
||||
self: super:
|
||||
|
||||
{
|
||||
lib = super.lib // (import ./pkgs/lib/default.nix { pkgs = self; });
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
# This script extends nixpkgs with mozilla packages.
|
||||
#
|
||||
# First it imports the <nixpkgs> in the environment and depends on it
|
||||
# providing fetchFromGitHub and lib.importJSON.
|
||||
#
|
||||
# After that it loads a pinned release of nixos-unstable and uses that as the
|
||||
# base for the rest of packaging. One can pass it's own pkgsPath attribute if
|
||||
# desired, probably in the context of hydra.
|
||||
|
||||
{ pkgsPath ? null
|
||||
, overlays ? []
|
||||
, system ? null
|
||||
, geckoSrc ? null
|
||||
, servoSrc ? null
|
||||
}:
|
||||
|
||||
# Pin a specific version of Nixpkgs.
|
||||
let
|
||||
_pkgs = import <nixpkgs> {};
|
||||
_pkgsPath =
|
||||
if pkgsPath != null then pkgsPath
|
||||
else _pkgs.fetchFromGitHub (_pkgs.lib.importJSON ./pkgs/nixpkgs.json);
|
||||
nixpkgs = import _pkgsPath ({
|
||||
overlays = import ./default.nix ++ overlays;
|
||||
} // (if system != null then { inherit system; } else {}));
|
||||
in
|
||||
nixpkgs // {
|
||||
# Do not add a name attribute attribute in an overlay !!! As this will cause
|
||||
# tons of recompilations.
|
||||
name = "nixpkgs";
|
||||
updateScript = nixpkgs.lib.updateFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "nixpkgs-channels";
|
||||
branch = "nixos-unstable-small";
|
||||
path = "pkgs/nixpkgs.json";
|
||||
};
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
version = "56.0a1" + "-" + "20170717100212";
|
||||
version = "57.0a1" + "-" + "20170829";
|
||||
sources = [
|
||||
{ url = "http://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/firefox-56.0a1.en-US.linux-x86_64.tar.bz2";
|
||||
{ url = "https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-57.0a1.en-US.linux-x86_64.tar.bz2";
|
||||
locale = "en-US";
|
||||
arch = "linux-x86_64";
|
||||
sha512 = "389ada65229fa6225a918041f77eed26cff321d649b8e9206835364e967fe3312dba9f7de9fbea52daf934265b804de447dddee60932d5019f8361884c9f3bde";
|
||||
sha512 = "1ggz8rl7n6j6qx7sira5dmqfy769swxh0dpi4mn6fdc7ppbrbyz58g4a47f6g1ng04y646h75yxdhqjp55nxqcp7v861b004bzf9b88";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
@ -0,0 +1,14 @@
|
||||
self: super:
|
||||
|
||||
{
|
||||
# Add i686-linux platform as a valid target.
|
||||
rr = super.rr.override {
|
||||
stdenv = self.stdenv // {
|
||||
mkDerivation = args: self.stdenv.mkDerivation (args // {
|
||||
meta = args.meta // {
|
||||
platforms = self.stdenv.lib.platforms.linux;
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
# Overlay that builds on top of rust-overlay.nix.
|
||||
# Adds rust-src component to all channels which is helpful for racer, intellij, ...
|
||||
|
||||
self: super:
|
||||
|
||||
let mapAttrs = super.stdenv.lib.mapAttrs;
|
||||
flip = super.stdenv.lib.flip;
|
||||
in {
|
||||
# install stable rust with rust-src:
|
||||
# "nix-env -i -A nixos.latest.rustChannels.stable.rust"
|
||||
|
||||
latest.rustChannels =
|
||||
flip mapAttrs super.latest.rustChannels (name: value: value // {
|
||||
rust = value.rust.override {
|
||||
extensions = ["rust-src"];
|
||||
};
|
||||
});
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
self: super:
|
||||
|
||||
{
|
||||
servo = super.callPackage ./pkgs/servo { };
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
self: super:
|
||||
|
||||
{
|
||||
VidyoDesktop = super.callPackage ./pkgs/VidyoDesktop { };
|
||||
}
|
Loading…
Reference in New Issue