Merge branch 'master' into staging
Hydra: ?compare=1480463
This commit is contained in:
commit
3a09a4b579
@ -47,13 +47,9 @@
|
||||
|
||||
<para>
|
||||
In Nixpkgs, these three platforms are defined as attribute sets under the
|
||||
names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>,
|
||||
and <literal>targetPlatform</literal>. All three are always defined as
|
||||
attributes in the standard environment, and at the top level. That means
|
||||
one can get at them just like a dependency in a function that is imported
|
||||
with <literal>callPackage</literal>:
|
||||
<programlisting>{ stdenv, buildPlatform, hostPlatform, fooDep, barDep, .. }: ...buildPlatform...</programlisting>
|
||||
, or just off <varname>stdenv</varname>:
|
||||
names <literal>buildPlatform</literal>, <literal>hostPlatform</literal>, and
|
||||
<literal>targetPlatform</literal>. They are always defined as attributes in
|
||||
the standard environment. That means one can access them like:
|
||||
<programlisting>{ stdenv, fooDep, barDep, .. }: ...stdenv.buildPlatform...</programlisting>
|
||||
.
|
||||
</para>
|
||||
|
@ -376,6 +376,11 @@
|
||||
github = "auntie";
|
||||
name = "Jonathan Glines";
|
||||
};
|
||||
avery = {
|
||||
email = "averyl+nixos@protonmail.com";
|
||||
github = "AveryLychee";
|
||||
name = "Avery Lychee";
|
||||
};
|
||||
avnik = {
|
||||
email = "avn@avnik.info";
|
||||
github = "avnik";
|
||||
|
@ -252,7 +252,7 @@ in rec {
|
||||
''; # */
|
||||
|
||||
# Generate the NixOS manual.
|
||||
manual = runCommand "nixos-manual"
|
||||
manualHTML = runCommand "nixos-manual-html"
|
||||
{ inherit sources;
|
||||
nativeBuildInputs = [ buildPackages.libxml2.bin buildPackages.libxslt.bin ];
|
||||
meta.description = "The NixOS manual in HTML format";
|
||||
@ -281,6 +281,11 @@ in rec {
|
||||
echo "doc manual $dst" >> $out/nix-support/hydra-build-products
|
||||
''; # */
|
||||
|
||||
# Alias for backward compatibility. TODO(@oxij): remove eventually.
|
||||
manual = manualHTML;
|
||||
|
||||
# Index page of the NixOS manual.
|
||||
manualHTMLIndex = "${manualHTML}/share/doc/nixos/index.html";
|
||||
|
||||
manualEpub = runCommand "nixos-manual-epub"
|
||||
{ inherit sources;
|
||||
|
@ -34,7 +34,7 @@ $ nix-build -A system</screen>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>
|
||||
<varname>system.build.manual.manual</varname>
|
||||
<varname>system.build.manual.manualHTML</varname>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
|
@ -139,50 +139,6 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull'
|
||||
seen a complete rewrite. (See above.)
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The minimum version of Nix required to evaluate Nixpkgs is now 2.0.
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of NixOS 18.03, NixOS 18.03 defaulted to Nix 2.0, but
|
||||
supported using Nix 1.11 by setting <literal>nix.package =
|
||||
pkgs.nix1;</literal>. If this option is set to a Nix 1.11 package, you
|
||||
will need to either unset the option or upgrade it to Nix 2.0.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of NixOS 17.09, you will first need to upgrade Nix by setting
|
||||
<literal>nix.package = pkgs.nixStable2;</literal> and run
|
||||
<command>nixos-rebuild switch</command> as the <literal>root</literal>
|
||||
user.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of a daemon-less Nix installation on Linux or macOS, you can
|
||||
upgrade Nix by running <command>curl https://nixos.org/nix/install |
|
||||
sh</command>, or prior to doing a channel update, running
|
||||
<command>nix-env -iA nix</command>.
|
||||
</para>
|
||||
<para>
|
||||
If you have already run a channel update and Nix is no longer able to
|
||||
evaluate Nixpkgs, the error message printed should provide adequate
|
||||
directions for upgrading Nix.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of the Nix daemon on macOS, you can upgrade Nix by running
|
||||
<command>sudo -i sh -c 'nix-channel --update && nix-env -iA
|
||||
nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl
|
||||
start org.nixos.nix-daemon</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>lib.strict</literal> is removed. Use
|
||||
|
@ -42,6 +42,66 @@
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
version="5.0"
|
||||
xml:id="sec-release-19.03-incompatibilities">
|
||||
<title>Backward Incompatibilities</title>
|
||||
|
||||
<para>
|
||||
When upgrading from a previous release, please be aware of the following
|
||||
incompatible changes:
|
||||
</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
The minimum version of Nix required to evaluate Nixpkgs is now 2.0.
|
||||
</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of NixOS 18.03 and 19.03, NixOS defaults to Nix 2.0, but
|
||||
supports using Nix 1.11 by setting <literal>nix.package =
|
||||
pkgs.nix1;</literal>. If this option is set to a Nix 1.11 package, you
|
||||
will need to either unset the option or upgrade it to Nix 2.0.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of NixOS 17.09, you will first need to upgrade Nix by setting
|
||||
<literal>nix.package = pkgs.nixStable2;</literal> and run
|
||||
<command>nixos-rebuild switch</command> as the <literal>root</literal>
|
||||
user.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of a daemon-less Nix installation on Linux or macOS, you can
|
||||
upgrade Nix by running <command>curl https://nixos.org/nix/install |
|
||||
sh</command>, or prior to doing a channel update, running
|
||||
<command>nix-env -iA nix</command>.
|
||||
</para>
|
||||
<para>
|
||||
If you have already run a channel update and Nix is no longer able to
|
||||
evaluate Nixpkgs, the error message printed should provide adequate
|
||||
directions for upgrading Nix.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
For users of the Nix daemon on macOS, you can upgrade Nix by running
|
||||
<command>sudo -i sh -c 'nix-channel --update && nix-env -iA
|
||||
nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl
|
||||
start org.nixos.nix-daemon</command>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||
|
@ -28,7 +28,7 @@ rec {
|
||||
modules = configurations ++
|
||||
[ ../modules/virtualisation/qemu-vm.nix
|
||||
../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs
|
||||
{ key = "no-manual"; services.nixosManual.enable = false; }
|
||||
{ key = "no-manual"; documentation.nixos.enable = false; }
|
||||
{ key = "qemu"; system.build.qemu = qemu; }
|
||||
] ++ optional minimal ../modules/testing/minimal-kernel.nix;
|
||||
extraArgs = { inherit nodes; };
|
||||
|
@ -30,7 +30,7 @@ with lib;
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=NixOS Manual
|
||||
Exec=firefox ${config.system.build.manual.manual}/share/doc/nixos/index.html
|
||||
Exec=firefox ${config.system.build.manual.manualHTMLIndex}
|
||||
Icon=text-html
|
||||
'';
|
||||
|
||||
|
@ -137,7 +137,7 @@ in
|
||||
# Setting vesa, we don't get the nvidia driver, which can't work in arm.
|
||||
services.xserver.videoDrivers = [ "vesa" ];
|
||||
|
||||
services.nixosManual.enable = false;
|
||||
documentation.nixos.enable = false;
|
||||
|
||||
# Include the firmware for various wireless cards.
|
||||
networking.enableRalinkFirmware = true;
|
||||
|
@ -1,8 +1,72 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, baseModules, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.documentation; in
|
||||
let
|
||||
|
||||
cfg = config.documentation;
|
||||
|
||||
/* For the purpose of generating docs, evaluate options with each derivation
|
||||
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
||||
It isn't perfect, but it seems to cover a vast majority of use cases.
|
||||
Caveat: even if the package is reached by a different means,
|
||||
the path above will be shown and not e.g. `${config.services.foo.package}`. */
|
||||
manual = import ../../doc/manual rec {
|
||||
inherit pkgs config;
|
||||
version = config.system.nixos.release;
|
||||
revision = "release-${version}";
|
||||
options =
|
||||
let
|
||||
scrubbedEval = evalModules {
|
||||
modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules;
|
||||
args = (config._module.args) // { modules = [ ]; };
|
||||
specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; };
|
||||
};
|
||||
scrubDerivations = namePrefix: pkgSet: mapAttrs
|
||||
(name: value:
|
||||
let wholeName = "${namePrefix}.${name}"; in
|
||||
if isAttrs value then
|
||||
scrubDerivations wholeName value
|
||||
// (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; })
|
||||
else value
|
||||
)
|
||||
pkgSet;
|
||||
in scrubbedEval.options;
|
||||
};
|
||||
|
||||
helpScript = pkgs.writeScriptBin "nixos-help"
|
||||
''
|
||||
#! ${pkgs.runtimeShell} -e
|
||||
# Finds first executable browser in a colon-separated list.
|
||||
# (see how xdg-open defines BROWSER)
|
||||
browser="$(
|
||||
IFS=: ; for b in $BROWSER; do
|
||||
[ -n "$(type -P "$b" || true)" ] && echo "$b" && break
|
||||
done
|
||||
)"
|
||||
if [ -z "$browser" ]; then
|
||||
browser="$(type -P xdg-open || true)"
|
||||
if [ -z "$browser" ]; then
|
||||
browser="$(type -P w3m || true)"
|
||||
if [ -z "$browser" ]; then
|
||||
echo "$0: unable to start a web browser; please set \$BROWSER"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
exec "$browser" ${manual.manualHTMLIndex}
|
||||
'';
|
||||
|
||||
desktopItem = pkgs.makeDesktopItem {
|
||||
name = "nixos-manual";
|
||||
desktopName = "NixOS Manual";
|
||||
genericName = "View NixOS documentation in a web browser";
|
||||
icon = "nix-snowflake";
|
||||
exec = "${helpScript}/bin/nixos-help";
|
||||
categories = "System";
|
||||
};
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
@ -66,6 +130,22 @@ let cfg = config.documentation; in
|
||||
'';
|
||||
};
|
||||
|
||||
nixos.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to install NixOS's own documentation.
|
||||
<itemizedlist>
|
||||
<listitem><para>This includes man pages like
|
||||
<citerefentry><refentrytitle>configuration.nix</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> if <option>man.enable</option> is
|
||||
set.</para></listitem>
|
||||
<listitem><para>This includes the HTML manual and the <command>nixos-help</command> command if
|
||||
<option>doc.enable</option> is set.</para></listitem>
|
||||
</itemizedlist>
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
@ -99,6 +179,21 @@ let cfg = config.documentation; in
|
||||
environment.extraOutputsToInstall = [ "doc" ] ++ optional cfg.dev.enable "devdoc";
|
||||
})
|
||||
|
||||
(mkIf cfg.nixos.enable {
|
||||
system.build.manual = manual;
|
||||
|
||||
environment.systemPackages = []
|
||||
++ optional cfg.man.enable manual.manpages
|
||||
++ optionals cfg.doc.enable ([ manual.manualHTML helpScript ]
|
||||
++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]);
|
||||
|
||||
services.mingetty.helpLine = mkIf cfg.doc.enable (
|
||||
"\nRun `nixos-help` "
|
||||
+ optionalString config.services.nixosManual.showManual "or press <Alt-F${toString config.services.nixosManual.ttyNumber}> "
|
||||
+ "for the NixOS manual."
|
||||
);
|
||||
})
|
||||
|
||||
]);
|
||||
|
||||
}
|
||||
|
@ -11,5 +11,5 @@
|
||||
libinput.enable = true; # for touchpad support on many laptops
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.glxinfo ];
|
||||
environment.systemPackages = [ pkgs.glxinfo pkgs.firefox ];
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ with lib;
|
||||
config = {
|
||||
|
||||
# Enable in installer, even if the minimal profile disables it.
|
||||
services.nixosManual.enable = mkForce true;
|
||||
documentation.nixos.enable = mkForce true;
|
||||
|
||||
# Show the manual.
|
||||
services.nixosManual.showManual = true;
|
||||
|
@ -12,7 +12,7 @@ with lib;
|
||||
i18n.supportedLocales = [ (config.i18n.defaultLocale + "/UTF-8") ];
|
||||
|
||||
documentation.enable = mkDefault false;
|
||||
services.nixosManual.enable = mkDefault false;
|
||||
documentation.nixos.enable = mkDefault false;
|
||||
|
||||
sound.enable = mkDefault false;
|
||||
}
|
||||
|
@ -276,6 +276,7 @@ with lib;
|
||||
|
||||
(mkRenamedOptionModule [ "programs" "info" "enable" ] [ "documentation" "info" "enable" ])
|
||||
(mkRenamedOptionModule [ "programs" "man" "enable" ] [ "documentation" "man" "enable" ])
|
||||
(mkRenamedOptionModule [ "services" "nixosManual" "enable" ] [ "documentation" "nixos" "enable" ])
|
||||
|
||||
] ++ (flip map [ "blackboxExporter" "collectdExporter" "fritzboxExporter"
|
||||
"jsonExporter" "minioExporter" "nginxExporter" "nodeExporter"
|
||||
|
@ -89,7 +89,7 @@ in
|
||||
|
||||
bindSocket.path = mkOption {
|
||||
type = types.str;
|
||||
default = "/run/rmilter/rmilter.sock";
|
||||
default = "/run/rmilter.sock";
|
||||
description = ''
|
||||
Path to Unix domain socket to listen on.
|
||||
'';
|
||||
@ -193,6 +193,9 @@ in
|
||||
config = mkMerge [
|
||||
|
||||
(mkIf cfg.enable {
|
||||
warnings = [
|
||||
''`config.services.rmilter' is deprecated, `rmilter' deprecated and unsupported by upstream, and will be removed from next releases. Use built-in rspamd milter instead.''
|
||||
];
|
||||
|
||||
users.users = singleton {
|
||||
name = cfg.user;
|
||||
|
@ -36,11 +36,18 @@ in
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart = ''
|
||||
test -d ${cfg.dataDir} || {
|
||||
echo "Creating initial Emby data directory in ${cfg.dataDir}"
|
||||
mkdir -p ${cfg.dataDir}
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
|
||||
}
|
||||
if [ -d ${cfg.dataDir} ]
|
||||
then
|
||||
for plugin in ${cfg.dataDir}/plugins/*
|
||||
do
|
||||
echo "Correcting permissions of plugin: $plugin"
|
||||
chmod u+w $plugin
|
||||
done
|
||||
else
|
||||
echo "Creating initial Emby data directory in ${cfg.dataDir}"
|
||||
mkdir -p ${cfg.dataDir}
|
||||
chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
|
||||
fi
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
|
@ -1,91 +1,18 @@
|
||||
# This module includes the NixOS man-pages in the system environment,
|
||||
# and optionally starts a browser that shows the NixOS manual on one
|
||||
# of the virtual consoles. The latter is useful for the installation
|
||||
# This module optionally starts a browser that shows the NixOS manual
|
||||
# on one of the virtual consoles which is useful for the installation
|
||||
# CD.
|
||||
|
||||
{ config, lib, pkgs, baseModules, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.nixosManual;
|
||||
|
||||
/* For the purpose of generating docs, evaluate options with each derivation
|
||||
in `pkgs` (recursively) replaced by a fake with path "\${pkgs.attribute.path}".
|
||||
It isn't perfect, but it seems to cover a vast majority of use cases.
|
||||
Caveat: even if the package is reached by a different means,
|
||||
the path above will be shown and not e.g. `${config.services.foo.package}`. */
|
||||
manual = import ../../../doc/manual rec {
|
||||
inherit pkgs config;
|
||||
version = config.system.nixos.release;
|
||||
revision = "release-${version}";
|
||||
options =
|
||||
let
|
||||
scrubbedEval = evalModules {
|
||||
modules = [ { nixpkgs.localSystem = config.nixpkgs.localSystem; } ] ++ baseModules;
|
||||
args = (config._module.args) // { modules = [ ]; };
|
||||
specialArgs = { pkgs = scrubDerivations "pkgs" pkgs; };
|
||||
};
|
||||
scrubDerivations = namePrefix: pkgSet: mapAttrs
|
||||
(name: value:
|
||||
let wholeName = "${namePrefix}.${name}"; in
|
||||
if isAttrs value then
|
||||
scrubDerivations wholeName value
|
||||
// (optionalAttrs (isDerivation value) { outPath = "\${${wholeName}}"; })
|
||||
else value
|
||||
)
|
||||
pkgSet;
|
||||
in scrubbedEval.options;
|
||||
};
|
||||
|
||||
entry = "${manual.manual}/share/doc/nixos/index.html";
|
||||
|
||||
helpScript = pkgs.writeScriptBin "nixos-help"
|
||||
''
|
||||
#! ${pkgs.runtimeShell} -e
|
||||
# Finds first executable browser in a colon-separated list.
|
||||
# (see how xdg-open defines BROWSER)
|
||||
browser="$(
|
||||
IFS=: ; for b in $BROWSER; do
|
||||
[ -n "$(type -P "$b" || true)" ] && echo "$b" && break
|
||||
done
|
||||
)"
|
||||
if [ -z "$browser" ]; then
|
||||
browser="$(type -P xdg-open || true)"
|
||||
if [ -z "$browser" ]; then
|
||||
browser="$(type -P w3m || true)"
|
||||
if [ -z "$browser" ]; then
|
||||
echo "$0: unable to start a web browser; please set \$BROWSER"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
exec "$browser" ${entry}
|
||||
'';
|
||||
|
||||
desktopItem = pkgs.makeDesktopItem {
|
||||
name = "nixos-manual";
|
||||
desktopName = "NixOS Manual";
|
||||
genericName = "View NixOS documentation in a web browser";
|
||||
icon = "nix-snowflake";
|
||||
exec = "${helpScript}/bin/nixos-help";
|
||||
categories = "System";
|
||||
};
|
||||
in
|
||||
let cfg = config.services.nixosManual; in
|
||||
|
||||
{
|
||||
|
||||
options = {
|
||||
|
||||
services.nixosManual.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Whether to build the NixOS manual pages.
|
||||
'';
|
||||
};
|
||||
|
||||
# TODO(@oxij): rename this to `.enable` eventually.
|
||||
services.nixosManual.showManual = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
@ -114,36 +41,28 @@ in
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = mkIf cfg.showManual {
|
||||
|
||||
system.build.manual = manual;
|
||||
assertions = [{
|
||||
assertion = config.documentation.nixos.enable;
|
||||
message = "Can't enable `service.nixosManual.showManual` without `documentation.nixos.enable`";
|
||||
}];
|
||||
|
||||
environment.systemPackages = []
|
||||
++ optionals config.services.xserver.enable [ desktopItem pkgs.nixos-icons ]
|
||||
++ optional config.documentation.man.enable manual.manpages
|
||||
++ optionals config.documentation.doc.enable [ manual.manual helpScript ];
|
||||
boot.extraTTYs = [ "tty${toString cfg.ttyNumber}" ];
|
||||
|
||||
boot.extraTTYs = mkIf cfg.showManual ["tty${toString cfg.ttyNumber}"];
|
||||
|
||||
systemd.services = optionalAttrs cfg.showManual
|
||||
{ "nixos-manual" =
|
||||
{ description = "NixOS Manual";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig =
|
||||
{ ExecStart = "${cfg.browser} ${entry}";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
TTYPath = "/dev/tty${toString cfg.ttyNumber}";
|
||||
TTYReset = true;
|
||||
TTYVTDisallocate = true;
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
systemd.services."nixos-manual" = {
|
||||
description = "NixOS Manual";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.browser} ${config.system.build.manual.manualHTMLIndex}";
|
||||
StandardInput = "tty";
|
||||
StandardOutput = "tty";
|
||||
TTYPath = "/dev/tty${toString cfg.ttyNumber}";
|
||||
TTYReset = true;
|
||||
TTYVTDisallocate = true;
|
||||
Restart = "always";
|
||||
};
|
||||
|
||||
services.mingetty.helpLine = "\nRun `nixos-help` "
|
||||
+ lib.optionalString cfg.showManual "or press <Alt-F${toString cfg.ttyNumber}> "
|
||||
+ "for the NixOS manual.";
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
@ -22,6 +22,8 @@ in {
|
||||
|
||||
systemd.packages = [ pkgs.iwd ];
|
||||
|
||||
systemd.services.iwd.wantedBy = [ "multi-user.target" ];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/iwd 0700 root root -"
|
||||
];
|
||||
|
@ -124,7 +124,7 @@ in
|
||||
dbsqlpath=${ts3}/lib/teamspeak/sql/ logpath=${cfg.logPath} \
|
||||
voice_ip=${cfg.voiceIP} default_voice_port=${toString cfg.defaultVoicePort} \
|
||||
filetransfer_ip=${cfg.fileTransferIP} filetransfer_port=${toString cfg.fileTransferPort} \
|
||||
query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort}
|
||||
query_ip=${cfg.queryIP} query_port=${toString cfg.queryPort} license_accepted=1
|
||||
'';
|
||||
WorkingDirectory = cfg.dataDir;
|
||||
User = user;
|
||||
|
@ -81,6 +81,7 @@ in
|
||||
kconfig
|
||||
kconfigwidgets
|
||||
kcoreaddons
|
||||
kdoctools
|
||||
kdbusaddons
|
||||
kdeclarative
|
||||
kded
|
||||
|
@ -32,15 +32,21 @@ let
|
||||
# expressions and shell script stuff.
|
||||
mkDiskIfaceDriveFlag = idx: driveArgs: let
|
||||
inherit (cfg.qemu) diskInterface;
|
||||
isSCSI = diskInterface == "scsi";
|
||||
# The drive identifier created by incrementing the index by one using the
|
||||
# shell.
|
||||
drvId = "drive$((${idx} + 1))";
|
||||
dvcId = "${diskInterface}$((${idx} + 1))";
|
||||
# NOTE: DO NOT shell escape, because this may contain shell variables.
|
||||
commonArgs = "index=${idx},id=${drvId},${driveArgs}";
|
||||
isSCSI = diskInterface == "scsi";
|
||||
devArgs = "${diskInterface}-hd,drive=${drvId}";
|
||||
args = "-drive ${commonArgs},if=none -device lsi53c895a -device ${devArgs}";
|
||||
in if isSCSI then args else "-drive ${commonArgs},if=${diskInterface}";
|
||||
commonDriveArgs = "media=disk,id=${drvId},${driveArgs}";
|
||||
commonInterfaceArgs = "drive=${drvId},id=${dvcId},bootindex=${idx}";
|
||||
in lib.concatStrings [
|
||||
"-drive ${commonDriveArgs},if=none "
|
||||
''${if isSCSI then
|
||||
"-device lsi53c895a -device ${diskInterface}-hd,${commonInterfaceArgs}"
|
||||
else
|
||||
"-device virtio-blk-pci,scsi=off,${commonInterfaceArgs}"} ''
|
||||
];
|
||||
|
||||
# Shell script to start the VM.
|
||||
startVM =
|
||||
@ -97,15 +103,15 @@ let
|
||||
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
|
||||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
||||
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
|
||||
${mkDiskIfaceDriveFlag "1" "file=$NIX_DISK_IMAGE,media=disk,cache=writeback,werror=report"} \
|
||||
${if cfg.useBootLoader then ''
|
||||
${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
|
||||
${mkDiskIfaceDriveFlag "1" "file=$TMPDIR/disk.img,media=disk"} \
|
||||
-boot menu=on \
|
||||
${mkDiskIfaceDriveFlag "0" "file=$TMPDIR/disk.img,media=disk"} \
|
||||
${if cfg.useEFIBoot then ''
|
||||
-pflash $TMPDIR/bios.bin \
|
||||
'' else ''
|
||||
''}
|
||||
'' else ''
|
||||
${mkDiskIfaceDriveFlag "0" "file=$NIX_DISK_IMAGE,cache=writeback,werror=report"} \
|
||||
\''}
|
||||
'' else '' \
|
||||
-kernel ${config.system.build.toplevel}/kernel \
|
||||
-initrd ${config.system.build.toplevel}/initrd \
|
||||
-append "$(cat ${config.system.build.toplevel}/kernel-params) init=${config.system.build.toplevel}/init regInfo=${regInfo}/registration ${consoles} $QEMU_KERNEL_PARAMS" \
|
||||
@ -141,8 +147,9 @@ let
|
||||
'';
|
||||
buildInputs = [ pkgs.utillinux ];
|
||||
QEMU_OPTS = if cfg.useEFIBoot
|
||||
then "-pflash $out/bios.bin -nographic -serial pty"
|
||||
else "-nographic -serial pty";
|
||||
then "-pflash $out/bios.bin -nographic"
|
||||
else "-nographic";
|
||||
diskInterface = cfg.qemu.diskInterface;
|
||||
}
|
||||
''
|
||||
# Create a /boot EFI partition with 40M and arbitrary but fixed GUIDs for reproducibility
|
||||
@ -155,10 +162,10 @@ let
|
||||
--partition-guid=1:1C06F03B-704E-4657-B9CD-681A087A2FDC \
|
||||
--partition-guid=2:970C694F-AFD0-4B99-B750-CDB7A329AB6F \
|
||||
--hybrid 2 \
|
||||
--recompute-chs /dev/vda
|
||||
${pkgs.dosfstools}/bin/mkfs.fat -F16 /dev/vda2
|
||||
--recompute-chs ${config.virtualisation.bootDevice}
|
||||
${pkgs.dosfstools}/bin/mkfs.fat -F16 ${config.virtualisation.bootDevice}2
|
||||
export MTOOLS_SKIP_CHECK=1
|
||||
${pkgs.mtools}/bin/mlabel -i /dev/vda2 ::boot
|
||||
${pkgs.mtools}/bin/mlabel -i ${config.virtualisation.bootDevice}2 ::boot
|
||||
|
||||
# Mount /boot; load necessary modules first.
|
||||
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/nls/nls_cp437.ko.xz || true
|
||||
@ -167,11 +174,11 @@ let
|
||||
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/fat/vfat.ko.xz || true
|
||||
${pkgs.kmod}/bin/insmod ${pkgs.linux}/lib/modules/*/kernel/fs/efivarfs/efivarfs.ko.xz || true
|
||||
mkdir /boot
|
||||
mount /dev/vda2 /boot
|
||||
mount ${config.virtualisation.bootDevice}2 /boot
|
||||
|
||||
# This is needed for GRUB 0.97, which doesn't know about virtio devices.
|
||||
mkdir /boot/grub
|
||||
echo '(hd0) /dev/vda' > /boot/grub/device.map
|
||||
echo '(hd0) ${config.virtualisation.bootDevice}' > /boot/grub/device.map
|
||||
|
||||
# Install GRUB and generate the GRUB boot menu.
|
||||
touch /etc/NIXOS
|
||||
@ -464,7 +471,8 @@ in
|
||||
|
||||
boot.initrd.availableKernelModules =
|
||||
optional cfg.writableStore "overlay"
|
||||
++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx";
|
||||
++ optional (cfg.qemu.diskInterface == "scsi") "sym53c8xx"
|
||||
++ optional (cfg.qemu.diskInterface == "scsi") "virtio_scsi";
|
||||
|
||||
virtualisation.bootDevice =
|
||||
mkDefault (if cfg.qemu.diskInterface == "scsi" then "/dev/sda" else "/dev/vda");
|
||||
|
@ -128,7 +128,8 @@ in rec {
|
||||
|
||||
channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; };
|
||||
|
||||
manual = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manual);
|
||||
manualHTML = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualHTML);
|
||||
manual = manualHTML; # TODO(@oxij): remove eventually
|
||||
manualEpub = (buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manualEpub));
|
||||
manpages = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.manpages);
|
||||
manualGeneratedSources = buildFromConfig ({ ... }: { }) (config: config.system.build.manual.generatedSources);
|
||||
|
@ -14,7 +14,7 @@ import ./make-test.nix ({ pkgs, ...} : rec {
|
||||
{ swapDevices = mkOverride 0
|
||||
[ { device = "/root/swapfile"; size = 128; } ];
|
||||
environment.variables.EDITOR = mkOverride 0 "emacs";
|
||||
services.nixosManual.enable = mkOverride 0 true;
|
||||
documentation.nixos.enable = mkOverride 0 true;
|
||||
systemd.tmpfiles.rules = [ "d /tmp 1777 root root 10d" ];
|
||||
fileSystems = mkVMOverride { "/tmp2" =
|
||||
{ fsType = "tmpfs";
|
||||
|
@ -6,6 +6,9 @@ import ./make-test.nix {
|
||||
enable = true;
|
||||
# TODO: use a self-signed certificate
|
||||
c2sRequireEncryption = false;
|
||||
extraConfig = ''
|
||||
storage = "sql"
|
||||
'';
|
||||
};
|
||||
environment.systemPackages = let
|
||||
sendMessage = pkgs.writeScriptBin "send-message" ''
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ stdenv, fetchurl, pkgconfig, openssl, libogg, libopus }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "opusfile-0.10";
|
||||
name = "opusfile-0.11";
|
||||
src = fetchurl {
|
||||
url = "http://downloads.xiph.org/releases/opus/${name}.tar.gz";
|
||||
sha256 = "0bs1376sd131qdh7198jp64vv5d17az5wyy4y7srrvw7p8k3bq28";
|
||||
sha256 = "1gq3aszzl5glgbajw5p1f5a1kdyf23w5vjdmwwrk246syin9pkkl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, intltool, libsoup, gnome3, gtk3, gdk_pixbuf,
|
||||
tag ? "", xvfb_run, dbus, glibcLocales, glib, gobjectIntrospection,
|
||||
tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobjectIntrospection,
|
||||
gst_all_1, withGstPlugins ? true,
|
||||
xineBackend ? false, xineLib,
|
||||
withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
|
||||
@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
|
||||
checkInputs = with python3.pkgs; [ pytest pytest_xdist pyflakes pycodestyle polib xvfb_run dbus.daemon glibcLocales ];
|
||||
|
||||
buildInputs = [ gnome3.defaultIconTheme libsoup glib gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ]
|
||||
buildInputs = [ gnome3.defaultIconTheme libsoup glib glib-networking gtk3 webkitgtk gdk_pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobjectIntrospection ]
|
||||
++ (if xineBackend then [ xineLib ] else with gst_all_1;
|
||||
[ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, python3Packages }:
|
||||
{ stdenv, fetchurl, python3Packages, qtbase, makeWrapper, lib }:
|
||||
|
||||
let
|
||||
|
||||
@ -7,14 +7,14 @@ let
|
||||
in
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
version = "3.1.6";
|
||||
version = "3.3.1";
|
||||
name = "electron-cash-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://electroncash.org/downloads/${version}/win-linux/ElectronCash-${version}.tar.gz";
|
||||
# Verified using official SHA-1 and signature from
|
||||
# https://github.com/fyookball/keys-n-hashes
|
||||
sha256 = "062k5iw0jcp10zxrffvgiyfg51c5xzs7gmm638icx01yy67d58dm";
|
||||
sha256 = "1jdy89rfdwc2jadx3rqj5yvynpcn90cx6482ax9f1cj9gfxp9j2b";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
@ -36,13 +36,14 @@ python3Packages.buildPythonApplication rec {
|
||||
trezor
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postPatch = ''
|
||||
# Remove pyqt5 check
|
||||
sed -i '/pyqt5/d' setup.py
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
sed -i 's,usr_share = .*,usr_share = "'$out'/share",g' setup.py
|
||||
pyrcc5 icons.qrc -o gui/qt/icons_rc.py
|
||||
# Recording the creation timestamps introduces indeterminism to the build
|
||||
sed -i '/Created: .*/d' gui/qt/icons_rc.py
|
||||
@ -51,18 +52,21 @@ python3Packages.buildPythonApplication rec {
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
# Despite setting usr_share above, these files are installed under
|
||||
# $out/nix ...
|
||||
mv $out/${python.sitePackages}/nix/store"/"*/share $out
|
||||
rm -rf $out/${python.sitePackages}/nix
|
||||
# These files are installed under $out/homeless-shelter ...
|
||||
mv $out/${python.sitePackages}/homeless-shelter/.local/share $out
|
||||
rm -rf $out/${python.sitePackages}/homeless-shelter
|
||||
|
||||
substituteInPlace $out/share/applications/electron-cash.desktop \
|
||||
--replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u"
|
||||
|
||||
# Please remove this when #44047 is fixed
|
||||
wrapProgram $out/bin/electron-cash \
|
||||
--prefix QT_PLUGIN_PATH : ${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins
|
||||
'';
|
||||
|
||||
doInstallCheck = true;
|
||||
installCheckPhase = ''
|
||||
$out/bin/electrum help >/dev/null
|
||||
$out/bin/electron-cash help >/dev/null
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
38
pkgs/applications/misc/gnuradio/limesdr.nix
Normal file
38
pkgs/applications/misc/gnuradio/limesdr.nix
Normal file
@ -0,0 +1,38 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, boost, gnuradio
|
||||
, pythonSupport ? true, python, swig, limesuite
|
||||
} :
|
||||
|
||||
assert pythonSupport -> python != null && swig != null;
|
||||
|
||||
let
|
||||
version = "1.0.0-RC";
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "gnuradio-limesdr-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "myriadrf";
|
||||
repo = "gr-limesdr";
|
||||
rev = "v${version}";
|
||||
sha256 = "0b34mg9nfar2gcir98004ixrxmxi8p3p2hrvvi1razd869x2a0lf";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
] ++ stdenv.lib.optionals pythonSupport [ swig ];
|
||||
|
||||
buildInputs = [
|
||||
boost gnuradio limesuite
|
||||
] ++ stdenv.lib.optionals pythonSupport [ python ];
|
||||
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Gnuradio source and sink blocks for LimeSDR";
|
||||
homepage = https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = [ maintainers.markuskowa ];
|
||||
};
|
||||
}
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, pythonPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.7.5";
|
||||
version = "0.7.6";
|
||||
name = "mwic-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/jwilk/mwic/releases/download/${version}/${name}.tar.gz";
|
||||
sha256 = "1b4fz9vs0aihg9nj9aj6d2jmykpa9nxi9rvz06v50wwk515plpmc";
|
||||
sha256 = "0dl56979i54hrmz5l27c4q1f7jd1bpkmi7sm86946dagi4l1ns3i";
|
||||
};
|
||||
|
||||
makeFlags=["PREFIX=\${out}"];
|
||||
|
@ -3,21 +3,19 @@
|
||||
assert stdenv.lib.versionAtLeast ocamlPackages.ocaml.version "4.02.2";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2017-12-24";
|
||||
version = "2018-05-11";
|
||||
name = "jackline-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hannesm";
|
||||
repo = "jackline";
|
||||
rev = "8678e8a1a06e641218a31ae25150040202f89289";
|
||||
sha256 = "05z9kvd7gwr59ic7hnmbayhwyyqd41xxz01cvdlcgplk3z7zlwg5";
|
||||
rev = "bc36b1c8b80fee6baba4f91011cd01b82a06e8eb";
|
||||
sha256 = "1xx2yx8a95m84sa1bkxi3rlx7pd39zkqwk3znj0zzz3cni6apfrz";
|
||||
};
|
||||
|
||||
patches = [ ./tls-0.9.0.patch ];
|
||||
|
||||
buildInputs = with ocamlPackages; [
|
||||
ocaml ocamlbuild findlib topkg ppx_sexp_conv
|
||||
erm_xmpp_0_3 tls nocrypto x509 ocaml_lwt otr astring
|
||||
erm_xmpp tls nocrypto x509 ocaml_lwt otr astring
|
||||
ptime notty sexplib hex uutf
|
||||
];
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
diff --git a/cli/cli_config.ml b/cli/cli_config.ml
|
||||
index 991ee77..59a0edb 100644
|
||||
--- a/cli/cli_config.ml
|
||||
+++ b/cli/cli_config.ml
|
||||
@@ -207,7 +207,9 @@ let configure term () =
|
||||
ask above "CA file: " (fun x -> x) (fun x -> if Sys.file_exists x then `Ok x else `Invalid) term >>= fun trust_anchor ->
|
||||
Lwt_unix.access trust_anchor [ Unix.F_OK ; Unix.R_OK ] >>= fun () ->
|
||||
X509_lwt.certs_of_pem trust_anchor >>= fun tas ->
|
||||
- (match X509.Validation.valid_cas ~time:(Unix.time ()) tas with
|
||||
+ let time = match Ptime.of_float_s (Unix.time ())
|
||||
+ with Some time -> time | None -> assert false in
|
||||
+ (match X509.Validation.valid_cas ~time tas with
|
||||
| [] -> Lwt.fail (Invalid_argument "trust anchor file is empty!")
|
||||
| _ -> Lwt.return (`Trust_anchor trust_anchor))
|
||||
| Some fp -> Lwt.return (`Fingerprint fp) ) >>= fun authenticator ->
|
||||
diff --git a/cli/cli_state.ml b/cli/cli_state.ml
|
||||
index d5db502..91540c9 100644
|
||||
--- a/cli/cli_state.ml
|
||||
+++ b/cli/cli_state.ml
|
||||
@@ -262,7 +262,8 @@ module Connect = struct
|
||||
(match config.Xconfig.authenticator with
|
||||
| `Trust_anchor x -> X509_lwt.authenticator (`Ca_file x)
|
||||
| `Fingerprint fp ->
|
||||
- let time = Unix.gettimeofday () in
|
||||
+ let time = match Ptime.of_float_s (Unix.gettimeofday ())
|
||||
+ with Some time -> time | None -> assert false in
|
||||
let fp =
|
||||
Nocrypto.Uncommon.Cs.of_hex
|
||||
(String.map (function ':' -> ' ' | x -> x) fp)
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchurl, makeWrapper }:
|
||||
|
||||
let
|
||||
version = "3.0.13.6";
|
||||
version = "3.3.0";
|
||||
arch = if stdenv.is64bit then "amd64" else "x86";
|
||||
libDir = if stdenv.is64bit then "lib64" else "lib";
|
||||
in
|
||||
@ -14,9 +14,9 @@ stdenv.mkDerivation {
|
||||
"http://dl.4players.de/ts/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
|
||||
"http://teamspeak.gameserver.gamed.de/ts3/releases/${version}/teamspeak3-server_linux_${arch}-${version}.tar.bz2"
|
||||
];
|
||||
sha256 = if stdenv.is64bit
|
||||
then "19ccd8db5427758d972a864b70d4a1263ebb9628fcc42c3de75ba87de105d179"
|
||||
else "2f70b3e70a3d9bf86106fab67a938922c8d27fec24e66e229913f78a0791b967";
|
||||
sha256 = if stdenv.is64bit
|
||||
then "1jv5c1br3ypxz8px7fl5rg75j0kfdg8mqasdk2gka6yvgf7qc97i"
|
||||
else "0m889xl9iz3fmq7wyjjn42swprpspagbkn52a82nzkhgvagd45bz";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "treesheets-${version}";
|
||||
version = "2017-03-27";
|
||||
version = "2018-08-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "aardappel";
|
||||
repo = "treesheets";
|
||||
rev = "1d1d6b214e3ae88445eb1ec0032d5fef14160f32";
|
||||
sha256 = "0np91c4skq3yxq76c4zi33w73qb1w2nrcin490kkvrxk53jspklb";
|
||||
rev = "3af41d99c8f9f32603a36ab64af3560b6d61dd73";
|
||||
sha256 = "147y8ggh3clwjgsi15z8i4jnzlkh8p17mmlg532jym53zzbcva65";
|
||||
};
|
||||
|
||||
buildInputs = [ wxGTK makeWrapper ];
|
||||
@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
homepage = http://strlen.com/treesheets/;
|
||||
maintainers = with maintainers; [ obadz ];
|
||||
maintainers = with maintainers; [ obadz avery ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.zlib;
|
||||
};
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, python3Packages }:
|
||||
with python3Packages; buildPythonApplication rec {
|
||||
pname = "pre_commit";
|
||||
version = "1.11.0";
|
||||
version = "1.11.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "03nxkma8qp5j2bg6ailclnyqfhakp8r8d1mn6zcnjw0ac5r9imc8";
|
||||
sha256 = "1kjrq8z78b6aqhyyw07dlwf6cqls88kik6f5l07hs71fj5ddvs9w";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
|
||||
installPhase = ''
|
||||
make install
|
||||
make install-doc
|
||||
|
||||
substituteInPlace contrib/tig-completion.zsh \
|
||||
--replace 'e=$(dirname ''${funcsourcetrace[1]%:*})/tig-completion.bash' "e=$out/etc/bash_completion.d/tig-completion.bash"
|
||||
|
||||
install -D contrib/tig-completion.bash $out/etc/bash_completion.d/tig-completion.bash
|
||||
install -D contrib/tig-completion.zsh $out/share/zsh/site-functions/_tig
|
||||
cp contrib/vim.tigrc $out/etc/
|
||||
|
@ -18,6 +18,7 @@
|
||||
, makeWrapper
|
||||
, pkgconfig
|
||||
, vlc
|
||||
, mbedtls
|
||||
|
||||
, alsaSupport ? false
|
||||
, alsaLib
|
||||
@ -29,17 +30,15 @@ let
|
||||
optional = stdenv.lib.optional;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "obs-studio-${version}";
|
||||
version = "21.1.2";
|
||||
version = "22.0.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jp9000";
|
||||
repo = "obs-studio";
|
||||
rev = "${version}";
|
||||
sha256 = "1gl6qibvckczk3yl44h3yshml6sn3izwn58qpxils5837rpkwlc5";
|
||||
sha256 = "1bgp2lirpsbp54vvl3p345njlpgv0d78vac2aqwbl34wqx5sqdk0";
|
||||
};
|
||||
|
||||
patches = [ ./find-xcb.patch ];
|
||||
|
||||
nativeBuildInputs = [ cmake
|
||||
pkgconfig
|
||||
];
|
||||
@ -59,6 +58,7 @@ in stdenv.mkDerivation rec {
|
||||
x264
|
||||
vlc
|
||||
makeWrapper
|
||||
mbedtls
|
||||
]
|
||||
++ optional alsaSupport alsaLib
|
||||
++ optional pulseaudioSupport libpulseaudio;
|
||||
|
@ -1,31 +0,0 @@
|
||||
diff --git a/libobs/CMakeLists.txt b/libobs/CMakeLists.txt
|
||||
index cd2b80e1..7d829cdb 100644
|
||||
--- a/libobs/CMakeLists.txt
|
||||
+++ b/libobs/CMakeLists.txt
|
||||
@@ -15,6 +15,7 @@ if(UNIX)
|
||||
find_package(DBus QUIET)
|
||||
if (NOT APPLE)
|
||||
find_package(X11_XCB REQUIRED)
|
||||
+ find_package(XCB REQUIRED)
|
||||
endif()
|
||||
else()
|
||||
set(HAVE_DBUS "0")
|
||||
@@ -161,12 +162,15 @@ elseif(UNIX)
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
- ${X11_XCB_INCLUDE_DIRS})
|
||||
+ ${X11_XCB_INCLUDE_DIRS}
|
||||
+ ${XCB_INCLUDE_DIRS})
|
||||
add_definitions(
|
||||
- ${X11_XCB_DEFINITIONS})
|
||||
+ ${X11_XCB_DEFINITIONS}
|
||||
+ ${XCB_DEFINITIONS})
|
||||
set(libobs_PLATFORM_DEPS
|
||||
${libobs_PLATFORM_DEPS}
|
||||
- ${X11_XCB_LIBRARIES})
|
||||
+ ${X11_XCB_LIBRARIES}
|
||||
+ ${XCB_LIBRARIES})
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||
# use the sysinfo compatibility library on bsd
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, qmake, qtscript }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "smplayer-18.6.0";
|
||||
name = "smplayer-18.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
||||
sha256 = "0pb862l175ycm6fm90nryzgbqy8kbwpv3i6cbn13h7jh1yrz8nqx";
|
||||
sha256 = "0gff22yh2h76cyqsbjpa7rax51sfzygjl3isd8dk47zar9cyvw8d";
|
||||
};
|
||||
|
||||
buildInputs = [ qtscript ];
|
||||
|
@ -3,8 +3,9 @@
|
||||
, img ? pkgs.stdenv.hostPlatform.platform.kernelTarget
|
||||
, storeDir ? builtins.storeDir
|
||||
, rootModules ?
|
||||
[ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" ]
|
||||
[ "virtio_pci" "virtio_mmio" "virtio_blk" "virtio_balloon" "virtio_rng" "ext4" "unix" "9p" "9pnet_virtio" "crc32c_generic" "sym53c8xx" "virtio_scsi" "ahci "]
|
||||
++ pkgs.lib.optional (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) "rtc_cmos"
|
||||
, config
|
||||
}:
|
||||
|
||||
with pkgs;
|
||||
@ -196,9 +197,17 @@ rec {
|
||||
${qemuBinary qemu} \
|
||||
-nographic -no-reboot \
|
||||
-device virtio-rng-pci \
|
||||
${if "$diskInterface" == "scsi" then '' \
|
||||
\ # FIXME: /dev/sda is not created within the VM
|
||||
-device lsi53c895a \
|
||||
-device scsi-hd,drive=hd,id=scsi1,bootindex=1 \
|
||||
''${diskImage:+-drive file=$diskImage,media=disk,if=none,id=hd,cache=unsafe,werror=report} \
|
||||
'' else '' \
|
||||
-drive file=$diskImage,media=disk,if=none,id=hd \
|
||||
-device virtio-blk-pci,scsi=off,drive=hd,id=virtio0,bootindex=1 \
|
||||
\''}
|
||||
-virtfs local,path=${storeDir},security_model=none,mount_tag=store \
|
||||
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
|
||||
''${diskImage:+-drive file=$diskImage,if=virtio,cache=unsafe,werror=report} \
|
||||
-kernel ${kernel}/${img} \
|
||||
-initrd ${initrd}/initrd \
|
||||
-append "console=${qemuSerialDevice} panic=1 command=${stage2Init} out=$out mountDisk=$mountDisk loglevel=4" \
|
||||
@ -298,12 +307,13 @@ rec {
|
||||
`run-vm' will be left behind in the temporary build directory
|
||||
that allows you to boot into the VM and debug it interactively. */
|
||||
|
||||
runInLinuxVM = drv: lib.overrideDerivation drv ({ memSize ? 512, QEMU_OPTS ? "", args, builder, ... }: {
|
||||
runInLinuxVM = drv: lib.overrideDerivation drv ({ memSize ? 512, QEMU_OPTS ? "", args, builder, ... } @ moreArgs : {
|
||||
requiredSystemFeatures = [ "kvm" ];
|
||||
builder = "${bash}/bin/sh";
|
||||
args = ["-e" (vmRunCommand qemuCommandLinux)];
|
||||
origArgs = args;
|
||||
origBuilder = builder;
|
||||
diskInterface = "${moreArgs.diskInterface}";
|
||||
QEMU_OPTS = "${QEMU_OPTS} -m ${toString memSize}";
|
||||
passAsFile = []; # HACK fix - see https://github.com/NixOS/nixpkgs/issues/16742
|
||||
});
|
||||
|
31
pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
Normal file
31
pkgs/data/fonts/ultimate-oldschool-pc-font-pack/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, fetchurl, unzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ultimate-oldschool-pc-font-pack-${version}";
|
||||
version = "1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v${version}.zip";
|
||||
sha256 = "7666cf23176e34ea03a218b5c1500f4ad729d97150ab7bdb7cf2adf4c99a9a7a";
|
||||
};
|
||||
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
sourceRoot = ".";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp 'Px437 (TrueType - DOS charset)'/*.ttf $out/share/fonts/truetype
|
||||
cp 'PxPlus (TrueType - extended charset)'/*.ttf $out/share/fonts/truetype
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "The Ultimate Oldschool PC Font Pack (TTF Fonts)";
|
||||
homepage = "http://int10h.org/oldschool-pc-fonts/";
|
||||
platforms = platforms.unix;
|
||||
license = licenses.cc-by-sa-40;
|
||||
maintainers = [ maintainers.endgame ];
|
||||
};
|
||||
}
|
@ -6,7 +6,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -9,7 +9,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -8,7 +8,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${ver}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${ver}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -8,7 +8,7 @@ let
|
||||
|
||||
fetch = fetch_v version;
|
||||
fetch_v = ver: name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${version}/${name}-${ver}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${version}/${name}-${ver}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -9,7 +9,7 @@ let
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
url = "http://llvm.org/releases/${release_version}/${name}-${version}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -9,7 +9,7 @@ let
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
url = "http://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
106
pkgs/development/compilers/llvm/7/clang/default.nix
Normal file
106
pkgs/development/compilers/llvm/7/clang/default.nix
Normal file
@ -0,0 +1,106 @@
|
||||
{ stdenv, fetch, cmake, libxml2, llvm, version, clang-tools-extra_src, python
|
||||
, fixDarwinDylibNames
|
||||
, enableManpages ? false
|
||||
}:
|
||||
|
||||
let
|
||||
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
|
||||
self = stdenv.mkDerivation ({
|
||||
name = "clang-${version}";
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${fetch "cfe" "0mdsbgj3p7mayhzm8hclzl3i46r2lwa8fr1cz399f9km3iqi40jm"}
|
||||
mv cfe-${version}* clang
|
||||
sourceRoot=$PWD/clang
|
||||
unpackFile ${clang-tools-extra_src}
|
||||
mv clang-tools-extra-* $sourceRoot/tools/extra
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libxml2 llvm ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_CXX_FLAGS=-std=c++11"
|
||||
] ++ stdenv.lib.optionals enableManpages [
|
||||
"-DCLANG_INCLUDE_DOCS=ON"
|
||||
"-DLLVM_ENABLE_SPHINX=ON"
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
];
|
||||
|
||||
patches = [ ./purity.patch ];
|
||||
|
||||
postPatch = ''
|
||||
sed -i -e 's/DriverArgs.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||
-e 's/Args.hasArg(options::OPT_nostdlibinc)/true/' \
|
||||
lib/Driver/ToolChains/*.cpp
|
||||
|
||||
# Patch for standalone doc building
|
||||
sed -i '1s,^,find_package(Sphinx REQUIRED)\n,' docs/CMakeLists.txt
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
sed -i -e 's/lgcc_s/lgcc_eh/' lib/Driver/ToolChains/*.cpp
|
||||
'';
|
||||
|
||||
outputs = [ "out" "lib" "python" ];
|
||||
|
||||
# Clang expects to find LLVMgold in its own prefix
|
||||
postInstall = ''
|
||||
if [ -e ${llvm}/lib/LLVMgold.so ]; then
|
||||
ln -sv ${llvm}/lib/LLVMgold.so $out/lib
|
||||
fi
|
||||
|
||||
ln -sv $out/bin/clang $out/bin/cpp
|
||||
|
||||
# Move libclang to 'lib' output
|
||||
moveToOutput "lib/libclang.*" "$lib"
|
||||
substituteInPlace $out/lib/cmake/clang/ClangTargets-release.cmake \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libclang." "$lib/lib/libclang."
|
||||
|
||||
mkdir -p $python/bin $python/share/clang/
|
||||
mv $out/bin/{git-clang-format,scan-view} $python/bin
|
||||
if [ -e $out/bin/set-xcode-analyzer ]; then
|
||||
mv $out/bin/set-xcode-analyzer $python/bin
|
||||
fi
|
||||
mv $out/share/clang/*.py $python/share/clang
|
||||
rm $out/bin/c-index-test
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru = {
|
||||
isClang = true;
|
||||
inherit llvm;
|
||||
} // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux {
|
||||
inherit gcc;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "A c, c++, objective-c, and objective-c++ frontend for the llvm compiler";
|
||||
homepage = http://llvm.org/;
|
||||
license = stdenv.lib.licenses.ncsa;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
} // stdenv.lib.optionalAttrs enableManpages {
|
||||
name = "clang-manpages-${version}";
|
||||
|
||||
buildPhase = ''
|
||||
make docs-clang-man
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/man/man1
|
||||
# Manually install clang manpage
|
||||
cp docs/man/*.1 $out/share/man/man1/
|
||||
'';
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta.description = "man page for Clang ${version}";
|
||||
});
|
||||
in self
|
30
pkgs/development/compilers/llvm/7/clang/purity.patch
Normal file
30
pkgs/development/compilers/llvm/7/clang/purity.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 4add81bba40dcec62c4ea4481be8e35ac53e89d8 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Thu, 18 May 2017 11:56:12 -0500
|
||||
Subject: [PATCH] "purity" patch for 5.0
|
||||
|
||||
---
|
||||
lib/Driver/ToolChains/Gnu.cpp | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||
index fe3c0191bb..c6a482bece 100644
|
||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -494,13 +494,6 @@ void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
|
||||
if (!Args.hasArg(options::OPT_static)) {
|
||||
if (Args.hasArg(options::OPT_rdynamic))
|
||||
CmdArgs.push_back("-export-dynamic");
|
||||
-
|
||||
- if (!Args.hasArg(options::OPT_shared)) {
|
||||
- const std::string Loader =
|
||||
- D.DyldPrefix + ToolChain.getDynamicLinker(Args);
|
||||
- CmdArgs.push_back("-dynamic-linker");
|
||||
- CmdArgs.push_back(Args.MakeArgString(Loader));
|
||||
- }
|
||||
}
|
||||
|
||||
CmdArgs.push_back("-o");
|
||||
--
|
||||
2.11.0
|
||||
|
33
pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
Normal file
33
pkgs/development/compilers/llvm/7/compiler-rt-codesign.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From 3dec5f3475a26aeb4678627795c4b67c6b7b4785 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Tue, 19 Sep 2017 13:13:06 -0500
|
||||
Subject: [PATCH] remove codesign use on Apple, disable ios sim testing that
|
||||
needs it
|
||||
|
||||
---
|
||||
cmake/Modules/AddCompilerRT.cmake | 8 ------
|
||||
test/asan/CMakeLists.txt | 52 ---------------------------------------
|
||||
test/tsan/CMakeLists.txt | 47 -----------------------------------
|
||||
3 files changed, 107 deletions(-)
|
||||
|
||||
diff --git a/cmake/Modules/AddCompilerRT.cmake b/cmake/Modules/AddCompilerRT.cmake
|
||||
index bc5fb9ff7..b64eb4246 100644
|
||||
--- a/cmake/Modules/AddCompilerRT.cmake
|
||||
+++ b/cmake/Modules/AddCompilerRT.cmake
|
||||
@@ -210,14 +210,6 @@ function(add_compiler_rt_runtime name type)
|
||||
set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
|
||||
set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
|
||||
endif()
|
||||
- if(APPLE)
|
||||
- # Ad-hoc sign the dylibs
|
||||
- add_custom_command(TARGET ${libname}
|
||||
- POST_BUILD
|
||||
- COMMAND codesign --sign - $<TARGET_FILE:${libname}>
|
||||
- WORKING_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR}
|
||||
- )
|
||||
- endif()
|
||||
endif()
|
||||
install(TARGETS ${libname}
|
||||
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
|
||||
2.14.1
|
||||
|
37
pkgs/development/compilers/llvm/7/compiler-rt.nix
Normal file
37
pkgs/development/compilers/llvm/7/compiler-rt.nix
Normal file
@ -0,0 +1,37 @@
|
||||
{ stdenv, version, fetch, cmake, python, llvm, libcxxabi }:
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "compiler-rt-${version}";
|
||||
inherit version;
|
||||
src = fetch "compiler-rt" "1mkhqvs8cxbfmprkzwyq7lmnzr1sv45znzf0arbgb19crzipzv5x";
|
||||
|
||||
nativeBuildInputs = [ cmake python llvm ];
|
||||
buildInputs = stdenv.lib.optional stdenv.hostPlatform.isDarwin libcxxabi;
|
||||
|
||||
configureFlags = [
|
||||
"-DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON"
|
||||
];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
patches = [
|
||||
./compiler-rt-codesign.patch # Revert compiler-rt commit that makes codesign mandatory
|
||||
] ++ optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch;
|
||||
|
||||
# TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
|
||||
# to get it, but they're unfree. Since LLVM is rather central to the stdenv, we patch out TSAN support so that Hydra
|
||||
# can build this. If we didn't do it, basically the entire nixpkgs on Darwin would have an unfree dependency and we'd
|
||||
# get no binary cache for the entire platform. If you really find yourself wanting the TSAN, make this controllable by
|
||||
# a flag and turn the flag off during the stdenv build.
|
||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace cmake/config-ix.cmake \
|
||||
--replace 'set(COMPILER_RT_HAS_TSAN TRUE)' 'set(COMPILER_RT_HAS_TSAN FALSE)'
|
||||
'';
|
||||
|
||||
# Hack around weird upsream RPATH bug
|
||||
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
ln -s "$out/lib"/*/* "$out/lib"
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
}
|
92
pkgs/development/compilers/llvm/7/default.nix
Normal file
92
pkgs/development/compilers/llvm/7/default.nix
Normal file
@ -0,0 +1,92 @@
|
||||
{ lowPrio, newScope, pkgs, stdenv, cmake, libstdcxxHook
|
||||
, libxml2, python, isl, fetchurl, overrideCC, wrapCCWith
|
||||
, buildLlvmTools # tools, but from the previous stage, for cross
|
||||
, targetLlvmLibraries # libraries, but from the next stage, for cross
|
||||
}:
|
||||
|
||||
let
|
||||
release_version = "7.0.0";
|
||||
version = release_version; # differentiating these is important for rc's
|
||||
|
||||
fetch = name: sha256: fetchurl {
|
||||
url = "https://releases.llvm.org/${release_version}/${name}-${version}.src.tar.xz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
clang-tools-extra_src = fetch "clang-tools-extra" "1glxl7bnr4k3j16s8xy8r9cl0llyg524f50591g1ig23ij65lz4k";
|
||||
|
||||
tools = stdenv.lib.makeExtensible (tools: let
|
||||
callPackage = newScope (tools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
|
||||
mkExtraBuildCommands = cc: ''
|
||||
rsrc="$out/resource-root"
|
||||
mkdir "$rsrc"
|
||||
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
|
||||
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
|
||||
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
|
||||
'' + stdenv.lib.optionalString stdenv.targetPlatform.isLinux ''
|
||||
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
|
||||
'';
|
||||
in {
|
||||
|
||||
llvm = callPackage ./llvm.nix { };
|
||||
|
||||
clang-unwrapped = callPackage ./clang {
|
||||
inherit clang-tools-extra_src;
|
||||
};
|
||||
|
||||
llvm-manpages = lowPrio (tools.llvm.override {
|
||||
enableManpages = true;
|
||||
python = pkgs.python; # don't use python-boot
|
||||
});
|
||||
|
||||
clang-manpages = lowPrio (tools.clang-unwrapped.override {
|
||||
enableManpages = true;
|
||||
python = pkgs.python; # don't use python-boot
|
||||
});
|
||||
|
||||
libclang = tools.clang-unwrapped.lib;
|
||||
|
||||
clang = if stdenv.cc.isGNU then tools.libstdcxxClang else tools.libcxxClang;
|
||||
|
||||
libstdcxxClang = wrapCCWith rec {
|
||||
cc = tools.clang-unwrapped;
|
||||
extraPackages = [
|
||||
libstdcxxHook
|
||||
targetLlvmLibraries.compiler-rt
|
||||
];
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
libcxxClang = wrapCCWith rec {
|
||||
cc = tools.clang-unwrapped;
|
||||
extraPackages = [
|
||||
targetLlvmLibraries.libcxx
|
||||
targetLlvmLibraries.libcxxabi
|
||||
targetLlvmLibraries.compiler-rt
|
||||
];
|
||||
extraBuildCommands = mkExtraBuildCommands cc;
|
||||
};
|
||||
|
||||
lld = callPackage ./lld.nix {};
|
||||
|
||||
lldb = callPackage ./lldb.nix {};
|
||||
});
|
||||
|
||||
libraries = stdenv.lib.makeExtensible (libraries: let
|
||||
callPackage = newScope (libraries // buildLlvmTools // { inherit stdenv cmake libxml2 python isl release_version version fetch; });
|
||||
in {
|
||||
|
||||
compiler-rt = callPackage ./compiler-rt.nix {};
|
||||
|
||||
stdenv = overrideCC stdenv buildLlvmTools.clang;
|
||||
|
||||
libcxxStdenv = overrideCC stdenv buildLlvmTools.libcxxClang;
|
||||
|
||||
libcxx = callPackage ./libc++ {};
|
||||
|
||||
libcxxabi = callPackage ./libc++abi.nix {};
|
||||
|
||||
openmp = callPackage ./openmp.nix {};
|
||||
});
|
||||
|
||||
in { inherit tools libraries; } // libraries // tools
|
50
pkgs/development/compilers/llvm/7/libc++/default.nix
Normal file
50
pkgs/development/compilers/llvm/7/libc++/default.nix
Normal file
@ -0,0 +1,50 @@
|
||||
{ lib, stdenv, fetch, cmake, python, libcxxabi, fixDarwinDylibNames, version }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libc++-${version}";
|
||||
|
||||
src = fetch "libcxx" "1w1l472p03csgz76p70pn9yk7h0nw5hj1av44ysnakigp8jjcd4v";
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${libcxxabi.src}
|
||||
export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
|
||||
'';
|
||||
|
||||
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl ../../libcxx-0001-musl-hacks.patch;
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
# Get headers from the cxxabi source so we can see private headers not installed by the cxxabi package
|
||||
cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$LIBCXXABI_INCLUDE_DIR")
|
||||
'' + lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patchShebangs utils/cat_files.py
|
||||
'';
|
||||
nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl python;
|
||||
|
||||
buildInputs = [ libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLIBCXX_LIBCXXABI_LIB_PATH=${libcxxabi}/lib"
|
||||
"-DLIBCXX_LIBCPPABI_VERSION=2"
|
||||
"-DLIBCXX_CXX_ABI=libcxxabi"
|
||||
] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl "-DLIBCXX_HAS_MUSL_LIBC=1";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
linkCxxAbi = stdenv.isLinux;
|
||||
|
||||
setupHooks = [
|
||||
../../../../../build-support/setup-hooks/role.bash
|
||||
./setup-hook.sh
|
||||
];
|
||||
|
||||
meta = {
|
||||
homepage = http://libcxx.llvm.org/;
|
||||
description = "A new implementation of the C++ standard library, targeting C++11";
|
||||
license = with stdenv.lib.licenses; [ ncsa mit ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
6
pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
Normal file
6
pkgs/development/compilers/llvm/7/libc++/setup-hook.sh
Normal file
@ -0,0 +1,6 @@
|
||||
# See pkgs/build-support/setup-hooks/role.bash
|
||||
getHostRole
|
||||
|
||||
linkCxxAbi="@linkCxxAbi@"
|
||||
export NIX_${role_pre}CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
|
||||
export NIX_${role_pre}CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
|
49
pkgs/development/compilers/llvm/7/libc++abi.nix
Normal file
49
pkgs/development/compilers/llvm/7/libc++abi.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ stdenv, cmake, fetch, libcxx, libunwind, llvm, version }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "libc++abi-${version}";
|
||||
|
||||
src = fetch "libcxxabi" "0pr4xfx61r5mwmvhg4j9pb6df6vvha1gyf6rwkm14x9rzxcwficv";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = stdenv.lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD) libunwind;
|
||||
|
||||
postUnpack = ''
|
||||
unpackFile ${libcxx.src}
|
||||
unpackFile ${llvm.src}
|
||||
export cmakeFlags="-DLLVM_PATH=$PWD/$(ls -d llvm-*) -DLIBCXXABI_LIBCXX_PATH=$PWD/$(ls -d libcxx-*)"
|
||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
export TRIPLE=x86_64-apple-darwin
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -d $(ls -d libcxx-*) -i ${../libcxx-0001-musl-hacks.patch}
|
||||
'';
|
||||
|
||||
installPhase = if stdenv.isDarwin
|
||||
then ''
|
||||
for file in lib/*.dylib; do
|
||||
# this should be done in CMake, but having trouble figuring out
|
||||
# the magic combination of necessary CMake variables
|
||||
# if you fancy a try, take a look at
|
||||
# http://www.cmake.org/Wiki/CMake_RPATH_handling
|
||||
install_name_tool -id $out/$file $file
|
||||
done
|
||||
make install
|
||||
install -d 755 $out/include
|
||||
install -m 644 ../include/*.h $out/include
|
||||
''
|
||||
else ''
|
||||
install -d -m 755 $out/include $out/lib
|
||||
install -m 644 lib/libc++abi.so.1.0 $out/lib
|
||||
install -m 644 ../include/cxxabi.h $out/include
|
||||
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so
|
||||
ln -s libc++abi.so.1.0 $out/lib/libc++abi.so.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://libcxxabi.llvm.org/;
|
||||
description = "A new implementation of low level support for a standard C++ library";
|
||||
license = with stdenv.lib.licenses; [ ncsa mit ];
|
||||
maintainers = with stdenv.lib.maintainers; [ vlstill ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
32
pkgs/development/compilers/llvm/7/lld.nix
Normal file
32
pkgs/development/compilers/llvm/7/lld.nix
Normal file
@ -0,0 +1,32 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, libxml2
|
||||
, llvm
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lld-${version}";
|
||||
|
||||
src = fetch "lld" "173z50vx5mlsaiqmbz7asxy2297z4xivrfxrdfncvx23wp2lgkzv";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ llvm libxml2 ];
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
moveToOutput include "$dev"
|
||||
moveToOutput lib "$dev"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "The LLVM Linker";
|
||||
homepage = http://lld.llvm.org/;
|
||||
license = stdenv.lib.licenses.ncsa;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
56
pkgs/development/compilers/llvm/7/lldb.nix
Normal file
56
pkgs/development/compilers/llvm/7/lldb.nix
Normal file
@ -0,0 +1,56 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, zlib
|
||||
, ncurses
|
||||
, swig
|
||||
, which
|
||||
, libedit
|
||||
, libxml2
|
||||
, llvm
|
||||
, clang-unwrapped
|
||||
, python
|
||||
, version
|
||||
, darwin
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "lldb-${version}";
|
||||
|
||||
src = fetch "lldb" "0cmah36ybyfws0z2ikq9fqn5k4kvjci7vgk97ddx4xwrwkzdixkz";
|
||||
|
||||
postPatch = ''
|
||||
# Fix up various paths that assume llvm and clang are installed in the same place
|
||||
sed -i 's,".*ClangConfig.cmake","${clang-unwrapped}/lib/cmake/clang/ClangConfig.cmake",' \
|
||||
cmake/modules/LLDBStandalone.cmake
|
||||
sed -i 's,".*tools/clang/include","${clang-unwrapped}/include",' \
|
||||
cmake/modules/LLDBStandalone.cmake
|
||||
sed -i 's,"$.LLVM_LIBRARY_DIR.",${llvm}/lib ${clang-unwrapped}/lib,' \
|
||||
cmake/modules/LLDBStandalone.cmake
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake python which swig ];
|
||||
buildInputs = [ ncurses zlib libedit libxml2 llvm ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.libobjc darwin.apple_sdk.libs.xpc darwin.apple_sdk.frameworks.Foundation darwin.bootstrap_cmds darwin.apple_sdk.frameworks.Carbon darwin.apple_sdk.frameworks.Cocoa ];
|
||||
|
||||
CXXFLAGS = "-fno-rtti";
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLLDB_CODESIGN_IDENTITY=" # codesigning makes nondeterministic
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/man/man1
|
||||
cp ../docs/lldb.1 $out/share/man/man1/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A next-generation high-performance debugger";
|
||||
homepage = http://llvm.org/;
|
||||
license = licenses.ncsa;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
26
pkgs/development/compilers/llvm/7/llvm-outputs.patch
Normal file
26
pkgs/development/compilers/llvm/7/llvm-outputs.patch
Normal file
@ -0,0 +1,26 @@
|
||||
diff --git a/tools/llvm-config/llvm-config.cpp b/tools/llvm-config/llvm-config.cpp
|
||||
index 94d426b..37f7794 100644
|
||||
--- a/tools/llvm-config/llvm-config.cpp
|
||||
+++ b/tools/llvm-config/llvm-config.cpp
|
||||
@@ -333,6 +333,21 @@ int main(int argc, char **argv) {
|
||||
ActiveIncludeOption = "-I" + ActiveIncludeDir;
|
||||
}
|
||||
|
||||
+ /// Nix-specific multiple-output handling: override ActiveLibDir if --link-shared
|
||||
+ if (!IsInDevelopmentTree) {
|
||||
+ bool WantShared = true;
|
||||
+ for (int i = 1; i < argc; ++i) {
|
||||
+ StringRef Arg = argv[i];
|
||||
+ if (Arg == "--link-shared")
|
||||
+ WantShared = true;
|
||||
+ else if (Arg == "--link-static")
|
||||
+ WantShared = false; // the last one wins
|
||||
+ }
|
||||
+
|
||||
+ if (WantShared)
|
||||
+ ActiveLibDir = std::string("@lib@") + "/lib" + LLVM_LIBDIR_SUFFIX;
|
||||
+ }
|
||||
+
|
||||
/// We only use `shared library` mode in cases where the static library form
|
||||
/// of the components provided are not available; note however that this is
|
||||
/// skipped if we're run from within the build dir. However, once installed,
|
174
pkgs/development/compilers/llvm/7/llvm.nix
Normal file
174
pkgs/development/compilers/llvm/7/llvm.nix
Normal file
@ -0,0 +1,174 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, python
|
||||
, libffi
|
||||
, libbfd
|
||||
, libpfm
|
||||
, libxml2
|
||||
, ncurses
|
||||
, version
|
||||
, release_version
|
||||
, zlib
|
||||
, debugVersion ? false
|
||||
, enableManpages ? false
|
||||
, enableSharedLibraries ? true
|
||||
, enableWasm ? true
|
||||
, enablePFM ? !stdenv.isDarwin
|
||||
}:
|
||||
|
||||
let
|
||||
src = fetch "llvm" "08p27wv1pr9ql2zc3f3qkkymci46q7myvh8r5ijippnbwr2gihcb";
|
||||
|
||||
# Used when creating a version-suffixed symlink of libLLVM.dylib
|
||||
shortVersion = with stdenv.lib;
|
||||
concatStringsSep "." (take 1 (splitString "." release_version));
|
||||
in stdenv.mkDerivation (rec {
|
||||
name = "llvm-${version}";
|
||||
|
||||
unpackPhase = ''
|
||||
unpackFile ${src}
|
||||
mv llvm-${version}* llvm
|
||||
sourceRoot=$PWD/llvm
|
||||
'';
|
||||
|
||||
outputs = [ "out" "python" ]
|
||||
++ stdenv.lib.optional enableSharedLibraries "lib";
|
||||
|
||||
nativeBuildInputs = [ cmake python ]
|
||||
++ stdenv.lib.optional enableManpages python.pkgs.sphinx;
|
||||
|
||||
buildInputs = [ libxml2 libffi ]
|
||||
++ stdenv.lib.optional enablePFM libpfm; # exegesis
|
||||
|
||||
propagatedBuildInputs = [ ncurses zlib ];
|
||||
|
||||
postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace cmake/modules/AddLLVM.cmake \
|
||||
--replace 'set(_install_name_dir INSTALL_NAME_DIR "@rpath")' "set(_install_name_dir INSTALL_NAME_DIR "$lib/lib")" \
|
||||
--replace 'set(_install_rpath "@loader_path/../lib" ''${extra_libdir})' ""
|
||||
''
|
||||
# Patch llvm-config to return correct library path based on --link-{shared,static}.
|
||||
+ stdenv.lib.optionalString (enableSharedLibraries) ''
|
||||
substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
|
||||
patch -p1 < ./llvm-outputs.patch
|
||||
'' + ''
|
||||
# FileSystem permissions tests fail with various special bits
|
||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||
--replace "Path.cpp" ""
|
||||
rm unittests/Support/Path.cpp
|
||||
'' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
|
||||
patch -p1 -i ${../TLI-musl.patch}
|
||||
substituteInPlace unittests/Support/CMakeLists.txt \
|
||||
--replace "add_subdirectory(DynamicLibrary)" ""
|
||||
rm unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
|
||||
'' + ''
|
||||
patchShebangs test/BugPoint/compile-custom.ll.py
|
||||
'';
|
||||
|
||||
# hacky fix: created binaries need to be run before installation
|
||||
preBuild = ''
|
||||
mkdir -p $out/
|
||||
ln -sv $PWD/lib $out
|
||||
'';
|
||||
|
||||
cmakeFlags = with stdenv; [
|
||||
"-DCMAKE_BUILD_TYPE=${if debugVersion then "Debug" else "Release"}"
|
||||
"-DLLVM_INSTALL_UTILS=ON" # Needed by rustc
|
||||
"-DLLVM_BUILD_TESTS=ON"
|
||||
"-DLLVM_ENABLE_FFI=ON"
|
||||
"-DLLVM_ENABLE_RTTI=ON"
|
||||
|
||||
"-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
"-DTARGET_TRIPLE=${stdenv.hostPlatform.config}"
|
||||
|
||||
"-DLLVM_ENABLE_DUMP=ON"
|
||||
]
|
||||
++ stdenv.lib.optional enableSharedLibraries
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON"
|
||||
++ stdenv.lib.optionals enableManpages [
|
||||
"-DLLVM_BUILD_DOCS=ON"
|
||||
"-DLLVM_ENABLE_SPHINX=ON"
|
||||
"-DSPHINX_OUTPUT_MAN=ON"
|
||||
"-DSPHINX_OUTPUT_HTML=OFF"
|
||||
"-DSPHINX_WARNINGS_AS_ERRORS=OFF"
|
||||
]
|
||||
++ stdenv.lib.optional (!isDarwin)
|
||||
"-DLLVM_BINUTILS_INCDIR=${libbfd.dev}/include"
|
||||
++ stdenv.lib.optionals (isDarwin) [
|
||||
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||
"-DCAN_TARGET_i386=false"
|
||||
]
|
||||
++ stdenv.lib.optional enableWasm
|
||||
"-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly"
|
||||
;
|
||||
|
||||
postBuild = ''
|
||||
rm -fR $out
|
||||
|
||||
paxmark m bin/{lli,llvm-rtdyld}
|
||||
paxmark m unittests/ExecutionEngine/MCJIT/MCJITTests
|
||||
paxmark m unittests/ExecutionEngine/Orc/OrcJITTests
|
||||
paxmark m unittests/Support/SupportTests
|
||||
paxmark m bin/lli-child-target
|
||||
'';
|
||||
|
||||
preCheck = ''
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $python/share
|
||||
mv $out/share/opt-viewer $python/share/opt-viewer
|
||||
''
|
||||
+ stdenv.lib.optionalString enableSharedLibraries ''
|
||||
moveToOutput "lib/libLLVM-*" "$lib"
|
||||
moveToOutput "lib/libLLVM${stdenv.hostPlatform.extensions.sharedLibrary}" "$lib"
|
||||
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM-" "$lib/lib/libLLVM-"
|
||||
''
|
||||
+ stdenv.lib.optionalString (stdenv.isDarwin && enableSharedLibraries) ''
|
||||
substituteInPlace "$out/lib/cmake/llvm/LLVMExports-${if debugVersion then "debug" else "release"}.cmake" \
|
||||
--replace "\''${_IMPORT_PREFIX}/lib/libLLVM.dylib" "$lib/lib/libLLVM.dylib"
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${shortVersion}.dylib
|
||||
ln -s $lib/lib/libLLVM.dylib $lib/lib/libLLVM-${release_version}.dylib
|
||||
'';
|
||||
|
||||
doCheck = stdenv.isLinux && (!stdenv.isi686);
|
||||
|
||||
checkTarget = "check-all";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
passthru.src = src;
|
||||
|
||||
meta = {
|
||||
description = "Collection of modular and reusable compiler and toolchain technologies";
|
||||
homepage = http://llvm.org/;
|
||||
license = stdenv.lib.licenses.ncsa;
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 raskin dtzWill ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
} // stdenv.lib.optionalAttrs enableManpages {
|
||||
name = "llvm-manpages-${version}";
|
||||
|
||||
buildPhase = ''
|
||||
make docs-llvm-man
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [];
|
||||
|
||||
installPhase = ''
|
||||
make -C docs install
|
||||
'';
|
||||
|
||||
postPatch = null;
|
||||
postInstall = null;
|
||||
|
||||
outputs = [ "out" ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta.description = "man pages for LLVM ${version}";
|
||||
})
|
25
pkgs/development/compilers/llvm/7/openmp.nix
Normal file
25
pkgs/development/compilers/llvm/7/openmp.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{ stdenv
|
||||
, fetch
|
||||
, cmake
|
||||
, llvm
|
||||
, perl
|
||||
, version
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "openmp-${version}";
|
||||
|
||||
src = fetch "openmp" "1zrqlaxr954sp8lcr7g8m0z0pr8xyq4i6p11x6gcamjm5xijnrih";
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
buildInputs = [ llvm ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "Components required to build an executable OpenMP program";
|
||||
homepage = http://openmp.llvm.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
413
pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
Normal file
413
pkgs/development/compilers/llvm/7/sanitizers-nongnu.patch
Normal file
@ -0,0 +1,413 @@
|
||||
From 7b4b3333a2718628b1d510ec1d8438ad67308299 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Fri, 29 Jun 2018 09:48:59 -0500
|
||||
Subject: [PATCH] Ported to 6.0, taken from gentoo-musl project.
|
||||
|
||||
------
|
||||
Ported to compiler-rt-sanitizers-5.0.0. Taken from
|
||||
|
||||
https://gist.githubusercontent.com/pwaller/2337f3290f12634cad3e3730cff0a6c1/raw/83c87a8585e2f9662494db5662e5361beb093c26/nongnu.patch
|
||||
Signed-off-by: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Taken from gentoo-musl project, with a few additional minor fixes.
|
||||
---
|
||||
lib/asan/asan_linux.cc | 4 +-
|
||||
lib/interception/interception_linux.cc | 2 +-
|
||||
lib/interception/interception_linux.h | 3 +-
|
||||
lib/msan/msan_linux.cc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_allocator.cc | 2 +-
|
||||
.../sanitizer_common_interceptors_ioctl.inc | 4 +-
|
||||
.../sanitizer_common_syscalls.inc | 2 +-
|
||||
lib/sanitizer_common/sanitizer_linux.cc | 8 +++-
|
||||
.../sanitizer_linux_libcdep.cc | 10 ++---
|
||||
lib/sanitizer_common/sanitizer_platform.h | 6 +++
|
||||
.../sanitizer_platform_interceptors.h | 4 +-
|
||||
.../sanitizer_platform_limits_posix.cc | 37 +++++++++++--------
|
||||
lib/tsan/rtl/tsan_platform_linux.cc | 2 +-
|
||||
13 files changed, 51 insertions(+), 35 deletions(-)
|
||||
|
||||
diff --git a/lib/asan/asan_linux.cc b/lib/asan/asan_linux.cc
|
||||
index 625f32d40..73cf77aca 100644
|
||||
--- a/lib/asan/asan_linux.cc
|
||||
+++ b/lib/asan/asan_linux.cc
|
||||
@@ -46,7 +46,7 @@
|
||||
#include <link.h>
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS
|
||||
+#if SANITIZER_ANDROID || SANITIZER_FREEBSD || SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||
#include <ucontext.h>
|
||||
extern "C" void* _DYNAMIC;
|
||||
#elif SANITIZER_NETBSD
|
||||
@@ -139,7 +139,7 @@ void AsanApplyToGlobals(globals_op_fptr op, const void *needle) {
|
||||
UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
-#if SANITIZER_ANDROID
|
||||
+#if SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
// FIXME: should we do anything for Android?
|
||||
void AsanCheckDynamicRTPrereqs() {}
|
||||
void AsanCheckIncompatibleRT() {}
|
||||
diff --git a/lib/interception/interception_linux.cc b/lib/interception/interception_linux.cc
|
||||
index c991550a4..2b706418b 100644
|
||||
--- a/lib/interception/interception_linux.cc
|
||||
+++ b/lib/interception/interception_linux.cc
|
||||
@@ -43,7 +43,7 @@ bool GetRealFunctionAddress(const char *func_name, uptr *func_addr,
|
||||
}
|
||||
|
||||
// Android and Solaris do not have dlvsym
|
||||
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
void *GetFuncAddrVer(const char *func_name, const char *ver) {
|
||||
return dlvsym(RTLD_NEXT, func_name, ver);
|
||||
}
|
||||
diff --git a/lib/interception/interception_linux.h b/lib/interception/interception_linux.h
|
||||
index 98fe51b85..c13302b98 100644
|
||||
--- a/lib/interception/interception_linux.h
|
||||
+++ b/lib/interception/interception_linux.h
|
||||
@@ -35,8 +35,7 @@ void *GetFuncAddrVer(const char *func_name, const char *ver);
|
||||
(::__interception::uptr) & (func), \
|
||||
(::__interception::uptr) & WRAP(func))
|
||||
|
||||
-// Android and Solaris do not have dlvsym
|
||||
-#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
#define INTERCEPT_FUNCTION_VER_LINUX_OR_FREEBSD(func, symver) \
|
||||
(::__interception::real_##func = (func##_f)( \
|
||||
unsigned long)::__interception::GetFuncAddrVer(#func, symver))
|
||||
diff --git a/lib/msan/msan_linux.cc b/lib/msan/msan_linux.cc
|
||||
index 4e6321fcb..4d50feb82 100644
|
||||
--- a/lib/msan/msan_linux.cc
|
||||
+++ b/lib/msan/msan_linux.cc
|
||||
@@ -13,7 +13,7 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "sanitizer_common/sanitizer_platform.h"
|
||||
-#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD
|
||||
+#if SANITIZER_FREEBSD || (SANITIZER_LINUX && !SANITIZER_NONGNU) || SANITIZER_NETBSD
|
||||
|
||||
#include "msan.h"
|
||||
#include "msan_thread.h"
|
||||
diff --git a/lib/sanitizer_common/sanitizer_allocator.cc b/lib/sanitizer_common/sanitizer_allocator.cc
|
||||
index fc4f7a75a..76cf4f769 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_allocator.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_allocator.cc
|
||||
@@ -23,7 +23,7 @@ namespace __sanitizer {
|
||||
|
||||
// ThreadSanitizer for Go uses libc malloc/free.
|
||||
#if SANITIZER_GO || defined(SANITIZER_USE_MALLOC)
|
||||
-# if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+# if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
extern "C" void *__libc_malloc(uptr size);
|
||||
# if !SANITIZER_GO
|
||||
extern "C" void *__libc_memalign(uptr alignment, uptr size);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
index 24e7548a5..20259b1d6 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
|
||||
@@ -102,7 +102,7 @@ static void ioctl_table_fill() {
|
||||
_(SIOCGETVIFCNT, WRITE, struct_sioc_vif_req_sz);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
// Conflicting request ids.
|
||||
// _(CDROMAUDIOBUFSIZ, NONE, 0);
|
||||
// _(SNDCTL_TMR_CONTINUE, NONE, 0);
|
||||
@@ -363,7 +363,7 @@ static void ioctl_table_fill() {
|
||||
_(VT_WAITACTIVE, NONE, 0);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// _(SIOCDEVPLIP, WRITE, struct_ifreq_sz); // the same as EQL_ENSLAVE
|
||||
_(CYGETDEFTHRESH, WRITE, sizeof(int));
|
||||
_(CYGETDEFTIMEOUT, WRITE, sizeof(int));
|
||||
diff --git a/lib/sanitizer_common/sanitizer_common_syscalls.inc b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
index 469c8eb7e..24f87867d 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
+++ b/lib/sanitizer_common/sanitizer_common_syscalls.inc
|
||||
@@ -2038,7 +2038,7 @@ POST_SYSCALL(setrlimit)(long res, long resource, void *rlim) {
|
||||
}
|
||||
}
|
||||
|
||||
-#if !SANITIZER_ANDROID
|
||||
+#if !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
PRE_SYSCALL(prlimit64)(long pid, long resource, const void *new_rlim,
|
||||
void *old_rlim) {
|
||||
if (new_rlim) PRE_READ(new_rlim, struct_rlimit64_sz);
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux.cc b/lib/sanitizer_common/sanitizer_linux.cc
|
||||
index 6c83e8db4..542c4fe64 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux.cc
|
||||
@@ -522,13 +522,13 @@ const char *GetEnv(const char *name) {
|
||||
#endif
|
||||
}
|
||||
|
||||
-#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD
|
||||
+#if !SANITIZER_FREEBSD && !SANITIZER_NETBSD && !SANITIZER_NONGNU
|
||||
extern "C" {
|
||||
SANITIZER_WEAK_ATTRIBUTE extern void *__libc_stack_end;
|
||||
}
|
||||
#endif
|
||||
|
||||
-#if !SANITIZER_GO && !SANITIZER_FREEBSD && !SANITIZER_NETBSD
|
||||
+#if (!SANITIZER_GO || SANITIZER_NONGNU) && !SANITIZER_FREEBSD && !SANITIZER_NETBSD
|
||||
static void ReadNullSepFileToArray(const char *path, char ***arr,
|
||||
int arr_size) {
|
||||
char *buff;
|
||||
@@ -569,6 +569,10 @@ static void GetArgsAndEnv(char ***argv, char ***envp) {
|
||||
#elif SANITIZER_NETBSD
|
||||
*argv = __ps_strings->ps_argvstr;
|
||||
*argv = __ps_strings->ps_envstr;
|
||||
+#elif SANITIZER_NONGNU
|
||||
+ static const int kMaxArgv = 2000, kMaxEnvp = 2000;
|
||||
+ ReadNullSepFileToArray("/proc/self/cmdline", argv, kMaxArgv);
|
||||
+ ReadNullSepFileToArray("/proc/self/environ", envp, kMaxEnvp);
|
||||
#else
|
||||
#if !SANITIZER_GO
|
||||
if (&__libc_stack_end) {
|
||||
diff --git a/lib/sanitizer_common/sanitizer_linux_libcdep.cc b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
index 56fdfc870..a932d5db1 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_linux_libcdep.cc
|
||||
@@ -174,7 +174,7 @@ bool SanitizerGetThreadName(char *name, int max_len) {
|
||||
}
|
||||
|
||||
#if !SANITIZER_FREEBSD && !SANITIZER_ANDROID && !SANITIZER_GO && \
|
||||
- !SANITIZER_NETBSD && !SANITIZER_SOLARIS
|
||||
+ !SANITIZER_NETBSD && !SANITIZER_SOLARIS && !SANITIZER_NONGNU
|
||||
static uptr g_tls_size;
|
||||
|
||||
#ifdef __i386__
|
||||
@@ -207,7 +207,7 @@ void InitTlsSize() { }
|
||||
|
||||
#if (defined(__x86_64__) || defined(__i386__) || defined(__mips__) \
|
||||
|| defined(__aarch64__) || defined(__powerpc64__) || defined(__s390__) \
|
||||
- || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+ || defined(__arm__)) && SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// sizeof(struct pthread) from glibc.
|
||||
static atomic_uintptr_t kThreadDescriptorSize;
|
||||
|
||||
@@ -391,7 +391,7 @@ int GetSizeFromHdr(struct dl_phdr_info *info, size_t size, void *data) {
|
||||
|
||||
#if !SANITIZER_GO
|
||||
static void GetTls(uptr *addr, uptr *size) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# if defined(__x86_64__) || defined(__i386__) || defined(__s390__)
|
||||
*addr = ThreadSelf();
|
||||
*size = GetTlsSize();
|
||||
@@ -432,7 +432,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
*addr = (uptr)tcb->tcb_dtv[1];
|
||||
}
|
||||
}
|
||||
-#elif SANITIZER_ANDROID
|
||||
+#elif SANITIZER_ANDROID || SANITIZER_NONGNU
|
||||
*addr = 0;
|
||||
*size = 0;
|
||||
#elif SANITIZER_SOLARIS
|
||||
@@ -448,7 +448,7 @@ static void GetTls(uptr *addr, uptr *size) {
|
||||
#if !SANITIZER_GO
|
||||
uptr GetTlsSize() {
|
||||
#if SANITIZER_FREEBSD || SANITIZER_ANDROID || SANITIZER_NETBSD || \
|
||||
- SANITIZER_SOLARIS
|
||||
+ SANITIZER_SOLARIS || SANITIZER_NONGNU
|
||||
uptr addr, size;
|
||||
GetTls(&addr, &size);
|
||||
return size;
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform.h b/lib/sanitizer_common/sanitizer_platform.h
|
||||
index 334903c26..fc2afac2c 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform.h
|
||||
@@ -195,6 +195,12 @@
|
||||
# define SANITIZER_SOLARIS32 0
|
||||
#endif
|
||||
|
||||
+#if defined(__linux__) && !defined(__GLIBC__)
|
||||
+# define SANITIZER_NONGNU 1
|
||||
+#else
|
||||
+# define SANITIZER_NONGNU 0
|
||||
+#endif
|
||||
+
|
||||
// By default we allow to use SizeClassAllocator64 on 64-bit platform.
|
||||
// But in some cases (e.g. AArch64's 39-bit address space) SizeClassAllocator64
|
||||
// does not work well and we need to fallback to SizeClassAllocator32.
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_interceptors.h b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
index b99ac4480..628d226a1 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_interceptors.h
|
||||
@@ -38,7 +38,7 @@
|
||||
# include "sanitizer_platform_limits_solaris.h"
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
# define SI_LINUX_NOT_ANDROID 1
|
||||
#else
|
||||
# define SI_LINUX_NOT_ANDROID 0
|
||||
@@ -291,7 +291,7 @@
|
||||
(SI_FREEBSD || SI_MAC || SI_LINUX_NOT_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_ETHER_R (SI_FREEBSD || SI_LINUX_NOT_ANDROID)
|
||||
#define SANITIZER_INTERCEPT_SHMCTL \
|
||||
- (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID) && \
|
||||
+ (SI_NETBSD || SI_SOLARIS || ((SI_FREEBSD || SI_LINUX_NOT_ANDROID || SANITIZER_NONGNU) && \
|
||||
SANITIZER_WORDSIZE == 64)) // NOLINT
|
||||
#define SANITIZER_INTERCEPT_RANDOM_R SI_LINUX_NOT_ANDROID
|
||||
#define SANITIZER_INTERCEPT_PTHREAD_ATTR_GET SI_POSIX
|
||||
diff --git a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
index feb7bad6f..4e89ab2a6 100644
|
||||
--- a/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
+++ b/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
|
||||
@@ -14,6 +14,9 @@
|
||||
|
||||
#include "sanitizer_platform.h"
|
||||
|
||||
+// Workaround musl <--> linux conflicting definition of 'struct sysinfo'
|
||||
+#define _LINUX_SYSINFO_H
|
||||
+
|
||||
#if SANITIZER_LINUX || SANITIZER_FREEBSD || SANITIZER_MAC
|
||||
// Tests in this file assume that off_t-dependent data structures match the
|
||||
// libc ABI. For example, struct dirent here is what readdir() function (as
|
||||
@@ -138,12 +141,14 @@ typedef struct user_fpregs elf_fpregset_t;
|
||||
|
||||
#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
#include <glob.h>
|
||||
-#include <obstack.h>
|
||||
+# if !SANITIZER_NONGNU
|
||||
+# include <obstack.h>
|
||||
+# endif
|
||||
#include <mqueue.h>
|
||||
-#include <net/if_ppp.h>
|
||||
-#include <netax25/ax25.h>
|
||||
-#include <netipx/ipx.h>
|
||||
-#include <netrom/netrom.h>
|
||||
+#include <linux/if_ppp.h>
|
||||
+#include <linux/ax25.h>
|
||||
+#include <linux/ipx.h>
|
||||
+#include <linux/netrom.h>
|
||||
#if HAVE_RPC_XDR_H
|
||||
# include <rpc/xdr.h>
|
||||
#elif HAVE_TIRPC_RPC_XDR_H
|
||||
@@ -251,7 +256,7 @@ namespace __sanitizer {
|
||||
unsigned struct_itimerspec_sz = sizeof(struct itimerspec);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
// Use pre-computed size of struct ustat to avoid <sys/ustat.h> which
|
||||
// has been removed from glibc 2.28.
|
||||
#if defined(__aarch64__) || defined(__s390x__) || defined (__mips64) \
|
||||
@@ -322,7 +327,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(ElfW(Phdr));
|
||||
unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
#endif
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int glob_nomatch = GLOB_NOMATCH;
|
||||
int glob_altdirfunc = GLOB_ALTDIRFUNC;
|
||||
#endif
|
||||
@@ -416,7 +421,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_termios_sz = sizeof(struct termios);
|
||||
unsigned struct_winsize_sz = sizeof(struct winsize);
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
unsigned struct_arpreq_sz = sizeof(struct arpreq);
|
||||
unsigned struct_cdrom_msf_sz = sizeof(struct cdrom_msf);
|
||||
unsigned struct_cdrom_multisession_sz = sizeof(struct cdrom_multisession);
|
||||
@@ -466,7 +471,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned struct_vt_mode_sz = sizeof(struct vt_mode);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned struct_ax25_parms_struct_sz = sizeof(struct ax25_parms_struct);
|
||||
unsigned struct_cyclades_monitor_sz = sizeof(struct cyclades_monitor);
|
||||
#if EV_VERSION > (0x010000)
|
||||
@@ -834,7 +839,7 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_VT_WAITACTIVE = VT_WAITACTIVE;
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
unsigned IOCTL_CYGETDEFTHRESH = CYGETDEFTHRESH;
|
||||
unsigned IOCTL_CYGETDEFTIMEOUT = CYGETDEFTIMEOUT;
|
||||
unsigned IOCTL_CYGETMON = CYGETMON;
|
||||
@@ -989,7 +994,7 @@ CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phdr);
|
||||
CHECK_SIZE_AND_OFFSET(dl_phdr_info, dlpi_phnum);
|
||||
#endif // SANITIZER_LINUX || SANITIZER_FREEBSD
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(glob_t);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathc);
|
||||
CHECK_SIZE_AND_OFFSET(glob_t, gl_pathv);
|
||||
@@ -1023,6 +1028,7 @@ CHECK_TYPE_SIZE(iovec);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_base);
|
||||
CHECK_SIZE_AND_OFFSET(iovec, iov_len);
|
||||
|
||||
+#if !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(msghdr);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_name);
|
||||
CHECK_SIZE_AND_OFFSET(msghdr, msg_namelen);
|
||||
@@ -1036,6 +1042,7 @@ CHECK_TYPE_SIZE(cmsghdr);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_len);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_level);
|
||||
CHECK_SIZE_AND_OFFSET(cmsghdr, cmsg_type);
|
||||
+#endif
|
||||
|
||||
COMPILER_CHECK(sizeof(__sanitizer_dirent) <= sizeof(dirent));
|
||||
CHECK_SIZE_AND_OFFSET(dirent, d_ino);
|
||||
@@ -1138,7 +1145,7 @@ CHECK_SIZE_AND_OFFSET(mntent, mnt_passno);
|
||||
|
||||
CHECK_TYPE_SIZE(ether_addr);
|
||||
|
||||
-#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
|
||||
+#if (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
CHECK_TYPE_SIZE(ipc_perm);
|
||||
# if SANITIZER_FREEBSD
|
||||
CHECK_SIZE_AND_OFFSET(ipc_perm, key);
|
||||
@@ -1199,7 +1206,7 @@ CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_dstaddr);
|
||||
CHECK_SIZE_AND_OFFSET(ifaddrs, ifa_data);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX
|
||||
+#if SANITIZER_LINUX && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_mallinfo) == sizeof(struct mallinfo));
|
||||
#endif
|
||||
|
||||
@@ -1249,7 +1256,7 @@ COMPILER_CHECK(__sanitizer_XDR_DECODE == XDR_DECODE);
|
||||
COMPILER_CHECK(__sanitizer_XDR_FREE == XDR_FREE);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer_FILE) <= sizeof(FILE));
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _flags);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _IO_read_ptr);
|
||||
@@ -1268,7 +1275,7 @@ CHECK_SIZE_AND_OFFSET(FILE, _chain);
|
||||
CHECK_SIZE_AND_OFFSET(FILE, _fileno);
|
||||
#endif
|
||||
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
COMPILER_CHECK(sizeof(__sanitizer__obstack_chunk) <= sizeof(_obstack_chunk));
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, limit);
|
||||
CHECK_SIZE_AND_OFFSET(_obstack_chunk, prev);
|
||||
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
index e14d5f575..389a3bc88 100644
|
||||
--- a/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
+++ b/lib/tsan/rtl/tsan_platform_linux.cc
|
||||
@@ -285,7 +285,7 @@ void InitializePlatform() {
|
||||
// This is required to properly "close" the fds, because we do not see internal
|
||||
// closes within glibc. The code is a pure hack.
|
||||
int ExtractResolvFDs(void *state, int *fds, int nfd) {
|
||||
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
|
||||
+#if SANITIZER_LINUX && !SANITIZER_ANDROID && !SANITIZER_NONGNU
|
||||
int cnt = 0;
|
||||
struct __res_state *statp = (struct __res_state*)state;
|
||||
for (int i = 0; i < MAXNS && cnt < nfd; i++) {
|
||||
--
|
||||
2.18.0
|
||||
|
@ -927,8 +927,9 @@ self: super: {
|
||||
text-icu = dontCheck super.text-icu;
|
||||
|
||||
# https://github.com/haskell/cabal/issues/4969
|
||||
haddock-library_1_4_4 = dontHaddock super.haddock-library_1_4_4;
|
||||
haddock-api = super.haddock-api.override { haddock-library = self.haddock-library_1_4_4; };
|
||||
haddock-api = (super.haddock-api.overrideScope (self: super: {
|
||||
haddock-library = self.haddock-library_1_6_0;
|
||||
})).override { hspec = self.hspec_2_4_8; };
|
||||
|
||||
# Jailbreak "unix-compat >=0.1.2 && <0.5".
|
||||
# Jailbreak "graphviz >=2999.18.1 && <2999.20".
|
||||
@ -1112,7 +1113,7 @@ self: super: {
|
||||
})) ./patches/sexpr-0.2.1.patch;
|
||||
|
||||
# Can be removed once yi-language >= 0.18 is in the LTS
|
||||
yi-core = super.yi-core.override { yi-language = self.yi-language_0_18_0; };
|
||||
yi-core = super.yi-core.overrideScope (self: super: { yi-language = self.yi-language_0_18_0; });
|
||||
|
||||
# https://github.com/MarcWeber/hasktags/issues/52
|
||||
hasktags = dontCheck super.hasktags;
|
||||
@ -1124,11 +1125,11 @@ self: super: {
|
||||
xmlhtml = doJailbreak super.xmlhtml;
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/issues/46467
|
||||
safe-money-aeson = super.safe-money-aeson.override { safe-money = self.safe-money_0_7; };
|
||||
safe-money-store = super.safe-money-store.override { safe-money = self.safe-money_0_7; };
|
||||
safe-money-cereal = super.safe-money-cereal.override { safe-money = self.safe-money_0_7; };
|
||||
safe-money-serialise = super.safe-money-serialise.override { safe-money = self.safe-money_0_7; };
|
||||
safe-money-xmlbf = super.safe-money-xmlbf.override { safe-money = self.safe-money_0_7; };
|
||||
safe-money-aeson = super.safe-money-aeson.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-store = super.safe-money-store.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-cereal = super.safe-money-cereal.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-serialise = super.safe-money-serialise.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
safe-money-xmlbf = super.safe-money-xmlbf.overrideScope (self: super: { safe-money = self.safe-money_0_7; });
|
||||
|
||||
# https://github.com/adinapoli/mandrill/pull/52
|
||||
mandrill = appendPatch super.mandrill (pkgs.fetchpatch {
|
||||
@ -1136,4 +1137,17 @@ self: super: {
|
||||
sha256 = "1qair09xs6vln3vsjz7sy4hhv037146zak4mq3iv6kdhmp606hqv";
|
||||
});
|
||||
|
||||
# Can be removed once vinyl >= 0.10 is in the LTS.
|
||||
Frames = super.Frames.overrideScope (self: super: { vinyl = self.vinyl_0_10_0; });
|
||||
|
||||
# https://github.com/Euterpea/Euterpea2/pull/22
|
||||
Euterpea = overrideSrc super.Euterpea {
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "Euterpea";
|
||||
repo = "Euterpea2";
|
||||
rev = "6f49b790adfb8b65d95a758116c20098fb0cd34c";
|
||||
sha256 = "0qz1svb96n42nmig16vyphwxas34hypgayvwc91ri7w7xd6yi1ba";
|
||||
};
|
||||
};
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
@ -2400,7 +2400,6 @@ extra-packages:
|
||||
- haddock-api == 2.17.* # required on GHC 8.0.x
|
||||
- haddock-library == 1.2.* # required for haddock-api-2.16.x
|
||||
- haddock-library == 1.4.3 # required for haddock-api-2.17.x
|
||||
- haddock-library == 1.4.4 # required for haddock-api-2.18.x
|
||||
- haddock-library == 1.5.* # required for stylish-cabal-0.4.0.1
|
||||
- happy <1.19.6 # newer versions break Agda
|
||||
- haskell-gi-overloading == 0.0 # gi-* packages use this dependency to disable overloading support
|
||||
|
@ -517,4 +517,7 @@ self: super: builtins.intersectAttrs super {
|
||||
postPatch = ''
|
||||
sed -i -e 's|"z3"|"${pkgs.z3}/bin/z3"|' Data/SBV/Provers/Z3.hs'';
|
||||
});
|
||||
|
||||
# The test-suite requires a running PostgreSQL server.
|
||||
Frames-beam = dontCheck super.Frames-beam;
|
||||
}
|
||||
|
@ -11,6 +11,16 @@ let
|
||||
sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
|
||||
};
|
||||
|
||||
makeOrderingPatch = fetchpatch {
|
||||
url = "https://github.com/erlang/otp/commit/2f1a37f1011ff9d129bc35a6efa0ab937a2aa0e9.patch";
|
||||
sha256 = "0xfa6hzxh9d7qllkyidcgh57xrrx11w65y7s1hyg52alm06l6b9n";
|
||||
};
|
||||
|
||||
makeParallelInstallPatch = fetchpatch {
|
||||
url ="https://github.com/erlang/otp/commit/de8fe86f67591dd992bae33f7451523dab36e5bd.patch";
|
||||
sha256 = "1cj9fjhdng6yllajjm3gkk04ag9bwyb3n70hrb5nk6c292v8a45c";
|
||||
};
|
||||
|
||||
in mkDerivation rec {
|
||||
version = "18.3.4.8";
|
||||
sha256 = "16c0h25hh5yvkv436ks5jbd7qmxzb6ndvk64mr404347a20iib0g";
|
||||
@ -18,5 +28,7 @@ in mkDerivation rec {
|
||||
patches = [
|
||||
rmAndPwdPatch
|
||||
envAndCpPatch
|
||||
makeOrderingPatch
|
||||
makeParallelInstallPatch
|
||||
];
|
||||
}
|
||||
|
@ -133,6 +133,7 @@ let
|
||||
++ optionals mysqliSupport [
|
||||
"--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysql.connector-c}/bin/mysql_config"}"
|
||||
]
|
||||
++ optional ( pdo_mysqlSupport || mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
|
||||
++ optional bcmathSupport "--enable-bcmath"
|
||||
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
|
||||
++ optionals gdSupport [
|
||||
|
25
pkgs/development/interpreters/wasm-gc/default.nix
Normal file
25
pkgs/development/interpreters/wasm-gc/default.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{ stdenv, fetchFromGitHub, rustPlatform }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "wasm-gc-${version}";
|
||||
version = "0.1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alexcrichton";
|
||||
repo = "wasm-gc";
|
||||
rev = version;
|
||||
sha256 = "1lc30xxqp3vv1r269xzznh2lf2dzdq89bi5f1vmqjw4yc3xmawm7";
|
||||
};
|
||||
|
||||
cargoPatches = [ ./fix-build.patch ]; # Cargo.lock is not up-to-date
|
||||
|
||||
cargoSha256 = "1jvk9n324p3x3j6q6x0p5diig3b5c683k74cfflff25i7gsmmvc7";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "gc-sections for wasm";
|
||||
homepage = "https://github.com/alexcrichton/wasm-gc";
|
||||
maintainers = with maintainers; [ ekleog ];
|
||||
platforms = platforms.all;
|
||||
license = with licenses; [ mit asl20 ];
|
||||
};
|
||||
}
|
34
pkgs/development/interpreters/wasm-gc/fix-build.patch
Normal file
34
pkgs/development/interpreters/wasm-gc/fix-build.patch
Normal file
@ -0,0 +1,34 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 923ed91..71f17c8 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -212,16 +212,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-gc"
|
||||
-version = "0.1.1"
|
||||
+version = "0.1.6"
|
||||
dependencies = [
|
||||
"env_logger 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"getopts 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
- "wasm-gc-api 0.1.5",
|
||||
+ "wasm-gc-api 0.1.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-gc-api"
|
||||
-version = "0.1.5"
|
||||
+version = "0.1.6"
|
||||
dependencies = [
|
||||
"log 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"parity-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
@@ -234,7 +234,7 @@ version = "0.1.0"
|
||||
dependencies = [
|
||||
"cfg-if 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"wasm-bindgen 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
- "wasm-gc-api 0.1.5",
|
||||
+ "wasm-gc-api 0.1.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "18.08";
|
||||
version = "18.08.1";
|
||||
name = "libmediainfo-${version}";
|
||||
src = fetchurl {
|
||||
url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
|
||||
sha256 = "0h9fkfkil9y5xjxa7q4gxxihkn9kv9hak6ral2isvks5x3sy0ca8";
|
||||
sha256 = "1h6brg98i39xprcl54gvs1scmv8d6f3iw5h2diwz5bbz4lspy8vs";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mono-addins-${version}";
|
||||
version = "1.2";
|
||||
version = "1.3.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mono";
|
||||
repo = "mono-addins";
|
||||
|
||||
rev = "mono-addins-${version}";
|
||||
sha256 = "1hnn0a2qsjcjprsxas424bzvhsdwy0yc2jj5xbp698c0m9kfk24y";
|
||||
sha256 = "018g3bd8afjc39h22h2j5r6ldsdn08ynx7wg889gdvnxg3hrxgl2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
|
27
pkgs/development/ocaml-modules/doc-ock-html/default.nix
Normal file
27
pkgs/development/ocaml-modules/doc-ock-html/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, dune, doc-ock, tyxml, xmlm }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-doc-ock-html-${version}";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-doc";
|
||||
repo = "doc-ock-html";
|
||||
rev = "v${version}";
|
||||
sha256 = "1y620h48qrplmcm78g7c78zibpkai4j3icwmnx95zb3r8xq8554y";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib dune ];
|
||||
|
||||
propagatedBuildInputs = [ doc-ock tyxml xmlm ];
|
||||
|
||||
inherit (dune) installPhase;
|
||||
|
||||
meta = {
|
||||
description = "From doc-ock to HTML";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
maintainers = [ stdenv.lib.maintainers.vbgl ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
27
pkgs/development/ocaml-modules/doc-ock-xml/default.nix
Normal file
27
pkgs/development/ocaml-modules/doc-ock-xml/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, dune, doc-ock, menhir, xmlm }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-doc-ock-xml-${version}";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-doc";
|
||||
repo = "doc-ock-xml";
|
||||
rev = "v${version}";
|
||||
sha256 = "1s27ri7vj9ixi5p5ixg6g6invk96807bvxbqjrr1dm8sxgl1nd20";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib dune ];
|
||||
|
||||
propagatedBuildInputs = [ doc-ock menhir xmlm ];
|
||||
|
||||
inherit (dune) installPhase;
|
||||
|
||||
meta = {
|
||||
description = "XML printer and parser for Doc-Ock";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
maintainers = [ stdenv.lib.maintainers.vbgl ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
27
pkgs/development/ocaml-modules/doc-ock/default.nix
Normal file
27
pkgs/development/ocaml-modules/doc-ock/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, dune, octavius, cppo }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-doc-ock-${version}";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml-doc";
|
||||
repo = "doc-ock";
|
||||
rev = "v${version}";
|
||||
sha256 = "090vprm12jrl55yllk1hdzbsqyr107yjs2qnc49yahdhvnr4h5b7";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib dune cppo ];
|
||||
|
||||
propagatedBuildInputs = [ octavius ];
|
||||
|
||||
inherit (dune) installPhase;
|
||||
|
||||
meta = {
|
||||
description = "Extract documentation from OCaml files";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
maintainers = [ stdenv.lib.maintainers.vbgl ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
@ -1,17 +1,17 @@
|
||||
{ stdenv, fetchzip, ocaml, findlib, ocamlbuild }:
|
||||
|
||||
if stdenv.lib.versionAtLeast ocaml.version "4.06"
|
||||
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
|
||||
then throw "erm_xml is not available for OCaml ${ocaml.version}"
|
||||
else
|
||||
|
||||
let version = "0.3"; in
|
||||
let version = "0.3+20180112"; in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-erm_xml-${version}";
|
||||
name = "ocaml${ocaml.version}-erm_xml-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ermine/xml/archive/v${version}.tar.gz";
|
||||
sha256 = "19znk5w0qiw3wij4n6w3h5bcr221yy57jf815fr8k9m8kin710g3";
|
||||
url = "https://github.com/hannesm/xml/archive/bbabdade807d8281fc48806da054b70dfe482479.tar.gz";
|
||||
sha256 = "1gawpmg8plip0wia0xq60m024dn7l3ykwbjpbqx9f9bdmx74n1rr";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild ];
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/ermine/xml;
|
||||
homepage = https://github.com/hannesm/xml;
|
||||
description = "XML Parser for discrete data";
|
||||
platforms = ocaml.meta.platforms or [];
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
|
@ -1,29 +0,0 @@
|
||||
{ stdenv, buildOcaml, fetchFromGitHub, ocaml, findlib, erm_xml, nocrypto }:
|
||||
|
||||
buildOcaml rec {
|
||||
version = "0.3";
|
||||
name = "erm_xmpp";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hannesm";
|
||||
repo = "xmpp";
|
||||
rev = "eee18bd3dd343550169969c0b45548eafd51cfe1";
|
||||
sha256 = "0hzs528lrx1ayalv6fh555pjn0b4l8xch1f72hd3b07g1xahdas5";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib ];
|
||||
propagatedBuildInputs = [ erm_xml nocrypto ];
|
||||
|
||||
configurePhase = "ocaml setup.ml -configure --prefix $out";
|
||||
buildPhase = "ocaml setup.ml -build";
|
||||
installPhase = "ocaml setup.ml -install";
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/hannesm/xmpp;
|
||||
description = "OCaml based XMPP implementation (fork)";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
|
||||
};
|
||||
}
|
@ -1,33 +1,32 @@
|
||||
{ stdenv, fetchurl, fetchzip, ocaml, findlib, ocamlbuild, erm_xml, cryptokit, camlp4 }:
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, camlp4, ocamlbuild
|
||||
, erm_xml, nocrypto
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.2";
|
||||
disable-tests = fetchurl {
|
||||
url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/erm_xmpp/erm_xmpp.0.2/files/disable_tests.patch;
|
||||
sha256 = "09d8630nmx2x8kb8ap1zmsb93zs14cqg7ga1gmdl92jvsjxbhgc1";
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.3+20180112";
|
||||
name = "ocaml${ocaml.version}-erm_xmpp-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hannesm";
|
||||
repo = "xmpp";
|
||||
rev = "184dc70fab7d46d09b9148ca4448f07f1e0a2df2";
|
||||
sha256 = "1dsqsfacvd9xqsqjzh6xwbnf2mv1dvhy210riyvjd260q085ch6n";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "ocaml-erm_xmpp-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ermine/xmpp/archive/v${version}.tar.gz";
|
||||
sha256 = "0saw2dmrzv2aadrznvyvchnhivvcwm78x9nwf6flq5v0pqddapk2";
|
||||
};
|
||||
|
||||
patches = [ disable-tests ];
|
||||
|
||||
buildInputs = [ ocaml findlib ocamlbuild camlp4 ];
|
||||
propagatedBuildInputs = [ erm_xml cryptokit ];
|
||||
propagatedBuildInputs = [ erm_xml nocrypto ];
|
||||
|
||||
configurePhase = "ocaml setup.ml -configure --prefix $out";
|
||||
buildPhase = "ocaml setup.ml -build";
|
||||
installPhase = "ocaml setup.ml -install";
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/ermine/xmpp;
|
||||
description = "OCaml based XMPP implementation";
|
||||
platforms = ocaml.meta.platforms or [];
|
||||
homepage = https://github.com/hannesm/xmpp;
|
||||
description = "OCaml based XMPP implementation (fork)";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ vbgl ];
|
||||
maintainers = with stdenv.lib.maintainers; [ sternenseemann ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
};
|
||||
}
|
||||
|
28
pkgs/development/ocaml-modules/odoc/default.nix
Normal file
28
pkgs/development/ocaml-modules/odoc/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ stdenv, fetchFromGitHub, ocaml, findlib, dune
|
||||
, bos, cmdliner, doc-ock-html, doc-ock-xml
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ocaml${ocaml.version}-odoc-${version}";
|
||||
version = "1.2.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ocaml";
|
||||
repo = "odoc";
|
||||
rev = "v${version}";
|
||||
sha256 = "0ixnhfpm1nw4bvjj8qhcyy283pdr5acqpg5wxwq3n1l4mad79cgh";
|
||||
};
|
||||
|
||||
buildInputs = [ ocaml findlib dune cmdliner ];
|
||||
|
||||
propagatedBuildInputs = [ bos doc-ock-html doc-ock-xml ];
|
||||
|
||||
inherit (dune) installPhase;
|
||||
|
||||
meta = {
|
||||
description = "A documentation generator for OCaml";
|
||||
license = stdenv.lib.licenses.isc;
|
||||
maintainers = [ stdenv.lib.maintainers.vbgl ];
|
||||
inherit (ocaml.meta) platforms;
|
||||
inherit (src.meta) homepage;
|
||||
};
|
||||
}
|
@ -9,6 +9,10 @@ buildPythonPackage rec {
|
||||
sha256 = "0ivqsihk994rxw58vdgzrx4d77d7lpzjm4qxb38hjdgvi5xm4cb0";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace tests/test_integration.py --replace 'static_path=' 'static_url_path='
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [ flask webassets flask_script nose ];
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -1,5 +1,13 @@
|
||||
{ stdenv, buildPythonPackage, fetchFromGitHub, isPy3k
|
||||
, boost, freetype, ftgl, libGLU_combined }:
|
||||
{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
|
||||
, boost, freetype, ftgl, libGLU_combined
|
||||
, python
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
pythonVersion = with lib.versions; "${major python.version}${minor python.version}";
|
||||
|
||||
in
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyftgl";
|
||||
@ -13,13 +21,13 @@ buildPythonPackage rec {
|
||||
sha256 = "12zcjv4cwwjihiaf74kslrdmmk4bs47h7006gyqfwdfchfjdgg4r";
|
||||
};
|
||||
|
||||
postPatch = stdenv.lib.optional isPy3k ''
|
||||
sed -i "s,'boost_python','boost_python3',g" setup.py
|
||||
postPatch = ''
|
||||
sed -i "s,'boost_python','boost_python${pythonVersion}',g" setup.py
|
||||
'';
|
||||
|
||||
buildInputs = [ boost freetype ftgl libGLU_combined ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
meta = with lib; {
|
||||
description = "Python bindings for FTGL (FreeType for OpenGL)";
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
|
21
pkgs/development/python-modules/pyjet/default.nix
Normal file
21
pkgs/development/python-modules/pyjet/default.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ lib, buildPythonPackage, fetchPypi, nose, numpy }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyjet";
|
||||
version = "1.3.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1glcwv9ni8i40smfw6m456xjadlkackim5nk33xmas1fa96lpagg";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ numpy ];
|
||||
checkInputs = [ nose ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/scikit-hep/pyjet";
|
||||
description = "The interface between FastJet and NumPy";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ veprbl ];
|
||||
};
|
||||
}
|
@ -26,7 +26,7 @@ GEM
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||
ruby-progressbar (1.10.0)
|
||||
solargraph (0.27.1)
|
||||
solargraph (0.28.1)
|
||||
coderay (~> 1.1)
|
||||
eventmachine (~> 1.2, >= 1.2.5)
|
||||
htmlentities (~> 4.3, >= 4.3.4)
|
||||
|
@ -127,10 +127,10 @@
|
||||
dependencies = ["coderay" "eventmachine" "htmlentities" "kramdown" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
|
||||
source = {
|
||||
remotes = ["https://rubygems.org"];
|
||||
sha256 = "1wp4k6ayv9gv1rzxqccz6zb1fss7klszqwha9wvs6mj3c1vhghac";
|
||||
sha256 = "11l759mrzjla2iqy5wdd20r01196pfxkw0b0gzgskdbfi8y8mvg5";
|
||||
type = "gem";
|
||||
};
|
||||
version = "0.27.1";
|
||||
version = "0.28.1";
|
||||
};
|
||||
thor = {
|
||||
source = {
|
||||
|
@ -7,12 +7,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ycmd-${version}";
|
||||
version = "2018-07-24";
|
||||
version = "2018-09-20";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/Valloric/ycmd.git";
|
||||
rev = "f8a8b04892b925efeee24298a957cc6d6a69ad06";
|
||||
sha256 = "1br2sh6bs0fg1axq2hq9f48fz8klkzydi1mf0j0jdsh3zjzkmxbn";
|
||||
rev = "bf658fd78722c517674c0aaf2381e199bca8f163";
|
||||
sha256 = "1lwa8xr76vapfpncvp81cn3m9219yw14fl7fzk5gnly60zkphbbl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -4,13 +4,13 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libcardiacarrest-${version}";
|
||||
version = "12.1-6"; # <PA API version>-<version>
|
||||
version = "12.1-7"; # <PA API version>-<version>
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "oxij";
|
||||
repo = "libcardiacarrest";
|
||||
rev = "4df92b6cc66c7f9fe947dd9bbf4802cf20fe63a2";
|
||||
sha256 = "0zfjn4nvcx8r4f6czcix5b9nsszhhhlbypcwqzi4ddhazl1gyfm6";
|
||||
rev = "d44288d9a24d6b7793fb36a4c9a548b6b55375ec";
|
||||
sha256 = "0j3l5s6r9hgpy5y7q7kx0rkh05rk0bgfdvzbmadqps720lqjs4xm";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
@ -3,17 +3,17 @@
|
||||
let
|
||||
ell = fetchgit {
|
||||
url = https://git.kernel.org/pub/scm/libs/ell/ell.git;
|
||||
rev = "0.9";
|
||||
sha256 = "1kg7cx7ir8bvz33n624ncrq9r4fh7rg9z22fly894a3mk1imq22p";
|
||||
rev = "0.10";
|
||||
sha256 = "1yzbx4l3a6hbdmirgbvnrjfiwflyzd38mbxnp23gn9hg3ni3br34";
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "iwd-${version}";
|
||||
version = "0.7";
|
||||
version = "0.8";
|
||||
|
||||
src = fetchgit {
|
||||
url = https://git.kernel.org/pub/scm/network/wireless/iwd.git;
|
||||
rev = version;
|
||||
sha256 = "0q76fh6fcl7nxyjl8z2n4plp2qaxc1fqx575by6xqf1rnv4nk0ab";
|
||||
sha256 = "0bx31f77mz3rbl3xja48lb5zgwgialg7hvax889kpkz92wg26mgv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -1,10 +1,10 @@
|
||||
{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
||||
{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
||||
|
||||
let
|
||||
modDirVersion = "4.14.62";
|
||||
tag = "1.20180817";
|
||||
in
|
||||
stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
||||
lib.overrideDerivation (buildLinux (args // rec {
|
||||
version = "${modDirVersion}-${tag}";
|
||||
inherit modDirVersion;
|
||||
|
||||
@ -18,6 +18,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
||||
defconfig = {
|
||||
"armv6l-linux" = "bcmrpi_defconfig";
|
||||
"armv7l-linux" = "bcm2709_defconfig";
|
||||
"aarch64-linux" = "bcmrpi3_defconfig";
|
||||
}.${stdenv.hostPlatform.system} or (throw "linux_rpi not supported on '${stdenv.hostPlatform.system}'");
|
||||
|
||||
features = {
|
||||
@ -31,14 +32,15 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
||||
sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
|
||||
'';
|
||||
|
||||
# Make copies of the DTBs named after the upstream names so that U-Boot finds them.
|
||||
# This is ugly as heck, but I don't know a better solution so far.
|
||||
postFixup = ''
|
||||
# Make copies of the DTBs named after the upstream names so that U-Boot finds them.
|
||||
# This is ugly as heck, but I don't know a better solution so far.
|
||||
rm $out/dtbs/bcm283*.dtb
|
||||
dtbDir=${if stdenv.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"}
|
||||
rm $dtbDir/bcm283*.dtb
|
||||
copyDTB() {
|
||||
cp -v "$out/dtbs/$1" "$out/dtbs/$2"
|
||||
cp -v "$dtbDir/$1" "$dtbDir/$2"
|
||||
}
|
||||
|
||||
'' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) ''
|
||||
copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
|
||||
copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
|
||||
copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
|
||||
@ -48,7 +50,9 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
|
||||
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb
|
||||
copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb
|
||||
copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
|
||||
'' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux"]) ''
|
||||
copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
|
||||
'' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) ''
|
||||
copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
|
||||
copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
|
||||
copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
|
||||
|
||||
buildLinux (args // rec {
|
||||
version = "4.19-rc4";
|
||||
modDirVersion = "4.19.0-rc4";
|
||||
version = "4.19-rc5";
|
||||
modDirVersion = "4.19.0-rc5";
|
||||
extraMeta.branch = "4.19";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
|
||||
sha256 = "083nlh25zddrbg1hzyxfpg9i7h91ij9f299i52r5zwzi85yi8whn";
|
||||
sha256 = "0fpv2g6x1hgdrxvh1acjcxmyk2fzqcx1ypi0mqw72swbm587irck";
|
||||
};
|
||||
|
||||
# Should the testing kernels ever be built on Hydra?
|
||||
|
@ -17,11 +17,13 @@ in
|
||||
rec {
|
||||
# Policy: use the highest stable version as the default (on our master).
|
||||
stable = generic {
|
||||
version = "390.77";
|
||||
sha256_32bit = "1yd313ghh2qbn07d5wbkshfwgkm4mh49vcqkydds3b3xk0mx4i8l";
|
||||
sha256_64bit = "10kjccrkdn360035lh985cadhwy6lk9xrw3wlmww2wqfaa25f775";
|
||||
settingsSha256 = "1wvxldpjkrx0ldjm5l6ycm6paxpcw89h0n6hfkznfkahkq7fwxdj";
|
||||
persistencedSha256 = "1gklmc0v17m018cwpdlzwdyd45y4sjvjhj8a3l44baygix5zn30f";
|
||||
version = "390.87";
|
||||
sha256_32bit = "0rlr1f4lnpb8c4qz4w5r8xw5gdy9bzz26qww45qyl1qav3wwaaaw";
|
||||
sha256_64bit = "07k1kq8lkgbvjyr2dnbxcz6nppcwpq17wf925w8kfq78345hla9q";
|
||||
settingsSha256 = "0xlaiy7jr95z0v2c6cwll89nxnb142pybw7m08jg44r7n13ffv3r";
|
||||
persistencedSha256 = "0mhwk321garyl6m12261cj03ycv0qz1sbrlbq6cqwjpq4f1s7h58";
|
||||
|
||||
patches = lib.optional (kernel.meta.branch == "4.19") ./drm_mode_connector.patch;
|
||||
};
|
||||
|
||||
beta = stable; # not enough interest to maintain beta ATM
|
||||
|
24
pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch
Normal file
24
pkgs/os-specific/linux/nvidia-x11/drm_mode_connector.patch
Normal file
@ -0,0 +1,24 @@
|
||||
diff -ura a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2018-09-07 17:38:31.807453997 -0400
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2018-09-07 17:39:22.446185824 -0400
|
||||
@@ -226,7 +226,7 @@
|
||||
|
||||
|
||||
if (nv_connector->edid != NULL) {
|
||||
- drm_mode_connector_update_edid_property(
|
||||
+ drm_connector_update_edid_property(
|
||||
connector, nv_connector->edid);
|
||||
}
|
||||
|
||||
diff -ura a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c
|
||||
--- a/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-09-07 17:38:31.807453997 -0400
|
||||
+++ b/kernel/nvidia-drm/nvidia-drm-encoder.c 2018-09-07 17:39:35.083798484 -0400
|
||||
@@ -216,7 +216,7 @@
|
||||
|
||||
/* Attach encoder and connector */
|
||||
|
||||
- ret = drm_mode_connector_attach_encoder(connector, encoder);
|
||||
+ ret = drm_connector_attach_encoder(connector, encoder);
|
||||
|
||||
if (ret != 0) {
|
||||
NV_DRM_DEV_LOG_ERR(
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "influxdb-${version}";
|
||||
version = "1.4.1";
|
||||
version = "1.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "influxdata";
|
||||
repo = "influxdb";
|
||||
rev = "v${version}";
|
||||
sha256 = "048ap70hdfkxhy0y8q1jsb0lql1i99jnf3cqaqar6qs2ynzsw9hd";
|
||||
sha256 = "0xf16liapllk8qnw0vsy1ja4if1xlazwwaa4p0r5j7bny5lxm7zy";
|
||||
};
|
||||
|
||||
buildFlagsArray = [ ''-ldflags=
|
||||
@ -19,7 +19,7 @@ buildGoPackage rec {
|
||||
|
||||
excludedPackages = "test";
|
||||
|
||||
# Generated with the nix2go
|
||||
# Generated with dep2nix (for 1.6.3) / nix2go (for 1.4.1).
|
||||
goDeps = ./. + "/deps-${version}.nix";
|
||||
|
||||
meta = with lib; {
|
||||
|
444
pkgs/servers/nosql/influxdb/deps-1.6.3.nix
Normal file
444
pkgs/servers/nosql/influxdb/deps-1.6.3.nix
Normal file
@ -0,0 +1,444 @@
|
||||
# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
|
||||
[
|
||||
{
|
||||
goPackagePath = "collectd.org";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/collectd/go-collectd";
|
||||
rev = "2ce144541b8903101fb8f1483cc0497a68798122";
|
||||
sha256 = "0rr9rnc777jk27a7yxhdb7vgkj493158a8k6q44x51s30dkp78x3";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/BurntSushi/toml";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/BurntSushi/toml";
|
||||
rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
|
||||
sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/RoaringBitmap/roaring";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/RoaringBitmap/roaring";
|
||||
rev = "d6540aab65a17321470b1661bfc52da1823871e9";
|
||||
sha256 = "1lsrz7j55blalpp95vgz214b35sjf8nfmrw3fxybdl4xipk2ssdj";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/beorn7/perks";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/beorn7/perks";
|
||||
rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
|
||||
sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/bmizerany/pat";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/bmizerany/pat";
|
||||
rev = "6226ea591a40176dd3ff9cd8eff81ed6ca721a00";
|
||||
sha256 = "0qjkm7169y6pybwh0s02fjjk251isa2b367xqfzrwvl6cy4yzfxp";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/boltdb/bolt";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/boltdb/bolt";
|
||||
rev = "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8";
|
||||
sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/cespare/xxhash";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/cespare/xxhash";
|
||||
rev = "5c37fe3735342a2e0d01c87a907579987c8936cc";
|
||||
sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/davecgh/go-spew";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/davecgh/go-spew";
|
||||
rev = "346938d642f2ec3594ed81d874461961cd0faa76";
|
||||
sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/dgrijalva/jwt-go";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/dgrijalva/jwt-go";
|
||||
rev = "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
|
||||
sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/dgryski/go-bitstream";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/dgryski/go-bitstream";
|
||||
rev = "9f22ccc24718d9643ac427c8c897ae1a01575783";
|
||||
sha256 = "0x3hbsrn7qafhhjz6lgyc1pd1p5kgkrkbccvsr6yygkl785h5lhn";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/glycerine/go-unsnap-stream";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/glycerine/go-unsnap-stream";
|
||||
rev = "62a9a9eb44fd8932157b1a8ace2149eff5971af6";
|
||||
sha256 = "1ray7p4q3vv5zn9w5xs7m9kjh68b2ck98nh25mxhfiwl9jxkabrc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/gogo/protobuf";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/gogo/protobuf";
|
||||
rev = "1adfc126b41513cc696b209667c8656ea7aac67c";
|
||||
sha256 = "1j7azzlnihcvnd1apw5zr0bz30h7n0gyimqqkgc76vzb1n5dpi7m";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/golang/protobuf";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/golang/protobuf";
|
||||
rev = "925541529c1fa6821df4e44ce2723319eb2be768";
|
||||
sha256 = "1d3zjvhl115l23xakj0014qpjchivlg098h10v5nfirkk1i9f9sa";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/golang/snappy";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/golang/snappy";
|
||||
rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380";
|
||||
sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/google/go-cmp";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/google/go-cmp";
|
||||
rev = "3af367b6b30c263d47e8895973edcca9a49cf029";
|
||||
sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/influxdata/influxql";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/influxdata/influxql";
|
||||
rev = "a7267bff5327e316e54c54342b0bc9598753e3d5";
|
||||
sha256 = "0mqc9xki5l9yfbb0dqjb417cmv3pca1bj71m90dkshladr2wlcg3";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/influxdata/usage-client";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/influxdata/usage-client";
|
||||
rev = "6d3895376368aa52a3a81d2a16e90f0f52371967";
|
||||
sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/influxdata/yamux";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/influxdata/yamux";
|
||||
rev = "1f58ded512de5feabbe30b60c7d33a7a896c5f16";
|
||||
sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/influxdata/yarpc";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/influxdata/yarpc";
|
||||
rev = "f0da2db138cad2fb425541938fc28dd5a5bc6918";
|
||||
sha256 = "1g71flc8s8xas7vmaiwv0425paii1akc7jsdqsgxkhyfxx2gvib0";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/jsternberg/zap-logfmt";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/jsternberg/zap-logfmt";
|
||||
rev = "ac4bd917e18a4548ce6e0e765b29a4e7f397b0b6";
|
||||
sha256 = "0pqp2nsqvsq8kqc7l14340lrvl03715s12bag63kdbi25s8fcdkx";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/jwilder/encoding";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/jwilder/encoding";
|
||||
rev = "b4e1701a28efcc637d9afcca7d38e495fe909a09";
|
||||
sha256 = "195js5njz86k096p3ggglgpc7rw3801mpqzdfwfr3miflhnp7nwg";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/klauspost/compress";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/klauspost/compress";
|
||||
rev = "6c8db69c4b49dd4df1fff66996cf556176d0b9bf";
|
||||
sha256 = "00h2lpqcyc3pg2xk3q4a9cgyv0vkn15bx0hb725j5zbkr9vah23x";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/klauspost/cpuid";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/klauspost/cpuid";
|
||||
rev = "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da";
|
||||
sha256 = "178apw89g8nsd7w6mbdylxn956h3iig6rbw3bkivp6lplhb5dvq4";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/klauspost/crc32";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/klauspost/crc32";
|
||||
rev = "cb6bfca970f6908083f26f39a79009d608efd5cd";
|
||||
sha256 = "0q4yr4isgmph1yf1vq527lpmid7vqv56q7vxh3gkp5679fb90q6n";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/klauspost/pgzip";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/klauspost/pgzip";
|
||||
rev = "0bf5dcad4ada2814c3c00f996a982270bb81a506";
|
||||
sha256 = "0dgp2iljvhibzxia1g3lsfg4bjmfh4kf0bfrmfi7sd49hwhrvk7s";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mattn/go-isatty";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mattn/go-isatty";
|
||||
rev = "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
|
||||
sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/matttproud/golang_protobuf_extensions";
|
||||
rev = "3247c84500bff8d9fb6d579d800f20b3e091582c";
|
||||
sha256 = "12hcych25wf725zxdkpnyx4wa0gyxl8v4m8xmhdmmaki9bbmqd0d";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/mschoch/smat";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/mschoch/smat";
|
||||
rev = "90eadee771aeab36e8bf796039b8c261bebebe4f";
|
||||
sha256 = "141saq6d4z3c7v3jw45zy4gn6wwjlyralqygjff1fzvz1gkvimk3";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/opentracing/opentracing-go";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/opentracing/opentracing-go";
|
||||
rev = "328fceb7548c744337cd010914152b74eaf4c4ab";
|
||||
sha256 = "1w6s42n9glqwif6awyiapr7sh1wjvkxan41qhc1yi555byyw200k";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/paulbellamy/ratecounter";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/paulbellamy/ratecounter";
|
||||
rev = "524851a93235ac051e3540563ed7909357fe24ab";
|
||||
sha256 = "0z4c61ac6v8mpnr9z37d91h1cf8v9psja5jfdxmsf69r1b7qr4f9";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/peterh/liner";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/peterh/liner";
|
||||
rev = "6106ee4fe3e8435f18cd10e34557e5e50f0e792a";
|
||||
sha256 = "178s1amw5r60lywgmh24pd2ljim0b05fdfsm4c8px22fkycmn1qr";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/philhofer/fwd";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/philhofer/fwd";
|
||||
rev = "bb6d471dc95d4fe11e432687f8b70ff496cf3136";
|
||||
sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/prometheus/client_golang";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/prometheus/client_golang";
|
||||
rev = "661e31bf844dfca9aeba15f27ea8aa0d485ad212";
|
||||
sha256 = "0r9sr3m57ks7rc5bbghl0gy9wxlznzmz331xdp42zlgk6g774xcn";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/prometheus/client_model";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/prometheus/client_model";
|
||||
rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
|
||||
sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/prometheus/common";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/prometheus/common";
|
||||
rev = "e4aa40a9169a88835b849a6efb71e05dc04b88f0";
|
||||
sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/prometheus/procfs";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/prometheus/procfs";
|
||||
rev = "54d17b57dd7d4a3aa092476596b3f8a933bde349";
|
||||
sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/retailnext/hllpp";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/retailnext/hllpp";
|
||||
rev = "101a6d2f8b52abfc409ac188958e7e7be0116331";
|
||||
sha256 = "1dyyjyrscd3d22jhh2pbn67c6nzva0v069215sjjmj313k1xzmj3";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/tinylib/msgp";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/tinylib/msgp";
|
||||
rev = "b2b6a672cf1e5b90748f79b8b81fc8c5cf0571a1";
|
||||
sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/willf/bitset";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/willf/bitset";
|
||||
rev = "d860f346b89450988a379d7d705e83c58d1ea227";
|
||||
sha256 = "18419ip5mnblnyx2rjixad90dhjb1x2kaiidr7zk9b3qci799rh0";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "github.com/xlab/treeprint";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/xlab/treeprint";
|
||||
rev = "f3a15cfd24bf976c724324cb6846a8b54b88b639";
|
||||
sha256 = "0fgbdyk2mfj5vh8902sga33w5gw7q0f1if4nqx631ca33fd6pfbn";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "go.uber.org/atomic";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/uber-go/atomic";
|
||||
rev = "8474b86a5a6f79c443ce4b2992817ff32cf208b8";
|
||||
sha256 = "166shnjw8rvjvksymi2gqw1ygsbxlq15xb10j2dx5rwy4y4asq8x";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "go.uber.org/multierr";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/uber-go/multierr";
|
||||
rev = "3c4937480c32f4c13a875a1829af76c98ca3d40a";
|
||||
sha256 = "1slfc6syvw8cvr6rbrjsy6ja5w8gsx0f8aq8qm16rp2x5c2pj07w";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "go.uber.org/zap";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://github.com/uber-go/zap";
|
||||
rev = "35aad584952c3e7020db7b839f6b102de6271f89";
|
||||
sha256 = "0n79ir7jcr7s51j85swji7an0jgy1w5dxg1g68j722rmpbvsagwv";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/crypto";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/crypto";
|
||||
rev = "c3a3ad6d03f7a915c0f7e194b7152974bb73d287";
|
||||
sha256 = "0x18275g5xlaw55bpx8hdna66d2hpbcw6hs0pxf1kmvfds6gzn6n";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/net";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/net";
|
||||
rev = "92b859f39abd2d91a854c9f9c4621b2f5054a92d";
|
||||
sha256 = "1nzbay48k53pxa1sh102v571k6pa57540p0bzcil4qgan47yxba6";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/sync";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sync";
|
||||
rev = "1d60e4601c6fd243af51cc01ddf169918a5407ca";
|
||||
sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/sys";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/sys";
|
||||
rev = "d8e400bc7db4870d786864138af681469693d18c";
|
||||
sha256 = "08d23f9gjarp63dw0wj54nlqh3x2lqnchzkw8n5d7ik3wy7qy4yf";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/text";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/text";
|
||||
rev = "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
|
||||
sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
|
||||
};
|
||||
}
|
||||
{
|
||||
goPackagePath = "golang.org/x/time";
|
||||
fetch = {
|
||||
type = "git";
|
||||
url = "https://go.googlesource.com/time";
|
||||
rev = "26559e0f760e39c24d730d3224364aef164ee23f";
|
||||
sha256 = "00fx6m59cjbi7y0ri4a57q1zs6r310xbg5yqns5kfm2cax0dkmnf";
|
||||
};
|
||||
}
|
||||
]
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pgtap-${version}";
|
||||
version = "0.98.0";
|
||||
version = "0.99.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "theory";
|
||||
repo = "pgtap";
|
||||
rev = "v${version}";
|
||||
sha256 = "17r3b409k05pbypmwdwgm1fl669jc6a1391szyxizx784k44a369";
|
||||
sha256 = "0xakjlbb99mgd8za6m0xa6n3s5fhif217iip6b3aywqw7nh1j6nv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
|
||||
|
@ -1760,11 +1760,11 @@ let
|
||||
}) // {inherit inputproto xorgserver xproto ;};
|
||||
|
||||
xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
|
||||
name = "xf86-input-libinput-0.26.0";
|
||||
name = "xf86-input-libinput-0.28.0";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2;
|
||||
sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
|
||||
url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2;
|
||||
sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
|
||||
};
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ inputproto xorgserver xproto ];
|
||||
|
@ -335,10 +335,10 @@ in
|
||||
};
|
||||
|
||||
xf86inputlibinput = attrs: attrs // rec {
|
||||
name = "xf86-input-libinput-0.26.0";
|
||||
name = "xf86-input-libinput-0.28.0";
|
||||
src = args.fetchurl {
|
||||
url = "mirror://xorg/individual/driver/${name}.tar.bz2";
|
||||
sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
|
||||
sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
|
||||
};
|
||||
outputs = [ "out" "dev" ];
|
||||
buildInputs = attrs.buildInputs ++ [ args.libinput ];
|
||||
|
@ -123,7 +123,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2
|
||||
mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
|
||||
|
@ -17,6 +17,8 @@ with pkgs;
|
||||
cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; };
|
||||
cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; };
|
||||
cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; };
|
||||
cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; };
|
||||
cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; };
|
||||
stdenv-inputs = callPackage ./stdenv-inputs { };
|
||||
|
||||
cc-multilib-gcc = callPackage ./cc-wrapper/multilib.nix { stdenv = gccMultiStdenv; };
|
||||
|
88
pkgs/tools/X11/xloadimage/default.nix
Normal file
88
pkgs/tools/X11/xloadimage/default.nix
Normal file
@ -0,0 +1,88 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, libX11
|
||||
, libXt
|
||||
|
||||
, libjpeg ? null
|
||||
, libpng ? null
|
||||
, libtiff ? null
|
||||
|
||||
, withJpegSupport ? true
|
||||
, withPngSupport ? true
|
||||
, withTiffSupport ? true
|
||||
}:
|
||||
|
||||
assert withJpegSupport -> libjpeg != null;
|
||||
assert withPngSupport -> libpng != null;
|
||||
assert withTiffSupport -> libtiff != null;
|
||||
|
||||
let
|
||||
deb_patch = "25";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
version = "4.1";
|
||||
name = "xloadimage-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}.orig.tar.gz";
|
||||
sha256 = "1i7miyvk5ydhi6yi8593vapavhwxcwciir8wg9d2dcyg9pccf2s0";
|
||||
};
|
||||
|
||||
patches = fetchurl {
|
||||
url = "mirror://debian/pool/main/x/xloadimage/xloadimage_${version}-${deb_patch}.debian.tar.xz";
|
||||
sha256 = "17k518vrdrya5c9dqhpmm4g0h2vlkq1iy87sg2ngzygypbli1xvn";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
libX11 libXt
|
||||
] ++ stdenv.lib.optionals withJpegSupport [
|
||||
libjpeg
|
||||
] ++ stdenv.lib.optionals withPngSupport [
|
||||
libpng
|
||||
] ++ stdenv.lib.optionals withTiffSupport [
|
||||
libtiff
|
||||
];
|
||||
|
||||
# NOTE: we patch the build-info script so that it never detects the utilities
|
||||
# it's trying to find; one of the Debian patches adds support for
|
||||
# $SOURCE_DATE_EPOCH, but we want to make sure we don't even call these.
|
||||
preConfigure = ''
|
||||
substituteInPlace build-info \
|
||||
--replace '[ -x /bin/date ]' 'false' \
|
||||
--replace '[ -x /bin/id ]' 'false' \
|
||||
--replace '[ -x /bin/uname ]' 'false' \
|
||||
--replace '[ -x /usr/bin/id ]' 'false'
|
||||
|
||||
chmod +x build-info configure
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# NOTE: we're not installing the `uufilter` binary; if needed, the standard
|
||||
# `uudecode` tool should work just fine.
|
||||
installPhase = ''
|
||||
install -Dm755 xloadimage $out/bin/xloadimage
|
||||
ln -sv $out/bin/{xloadimage,xsetbg}
|
||||
|
||||
install -D -m644 xloadimagerc $out/etc/xloadimagerc.example
|
||||
install -D -m644 xloadimage.man $out/share/man/man1/xloadimage.1x
|
||||
ln -sv $out/share/man/man1/{xloadimage,xsetbg}.1x
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Graphics file viewer under X11";
|
||||
|
||||
longDescription = ''
|
||||
Can view png, jpeg, gif, tiff, niff, sunraster, fbm, cmuraster, pbm,
|
||||
faces, rle, xwd, vff, mcidas, vicar, pcx, gem, macpaint, xpm and xbm
|
||||
files. Can view images, put them on the root window, or dump them. Does a
|
||||
variety of processing, including: clipping, dithering, depth reduction,
|
||||
zoom, brightening/darkening and merging.
|
||||
'';
|
||||
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ andrew-d ];
|
||||
platforms = stdenv.lib.platforms.linux; # arbitrary choice
|
||||
};
|
||||
}
|
@ -1,21 +1,21 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
|
||||
, libX11, libXcomposite, libXft, pam, apacheHttpd, imagemagick
|
||||
, libX11, libXcomposite, libXft, libXmu, pam, apacheHttpd, imagemagick
|
||||
, pamtester, xscreensaver }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xsecurelock-${version}";
|
||||
version = "1.0";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "xsecurelock";
|
||||
rev = "v${version}";
|
||||
sha256 = "0k135hnfnn1j82wvc03b8jkq06wws1xk325x5m25ps6xwsn725sw";
|
||||
sha256 = "0yqp5xhkl9jpjyrmrxbyp7azwxmqc3lxv5lxrjqjaapl3q3096g5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig ];
|
||||
buildInputs = [
|
||||
libX11 libXcomposite libXft pam
|
||||
libX11 libXcomposite libXft libXmu pam
|
||||
apacheHttpd imagemagick pamtester
|
||||
];
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
{stdenv, fetchgit, autoreconfHook, halibut}:
|
||||
let
|
||||
date = "20180522";
|
||||
rev = "5b12791";
|
||||
date = "20180918";
|
||||
rev = "80c7beb";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "agedu-${date}.${rev}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation {
|
||||
src = fetchgit {
|
||||
url = https://git.tartarus.org/simon/agedu.git;
|
||||
inherit rev;
|
||||
sha256 = "1zyxif0i3yil4xm8y9aqk6wsdwi7b3jg682lv6ds6a6bl047fz1q";
|
||||
sha256 = "0i930izna3s73p2q52qa377ixd14zij5q1n7w3irl7csyy78g0cd";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [autoreconfHook halibut];
|
||||
|
@ -4,17 +4,17 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "bat-${version}";
|
||||
version = "0.7.0";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sharkdp";
|
||||
repo = "bat";
|
||||
rev = "v${version}";
|
||||
sha256 = "1dhn88asf08dvl4827v4mkxafcr01m1h5jmicvzda9ywmr82g1cs";
|
||||
sha256 = "1fzk0z7r70rjvv2c6531zaa1jzbcb7j9wbi0xqb9y4dls538bmz0";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
cargoSha256 = "10s8ig08prs1wcsisrllvsixqkrkwjx769y1w5fypldn9kfk2lka";
|
||||
cargoSha256 = "19syz0sxcpk3i4675bfq5gpb9i6hp81in36w820kkvamaimq10nd";
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig zlib ];
|
||||
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ stdenv
|
||||
, fetchpatch
|
||||
, fetchurl
|
||||
, cmake
|
||||
, libjpeg
|
||||
@ -14,6 +15,22 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0n29klrrbwan9307np0d9hr128dlpc4nnlf57a140080ll3jmp8l";
|
||||
};
|
||||
|
||||
patches = let
|
||||
# The Debian patch revision to fetch from; this may differ from our package
|
||||
# version, but older patches should still apply.
|
||||
patchRev = "4.2.13-4";
|
||||
getPatch = name: sha256: fetchpatch {
|
||||
inherit sha256;
|
||||
url = "https://salsa.debian.org/debian-gis-team/hdf4/raw/debian/${patchRev}/debian/patches/${name}";
|
||||
};
|
||||
|
||||
in [
|
||||
(getPatch "64bit" "1xqk9zpch4m6ipa0f3x2cm8rwaz4p0ppp1vqglvz18j6q91p8b5y")
|
||||
(getPatch "hdfi.h" "01fr9csylnvk9jd9jn9y23bvxy192s07p32pr76mm3gwhgs9h7r4")
|
||||
(getPatch "hdf-4.2.10-aarch64.patch" "1hl0xw5pd9xhpq49xpwgg7c4z6vv5p19x6qayixw0myvgwj1r4zn")
|
||||
(getPatch "reproducible-builds.patch" "02j639w26xkxpxx3pdhbi18ywz8w3qmjpqjb83n47gq29y4g13hc")
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cmake
|
||||
libjpeg
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user