Merge branch 'master' into update/grv-0.2.0
This commit is contained in:
commit
bdfba1a954
|
@ -649,6 +649,8 @@ merge:"diff3"
|
|||
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
|
||||
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
|
||||
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
|
||||
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
|
||||
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
|
||||
}
|
||||
</programlisting>
|
||||
</example>
|
||||
|
@ -664,9 +666,15 @@ merge:"diff3"
|
|||
<callout arearefs='ex-dockerTools-pullImage-2'>
|
||||
<para>
|
||||
<varname>imageDigest</varname> specifies the digest of the image to be
|
||||
downloaded. Skopeo can be used to get the digest of an image
|
||||
downloaded. Skopeo can be used to get the digest of an image, with its
|
||||
<varname>inspect</varname> subcommand. Since a given <varname>imageName</varname>
|
||||
may transparently refer to a manifest list of images which support
|
||||
multiple architectures and/or operating systems, supply the `--override-os`
|
||||
and `--override-arch` arguments to specify exactly which image you
|
||||
want. By default it will match the OS and architecture of the host the
|
||||
command is run on.
|
||||
<programlisting>
|
||||
$ skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
|
||||
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
|
||||
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
|
||||
</programlisting>
|
||||
This argument is required.
|
||||
|
@ -686,6 +694,18 @@ merge:"diff3"
|
|||
This argument is required.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-dockerTools-pullImage-5'>
|
||||
<para>
|
||||
<varname>os</varname>, if specified, is the operating system of the fetched image.
|
||||
By default it's <literal>linux</literal>.
|
||||
</para>
|
||||
</callout>
|
||||
<callout arearefs='ex-dockerTools-pullImage-6'>
|
||||
<para>
|
||||
<varname>arch</varname>, if specified, is the cpu architecture of the fetched image.
|
||||
By default it's <literal>x86_64</literal>.
|
||||
</para>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
</section>
|
||||
|
||||
|
|
|
@ -231,6 +231,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
|||
fullName = "Eiffel Forum License v2.0";
|
||||
};
|
||||
|
||||
elastic = {
|
||||
fullName = "ELASTIC LICENSE";
|
||||
url = https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE.txt;
|
||||
free = false;
|
||||
};
|
||||
|
||||
epl10 = spdx {
|
||||
spdxId = "EPL-1.0";
|
||||
fullName = "Eclipse Public License 1.0";
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
with lib.lists;
|
||||
with lib.types;
|
||||
with lib.attrsets;
|
||||
with lib.strings;
|
||||
with (import ./inspect.nix { inherit lib; }).predicates;
|
||||
|
||||
let
|
||||
|
@ -179,9 +180,6 @@ rec {
|
|||
} // { # aliases
|
||||
# 'darwin' is the kernel for all of them. We choose macOS by default.
|
||||
darwin = kernels.macos;
|
||||
# TODO(@Ericson2314): Handle these Darwin version suffixes more generally.
|
||||
darwin10 = kernels.macos;
|
||||
darwin14 = kernels.macos;
|
||||
watchos = kernels.ios;
|
||||
tvos = kernels.ios;
|
||||
win32 = kernels.windows;
|
||||
|
@ -269,6 +267,8 @@ rec {
|
|||
then { cpu = elemAt l 0; kernel = elemAt l 1; abi = elemAt l 2; }
|
||||
else if (elemAt l 2 == "mingw32") # autotools breaks on -gnu for window
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = "windows"; abi = "gnu"; }
|
||||
else if hasPrefix "netbsd" (elemAt l 2)
|
||||
then { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; }
|
||||
else throw "Target specification with 3 components is ambiguous";
|
||||
"4" = { cpu = elemAt l 0; vendor = elemAt l 1; kernel = elemAt l 2; abi = elemAt l 3; };
|
||||
}.${toString (length l)}
|
||||
|
@ -295,7 +295,9 @@ rec {
|
|||
else if isDarwin parsed then vendors.apple
|
||||
else if isWindows parsed then vendors.pc
|
||||
else vendors.unknown;
|
||||
kernel = getKernel args.kernel;
|
||||
kernel = if hasPrefix "darwin" args.kernel then getKernel "darwin"
|
||||
else if hasPrefix "netbsd" args.kernel then getKernel "netbsd"
|
||||
else getKernel args.kernel;
|
||||
abi =
|
||||
/**/ if args ? abi then getAbi args.abi
|
||||
else if isLinux parsed then
|
||||
|
|
|
@ -1486,7 +1486,7 @@
|
|||
name = "Robin Gloster";
|
||||
};
|
||||
gnidorah = {
|
||||
email = "yourbestfriend@opmbx.org";
|
||||
email = "gnidorah@yandex.com";
|
||||
github = "gnidorah";
|
||||
name = "Alex Ivanov";
|
||||
};
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">
|
||||
Bump the <literal>system.nixos.defaultChannel</literal> attribute in
|
||||
Bump the <literal>system.defaultChannel</literal> attribute in
|
||||
<literal>nixos/modules/misc/version.nix</literal> </link>
|
||||
</para>
|
||||
</listitem>
|
||||
|
|
|
@ -433,9 +433,9 @@ system.autoUpgrade.enable = true;
|
|||
default. If you have existing systems with such host keys and want to
|
||||
continue to use them, please set
|
||||
<programlisting>
|
||||
system.nixos.stateVersion = "14.12";
|
||||
system.stateVersion = "14.12";
|
||||
</programlisting>
|
||||
The new option <option>system.nixos.stateVersion</option> ensures that
|
||||
The new option <option>system.stateVersion</option> ensures that
|
||||
certain configuration changes that could break existing systems (such as
|
||||
the <command>sshd</command> host key setting) will maintain compatibility
|
||||
with the specified NixOS release. NixOps sets the state version of
|
||||
|
|
|
@ -32,5 +32,5 @@ with lib;
|
|||
# Allow the user to log in as root without a password.
|
||||
users.users.root.initialHashedPassword = "";
|
||||
|
||||
system.nixos.stateVersion = mkDefault "18.03";
|
||||
system.stateVersion = mkDefault "18.03";
|
||||
}
|
||||
|
|
|
@ -628,7 +628,7 @@ $bootLoaderConfig
|
|||
# compatible, in order to avoid breaking some software such as database
|
||||
# servers. You should change this only after NixOS release notes say you
|
||||
# should.
|
||||
system.nixos.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
|
||||
system.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
|
||||
|
||||
}
|
||||
EOF
|
||||
|
|
|
@ -21,5 +21,5 @@ with lib;
|
|||
services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ];
|
||||
|
||||
powerManagement.enable = false;
|
||||
system.nixos.stateVersion = mkDefault "18.03";
|
||||
system.stateVersion = mkDefault "18.03";
|
||||
}
|
||||
|
|
|
@ -12,29 +12,29 @@ in
|
|||
|
||||
{
|
||||
|
||||
options.system.nixos = {
|
||||
options.system = {
|
||||
|
||||
version = mkOption {
|
||||
nixos.version = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
description = "The full NixOS version (e.g. <literal>16.03.1160.f2d4ee1</literal>).";
|
||||
};
|
||||
|
||||
release = mkOption {
|
||||
nixos.release = mkOption {
|
||||
readOnly = true;
|
||||
type = types.str;
|
||||
default = trivial.release;
|
||||
description = "The NixOS release (e.g. <literal>16.03</literal>).";
|
||||
};
|
||||
|
||||
versionSuffix = mkOption {
|
||||
nixos.versionSuffix = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = trivial.versionSuffix;
|
||||
description = "The NixOS version suffix (e.g. <literal>1160.f2d4ee1</literal>).";
|
||||
};
|
||||
|
||||
revision = mkOption {
|
||||
nixos.revision = mkOption {
|
||||
internal = true;
|
||||
type = types.str;
|
||||
default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
|
||||
|
@ -43,7 +43,7 @@ in
|
|||
description = "The Git revision from which this NixOS configuration was built.";
|
||||
};
|
||||
|
||||
codeName = mkOption {
|
||||
nixos.codeName = mkOption {
|
||||
readOnly = true;
|
||||
type = types.str;
|
||||
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
|
||||
|
@ -76,8 +76,8 @@ in
|
|||
|
||||
config = {
|
||||
|
||||
warnings = lib.optional (options.system.nixos.stateVersion.highestPrio > 1000)
|
||||
"You don't have `system.nixos.stateVersion` explicitly set. Expect things to break.";
|
||||
warnings = lib.optional (options.system.stateVersion.highestPrio > 1000)
|
||||
"You don't have `system.stateVersion` explicitly set. Expect things to break.";
|
||||
|
||||
system.nixos = {
|
||||
# These defaults are set here rather than up there so that
|
||||
|
|
|
@ -34,7 +34,7 @@ with lib;
|
|||
|
||||
# Subscribe the root user to the NixOS channel by default.
|
||||
if [ "$USER" = root -a ! -e "$HOME/.nix-channels" ]; then
|
||||
echo "${config.system.nixos.defaultChannel} nixos" > "$HOME/.nix-channels"
|
||||
echo "${config.system.defaultChannel} nixos" > "$HOME/.nix-channels"
|
||||
fi
|
||||
|
||||
# Create the per-user garbage collector roots directory.
|
||||
|
|
|
@ -4,6 +4,11 @@ with lib;
|
|||
|
||||
{
|
||||
imports = [
|
||||
# !!! These were renamed the other way, but got reverted later.
|
||||
# !!! Drop these before 18.09 is released.
|
||||
(mkRenamedOptionModule [ "system" "nixos" "stateVersion" ] [ "system" "stateVersion" ])
|
||||
(mkRenamedOptionModule [ "system" "nixos" "defaultChannel" ] [ "system" "defaultChannel" ])
|
||||
|
||||
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
|
||||
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
|
||||
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
|
||||
|
@ -222,8 +227,6 @@ with lib;
|
|||
(mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
|
||||
(mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
|
||||
(mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
|
||||
(mkRenamedOptionModule [ "system" "stateVersion" ] [ "system" "nixos" "stateVersion" ])
|
||||
(mkRenamedOptionModule [ "system" "defaultChannel" ] [ "system" "nixos" "defaultChannel" ])
|
||||
|
||||
# Users
|
||||
(mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
|
||||
|
|
|
@ -218,7 +218,7 @@ in
|
|||
config = mkIf config.services.mysql.enable {
|
||||
|
||||
services.mysql.dataDir =
|
||||
mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/mysql"
|
||||
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql"
|
||||
else "/var/mysql");
|
||||
|
||||
users.users.mysql = {
|
||||
|
|
|
@ -146,7 +146,7 @@ in
|
|||
};
|
||||
superUser = mkOption {
|
||||
type = types.str;
|
||||
default= if versionAtLeast config.system.nixos.stateVersion "17.09" then "postgres" else "root";
|
||||
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
|
||||
internal = true;
|
||||
description = ''
|
||||
NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
|
||||
|
@ -165,14 +165,14 @@ in
|
|||
|
||||
services.postgresql.package =
|
||||
# Note: when changing the default, make it conditional on
|
||||
# ‘system.nixos.stateVersion’ to maintain compatibility with existing
|
||||
# ‘system.stateVersion’ to maintain compatibility with existing
|
||||
# systems!
|
||||
mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then pkgs.postgresql96
|
||||
else if versionAtLeast config.system.nixos.stateVersion "16.03" then pkgs.postgresql95
|
||||
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96
|
||||
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95
|
||||
else pkgs.postgresql94);
|
||||
|
||||
services.postgresql.dataDir =
|
||||
mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
|
||||
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
|
||||
else "/var/db/postgresql");
|
||||
|
||||
services.postgresql.authentication = mkAfter
|
||||
|
|
|
@ -342,7 +342,7 @@ in {
|
|||
};
|
||||
database_type = mkOption {
|
||||
type = types.enum [ "sqlite3" "psycopg2" ];
|
||||
default = if versionAtLeast config.system.nixos.stateVersion "18.03"
|
||||
default = if versionAtLeast config.system.stateVersion "18.03"
|
||||
then "psycopg2"
|
||||
else "sqlite3";
|
||||
description = ''
|
||||
|
|
|
@ -14,7 +14,7 @@ let
|
|||
(optionalString (cfg.defaultMode == "norouting") "--routing=none")
|
||||
] ++ cfg.extraFlags);
|
||||
|
||||
defaultDataDir = if versionAtLeast config.system.nixos.stateVersion "17.09" then
|
||||
defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then
|
||||
"/var/lib/ipfs" else
|
||||
"/var/lib/ipfs/.ipfs";
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ let
|
|||
confFile = pkgs.writeText "radicale.conf" cfg.config;
|
||||
|
||||
# This enables us to default to version 2 while still not breaking configurations of people with version 1
|
||||
defaultPackage = if versionAtLeast config.system.nixos.stateVersion "17.09" then {
|
||||
defaultPackage = if versionAtLeast config.system.stateVersion "17.09" then {
|
||||
pkg = pkgs.radicale2;
|
||||
text = "pkgs.radicale2";
|
||||
} else {
|
||||
|
@ -35,7 +35,7 @@ in
|
|||
defaultText = defaultPackage.text;
|
||||
description = ''
|
||||
Radicale package to use. This defaults to version 1.x if
|
||||
<literal>system.nixos.stateVersion < 17.09</literal> and version 2.x
|
||||
<literal>system.stateVersion < 17.09</literal> and version 2.x
|
||||
otherwise.
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -25,18 +25,17 @@ let
|
|||
${cfg.extraConf}
|
||||
'';
|
||||
|
||||
configDir = pkgs.buildEnv {
|
||||
name = "elasticsearch-config";
|
||||
paths = [
|
||||
(pkgs.writeTextDir "elasticsearch.yml" esConfig)
|
||||
(if es5 then (pkgs.writeTextDir "log4j2.properties" cfg.logging)
|
||||
else (pkgs.writeTextDir "logging.yml" cfg.logging))
|
||||
];
|
||||
postBuild = concatStringsSep "\n" (concatLists [
|
||||
# Elasticsearch 5.x won't start when the scripts directory does not exist
|
||||
(optional es5 "${pkgs.coreutils}/bin/mkdir -p $out/scripts")
|
||||
(optional es6 "ln -s ${cfg.package}/config/jvm.options $out/jvm.options")
|
||||
]);
|
||||
configDir = cfg.dataDir + "/config";
|
||||
|
||||
elasticsearchYml = pkgs.writeTextFile {
|
||||
name = "elasticsearch.yml";
|
||||
text = esConfig;
|
||||
};
|
||||
|
||||
loggingConfigFilename = if es5 then "log4j2.properties" else "logging.yml";
|
||||
loggingConfigFile = pkgs.writeTextFile {
|
||||
name = loggingConfigFilename;
|
||||
text = cfg.logging;
|
||||
};
|
||||
|
||||
esPlugins = pkgs.buildEnv {
|
||||
|
@ -193,7 +192,24 @@ in {
|
|||
ln -sfT ${esPlugins}/plugins ${cfg.dataDir}/plugins
|
||||
ln -sfT ${cfg.package}/lib ${cfg.dataDir}/lib
|
||||
ln -sfT ${cfg.package}/modules ${cfg.dataDir}/modules
|
||||
if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi
|
||||
|
||||
# elasticsearch needs to create the elasticsearch.keystore in the config directory
|
||||
# so this directory needs to be writable.
|
||||
mkdir -m 0700 -p ${configDir}
|
||||
|
||||
# Note that we copy config files from the nix store instead of symbolically linking them
|
||||
# because otherwise X-Pack Security will raise the following exception:
|
||||
# java.security.AccessControlException:
|
||||
# access denied ("java.io.FilePermission" "/var/lib/elasticsearch/config/elasticsearch.yml" "read")
|
||||
|
||||
cp ${elasticsearchYml} ${configDir}/elasticsearch.yml
|
||||
# Make sure the logging configuration for old elasticsearch versions is removed:
|
||||
rm -f ${if es5 then "${configDir}/logging.yml" else "${configDir}/log4j2.properties"}
|
||||
cp ${loggingConfigFile} ${configDir}/${loggingConfigFilename}
|
||||
${optionalString es5 "mkdir -p ${configDir}/scripts"}
|
||||
${optionalString es6 "cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options"}
|
||||
|
||||
if [ "$(id -u)" = 0 ]; then chown -R elasticsearch:elasticsearch ${cfg.dataDir}; fi
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -66,7 +66,7 @@ in {
|
|||
description = "Caddy web server";
|
||||
after = [ "network-online.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
environment = mkIf (versionAtLeast config.system.nixos.stateVersion "17.09")
|
||||
environment = mkIf (versionAtLeast config.system.stateVersion "17.09")
|
||||
{ CADDYPATH = cfg.dataDir; };
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
|
|
|
@ -166,6 +166,24 @@ while (my ($unit, $state) = each %{$activePrev}) {
|
|||
|
||||
if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
|
||||
if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") {
|
||||
# Ignore (i.e. never stop) these units:
|
||||
if ($unit eq "system.slice") {
|
||||
# TODO: This can be removed a few months after 18.09 is out
|
||||
# (i.e. after everyone switched away from 18.03).
|
||||
# Problem: Restarting (stopping) system.slice would not only
|
||||
# stop X11 but also most system units/services. We obviously
|
||||
# don't want this happening to users when they switch from 18.03
|
||||
# to 18.09 or nixos-unstable.
|
||||
# Reason: The following change in systemd:
|
||||
# https://github.com/systemd/systemd/commit/d8e5a9338278d6602a0c552f01f298771a384798
|
||||
# The commit adds system.slice to the perpetual units, which
|
||||
# means removing the unit file and adding it to the source code.
|
||||
# This is done so that system.slice can't be stopped anymore but
|
||||
# in our case it ironically would cause this script to stop
|
||||
# system.slice because the unit was removed (and an older
|
||||
# systemd version is still running).
|
||||
next;
|
||||
}
|
||||
my $unitInfo = parseUnit($prevUnitFile);
|
||||
$unitsToStop{$unit} = 1 if boolIsTrue($unitInfo->{'X-StopOnRemoval'} // "yes");
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||
services.xserver.displayManager.job.logToJournal = true;
|
||||
|
||||
# set default stateVersion to avoid warnings during eval
|
||||
system.nixos.stateVersion = mkDefault "18.03";
|
||||
system.stateVersion = mkDefault "18.03";
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
options = {
|
||||
ec2 = {
|
||||
hvm = lib.mkOption {
|
||||
default = lib.versionAtLeast config.system.nixos.stateVersion "17.03";
|
||||
default = lib.versionAtLeast config.system.stateVersion "17.03";
|
||||
internal = true;
|
||||
description = ''
|
||||
Whether the EC2 instance is a HVM instance.
|
||||
|
|
|
@ -607,7 +607,7 @@ in
|
|||
{ services.postgresql.enable = true;
|
||||
services.postgresql.package = pkgs.postgresql96;
|
||||
|
||||
system.nixos.stateVersion = "17.03";
|
||||
system.stateVersion = "17.03";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -198,7 +198,7 @@ in rec {
|
|||
modules = singleton ({ ... }:
|
||||
{ fileSystems."/".device = mkDefault "/dev/sda1";
|
||||
boot.loader.grub.device = mkDefault "/dev/sda";
|
||||
system.nixos.stateVersion = mkDefault "18.03";
|
||||
system.stateVersion = mkDefault "18.03";
|
||||
});
|
||||
}).config.system.build.toplevel;
|
||||
preferLocalBuild = true;
|
||||
|
|
|
@ -18,7 +18,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||
inherit (config.nixpkgs.localSystem) system;
|
||||
modules = lib.singleton {
|
||||
containers.foo.config = {
|
||||
system.nixos.stateVersion = "18.03";
|
||||
system.stateVersion = "18.03";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -21,7 +21,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||
services.httpd.adminAddr = "foo@example.org";
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
networking.firewall.allowPing = true;
|
||||
system.nixos.stateVersion = "18.03";
|
||||
system.stateVersion = "18.03";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ system ? builtins.currentSystem }:
|
||||
{ system ? builtins.currentSystem, enableUnfree ? false }:
|
||||
with import ../lib/testing.nix { inherit system; };
|
||||
with pkgs.lib;
|
||||
let
|
||||
|
@ -99,9 +99,16 @@ in mapAttrs mkElkTest {
|
|||
logstash = pkgs.logstash5;
|
||||
kibana = pkgs.kibana5;
|
||||
};
|
||||
"ELK-6" = {
|
||||
elasticsearch = pkgs.elasticsearch6;
|
||||
logstash = pkgs.logstash6;
|
||||
kibana = pkgs.kibana6;
|
||||
};
|
||||
"ELK-6" =
|
||||
if enableUnfree
|
||||
then {
|
||||
elasticsearch = pkgs.elasticsearch6;
|
||||
logstash = pkgs.logstash6;
|
||||
kibana = pkgs.kibana6;
|
||||
}
|
||||
else {
|
||||
elasticsearch = pkgs.elasticsearch6-oss;
|
||||
logstash = pkgs.logstash6-oss;
|
||||
kibana = pkgs.kibana6-oss;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ in
|
|||
});
|
||||
})
|
||||
];
|
||||
system.nixos.stateVersion = "17.03";
|
||||
system.stateVersion = "17.03";
|
||||
};
|
||||
radicale1_export = lib.recursiveUpdate radicale1 {
|
||||
services.radicale.extraArgs = [
|
||||
|
@ -54,7 +54,7 @@ in
|
|||
services.radicale.extraArgs = [ "--verify-storage" ];
|
||||
};
|
||||
radicale2 = lib.recursiveUpdate (common args) {
|
||||
system.nixos.stateVersion = "17.09";
|
||||
system.stateVersion = "17.09";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ stdenv, makeWrapper, fetchurl, unzip, atomEnv, makeDesktopItem, buildFHSUserEnv }:
|
||||
{ stdenv, makeWrapper, fetchurl, unzip, atomEnv, makeDesktopItem, buildFHSUserEnv, gtk2 }:
|
||||
|
||||
let
|
||||
version = "0.10.0";
|
||||
name = "mist-${version}";
|
||||
version = "0.11.1";
|
||||
name = "mist";
|
||||
|
||||
throwSystem = throw "Unsupported system: ${stdenv.system}";
|
||||
|
||||
|
@ -31,11 +31,11 @@ let
|
|||
src = {
|
||||
i686-linux = fetchurl {
|
||||
url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux32-${urlVersion}.zip";
|
||||
sha256 = "01hvxlm9w522pwvsjdy18gsrapkfjr7d1jjl4bqjjysxnjaaj2lk";
|
||||
sha256 = "1ffzp9aa0g6w3d5pzp69fljk3sd51cbqdgxa1x16vj106sqm0gj7";
|
||||
};
|
||||
x86_64-linux = fetchurl {
|
||||
url = "https://github.com/ethereum/mist/releases/download/v${version}/Mist-linux64-${urlVersion}.zip";
|
||||
sha256 = "01k17j7fdfhxfd26njdsiwap0xnka2536k9ydk32czd8db7ya9zi";
|
||||
sha256 = "0yx4x72l8gk68yh9saki48zgqx8k92xnkm79dc651wdpd5c25cz3";
|
||||
};
|
||||
}.${stdenv.system} or throwSystem;
|
||||
|
||||
|
@ -50,13 +50,14 @@ let
|
|||
ln -s ${desktopItem}/share/applications/* $out/share/applications
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${atomEnv.libPath}:$out/lib/mist" \
|
||||
--set-rpath "${atomEnv.libPath}:${gtk2}/lib:$out/lib/mist" \
|
||||
$out/lib/mist/mist
|
||||
'';
|
||||
});
|
||||
in
|
||||
buildFHSUserEnv {
|
||||
inherit name meta;
|
||||
name = "mist";
|
||||
inherit meta;
|
||||
|
||||
targetPkgs = pkgs: with pkgs; [
|
||||
mist
|
||||
|
|
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Tracker music player for the terminal";
|
||||
homepage = http://mikmod.shlomifish.org/;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -94,6 +94,14 @@ self:
|
|||
# Expects bash to be at /bin/bash
|
||||
helm-rtags = markBroken super.helm-rtags;
|
||||
|
||||
# Build same version as Haskell package
|
||||
hindent = super.hindent.overrideAttrs (attrs: {
|
||||
version = external.hindent.version;
|
||||
src = external.hindent.src;
|
||||
packageRequires = [ self.haskell-mode ];
|
||||
propagatedUserEnvPkgs = [ external.hindent ];
|
||||
});
|
||||
|
||||
# upstream issue: missing file header
|
||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
||||
|
||||
|
|
|
@ -108,6 +108,14 @@ self:
|
|||
# Expects bash to be at /bin/bash
|
||||
helm-rtags = markBroken super.helm-rtags;
|
||||
|
||||
# Build same version as Haskell package
|
||||
hindent = super.hindent.overrideAttrs (attrs: {
|
||||
version = external.hindent.version;
|
||||
src = external.hindent.src;
|
||||
packageRequires = [ self.haskell-mode ];
|
||||
propagatedUserEnvPkgs = [ external.hindent ];
|
||||
});
|
||||
|
||||
# upstream issue: missing file header
|
||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
||||
|
||||
|
|
|
@ -112,12 +112,9 @@ in stdenv.mkDerivation rec {
|
|||
"--enable-luainterp"
|
||||
]
|
||||
++ stdenv.lib.optionals pythonSupport [
|
||||
"--enable-python${if isPython3 then "3" else ""}"
|
||||
]
|
||||
++ stdenv.lib.optionals (pythonSupport && stdenv.isDarwin) [ # Why only for Darwin?
|
||||
"--enable-python${if isPython3 then "3" else ""}interp=yes" # Duplicate?
|
||||
"--enable-python${if isPython3 then "3" else ""}interp=yes"
|
||||
"--with-python${if isPython3 then "3" else ""}-config-dir=${python}/lib"
|
||||
"--disable-python${if isPython3 then "" else "3"}interp"
|
||||
"--disable-python${if (!isPython3) then "3" else ""}interp"
|
||||
]
|
||||
++ stdenv.lib.optional nlsSupport "--enable-nls"
|
||||
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
|
||||
|
|
|
@ -77,6 +77,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://www.qgis.org;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
platforms = with stdenv.lib.platforms; unix;
|
||||
maintainers = with stdenv.lib.maintainers; [viric mpickering];
|
||||
maintainers = with stdenv.lib.maintainers; [mpickering];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Cross platform image and hierarchical vector viewer based";
|
||||
homepage = http://giv.sourceforge.net/giv/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ viric ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://hugin.sourceforge.net/;
|
||||
description = "Toolkit for stitching photographs and assembling panoramas, together with an easy to use graphical front end";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ viric hrdinka ];
|
||||
maintainers = with maintainers; [ hrdinka ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://www.paraview.org/;
|
||||
description = "3D Data analysis and visualization application";
|
||||
license = stdenv.lib.licenses.free;
|
||||
maintainers = with stdenv.lib.maintainers; [viric guibert];
|
||||
maintainers = with stdenv.lib.maintainers; [guibert];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ buildDotnetPackage rec {
|
|||
homepage = http://www.pinta-project.com/;
|
||||
description = "Drawing/editing program modeled after Paint.NET";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
|||
description = "RAW converter and digital photo processing software";
|
||||
homepage = http://www.rawtherapee.com/;
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric jcumming mahe the-kenny ];
|
||||
maintainers = with stdenv.lib.maintainers; [ jcumming mahe the-kenny ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://www.sane-project.org/;
|
||||
description = "Graphical scanning frontend for sane";
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [viric peti];
|
||||
maintainers = with stdenv.lib.maintainers; [peti];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = https://github.com/Y-Vladimir/SmartDeblur;
|
||||
description = "Tool for restoring blurry and defocused images";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -162,7 +162,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Comprehensive e-book software";
|
||||
homepage = https://calibre-ebook.com;
|
||||
license = with licenses; if unrarSupport then unfreeRedistributable else gpl3;
|
||||
maintainers = with maintainers; [ viric domenkozar pSub AndersonTorres ];
|
||||
maintainers = with maintainers; [ domenkozar pSub AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
inherit version;
|
||||
};
|
||||
|
|
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||
description = "A generic, highly customizable, and efficient menu for the X Window System";
|
||||
homepage = https://tools.suckless.org/dmenu;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ viric pSub ];
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "doomseeker-${version}";
|
||||
version = "2018-03-03";
|
||||
version = "2018-03-05";
|
||||
|
||||
src = fetchFromBitbucket {
|
||||
owner = "Doomseeker";
|
||||
repo = "doomseeker";
|
||||
rev = "072110a8fe0643c4a72461e7768560813bb0a62b";
|
||||
sha256 = "1w4g5f7yifqk2d054dqrmy8qj4n5hxdan7n59845m1xh2f2r8i0p";
|
||||
rev = "c2c7f37b1afb";
|
||||
sha256 = "17fna3a604miqsvply3klnmypps4ifz8axgd3pj96z46ybxs8akw";
|
||||
};
|
||||
|
||||
patches = [ ./fix_paths.patch ];
|
||||
patches = [ ./fix_paths.patch ./qt_build_fix.patch ];
|
||||
|
||||
buildInputs = [ qtbase qtmultimedia zlib bzip2 ];
|
||||
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
diff -r c2c7f37b1afb src/core/gui/irc/ircdock.cpp
|
||||
--- a/src/core/gui/irc/ircdock.cpp Tue Mar 06 00:14:23 2018 +0100
|
||||
+++ b/src/core/gui/irc/ircdock.cpp Sat Jul 28 16:53:04 2018 -0700
|
||||
@@ -32,6 +32,7 @@
|
||||
#include <QInputDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QToolBar>
|
||||
+#include <QTabBar>
|
||||
|
||||
DClass<IRCDock> : public Ui::IRCDock
|
||||
{
|
||||
diff -r c2c7f37b1afb src/core/gui/logdock.cpp
|
||||
--- a/src/core/gui/logdock.cpp Tue Mar 06 00:14:23 2018 +0100
|
||||
+++ b/src/core/gui/logdock.cpp Sat Jul 28 16:53:04 2018 -0700
|
||||
@@ -21,6 +21,8 @@
|
||||
// Copyright (C) 2009 "Zalewa" <zalewapl@gmail.com>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+#include <QAction>
|
||||
+
|
||||
#include "clipboard.h"
|
||||
#include "logdock.h"
|
||||
#include "log.h"
|
||||
diff -r c2c7f37b1afb src/core/gui/serverdetailsdock.cpp
|
||||
--- a/src/core/gui/serverdetailsdock.cpp Tue Mar 06 00:14:23 2018 +0100
|
||||
+++ b/src/core/gui/serverdetailsdock.cpp Sat Jul 28 16:53:04 2018 -0700
|
||||
@@ -21,6 +21,7 @@
|
||||
// Copyright (C) 2014 Braden "Blzut3" Obrzut <admin@maniacsvault.net>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
+#include <QAction>
|
||||
#include <QBoxLayout>
|
||||
|
||||
#include "serverdetailsdock.h"
|
||||
diff -r c2c7f37b1afb src/core/gui/serverfilterdock.cpp
|
||||
--- a/src/core/gui/serverfilterdock.cpp Tue Mar 06 00:14:23 2018 +0100
|
||||
+++ b/src/core/gui/serverfilterdock.cpp Sat Jul 28 16:53:04 2018 -0700
|
||||
@@ -20,6 +20,9 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// Copyright (C) 2011 "Zalewa" <zalewapl@gmail.com>
|
||||
//------------------------------------------------------------------------------
|
||||
+
|
||||
+#include <QAction>
|
||||
+
|
||||
#include "serverfilterdock.h"
|
||||
#include "ui_serverfilterdock.h"
|
||||
|
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://eaglemode.sourceforge.net;
|
||||
description = "Zoomable User Interface";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ viric ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
broken = true;
|
||||
};
|
||||
|
|
|
@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
|
|||
description = "OpenStreetMap editor";
|
||||
homepage = http://merkaartor.be/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ viric ];
|
||||
maintainers = with maintainers; [ ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
|
|||
repositories.git = git://git.ghostscript.com/mupdf.git;
|
||||
description = "Lightweight PDF, XPS, and E-book viewer and toolkit written in portable C";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ viric vrthra fpletz ];
|
||||
maintainers = with maintainers; [ vrthra fpletz ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://navipowm.sourceforge.net/;
|
||||
description = "Car navigation system";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://www.navit-project.org/;
|
||||
description = "Car navigation system with routing engine using OSM maps";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ pythonPackages.buildPythonApplication rec {
|
|||
description = "Open source document analysis and OCR system";
|
||||
license = licenses.asl20;
|
||||
homepage = https://github.com/tmbdev/ocropy/;
|
||||
maintainers = with maintainers; [ domenkozar viric ];
|
||||
maintainers = with maintainers; [ domenkozar ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ stdenv, fetchFromGitHub, pythonPackages }:
|
||||
{ stdenv, fetchFromGitHub, python3Packages }:
|
||||
|
||||
with pythonPackages;
|
||||
with python3Packages;
|
||||
buildPythonApplication rec {
|
||||
version = "1.23.0";
|
||||
name = "rtv-${version}";
|
||||
pname = "rtv";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "michael-lazar";
|
||||
|
@ -19,7 +19,7 @@ buildPythonApplication rec {
|
|||
py.test
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
checkInputs = [
|
||||
coverage
|
||||
coveralls
|
||||
docopt
|
||||
|
@ -30,18 +30,11 @@ buildPythonApplication rec {
|
|||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
backports_functools_lru_cache
|
||||
beautifulsoup4
|
||||
configparser
|
||||
contextlib2
|
||||
decorator
|
||||
kitchen
|
||||
mailcap-fix
|
||||
mccabe
|
||||
requests
|
||||
six
|
||||
tornado
|
||||
pyyaml
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
|
||||
with stdenv.lib;
|
||||
|
||||
let patches' = if patches == null then [] else patches;
|
||||
in stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "st-0.8.1";
|
||||
|
||||
src = fetchurl {
|
||||
|
@ -12,7 +11,7 @@ in stdenv.mkDerivation rec {
|
|||
sha256 = "09k94v3n20gg32xy7y68p96x9dq5msl80gknf9gbvlyjp3i0zyy4";
|
||||
};
|
||||
|
||||
patches = patches';
|
||||
inherit patches;
|
||||
|
||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
||||
|
@ -29,7 +28,7 @@ in stdenv.mkDerivation rec {
|
|||
homepage = https://st.suckless.org/;
|
||||
description = "Simple Terminal for X from Suckless.org Community";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [viric andsild];
|
||||
maintainers = with maintainers; [andsild];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ stdenv.mkDerivation {
|
|||
description = "Free Open-Source filesystem on-the-fly encryption";
|
||||
homepage = http://www.truecrypt.org/;
|
||||
license = "TrueCrypt License Version 2.6";
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ryantm ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ryantm ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
|||
meta = {
|
||||
homepage = http://invisible-island.net/xterm;
|
||||
license = with stdenv.lib.licenses; [ mit ];
|
||||
maintainers = with stdenv.lib.maintainers; [viric vrthra];
|
||||
maintainers = with stdenv.lib.maintainers; [vrthra];
|
||||
platforms = with stdenv.lib.platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -138,10 +138,6 @@ let
|
|||
# for updated patches and hints about build flags
|
||||
# (gentooPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
|
||||
./patches/fix-freetype.patch
|
||||
] ++ optionals (versionRange "66" "68") [
|
||||
./patches/nix_plugin_paths_52.patch
|
||||
(githubPatch "4d10424f9e2a06978cdd6cdf5403fcaef18e49fc" "11la1jycmr5b5rw89mzcdwznmd2qh28sghvz9klr1qhmsmw1vzjc")
|
||||
] ++ optionals (versionAtLeast version "68") [
|
||||
./patches/nix_plugin_paths_68.patch
|
||||
] ++ optionals (versionRange "68" "69") [
|
||||
./patches/remove-webp-include-68.patch
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
|
||||
index f4e119d..d9775bd 100644
|
||||
--- a/chrome/common/chrome_paths.cc
|
||||
+++ b/chrome/common/chrome_paths.cc
|
||||
@@ -68,21 +68,14 @@ static base::LazyInstance<base::FilePath>
|
||||
g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
|
||||
|
||||
// Gets the path for internal plugins.
|
||||
-bool GetInternalPluginsDirectory(base::FilePath* result) {
|
||||
-#if defined(OS_MACOSX)
|
||||
- // If called from Chrome, get internal plugins from a subdirectory of the
|
||||
- // framework.
|
||||
- if (base::mac::AmIBundled()) {
|
||||
- *result = chrome::GetFrameworkBundlePath();
|
||||
- DCHECK(!result->empty());
|
||||
- *result = result->Append("Internet Plug-Ins");
|
||||
- return true;
|
||||
- }
|
||||
- // In tests, just look in the module directory (below).
|
||||
-#endif
|
||||
-
|
||||
- // The rest of the world expects plugins in the module directory.
|
||||
- return PathService::Get(base::DIR_MODULE, result);
|
||||
+bool GetInternalPluginsDirectory(base::FilePath* result,
|
||||
+ const std::string& ident) {
|
||||
+ std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
|
||||
+ const char* value = getenv(full_env.c_str());
|
||||
+ if (value == NULL)
|
||||
+ return PathService::Get(base::DIR_MODULE, result);
|
||||
+ else
|
||||
+ *result = base::FilePath(value);
|
||||
}
|
||||
|
||||
// Gets the path for bundled implementations of components. Note that these
|
||||
@@ -272,7 +265,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||
create_dir = true;
|
||||
break;
|
||||
case chrome::DIR_INTERNAL_PLUGINS:
|
||||
- if (!GetInternalPluginsDirectory(&cur))
|
||||
+ if (!GetInternalPluginsDirectory(&cur, "ALL"))
|
||||
return false;
|
||||
break;
|
||||
case chrome::DIR_COMPONENTS:
|
||||
@@ -280,7 +273,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||
return false;
|
||||
break;
|
||||
case chrome::DIR_PEPPER_FLASH_PLUGIN:
|
||||
- if (!GetInternalPluginsDirectory(&cur))
|
||||
+ if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
|
||||
return false;
|
||||
cur = cur.Append(kPepperFlashBaseDirectory);
|
||||
break;
|
||||
@@ -323,7 +316,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||
// We currently need a path here to look up whether the plugin is disabled
|
||||
// and what its permissions are.
|
||||
case chrome::FILE_NACL_PLUGIN:
|
||||
- if (!GetInternalPluginsDirectory(&cur))
|
||||
+ if (!GetInternalPluginsDirectory(&cur, "NACL"))
|
||||
return false;
|
||||
cur = cur.Append(kInternalNaClPluginFileName);
|
||||
break;
|
||||
@@ -358,7 +351,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
||||
cur = cur.DirName();
|
||||
}
|
||||
#else
|
||||
- if (!GetInternalPluginsDirectory(&cur))
|
||||
+ if (!GetInternalPluginsDirectory(&cur, "PNACL"))
|
||||
return false;
|
||||
#endif
|
||||
cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
|
|
@ -1,18 +1,18 @@
|
|||
# This file is autogenerated from update.sh in the same directory.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "0m82ag02mydq5xkd0pamk2nq035j7yzhl47hnwl1irm632rpnfb4";
|
||||
sha256bin64 = "0xx6kjaa13al1ka0rfcrz1aj0nwhdwzqakz533ghk8qyvhanypkp";
|
||||
version = "68.0.3440.59";
|
||||
sha256 = "193sz96jrygixgzkaxx1vrpkhmnr6c7yzhsvv4p1qn0jymh2xd57";
|
||||
sha256bin64 = "0wwmfsxbphxqfw4g6jgxlr0p32vjf4h8yfd5zz36xpa79dryb8sv";
|
||||
version = "68.0.3440.68";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "1gpjf213ai3sjh894jsl5ziild15049p6bnh36z0r1f5w68pzakg";
|
||||
sha256bin64 = "1slj3gj4786lqrypng48zy5030snar8pirqwm92b5pq25xd595j8";
|
||||
version = "69.0.3486.0";
|
||||
sha256 = "102lqnl2m9cbcql6sghib1504fyicx7cgv0jkfx863jpzhrfrkcv";
|
||||
sha256bin64 = "1y3iy25b3cck7kz5g913z64x1wdj1znqbn049g8h82x3krp76bgx";
|
||||
version = "69.0.3497.12";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "0am0q0wkmrvhidi4x07fvgb4ymv5q3agmwzgm808dj7ninfnnba5";
|
||||
sha256bin64 = "06baih4wf88rpmw73vfhap4dxd61vjgmr256ix8qd937x2hv7qd3";
|
||||
version = "67.0.3396.99";
|
||||
sha256 = "0hcmnn72xj9p3y77cb6cnr1vz81hiqmksdi6nw7xqfw5cwr7h5yw";
|
||||
sha256bin64 = "0pa49yxj9s41mzhik7jixr4hwqanf31yzr1fsc6y5hkadbj7rwij";
|
||||
version = "68.0.3440.75";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
homepage = http://links.twibright.com/;
|
||||
description = "A small browser with some graphics support";
|
||||
maintainers = with maintainers; [ raskin viric ];
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -36,11 +36,11 @@ with python'.pkgs;
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "FlexGet";
|
||||
version = "2.14.5";
|
||||
version = "2.14.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "05kczj10p8f9b1ll4ii5anbg6nk5dhb7lm9skbj6ix7v9hi48hz4";
|
||||
sha256 = "1a8nxfr0rzwwd7b0nxr7zmw04ygbqvnzbi4w4nw2w8xiy46zid3q";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -44,7 +44,7 @@ in mkDerivation rec {
|
|||
description = "Qt Tox client";
|
||||
homepage = https://tox.chat;
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ viric jgeerds akaWolf peterhoeg ];
|
||||
maintainers = with maintainers; [ jgeerds akaWolf peterhoeg ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "Reference CLI for Tox";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ viric jgeerds ];
|
||||
maintainers = with maintainers; [ jgeerds ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ let
|
|||
description = "Low-latency, high quality voice chat software";
|
||||
homepage = https://mumble.info;
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ viric jgeerds wkennington ];
|
||||
maintainers = with maintainers; [ jgeerds wkennington ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
});
|
||||
|
|
|
@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
license = licenses.gpl2Plus;
|
||||
|
||||
maintainers = with maintainers; [ viric vrthra ];
|
||||
maintainers = with maintainers; [ vrthra ];
|
||||
platforms = platforms.gnu ++ platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
|
|||
homepage = https://www.qbittorrent.org/;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ Anton-Latukha viric ];
|
||||
maintainers = with maintainers; [ Anton-Latukha ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||
description = "A multimedia communication library written in C, implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE";
|
||||
homepage = http://pjsip.org/;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [viric olynch];
|
||||
maintainers = with stdenv.lib.maintainers; [olynch];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
{ stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }: stdenv.mkDerivation rec {
|
||||
name = "sieve-connect-${version}";
|
||||
version = "0.89";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "philpennock";
|
||||
repo = "sieve-connect";
|
||||
rev = "v${version}";
|
||||
sha256 = "0g7cv29wd5673inl4c87xb802k86bj6gcwh131xrbbg0a0g1c8fp";
|
||||
};
|
||||
|
||||
buildInputs = [ perl ];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
preBuild = ''
|
||||
# Fixes failing build when not building in git repo
|
||||
mkdir .git
|
||||
touch .git/HEAD
|
||||
echo "${version}" > versionfile
|
||||
echo "$(date +%Y-%m-%d)" > datefile
|
||||
'';
|
||||
|
||||
buildFlags = [ "PERL5LIB=${stdenv.lib.makePerlPath [ perlPackages.FileSlurp ]}" "bin" "man" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/man/man1
|
||||
install -m 755 sieve-connect $out/bin
|
||||
gzip -c sieve-connect.1 > $out/share/man/man1/sieve-connect.1.gz
|
||||
|
||||
wrapProgram $out/bin/sieve-connect \
|
||||
--prefix PERL5LIB : "${stdenv.lib.makePerlPath (with perlPackages; [
|
||||
AuthenSASL Socket6 IOSocketInet6 IOSocketSSL NetSSLeay NetDNS PodUsage
|
||||
TermReadKey TermReadLineGnu ])}"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A client for the MANAGESIEVE Protocol";
|
||||
longDescription = ''
|
||||
This is sieve-connect. A client for the ManageSieve protocol,
|
||||
as specifed in RFC 5804. Historically, this was MANAGESIEVE as
|
||||
implemented by timsieved in Cyrus IMAP.
|
||||
'';
|
||||
homepage = https://github.com/philpennock/sieve-connect;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ das_j ];
|
||||
};
|
||||
}
|
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
description = "Advanced IRC bouncer";
|
||||
homepage = https://wiki.znc.in/ZNC;
|
||||
maintainers = with maintainers; [ viric schneefux lnl7 ];
|
||||
maintainers = with maintainers; [ schneefux lnl7 ];
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
|
|
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
|||
description = "Free, easy, personal accounting for everyone";
|
||||
homepage = http://homebank.free.fr/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ viric pSub ];
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -278,7 +278,7 @@ in stdenv.mkDerivation rec {
|
|||
description = "Comprehensive, professional-quality productivity suite, a variant of openoffice.org";
|
||||
homepage = https://libreoffice.org/;
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ viric raskin ];
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -275,7 +275,7 @@ in stdenv.mkDerivation rec {
|
|||
description = "Comprehensive, professional-quality productivity suite (Still/stable release)";
|
||||
homepage = https://libreoffice.org/;
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ viric raskin ];
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||
description = "VCD/Waveform viewer for Unix and Win32";
|
||||
homepage = http://gtkwave.sourceforge.net;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice viric ];
|
||||
maintainers = with stdenv.lib.maintainers; [ thoughtpolice ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
|||
description = "The Next Generation Spice (Electronic Circuit Simulator)";
|
||||
homepage = http://ngspice.sourceforge.net;
|
||||
license = with licenses; [ "BSD" gpl2 ];
|
||||
maintainers = with maintainers; [ bgamari viric rongcuid ];
|
||||
maintainers = with maintainers; [ bgamari rongcuid ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null;
|
|||
stdenv.mkDerivation rec {
|
||||
name = "${attr}-${version}";
|
||||
attr = if enableGUI then "giac-with-xcas" else "giac";
|
||||
version = "1.4.9-59";
|
||||
version = "1.4.9-59"; # TODO try to remove preCheck phase on upgrade
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
|
||||
|
@ -50,6 +50,14 @@ stdenv.mkDerivation rec {
|
|||
outputs = [ "out" "doc" ];
|
||||
|
||||
doCheck = true;
|
||||
preCheck = ''
|
||||
# One test in this file fails. That test just tests a part of the pari
|
||||
# interface that isn't actually used in giac. Of course it would be better
|
||||
# to only remove that one test, but that would require a patch.
|
||||
# Removing the whole test set should be good enough for now.
|
||||
# Upstream report: https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2102#p10326
|
||||
echo > check/chk_fhan11
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
|
|
@ -8,11 +8,11 @@ assert withThread -> libpthreadstubs != null;
|
|||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "pari-${version}";
|
||||
version = "2.9.5";
|
||||
version = "2.11.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
|
||||
sha256 = "05z6y5iwdzcdggbrkic9cy9vy9wmk5qxc21cb4lqnbqxnhjihibb";
|
||||
sha256 = "18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -67,8 +67,8 @@ stdenv.mkDerivation rec {
|
|||
run 3 or 4 times faster.) gp2c currently only understands a subset
|
||||
of the GP language.
|
||||
'';
|
||||
homepage = "http://pari.math.u-bordeaux.fr/";
|
||||
downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
|
||||
homepage = http://pari.math.u-bordeaux.fr;
|
||||
downloadPage = http://pari.math.u-bordeaux.fr/download.html;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ertes raskin AndersonTorres ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
|
|
|
@ -1,18 +1,10 @@
|
|||
{ stdenv, fetchPypi, buildPythonApplication, makeDesktopItem
|
||||
# mandatory
|
||||
, numpydoc, qtconsole, qtawesome, jedi, pycodestyle, psutil
|
||||
, pyflakes, rope, nbconvert, mccabe, pyopengl, cloudpickle
|
||||
# optional
|
||||
, numpy ? null, scipy ? null, matplotlib ? null
|
||||
# optional
|
||||
, pylint ? null
|
||||
}:
|
||||
{ stdenv, python3, makeDesktopItem }:
|
||||
|
||||
buildPythonApplication rec {
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "spyder";
|
||||
version = "3.2.8";
|
||||
|
||||
src = fetchPypi {
|
||||
src = python3.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0iwcby2bxvayz0kp282yh864br55w6gpd8rqcdj1cp3jbn3q6vg5";
|
||||
};
|
||||
|
@ -22,7 +14,7 @@ buildPythonApplication rec {
|
|||
sed -i -e '/pyqt5/d' setup.py
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
jedi pycodestyle psutil pyflakes rope numpy scipy matplotlib pylint
|
||||
numpydoc qtconsole qtawesome nbconvert mccabe pyopengl cloudpickle
|
||||
];
|
||||
|
|
|
@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
|
|||
meta = with stdenv.lib; {
|
||||
homepage = http://fixounet.free.fr/avidemux/;
|
||||
description = "Free video editor designed for simple video editing tasks";
|
||||
maintainers = with maintainers; [ viric abbradar ma27 ];
|
||||
maintainers = with maintainers; [ abbradar ma27 ];
|
||||
# "CPU not supported" errors on AArch64
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
license = licenses.gpl2;
|
||||
|
|
|
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||
description = "A script system that allows advanced non-linear editing";
|
||||
homepage = https://github.com/avxsynth/avxsynth;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ codyopel viric ];
|
||||
maintainers = with maintainers; [ codyopel ];
|
||||
platforms = platforms.linux;
|
||||
broken = true; # 2018-04-10
|
||||
};
|
||||
|
|
|
@ -149,7 +149,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://www.qemu.org/;
|
||||
description = "A generic and open source machine emulator and virtualizer";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ viric eelco ];
|
||||
maintainers = with maintainers; [ eelco ];
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = https://tools.suckless.org/tabbed;
|
||||
description = "Simple generic tabbed fronted to xembed aware applications";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ viric vrthra ];
|
||||
maintainers = with maintainers; [ vrthra ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
|||
homepage = http://vwm.sourceforge.net/;
|
||||
description = "Dynamic window manager for the console";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ viric ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -43,10 +43,8 @@ let
|
|||
# The wrapper scripts use 'cat' and 'grep', so we may need coreutils.
|
||||
coreutils_bin = if nativeTools then "" else getBin coreutils;
|
||||
|
||||
dashlessTarget = stdenv.lib.replaceStrings ["-"] ["_"] targetPlatform.config;
|
||||
|
||||
# See description in cc-wrapper.
|
||||
infixSalt = dashlessTarget;
|
||||
infixSalt = replaceStrings ["-" "."] ["_" "_"] targetPlatform.config;
|
||||
|
||||
# The dynamic linker has different names on different platforms. This is a
|
||||
# shell glob that ought to match it.
|
||||
|
|
|
@ -45,14 +45,12 @@ let
|
|||
default_cxx_stdlib_compile = optionalString (targetPlatform.isLinux && !(cc.isGNU or false) && !nativeTools && cc ? gcc)
|
||||
"-isystem $(echo -n ${cc.gcc}/include/c++/*) -isystem $(echo -n ${cc.gcc}/include/c++/*)/$(${cc.gcc}/bin/gcc -dumpmachine)";
|
||||
|
||||
dashlessTarget = stdenv.lib.replaceStrings ["-"] ["_"] targetPlatform.config;
|
||||
|
||||
# The "infix salt" is a arbitrary string added in the middle of env vars
|
||||
# defined by cc-wrapper's hooks so that multiple cc-wrappers can be used
|
||||
# without interfering. For the moment, it is defined as the target triple,
|
||||
# adjusted to be a valid bash identifier. This should be considered an
|
||||
# unstable implementation detail, however.
|
||||
infixSalt = dashlessTarget;
|
||||
infixSalt = replaceStrings ["-" "."] ["_" "_"] targetPlatform.config;
|
||||
|
||||
expand-response-params =
|
||||
if buildPackages.stdenv.cc or null != null && buildPackages.stdenv.cc != "/dev/null"
|
||||
|
|
|
@ -36,10 +36,11 @@ rec {
|
|||
in
|
||||
{ imageName
|
||||
# To find the digest of an image, you can use skopeo:
|
||||
# skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
|
||||
# sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
|
||||
# see doc/functions.xml
|
||||
, imageDigest
|
||||
, sha256
|
||||
, os ? "linux"
|
||||
, arch ? "x86_64"
|
||||
# This used to set a tag to the pulled image
|
||||
, finalImageTag ? "latest"
|
||||
, name ? fixName "docker-image-${imageName}-${finalImageTag}.tar"
|
||||
|
@ -59,7 +60,7 @@ rec {
|
|||
sourceURL = "docker://${imageName}@${imageDigest}";
|
||||
destNameTag = "${imageName}:${finalImageTag}";
|
||||
} ''
|
||||
skopeo copy "$sourceURL" "docker-archive://$out:$destNameTag"
|
||||
skopeo --override-os ${os} --override-arch ${arch} copy "$sourceURL" "docker-archive://$out:$destNameTag"
|
||||
'';
|
||||
|
||||
# We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
|
||||
|
|
|
@ -13,7 +13,7 @@ with lib;
|
|||
/*
|
||||
ename: Original Emacs package name, possibly containing special symbols.
|
||||
*/
|
||||
, ename ? pname
|
||||
, ename ? null
|
||||
, version
|
||||
, recipe
|
||||
, meta ? {}
|
||||
|
@ -30,6 +30,11 @@ in
|
|||
|
||||
import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
||||
|
||||
ename =
|
||||
if isNull(ename)
|
||||
then pname
|
||||
else ename;
|
||||
|
||||
melpa = fetchFromGitHub {
|
||||
owner = "melpa";
|
||||
repo = "melpa";
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel, ki18n,
|
||||
kiconthemes, kidletime, kinit, kio, knewstuff, knotifications, kpackage,
|
||||
kscreenlocker, kservice, kwayland, kwidgetsaddons, kwindowsystem, kxmlgui,
|
||||
plasma-framework, qtsensors, libcap
|
||||
plasma-framework, qtsensors, libcap, libdrm
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
|
@ -27,7 +27,7 @@ mkDerivation {
|
|||
kcoreaddons kcrash kdeclarative kdecoration kglobalaccel ki18n kiconthemes
|
||||
kidletime kinit kio knewstuff knotifications kpackage kscreenlocker kservice
|
||||
kwayland kwidgetsaddons kwindowsystem kxmlgui plasma-framework
|
||||
libcap
|
||||
libcap libdrm
|
||||
];
|
||||
outputs = [ "bin" "dev" "out" ];
|
||||
patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
|
||||
|
|
|
@ -907,10 +907,10 @@ index dd9e304d..49d456e9 100644
|
|||
- }
|
||||
fi
|
||||
|
||||
kstartupconfig5
|
||||
-kstartupconfig5
|
||||
+@CMAKE_INSTALL_FULL_BINDIR@/kstartupconfig5
|
||||
returncode=$?
|
||||
-if test $returncode -ne 0; then
|
||||
+if ! @CMAKE_INSTALL_FULL_BINDIR@/kstartupconfig5; then
|
||||
if test $returncode -ne 0; then
|
||||
exit 1
|
||||
fi
|
||||
-[ -r $configDir/startupconfig ] && . $configDir/startupconfig
|
||||
|
|
|
@ -44,25 +44,30 @@ let
|
|||
# BEAM-based languages.
|
||||
elixir = elixir_1_6;
|
||||
|
||||
elixir_1_7 = lib.callElixir ../interpreters/elixir/1.7.nix {
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
elixir_1_6 = lib.callElixir ../interpreters/elixir/1.6.nix {
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
elixir_1_5 = lib.callElixir ../interpreters/elixir/1.5.nix {
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
elixir_1_4 = lib.callElixir ../interpreters/elixir/1.4.nix {
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
elixir_1_3 = lib.callElixir ../interpreters/elixir/1.3.nix {
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
inherit rebar erlang;
|
||||
debugInfo = true;
|
||||
};
|
||||
|
||||
lfe = lfe_1_2;
|
||||
lfe_1_2 = lib.callLFE ../interpreters/lfe/1.2.nix { inherit erlang buildRebar3 buildHex; };
|
||||
|
|
|
@ -443,7 +443,7 @@ stdenv.mkDerivation ({
|
|||
compiler used in the GNU system including the GNU/Linux variant.
|
||||
'';
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ viric peti ];
|
||||
maintainers = with stdenv.lib.maintainers; [ peti ];
|
||||
|
||||
platforms =
|
||||
stdenv.lib.platforms.linux ++
|
||||
|
|
|
@ -462,7 +462,7 @@ stdenv.mkDerivation ({
|
|||
compiler used in the GNU system including the GNU/Linux variant.
|
||||
'';
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ viric peti ];
|
||||
maintainers = with stdenv.lib.maintainers; [ peti ];
|
||||
|
||||
platforms =
|
||||
stdenv.lib.platforms.linux ++
|
||||
|
|
|
@ -461,7 +461,7 @@ stdenv.mkDerivation ({
|
|||
compiler used in the GNU system including the GNU/Linux variant.
|
||||
'';
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ viric peti ];
|
||||
maintainers = with stdenv.lib.maintainers; [ peti ];
|
||||
|
||||
platforms =
|
||||
stdenv.lib.platforms.linux ++
|
||||
|
|
|
@ -469,7 +469,7 @@ stdenv.mkDerivation ({
|
|||
compiler used in the GNU system including the GNU/Linux variant.
|
||||
'';
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ viric peti ];
|
||||
maintainers = with stdenv.lib.maintainers; [ peti ];
|
||||
|
||||
platforms =
|
||||
stdenv.lib.platforms.linux ++
|
||||
|
|
|
@ -38,7 +38,7 @@ assert langGo -> langCC;
|
|||
with stdenv.lib;
|
||||
with builtins;
|
||||
|
||||
let version = "8.1.0";
|
||||
let version = "8.2.0";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -127,7 +127,7 @@ stdenv.mkDerivation ({
|
|||
|
||||
src = fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
|
||||
sha256 = "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x";
|
||||
sha256 = "10007smilswiiv2ymazr3b6x2i933c0ycxrr529zh4r6p823qv0r";
|
||||
};
|
||||
|
||||
inherit patches;
|
||||
|
|
|
@ -1,186 +0,0 @@
|
|||
{ stdenv, fetchurl, fetchzip
|
||||
# build tools
|
||||
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
|
||||
, paxctl
|
||||
# libjulia dependencies
|
||||
, libunwind, readline, utf8proc, zlib
|
||||
, llvm
|
||||
# standard library dependencies
|
||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||
# linear algebra
|
||||
, openblas, arpack, suitesparse
|
||||
# Darwin frameworks
|
||||
, CoreServices, ApplicationServices
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
# All dependencies must use the same OpenBLAS.
|
||||
let
|
||||
arpack_ = arpack;
|
||||
suitesparse_ = suitesparse;
|
||||
in
|
||||
let
|
||||
arpack = arpack_.override { inherit openblas; };
|
||||
suitesparse = suitesparse_.override { inherit openblas; };
|
||||
in
|
||||
|
||||
let
|
||||
dsfmtVersion = "2.2.3";
|
||||
dsfmt = fetchurl {
|
||||
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz";
|
||||
sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
|
||||
};
|
||||
|
||||
libuvVersion = "8d5131b6c1595920dd30644cd1435b4f344b46c8";
|
||||
libuv = fetchurl {
|
||||
url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
|
||||
sha256 = "1886r04igcs0k24sbb61wn10f8ki35c39jsnc5djv3rg4hvn9l49";
|
||||
};
|
||||
|
||||
rmathVersion = "0.1";
|
||||
rmath-julia = fetchurl {
|
||||
url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
|
||||
sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
|
||||
};
|
||||
|
||||
virtualenvVersion = "15.0.0";
|
||||
virtualenv = fetchurl {
|
||||
url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
|
||||
sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
|
||||
};
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia";
|
||||
version = "0.5.2";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
|
||||
sha256 = "1616f53dj7xc0g2iys8qfbzal6dx55nswnws5g5r44dlbf4hcl0h";
|
||||
};
|
||||
prePatch = ''
|
||||
mkdir deps/srccache
|
||||
cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz"
|
||||
cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz"
|
||||
cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz"
|
||||
cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz"
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./0001.1-use-system-utf8proc.patch
|
||||
./0002-use-system-suitesparse.patch
|
||||
] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs . contrib
|
||||
for i in backtrace replutil cmdlineargs compile; do
|
||||
mv test/$i.jl{,.off}
|
||||
touch test/$i.jl
|
||||
done
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||
pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
zlib llvm
|
||||
]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
|
||||
++ stdenv.lib.optional stdenv.needsPax paxctl;
|
||||
|
||||
makeFlags =
|
||||
let
|
||||
arch = head (splitString "-" stdenv.system);
|
||||
march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
|
||||
or (throw "unsupported architecture: ${arch}");
|
||||
# Julia requires Pentium 4 (SSE2) or better
|
||||
cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
|
||||
or (throw "unsupported architecture: ${arch}");
|
||||
in [
|
||||
"ARCH=${arch}"
|
||||
"MARCH=${march}"
|
||||
"JULIA_CPU_TARGET=${cpuTarget}"
|
||||
"PREFIX=$(out)"
|
||||
"prefix=$(out)"
|
||||
"SHELL=${stdenv.shell}"
|
||||
|
||||
"USE_SYSTEM_BLAS=1"
|
||||
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
|
||||
"LIBBLAS=-lopenblas"
|
||||
"LIBBLASNAME=libopenblas"
|
||||
|
||||
"USE_SYSTEM_LAPACK=1"
|
||||
"LIBLAPACK=-lopenblas"
|
||||
"LIBLAPACKNAME=libopenblas"
|
||||
|
||||
"USE_SYSTEM_SUITESPARSE=1"
|
||||
"SUITESPARSE_LIB=-lsuitesparse"
|
||||
"SUITESPARSE_INC=-I${suitesparse}/include"
|
||||
|
||||
"USE_SYSTEM_ARPACK=1"
|
||||
"USE_SYSTEM_FFTW=1"
|
||||
"USE_SYSTEM_GMP=1"
|
||||
"USE_SYSTEM_LIBGIT2=1"
|
||||
"USE_SYSTEM_LIBUNWIND=1"
|
||||
|
||||
"USE_SYSTEM_LLVM=1"
|
||||
"LLVM_VER=3.8.1"
|
||||
|
||||
"USE_SYSTEM_MPFR=1"
|
||||
"USE_SYSTEM_OPENLIBM=1"
|
||||
"USE_SYSTEM_OPENSPECFUN=1"
|
||||
"USE_SYSTEM_PATCHELF=1"
|
||||
"USE_SYSTEM_PCRE=1"
|
||||
"PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
|
||||
"PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
|
||||
"USE_SYSTEM_READLINE=1"
|
||||
"USE_SYSTEM_UTF8PROC=1"
|
||||
"USE_SYSTEM_ZLIB=1"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-fPIC" ];
|
||||
|
||||
LD_LIBRARY_PATH = makeLibraryPath [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
||||
openspecfun pcre2 suitesparse llvm
|
||||
];
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
checkTarget = "testall";
|
||||
# Julia's tests require read/write access to $HOME
|
||||
preCheck = ''
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
|
||||
sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
|
||||
wrapProgram "$prog" \
|
||||
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:$out/lib/julia" \
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "High-level performance-oriented dynamical language for technical computing";
|
||||
homepage = https://julialang.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
broken = stdenv.isi686;
|
||||
};
|
||||
}
|
|
@ -1,203 +0,0 @@
|
|||
{ stdenv, fetchurl, fetchzip
|
||||
# build tools
|
||||
, gfortran, m4, makeWrapper, patchelf, perl, which, python2
|
||||
, paxctl
|
||||
# libjulia dependencies
|
||||
, libunwind, readline, utf8proc, zlib
|
||||
, llvm
|
||||
# standard library dependencies
|
||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||
# linear algebra
|
||||
, openblas, arpack, suitesparse
|
||||
# Darwin frameworks
|
||||
, CoreServices, ApplicationServices
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
# All dependencies must use the same OpenBLAS.
|
||||
let
|
||||
arpack_ = arpack;
|
||||
suitesparse_ = suitesparse;
|
||||
in
|
||||
let
|
||||
arpack = arpack_.override { inherit openblas; };
|
||||
suitesparse = suitesparse_.override { inherit openblas; };
|
||||
in
|
||||
|
||||
let
|
||||
dsfmtVersion = "2.2.3";
|
||||
dsfmt = fetchurl {
|
||||
url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz";
|
||||
sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
|
||||
};
|
||||
|
||||
libuvVersion = "d8ab1c6a33e77bf155facb54215dd8798e13825d";
|
||||
libuv = fetchurl {
|
||||
url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
|
||||
sha256 = "0q5ahc9dzca2yc6cjbhpfi9nwc4yhhjbgxgsychksn13d24gv7ba";
|
||||
};
|
||||
|
||||
rmathVersion = "0.1";
|
||||
rmath-julia = fetchurl {
|
||||
url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
|
||||
sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
|
||||
};
|
||||
|
||||
virtualenvVersion = "15.0.0";
|
||||
virtualenv = fetchurl {
|
||||
url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
|
||||
sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
|
||||
};
|
||||
|
||||
majorVersion = "0";
|
||||
minorVersion = "6";
|
||||
maintenanceVersion = "4";
|
||||
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia";
|
||||
inherit version;
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
|
||||
sha256 = "09axkkj914al7lzvcvhb33hz5wp083lk18llsvrn622fqhmyqabl";
|
||||
};
|
||||
prePatch = ''
|
||||
mkdir deps/srccache
|
||||
cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz"
|
||||
cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz"
|
||||
cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz"
|
||||
cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz"
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./0001.1-use-system-utf8proc.patch
|
||||
./0002-use-system-suitesparse.patch
|
||||
] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs . contrib
|
||||
for i in backtrace replutil cmdlineargs compile; do
|
||||
mv test/$i.jl{,.off}
|
||||
touch test/$i.jl
|
||||
done
|
||||
|
||||
sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i test/libgit2.jl
|
||||
sed -e 's/Failed to resolve /failed to resolve /g' -i test/libgit2.jl
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||
pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
zlib llvm
|
||||
]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
|
||||
++ stdenv.lib.optional stdenv.needsPax paxctl;
|
||||
|
||||
makeFlags =
|
||||
let
|
||||
arch = head (splitString "-" stdenv.system);
|
||||
march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
|
||||
or (throw "unsupported architecture: ${arch}");
|
||||
# Julia requires Pentium 4 (SSE2) or better
|
||||
cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
|
||||
or (throw "unsupported architecture: ${arch}");
|
||||
in [
|
||||
"ARCH=${arch}"
|
||||
"MARCH=${march}"
|
||||
"JULIA_CPU_TARGET=${cpuTarget}"
|
||||
"PREFIX=$(out)"
|
||||
"prefix=$(out)"
|
||||
"SHELL=${stdenv.shell}"
|
||||
|
||||
"USE_SYSTEM_BLAS=1"
|
||||
"USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
|
||||
"LIBBLAS=-lopenblas"
|
||||
"LIBBLASNAME=libopenblas"
|
||||
|
||||
"USE_SYSTEM_LAPACK=1"
|
||||
"LIBLAPACK=-lopenblas"
|
||||
"LIBLAPACKNAME=libopenblas"
|
||||
|
||||
"USE_SYSTEM_SUITESPARSE=1"
|
||||
"SUITESPARSE_LIB=-lsuitesparse"
|
||||
"SUITESPARSE_INC=-I${suitesparse}/include"
|
||||
|
||||
"USE_SYSTEM_ARPACK=1"
|
||||
"USE_SYSTEM_FFTW=1"
|
||||
"USE_SYSTEM_GMP=1"
|
||||
"USE_SYSTEM_LIBGIT2=1"
|
||||
"USE_SYSTEM_LIBUNWIND=1"
|
||||
|
||||
"USE_SYSTEM_LLVM=1"
|
||||
"LLVM_VER=3.9.1"
|
||||
|
||||
"USE_SYSTEM_MPFR=1"
|
||||
"USE_SYSTEM_OPENLIBM=1"
|
||||
"USE_SYSTEM_OPENSPECFUN=1"
|
||||
"USE_SYSTEM_PATCHELF=1"
|
||||
"USE_SYSTEM_PCRE=1"
|
||||
"PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
|
||||
"PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
|
||||
"USE_SYSTEM_READLINE=1"
|
||||
"USE_SYSTEM_UTF8PROC=1"
|
||||
"USE_SYSTEM_ZLIB=1"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-fPIC" ];
|
||||
|
||||
LD_LIBRARY_PATH = makeLibraryPath [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
||||
openspecfun pcre2 suitesparse llvm
|
||||
];
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = !stdenv.isDarwin;
|
||||
checkTarget = "testall";
|
||||
# Julia's tests require read/write access to $HOME
|
||||
preCheck = ''
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
|
||||
sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
|
||||
# as using a wrapper with LD_LIBRARY_PATH causes segmentation
|
||||
# faults when program returns an error:
|
||||
# $ julia -e 'throw(Error())'
|
||||
find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do
|
||||
if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then
|
||||
ln -sv $lib $out/lib/julia/$(basename $lib)
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit majorVersion minorVersion maintenanceVersion;
|
||||
site = "share/julia/site/v${majorVersion}.${minorVersion}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "High-level performance-oriented dynamical language for technical computing";
|
||||
homepage = https://julialang.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
broken = stdenv.isi686;
|
||||
};
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
From 54a66b5728ec98f44a1768f064509be4fd3f2ef6 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Sat, 10 Oct 2015 13:09:48 -0500
|
||||
Subject: [PATCH 1/3] use system utf8proc
|
||||
|
||||
---
|
||||
src/flisp/Makefile | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/flisp/Makefile b/src/flisp/Makefile
|
||||
index bec8624..5437b5c 100644
|
||||
--- a/src/flisp/Makefile
|
||||
+++ b/src/flisp/Makefile
|
||||
@@ -24,9 +24,9 @@ DOBJS = $(SRCS:%.c=$(BUILDDIR)/%.dbg.obj)
|
||||
LLTDIR = ../support
|
||||
LLT_release = $(BUILDDIR)/$(LLTDIR)/libsupport.a
|
||||
LLT_debug = $(BUILDDIR)/$(LLTDIR)/libsupport-debug.a
|
||||
-LIBFILES_release = $(LLT_release) $(LIBUV) $(LIBUTF8PROC)
|
||||
-LIBFILES_debug = $(LLT_debug) $(LIBUV) $(LIBUTF8PROC)
|
||||
-LIBS =
|
||||
+LIBFILES_release = $(LLT_release) $(LIBUV)
|
||||
+LIBFILES_debug = $(LLT_debug) $(LIBUV)
|
||||
+LIBS = $(LIBUTF8PROC)
|
||||
ifneq ($(OS),WINNT)
|
||||
LIBS += -lpthread
|
||||
endif
|
||||
--
|
||||
2.5.2
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
From 8802fe583eda93a928739cb3bc3517e19d1a6fa1 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Tuegel <ttuegel@gmail.com>
|
||||
Date: Sun, 11 Oct 2015 07:19:42 -0500
|
||||
Subject: [PATCH 3/3] no ldconfig
|
||||
|
||||
---
|
||||
src/ccall.cpp | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/ccall.cpp b/src/ccall.cpp
|
||||
index 22015ff..2821192 100644
|
||||
--- a/src/ccall.cpp
|
||||
+++ b/src/ccall.cpp
|
||||
@@ -13,11 +13,7 @@ extern "C" DLLEXPORT void jl_read_sonames(void)
|
||||
{
|
||||
char *line=NULL;
|
||||
size_t sz=0;
|
||||
-#if defined(__linux__)
|
||||
- FILE *ldc = popen("/sbin/ldconfig -p", "r");
|
||||
-#else
|
||||
- FILE *ldc = popen("/sbin/ldconfig -r", "r");
|
||||
-#endif
|
||||
+ FILE *ldc = popen("true", "r");
|
||||
if (ldc == NULL) return; // ignore errors in running ldconfig (other than whatever might have been printed to stderr)
|
||||
|
||||
while (!feof(ldc)) {
|
||||
--
|
||||
2.5.2
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
From 0bdbe60325a22202f8e250a9578407648a0d29b9 Mon Sep 17 00:00:00 2001
|
||||
From: Will Dietz <w@wdtz.org>
|
||||
Date: Wed, 1 Feb 2017 06:09:49 -0600
|
||||
Subject: [PATCH] Set pax flags on julia binaries to disable memory protection.
|
||||
|
||||
---
|
||||
Makefile | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 8d45a1baa..91ea33b21 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -61,6 +61,8 @@ julia-src-release julia-src-debug : julia-src-% : julia-deps
|
||||
|
||||
julia-ui-release julia-ui-debug : julia-ui-% : julia-src-%
|
||||
@$(MAKE) $(QUIET_MAKE) -C ui julia-$*
|
||||
+ @echo "setting PaX flags on $(JULIA_EXECUTABLE_$*)"
|
||||
+ @paxctl -czexm $(JULIA_EXECUTABLE_$*)
|
||||
|
||||
julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) $(build_prefix)/.examples
|
||||
@$(MAKE) $(QUIET_MAKE) $(build_private_libdir)/inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE)
|
||||
--
|
||||
2.11.0
|
||||
|
|
@ -1,8 +1,9 @@
|
|||
{ stdenv, fetchurl
|
||||
{ stdenv, fetchurl, fetchzip
|
||||
# build tools
|
||||
, gfortran, m4, makeWrapper, patchelf, perl, which, python2, paxctl
|
||||
# libjulia dependencies
|
||||
, libunwind, llvm, readline, utf8proc, zlib
|
||||
, libunwind, readline, utf8proc, zlib
|
||||
, llvm
|
||||
# standard library dependencies
|
||||
, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
|
||||
# linear algebra
|
||||
|
@ -21,9 +22,6 @@ in
|
|||
let
|
||||
arpack = arpack_.override { inherit openblas; };
|
||||
suitesparse = suitesparse_.override { inherit openblas; };
|
||||
llvmShared = if stdenv.isDarwin
|
||||
then llvm.override { enableSharedLibraries = true; }
|
||||
else llvm;
|
||||
in
|
||||
|
||||
let
|
||||
|
@ -33,10 +31,10 @@ let
|
|||
sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
|
||||
};
|
||||
|
||||
libuvVersion = "efb40768b7c7bd9f173a7868f74b92b1c5a61a0e";
|
||||
libuvVersion = "d8ab1c6a33e77bf155facb54215dd8798e13825d";
|
||||
libuv = fetchurl {
|
||||
url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
|
||||
sha256 = "1znkxyv1cy9pjap7afypipzsn04533ni3pqjd191fdgw2sv9cal7";
|
||||
sha256 = "0q5ahc9dzca2yc6cjbhpfi9nwc4yhhjbgxgsychksn13d24gv7ba";
|
||||
};
|
||||
|
||||
rmathVersion = "0.1";
|
||||
|
@ -44,40 +42,59 @@ let
|
|||
url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
|
||||
sha256 = "1qyps217175qhid46l8f5i1v8i82slgp23ia63x2hzxwfmx8617p";
|
||||
};
|
||||
|
||||
virtualenvVersion = "15.0.0";
|
||||
virtualenv = fetchurl {
|
||||
url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
|
||||
sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
|
||||
};
|
||||
|
||||
majorVersion = "0";
|
||||
minorVersion = "6";
|
||||
maintenanceVersion = "4";
|
||||
version = "${majorVersion}.${minorVersion}.${maintenanceVersion}";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "julia";
|
||||
version = "0.4.7";
|
||||
inherit version;
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
src = fetchzip {
|
||||
url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
|
||||
sha256 = "09f531jhs8pyd1xng5c26x994w7q0sxxr28mr3qfw9wpkbmsc2pf";
|
||||
sha256 = "09axkkj914al7lzvcvhb33hz5wp083lk18llsvrn622fqhmyqabl";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
cp "${dsfmt}" "./deps/dsfmt-${dsfmtVersion}.tar.gz"
|
||||
cp "${rmath-julia}" "./deps/Rmath-julia-${rmathVersion}.tar.gz"
|
||||
cp "${libuv}" "./deps/libuv-${libuvVersion}.tar.gz"
|
||||
mkdir deps/srccache
|
||||
cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz"
|
||||
cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz"
|
||||
cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz"
|
||||
cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz"
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./0001-use-system-utf8proc.patch
|
||||
./0001.1-use-system-utf8proc.patch
|
||||
./0002-use-system-suitesparse.patch
|
||||
./0003-no-ldconfig.patch
|
||||
] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened-0.4.7.patch;
|
||||
] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs . contrib
|
||||
for i in backtrace replutil cmdlineargs compile; do
|
||||
mv test/$i.jl{,.off}
|
||||
touch test/$i.jl
|
||||
done
|
||||
|
||||
sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i test/libgit2.jl
|
||||
sed -e 's/Failed to resolve /failed to resolve /g' -i test/libgit2.jl
|
||||
'';
|
||||
|
||||
buildInputs = [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind llvmShared mpfr
|
||||
arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
|
||||
pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
|
||||
zlib
|
||||
] ++
|
||||
stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ;
|
||||
zlib llvm
|
||||
]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
|
||||
++ stdenv.lib.optional stdenv.needsPax paxctl;
|
||||
|
@ -85,7 +102,7 @@ stdenv.mkDerivation rec {
|
|||
makeFlags =
|
||||
let
|
||||
arch = head (splitString "-" stdenv.system);
|
||||
march = { "x86_64" = "x86-64"; "i686" = "i686"; }."${arch}"
|
||||
march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
|
||||
or (throw "unsupported architecture: ${arch}");
|
||||
# Julia requires Pentium 4 (SSE2) or better
|
||||
cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
|
||||
|
@ -116,7 +133,10 @@ stdenv.mkDerivation rec {
|
|||
"USE_SYSTEM_GMP=1"
|
||||
"USE_SYSTEM_LIBGIT2=1"
|
||||
"USE_SYSTEM_LIBUNWIND=1"
|
||||
|
||||
"USE_SYSTEM_LLVM=1"
|
||||
"LLVM_VER=3.9.1"
|
||||
|
||||
"USE_SYSTEM_MPFR=1"
|
||||
"USE_SYSTEM_OPENLIBM=1"
|
||||
"USE_SYSTEM_OPENSPECFUN=1"
|
||||
|
@ -133,38 +153,50 @@ stdenv.mkDerivation rec {
|
|||
|
||||
LD_LIBRARY_PATH = makeLibraryPath [
|
||||
arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
|
||||
openspecfun pcre2 suitesparse
|
||||
openspecfun pcre2 suitesparse llvm
|
||||
];
|
||||
|
||||
NIX_LDFLAGS = optionalString stdenv.isDarwin "-rpath ${llvmShared}/lib";
|
||||
|
||||
dontStrip = true;
|
||||
dontPatchELF = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
doCheck = !stdenv.isDarwin;
|
||||
checkTarget = "testall";
|
||||
# Julia's tests require read/write access to $HOME
|
||||
preCheck = ''
|
||||
export HOME="$NIX_BUILD_TOP"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
|
||||
sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
|
||||
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
|
||||
wrapProgram "$prog" \
|
||||
--prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH" \
|
||||
--prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
|
||||
# Symlink shared libraries from LD_LIBRARY_PATH into lib/julia,
|
||||
# as using a wrapper with LD_LIBRARY_PATH causes segmentation
|
||||
# faults when program returns an error:
|
||||
# $ julia -e 'throw(Error())'
|
||||
find $(echo $LD_LIBRARY_PATH | sed 's|:| |g') -maxdepth 1 -name '*.${if stdenv.isDarwin then "dylib" else "so"}*' | while read lib; do
|
||||
if [[ ! -e $out/lib/julia/$(basename $lib) ]]; then
|
||||
ln -sv $lib $out/lib/julia/$(basename $lib)
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit majorVersion minorVersion maintenanceVersion;
|
||||
site = "share/julia/site/v${majorVersion}.${minorVersion}";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "High-level performance-oriented dynamical language for technical computing";
|
||||
homepage = https://julialang.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ raskin ];
|
||||
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
|
||||
#broken = stdenv.isi686;
|
||||
broken = true; # 2018-04-10
|
||||
broken = stdenv.isi686;
|
||||
};
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue