Merge branch 'master' into update/grv-0.2.0

This commit is contained in:
Jörg Thalheim 2018-07-29 12:18:18 +01:00 committed by GitHub
commit bdfba1a954
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
444 changed files with 2246 additions and 2126 deletions

View File

@ -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>

View File

@ -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";

View File

@ -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

View File

@ -1486,7 +1486,7 @@
name = "Robin Gloster";
};
gnidorah = {
email = "yourbestfriend@opmbx.org";
email = "gnidorah@yandex.com";
github = "gnidorah";
name = "Alex Ivanov";
};

View File

@ -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>

View File

@ -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

View File

@ -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";
}

View File

@ -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

View File

@ -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";
}

View File

@ -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

View File

@ -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.

View File

@ -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" ])

View File

@ -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 = {

View File

@ -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

View File

@ -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 = ''

View File

@ -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";

View File

@ -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 &lt; 17.09</literal> and version 2.x
<literal>system.stateVersion &lt; 17.09</literal> and version 2.x
otherwise.
'';
};

View File

@ -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
'';
};

View File

@ -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 = ''

View File

@ -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");
}

View File

@ -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";
};
}

View File

@ -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.

View File

@ -607,7 +607,7 @@ in
{ services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql96;
system.nixos.stateVersion = "17.03";
system.stateVersion = "17.03";
};
};
}

View File

@ -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;

View File

@ -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";
};
};
};

View File

@ -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";
};
};

View File

@ -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;
};
}

View File

@ -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";
};
};

View File

@ -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

View File

@ -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;
};
}

View File

@ -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;

View File

@ -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;

View File

@ -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"

View File

@ -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];
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};

View File

@ -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;
};
}

View File

@ -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 ];

View File

@ -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"

View File

@ -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;
};

View File

@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
description = "OpenStreetMap editor";
homepage = http://merkaartor.be/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ viric ];
maintainers = with maintainers; [ ];
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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; {

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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

View File

@ -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"));

View File

@ -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";
};
}

View File

@ -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;
};
}

View File

@ -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 = ''

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
});

View File

@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus;
maintainers = with maintainers; [ viric vrthra ];
maintainers = with maintainers; [ vrthra ];
platforms = platforms.gnu ++ platforms.linux;
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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;
};

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;

View File

@ -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;

View File

@ -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
];

View File

@ -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;

View File

@ -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
};

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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.

View File

@ -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"

View File

@ -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.

View File

@ -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";

View File

@ -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);

View File

@ -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

View File

@ -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; };

View File

@ -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 ++

View File

@ -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 ++

View File

@ -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 ++

View File

@ -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 ++

View File

@ -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;

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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