mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-28 14:22:50 +03:00
Merge branch 'master' into staging
Thousands of rebuilds from master :-/
This commit is contained in:
commit
73282c8cc2
@ -186,6 +186,7 @@
|
||||
ellis = "Ellis Whitehead <nixos@ellisw.net>";
|
||||
eperuffo = "Emanuele Peruffo <info@emanueleperuffo.com>";
|
||||
epitrochoid = "Mabry Cervin <mpcervin@uncg.edu>";
|
||||
eqyiel = "Ruben Maher <r@rkm.id.au>";
|
||||
ericbmerritt = "Eric Merritt <eric@afiniate.com>";
|
||||
ericsagnes = "Eric Sagnes <eric.sagnes@gmail.com>";
|
||||
erikryb = "Erik Rybakken <erik.rybakken@math.ntnu.no>";
|
||||
@ -663,4 +664,5 @@
|
||||
zoomulator = "Kim Simmons <zoomulator@gmail.com>";
|
||||
zraexy = "David Mell <zraexy@gmail.com>";
|
||||
zx2c4 = "Jason A. Donenfeld <Jason@zx2c4.com>";
|
||||
zzamboni = "Diego Zamboni <diego@zzamboni.org>";
|
||||
}
|
||||
|
@ -20,6 +20,7 @@
|
||||
|
||||
# Some networking tools.
|
||||
pkgs.fuse
|
||||
pkgs.fuse3
|
||||
pkgs.sshfs-fuse
|
||||
pkgs.socat
|
||||
pkgs.screen
|
||||
|
@ -17,19 +17,27 @@ with lib;
|
||||
};
|
||||
|
||||
config = mkIf config.security.lockKernelModules {
|
||||
boot.kernelModules = concatMap (x:
|
||||
if x.device != null
|
||||
then
|
||||
if x.fsType == "vfat"
|
||||
then [ "vfat" "nls-cp437" "nls-iso8859-1" ]
|
||||
else [ x.fsType ]
|
||||
else []) config.system.build.fileSystems;
|
||||
|
||||
systemd.services.disable-kernel-module-loading = rec {
|
||||
description = "Disable kernel module loading";
|
||||
|
||||
wantedBy = [ config.systemd.defaultUnit ];
|
||||
after = [ "systemd-udev-settle.service" "firewall.service" "systemd-modules-load.service" ] ++ wantedBy;
|
||||
|
||||
script = "echo -n 1 > /proc/sys/kernel/modules_disabled";
|
||||
after = [ "systemd-udev-settle.service" "firewall.service" "systemd-modules-load.service" ] ++ wantedBy;
|
||||
|
||||
unitConfig.ConditionPathIsReadWrite = "/proc/sys/kernel";
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = "/bin/sh -c 'echo -n 1 >/proc/sys/kernel/modules_disabled'";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -155,7 +155,10 @@ in
|
||||
###### implementation
|
||||
config = {
|
||||
|
||||
security.wrappers.fusermount.source = "${pkgs.fuse}/bin/fusermount";
|
||||
security.wrappers = {
|
||||
fusermount.source = "${pkgs.fuse}/bin/fusermount";
|
||||
fusermount3.source = "${pkgs.fuse3}/bin/fusermount3";
|
||||
};
|
||||
|
||||
boot.specialFileSystems.${parentWrapperDir} = {
|
||||
fsType = "tmpfs";
|
||||
|
@ -49,6 +49,35 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
extraGitoliteRc = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
example = literalExample ''
|
||||
$RC{UMASK} = 0027;
|
||||
$RC{SITE_INFO} = 'This is our private repository host';
|
||||
push( @{$RC{ENABLE}}, 'Kindergarten' ); # enable the command/feature
|
||||
@{$RC{ENABLE}} = grep { $_ ne 'desc' } @{$RC{ENABLE}}; # disable the command/feature
|
||||
'';
|
||||
description = ''
|
||||
Extra configuration to append to the default <literal>~/.gitolite.rc</literal>.
|
||||
|
||||
This should be Perl code that modifies the <literal>%RC</literal>
|
||||
configuration variable. The default <literal>~/.gitolite.rc</literal>
|
||||
content is generated by invoking <literal>gitolite print-default-rc</literal>,
|
||||
and extra configuration from this option is appended to it. The result
|
||||
is placed to Nix store, and the <literal>~/.gitolite.rc</literal> file
|
||||
becomes a symlink to it.
|
||||
|
||||
If you already have a customized (or otherwise changed)
|
||||
<literal>~/.gitolite.rc</literal> file, NixOS will refuse to replace
|
||||
it with a symlink, and the `gitolite-init` initialization service
|
||||
will fail. In this situation, in order to use this option, you
|
||||
will need to take any customizations you may have in
|
||||
<literal>~/.gitolite.rc</literal>, convert them to appropriate Perl
|
||||
statements, add them to this option, and remove the file.
|
||||
'';
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "gitolite";
|
||||
@ -59,7 +88,34 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = mkIf cfg.enable (
|
||||
let
|
||||
manageGitoliteRc = cfg.extraGitoliteRc != "";
|
||||
rcDir = pkgs.runCommand "gitolite-rc" { } rcDirScript;
|
||||
rcDirScript =
|
||||
''
|
||||
mkdir "$out"
|
||||
export HOME=temp-home
|
||||
mkdir -p "$HOME/.gitolite/logs" # gitolite can't run without it
|
||||
'${pkgs.gitolite}'/bin/gitolite print-default-rc >>"$out/gitolite.rc.default"
|
||||
cat <<END >>"$out/gitolite.rc"
|
||||
# This file is managed by NixOS.
|
||||
# Use services.gitolite options to control it.
|
||||
|
||||
END
|
||||
cat "$out/gitolite.rc.default" >>"$out/gitolite.rc"
|
||||
'' +
|
||||
optionalString (cfg.extraGitoliteRc != "") ''
|
||||
echo -n ${escapeShellArg ''
|
||||
|
||||
# Added by NixOS:
|
||||
${removeSuffix "\n" cfg.extraGitoliteRc}
|
||||
|
||||
# per perl rules, this should be the last line in such a file:
|
||||
1;
|
||||
''} >>"$out/gitolite.rc"
|
||||
'';
|
||||
in {
|
||||
users.extraUsers.${cfg.user} = {
|
||||
description = "Gitolite user";
|
||||
home = cfg.dataDir;
|
||||
@ -77,21 +133,61 @@ in
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
|
||||
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash config.programs.ssh.package ];
|
||||
script = ''
|
||||
cd ${cfg.dataDir}
|
||||
mkdir -p .gitolite/logs
|
||||
if [ ! -d repositories ]; then
|
||||
gitolite setup -pk ${pubkeyFile}
|
||||
fi
|
||||
if [ -n "${hooks}" ]; then
|
||||
cp ${hooks} .gitolite/hooks/common/
|
||||
chmod +x .gitolite/hooks/common/*
|
||||
fi
|
||||
gitolite setup # Upgrade if needed
|
||||
'';
|
||||
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.diffutils config.programs.ssh.package ];
|
||||
script =
|
||||
let
|
||||
rcSetupScriptIfCustomFile =
|
||||
if manageGitoliteRc then ''
|
||||
cat <<END
|
||||
<3>ERROR: NixOS can't apply declarative configuration
|
||||
<3>to your .gitolite.rc file, because it seems to be
|
||||
<3>already customized manually.
|
||||
<3>See the services.gitolite.extraGitoliteRc option
|
||||
<3>in "man configuration.nix" for more information.
|
||||
END
|
||||
# Not sure if the line below addresses the issue directly or just
|
||||
# adds a delay, but without it our error message often doesn't
|
||||
# show up in `systemctl status gitolite-init`.
|
||||
journalctl --flush
|
||||
exit 1
|
||||
'' else ''
|
||||
:
|
||||
'';
|
||||
rcSetupScriptIfDefaultFileOrStoreSymlink =
|
||||
if manageGitoliteRc then ''
|
||||
ln -sf "${rcDir}/gitolite.rc" "$GITOLITE_RC"
|
||||
'' else ''
|
||||
[[ -L "$GITOLITE_RC" ]] && rm -f "$GITOLITE_RC"
|
||||
'';
|
||||
in
|
||||
''
|
||||
cd ${cfg.dataDir}
|
||||
mkdir -p .gitolite/logs
|
||||
|
||||
GITOLITE_RC=.gitolite.rc
|
||||
GITOLITE_RC_DEFAULT=${rcDir}/gitolite.rc.default
|
||||
if ( [[ ! -e "$GITOLITE_RC" ]] && [[ ! -L "$GITOLITE_RC" ]] ) ||
|
||||
( [[ -f "$GITOLITE_RC" ]] && diff -q "$GITOLITE_RC" "$GITOLITE_RC_DEFAULT" >/dev/null ) ||
|
||||
( [[ -L "$GITOLITE_RC" ]] && [[ "$(readlink "$GITOLITE_RC")" =~ ^/nix/store/ ]] )
|
||||
then
|
||||
'' + rcSetupScriptIfDefaultFileOrStoreSymlink +
|
||||
''
|
||||
else
|
||||
'' + rcSetupScriptIfCustomFile +
|
||||
''
|
||||
fi
|
||||
|
||||
if [ ! -d repositories ]; then
|
||||
gitolite setup -pk ${pubkeyFile}
|
||||
fi
|
||||
if [ -n "${hooks}" ]; then
|
||||
cp ${hooks} .gitolite/hooks/common/
|
||||
chmod +x .gitolite/hooks/common/*
|
||||
fi
|
||||
gitolite setup # Upgrade if needed
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.gitolite pkgs.git ];
|
||||
};
|
||||
});
|
||||
}
|
||||
|
@ -33,7 +33,7 @@ in {
|
||||
default = [];
|
||||
example = ''[ "systemd" ]'';
|
||||
description = ''
|
||||
Collectors to enable, additionally to the defaults.
|
||||
Collectors to enable. Only collectors explicitly listed here will be enabled.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -5,6 +5,22 @@ with lib;
|
||||
let
|
||||
inherit (pkgs) glusterfs rsync;
|
||||
|
||||
tlsCmd = if (cfg.tlsSettings != null) then
|
||||
''
|
||||
mkdir -p /var/lib/glusterd
|
||||
touch /var/lib/glusterd/secure-access
|
||||
''
|
||||
else
|
||||
''
|
||||
rm -f /var/lib/glusterd/secure-access
|
||||
'';
|
||||
|
||||
restartTriggers = if (cfg.tlsSettings != null) then [
|
||||
config.environment.etc."ssl/glusterfs.pem".source
|
||||
config.environment.etc."ssl/glusterfs.key".source
|
||||
config.environment.etc."ssl/glusterfs.ca".source
|
||||
] else [];
|
||||
|
||||
cfg = config.services.glusterfs;
|
||||
|
||||
in
|
||||
@ -30,6 +46,41 @@ in
|
||||
description = "Extra flags passed to the GlusterFS daemon";
|
||||
default = [];
|
||||
};
|
||||
|
||||
tlsSettings = mkOption {
|
||||
description = ''
|
||||
Make the server communicate via TLS.
|
||||
This means it will only connect to other gluster
|
||||
servers having certificates signed by the same CA.
|
||||
|
||||
Enabling this will create a file <filename>/var/lib/glusterd/secure-access</filename>.
|
||||
Disabling will delete this file again.
|
||||
|
||||
See also: https://gluster.readthedocs.io/en/latest/Administrator%20Guide/SSL/
|
||||
'';
|
||||
default = null;
|
||||
type = types.nullOr (types.submodule {
|
||||
options = {
|
||||
tlsKeyPath = mkOption {
|
||||
default = null;
|
||||
type = types.str;
|
||||
description = "Path to the private key used for TLS.";
|
||||
};
|
||||
|
||||
tlsPem = mkOption {
|
||||
default = null;
|
||||
type = types.path;
|
||||
description = "Path to the certificate used for TLS.";
|
||||
};
|
||||
|
||||
caCert = mkOption {
|
||||
default = null;
|
||||
type = types.path;
|
||||
description = "Path certificate authority used to sign the cluster certificates.";
|
||||
};
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@ -40,7 +91,14 @@ in
|
||||
|
||||
services.rpcbind.enable = true;
|
||||
|
||||
environment.etc = mkIf (cfg.tlsSettings != null) {
|
||||
"ssl/glusterfs.pem".source = cfg.tlsSettings.tlsPem;
|
||||
"ssl/glusterfs.key".source = cfg.tlsSettings.tlsKeyPath;
|
||||
"ssl/glusterfs.ca".source = cfg.tlsSettings.caCert;
|
||||
};
|
||||
|
||||
systemd.services.glusterd = {
|
||||
inherit restartTriggers;
|
||||
|
||||
description = "GlusterFS, a clustered file-system server";
|
||||
|
||||
@ -57,6 +115,8 @@ in
|
||||
+ ''
|
||||
mkdir -p /var/lib/glusterd/hooks/
|
||||
${rsync}/bin/rsync -a ${glusterfs}/var/lib/glusterd/hooks/ /var/lib/glusterd/hooks/
|
||||
|
||||
${tlsCmd}
|
||||
''
|
||||
# `glusterfind` needs dirs that upstream installs at `make install` phase
|
||||
# https://github.com/gluster/glusterfs/blob/v3.10.2/tools/glusterfind/Makefile.am#L16-L17
|
||||
@ -75,6 +135,7 @@ in
|
||||
};
|
||||
|
||||
systemd.services.glustereventsd = {
|
||||
inherit restartTriggers;
|
||||
|
||||
description = "Gluster Events Notifier";
|
||||
|
||||
|
@ -235,6 +235,16 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
boot.initrd.luks.forceLuksSupportInInitrd = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
internal = true;
|
||||
description = ''
|
||||
Whether to configure luks support in the initrd, when no luks
|
||||
devices are configured.
|
||||
'';
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices = mkOption {
|
||||
default = { };
|
||||
example = { "luksroot".device = "/dev/disk/by-uuid/430e9eff-d852-4f68-aa3b-2fa3599ebe08"; };
|
||||
@ -417,7 +427,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (luks.devices != {}) {
|
||||
config = mkIf (luks.devices != {} || luks.forceLuksSupportInInitrd) {
|
||||
|
||||
# actually, sbp2 driver is the one enabling the DMA attack, but this needs to be tested
|
||||
boot.blacklistedKernelModules = optionals luks.mitigateDMAAttacks
|
||||
|
@ -61,6 +61,7 @@ in
|
||||
devices =
|
||||
map (dev: { name = dev.encrypted.label; device = dev.encrypted.blkDev; } ) keylessEncDevs;
|
||||
cryptoModules = [ "aes" "sha256" "sha1" "xts" ];
|
||||
forceLuksSupportInInitrd = true;
|
||||
};
|
||||
postMountCommands =
|
||||
concatMapStrings (dev: "cryptsetup luksOpen --key-file ${dev.encrypted.keyFile} ${dev.encrypted.blkDev} ${dev.encrypted.label};\n") keyedEncDevs;
|
||||
|
@ -217,7 +217,7 @@ in
|
||||
# Add the mount helpers to the system path so that `mount' can find them.
|
||||
system.fsPackages = [ pkgs.dosfstools ];
|
||||
|
||||
environment.systemPackages = [ pkgs.fuse ] ++ config.system.fsPackages;
|
||||
environment.systemPackages = with pkgs; [ fuse3 fuse ] ++ config.system.fsPackages;
|
||||
|
||||
environment.etc.fstab.text =
|
||||
let
|
||||
|
@ -85,8 +85,14 @@ in
|
||||
enable = mkDefault false;
|
||||
};
|
||||
|
||||
systemd.services.auth-rpcgss-module =
|
||||
{
|
||||
unitConfig.ConditionPathExists = [ "" "/etc/krb5.keytab" ];
|
||||
};
|
||||
|
||||
systemd.services.rpc-gssd =
|
||||
{ restartTriggers = [ nfsConfFile ];
|
||||
unitConfig.ConditionPathExists = [ "" "/etc/krb5.keytab" ];
|
||||
};
|
||||
|
||||
systemd.services.rpc-statd =
|
||||
|
@ -10,6 +10,17 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
{ users.users.alice = { isNormalUser = true; extraGroups = [ "proc" ]; };
|
||||
users.users.sybil = { isNormalUser = true; group = "wheel"; };
|
||||
imports = [ ../modules/profiles/hardened.nix ];
|
||||
virtualisation.emptyDiskImages = [ 4096 ];
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
${pkgs.dosfstools}/bin/mkfs.vfat -n EFISYS /dev/vdb
|
||||
'';
|
||||
fileSystems = lib.mkVMOverride {
|
||||
"/efi" = {
|
||||
device = "/dev/disk/by-label/EFISYS";
|
||||
fsType = "vfat";
|
||||
options = [ "noauto" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript =
|
||||
@ -42,5 +53,13 @@ import ./make-test.nix ({ pkgs, ...} : {
|
||||
subtest "kcore", sub {
|
||||
$machine->fail("cat /proc/kcore");
|
||||
};
|
||||
|
||||
# Test deferred mount
|
||||
subtest "mount", sub {
|
||||
$machine->fail("mountpoint -q /efi"); # was deferred
|
||||
$machine->execute("mkdir -p /efi");
|
||||
$machine->succeed("mount /dev/disk/by-label/EFISYS /efi");
|
||||
$machine->succeed("mountpoint -q /efi"); # now mounted
|
||||
};
|
||||
'';
|
||||
})
|
||||
|
@ -5,13 +5,11 @@
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec{
|
||||
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
|
||||
version = "0.15.0";
|
||||
version = "0.15.0.1";
|
||||
|
||||
src = fetchurl {
|
||||
urls = [ "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
|
||||
"mirror://sourceforge/bitcoin/Bitcoin/bitcoin-${version}/bitcoin-${version}.tar.gz"
|
||||
];
|
||||
sha256 = "18gj5gdscarv2a1hdgjps50czwi4hrmrrmhssaag55ysh94zbdjl";
|
||||
url = "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz";
|
||||
sha256 = "16si3skhm6jhw1pkniv2b9y1kkdhjmhj392palphir0qc1srwzmm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
|
@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
|
||||
maintainers = [ ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -53,6 +53,9 @@ let
|
||||
patchelf --set-interpreter $interp \
|
||||
--set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib zlib ]}:$lldbLibPath" \
|
||||
bin/clang/clang-tidy
|
||||
|
||||
wrapProgram $out/bin/clion \
|
||||
--set CL_JDK "${jdk}"
|
||||
)
|
||||
'';
|
||||
});
|
||||
@ -229,15 +232,15 @@ in
|
||||
|
||||
datagrip = buildDataGrip rec {
|
||||
name = "datagrip-${version}";
|
||||
version = "2017.1.5"; /* updated by script */
|
||||
version = "2017.2.2"; /* updated by script */
|
||||
description = "Your Swiss Army Knife for Databases and SQL";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||
sha256 = "8847c35761fcf6fc7a1d3f2bed0fa3971fbf28721c144f41d21feb473bb212dc"; /* updated by script */
|
||||
sha256 = "1l8y65fw9g5ckzwpcgigm2qwy8fhpw2hil576rphsnx6qvnh4swn"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-datagrip";
|
||||
update-channel = "datagrip_2017_1";
|
||||
update-channel = "datagrip_2017_2";
|
||||
};
|
||||
|
||||
gogland = buildGogland rec {
|
||||
|
@ -27,46 +27,61 @@ sub get_latest_versions {
|
||||
next unless $latest_build;
|
||||
|
||||
# version as in download url
|
||||
my ($version) = $latest_build =~ /^<build [^>]*version="([^"]+)"/;
|
||||
my ($fullNumber) = $latest_build =~ /^<build [^>]*fullNumber="([^"]+)"/;
|
||||
my $latest_version_full1 = "$version-$fullNumber";
|
||||
$latest_version_full1 =~ s/\s*EAP//;
|
||||
|
||||
my ($latest_version) = $latest_build =~ /^<build [^>]*version="([^"]+)"/;
|
||||
($latest_version) = $latest_build =~ /^<build [^>]*fullNumber="([^"]+)"/ if $latest_version =~ / /;
|
||||
|
||||
$h{$id} = $latest_version;
|
||||
$h{"full1_" . $id} = $latest_version_full1;
|
||||
}
|
||||
return %h;
|
||||
}
|
||||
|
||||
my %latest_versions = get_latest_versions();
|
||||
#for my $ch (sort keys %latest_versions) {
|
||||
# for my $ch (sort keys %latest_versions) {
|
||||
# print("$ch $latest_versions{$ch}\n");
|
||||
#}
|
||||
# }
|
||||
|
||||
sub update_nix_block {
|
||||
my ($block) = @_;
|
||||
my ($channel) = $block =~ /update-channel\s*=\s*"([^"]+)"/;
|
||||
if ($channel) {
|
||||
die "unknown update-channel $channel" unless $latest_versions{$channel};
|
||||
my ($version) = $block =~ /version\s*=\s*"([^"]+)"/;
|
||||
die "no version in $block" unless $version;
|
||||
if ($version eq $latest_versions{$channel}) {
|
||||
print("$channel is up to date at $version\n");
|
||||
if ($latest_versions{$channel}) {
|
||||
my ($version) = $block =~ /version\s*=\s*"([^"]+)"/;
|
||||
die "no version in $block" unless $version;
|
||||
if ($version eq $latest_versions{$channel}) {
|
||||
print("$channel is up to date at $version\n");
|
||||
} else {
|
||||
print("updating $channel: $version -> $latest_versions{$channel}\n");
|
||||
my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
|
||||
# try to interpret some nix
|
||||
my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
|
||||
$name =~ s/\$\{version\}/$latest_versions{$channel}/;
|
||||
$url =~ s/\$\{name\}/$name/;
|
||||
$url =~ s/\$\{version\}/$latest_versions{$channel}/;
|
||||
die "$url still has some interpolation" if $url =~ /\$/;
|
||||
my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
|
||||
my $version_string = $latest_versions{$channel};
|
||||
unless ( $sha256 ) {
|
||||
my $full_version = $latest_versions{"full1_" . $channel};
|
||||
$url =~ s/$version_string/$full_version/;
|
||||
($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
|
||||
$version_string = $full_version;
|
||||
}
|
||||
die "invalid sha256 in $url.sha256" unless $sha256;
|
||||
my ($sha256Base32) = readpipe("nix-hash --type sha256 --to-base32 $sha256");
|
||||
chomp $sha256Base32;
|
||||
print "Jetbrains published SHA256: $sha256\n";
|
||||
print "Conversion into base32 yields: $sha256Base32\n";
|
||||
$block =~ s#version\s*=\s*"([^"]+)".+$#version = "$version_string"; /* updated by script */#m;
|
||||
$block =~ s#sha256\s*=\s*"([^"]+)".+$#sha256 = "$sha256Base32"; /* updated by script */#m;
|
||||
}
|
||||
} else {
|
||||
print("updating $channel: $version -> $latest_versions{$channel}\n");
|
||||
my ($url) = $block =~ /url\s*=\s*"([^"]+)"/;
|
||||
# try to interpret some nix
|
||||
my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
|
||||
$name =~ s/\$\{version\}/$latest_versions{$channel}/;
|
||||
$url =~ s/\$\{name\}/$name/;
|
||||
$url =~ s/\$\{version\}/$latest_versions{$channel}/;
|
||||
die "$url still has some interpolation" if $url =~ /\$/;
|
||||
|
||||
my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
|
||||
my ($sha256Base32) = readpipe("nix-hash --type sha256 --to-base32 $sha256");
|
||||
chomp $sha256Base32;
|
||||
print "Jetbrains published SHA256: $sha256\n";
|
||||
print "Conversion into base32 yeilds: $sha256Base32\n";
|
||||
|
||||
$block =~ s#version\s*=\s*"([^"]+)".+$#version = "$latest_versions{$channel}"; /* updated by script */#m;
|
||||
$block =~ s#sha256\s*=\s*"([^"]+)".+$#sha256 = "$sha256Base32"; /* updated by script */#m;
|
||||
warn "unknown update-channel $channel";
|
||||
}
|
||||
}
|
||||
return $block;
|
||||
|
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = https://github.com/blakemcbride/TECOC;
|
||||
maintainers = [ maintainers.AndersonTorres ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
# TODO: test in other platforms - especially Darwin
|
||||
|
@ -2,16 +2,21 @@ Get the environment propagated to scons forked childs, and correct the dicom plu
|
||||
a typedef of size_t that failed at least on x86_64-linux.
|
||||
|
||||
diff --git a/SConstruct b/SConstruct
|
||||
index 16eccd9..603e931 100644
|
||||
index 9e752d6..f93f27f 100644
|
||||
--- a/SConstruct
|
||||
+++ b/SConstruct
|
||||
@@ -7,8 +7,7 @@ else:
|
||||
cppflags = ['-O2']
|
||||
variant = 'Release'
|
||||
@@ -9,13 +9,7 @@ else:
|
||||
|
||||
commit_id = os.popen('git rev-parse HEAD').read().replace('\n','')
|
||||
|
||||
-env = Environment(LIBPATH=[],
|
||||
- CPPFLAGS = cppflags)
|
||||
- CPPFLAGS = cppflags + ['-Wno-deprecated-declarations',
|
||||
- '-Wno-reorder',
|
||||
- '-Wno-unused-but-set-variable',
|
||||
- '-Wno-unused-function'],
|
||||
- CXXFLAGS=['-std=c++1y']
|
||||
- )
|
||||
+env = Environment(ENV = os.environ)
|
||||
|
||||
env['SBOX'] = False
|
||||
|
||||
env['COMMITIDSHORT'] = commit_id[0:6]
|
||||
|
@ -2,13 +2,14 @@
|
||||
pcre, cfitsio, perl, gob2, vala_0_23, libtiff, json_glib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "giv-20150811-git";
|
||||
name = "giv-${version}";
|
||||
version = "0.9.26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "dov";
|
||||
repo = "giv";
|
||||
rev = "64648bfbbf10ec4a9adfbc939c96c7d1dbdce57a";
|
||||
sha256 = "1sz2n7jbmg3g97bs613xxjpzqbsl5rvpg6v7g3x3ycyd35r8vsfp";
|
||||
rev = "v${version}";
|
||||
sha256 = "1sfm8j3hvqij6z3h8xz724d7hjqqbzljl2a6pp4yjpnnrxksnic2";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
@ -1,40 +1,46 @@
|
||||
{ fetchurl, stdenv, cmake, qt4
|
||||
, hdf5
|
||||
, mpich2
|
||||
, python
|
||||
, libxml2
|
||||
, mesa, libXt
|
||||
}:
|
||||
{stdenv, fetchFromGitHub, cmake
|
||||
,full, python, mesa, libXt }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "paraview-4.0.1";
|
||||
src = fetchurl {
|
||||
url = "http://paraview.org/files/v4.0/ParaView-v4.0.1-source.tgz";
|
||||
sha256 = "1qj8dq8gqpsw75sv4sdc7xm1xcpv0ilsddnrcfhha0zfhp0gq10y";
|
||||
name = "paraview-${version}";
|
||||
version = "5.4.0";
|
||||
|
||||
# fetching from GitHub instead of taking an "official" source
|
||||
# tarball because of missing submodules there
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kitware";
|
||||
repo = "ParaView";
|
||||
rev = "v${version}";
|
||||
sha256 = "0h1vkgwm10mc5mnr3djp81lxr5pi0hyj776z77hiib6xm5596q9n";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# [ 5%] Generating vtkGLSLShaderLibrary.h
|
||||
# ../../../bin/ProcessShader: error while loading shared libraries: libvtksys.so.pv3.10: cannot open shared object file: No such file or directory
|
||||
preConfigure = ''
|
||||
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/paraview-3.98 -rpath ../../../../../../lib -rpath ../../../../../lib -rpath ../../../../lib -rpath ../../../lib -rpath ../../lib -rpath ../lib"
|
||||
'';
|
||||
cmakeFlags = [
|
||||
"-DPARAVIEW_USE_SYSTEM_HDF5:BOOL=ON"
|
||||
"-DVTK_USE_SYSTEM_LIBXML2:BOOL=ON"
|
||||
"-DPARAVIEW_ENABLE_PYTHON:BOOL=ON"
|
||||
# use -DPARAVIEW_INSTALL_THIRD_PARTY_LIBRARIES:BOOL=OFF \ to fix make install error: http://www.cmake.org/pipermail/paraview/2011-February/020268.html
|
||||
"-DPARAVIEW_INSTALL_THIRD_PARTY_LIBRARIES:BOOL=OFF"
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=ON"
|
||||
"-DVTK_USE_RPATH:BOOL=ON"
|
||||
"-DPARAVIEW_INSTALL_DEVELOPMENT=ON"
|
||||
];
|
||||
cmakeFlags = [
|
||||
"-DPARAVIEW_ENABLE_PYTHON=ON"
|
||||
"-DPARAVIEW_INSTALL_DEVELOPMENT_FILES=ON"
|
||||
];
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1138466
|
||||
NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
|
||||
# During build, binaries are called that rely on freshly built
|
||||
# libraries. These reside in build/lib, and are not found by
|
||||
# default.
|
||||
preBuild = ''
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/lib
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
buildInputs = [ cmake qt4 hdf5 mpich2 python libxml2 mesa libXt ];
|
||||
buildInputs = [ cmake
|
||||
python
|
||||
mesa
|
||||
libXt
|
||||
|
||||
# theoretically the following should be fine, but there is an error
|
||||
# due to missing libqminimal when not using qt5.full
|
||||
|
||||
# qtbase qtx11extras qttools
|
||||
full
|
||||
];
|
||||
|
||||
|
||||
meta = {
|
||||
homepage = http://www.paraview.org/;
|
||||
|
@ -21,6 +21,6 @@ stdenv.mkDerivation (rec {
|
||||
homepage = http://www.pberndt.com/Programme/Linux/pqiv;
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ maintainers.ndowens ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
})
|
||||
|
@ -145,6 +145,7 @@ let
|
||||
okteta = callPackage ./okteta.nix {};
|
||||
okular = callPackage ./okular.nix {};
|
||||
pimcommon = callPackage ./pimcommon.nix {};
|
||||
pim-data-exporter = callPackage ./pim-data-exporter.nix {};
|
||||
pim-sieve-editor = callPackage ./pim-sieve-editor.nix {};
|
||||
print-manager = callPackage ./print-manager.nix {};
|
||||
spectacle = callPackage ./spectacle.nix {};
|
||||
|
22
pkgs/applications/kde/pim-data-exporter.nix
Normal file
22
pkgs/applications/kde/pim-data-exporter.nix
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
mkDerivation, lib, kdepimTeam,
|
||||
extra-cmake-modules, kdoctools,
|
||||
akonadi, kcmutils, kcrash, kdbusaddons, kidentitymanagement, kldap,
|
||||
kmailtransport, knewstuff, knotifications, knotifyconfig, kparts, kross, ktexteditor,
|
||||
kwallet, libkdepim, libkleo, pimcommon, qttools,
|
||||
karchive, mailcommon, messagelib, pim-data-exporter
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
name = "pim-data-exporter";
|
||||
meta = {
|
||||
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
|
||||
maintainers = kdepimTeam;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
buildInputs = [
|
||||
akonadi kcmutils kcrash kdbusaddons kidentitymanagement kldap kmailtransport
|
||||
knewstuff knotifications knotifyconfig kparts kross ktexteditor kwallet libkdepim
|
||||
libkleo pimcommon qttools karchive mailcommon messagelib
|
||||
];
|
||||
}
|
35
pkgs/applications/misc/topydo/default.nix
Normal file
35
pkgs/applications/misc/topydo/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
{ stdenv, python3Packages, fetchFromGitHub, glibcLocales }:
|
||||
|
||||
with python3Packages;
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "topydo";
|
||||
version = "0.13";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bram85";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0b3dz137lpbvpjvfy42ibqvj3yk526x4bpn819fd11lagn77w69r";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
arrow
|
||||
icalendar
|
||||
glibcLocales
|
||||
prompt_toolkit
|
||||
urwid
|
||||
watchdog
|
||||
];
|
||||
|
||||
checkInputs = [ mock freezegun coverage green pylint ];
|
||||
|
||||
LC_ALL="en_US.UTF-8";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A cli todo application compatible with the todo.txt format";
|
||||
homepage = "https://github.com/bram85/topydo";
|
||||
license = licenses.gpl3;
|
||||
};
|
||||
}
|
@ -44,6 +44,10 @@
|
||||
, hicolor_icon_theme
|
||||
, shared_mime_info
|
||||
|
||||
# Whether to disable multiprocess support to work around crashing tabs
|
||||
# TODO: fix the underlying problem instead of this terrible work-around
|
||||
, disableContentSandbox ? true
|
||||
|
||||
# Extra preferences
|
||||
, extraPrefs ? ""
|
||||
}:
|
||||
@ -210,6 +214,10 @@ stdenv.mkDerivation rec {
|
||||
lockPref("extensions.torlauncher.control_port_use_ipc", true);
|
||||
lockPref("extensions.torlauncher.socks_port_use_ipc", true);
|
||||
|
||||
// Optionally disable multiprocess support. We always set this to ensure that
|
||||
// toggling the pref takes effect.
|
||||
lockPref("browser.tabs.remote.autostart.2", ${if disableContentSandbox then "false" else "true"});
|
||||
|
||||
${optionalString (extraPrefs != "") ''
|
||||
${extraPrefs}
|
||||
''}
|
||||
|
30
pkgs/applications/networking/gns3/default.nix
Normal file
30
pkgs/applications/networking/gns3/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ callPackage, stdenv }:
|
||||
|
||||
let
|
||||
stableVersion = "2.0.3";
|
||||
previewVersion = "2.1.0rc1";
|
||||
addVersion = args:
|
||||
let version = if args.stable then stableVersion else previewVersion;
|
||||
branch = if args.stable then "stable" else "preview";
|
||||
in args // { inherit version branch; };
|
||||
mkGui = args: callPackage (import ./gui.nix (addVersion args)) { };
|
||||
mkServer = args: callPackage (import ./server.nix (addVersion args)) { };
|
||||
in {
|
||||
guiStable = mkGui {
|
||||
stable = true;
|
||||
sha256Hash = "10qp6430md8d0h2wamgfaq7pai59mqmcw6sw3i1gvb20m0avvsvb";
|
||||
};
|
||||
guiPreview = mkGui {
|
||||
stable = false;
|
||||
sha256Hash = "0rmvanzc0fjw9giqwnf98yc49cxaz637w8b865dv08lcf1fg9j8l";
|
||||
};
|
||||
|
||||
serverStable = mkServer {
|
||||
stable = true;
|
||||
sha256Hash = "1c7mzj1r2zh90a7vs3s17jakfp9s43b8nnj29rpamqxvl3qhbdy7";
|
||||
};
|
||||
serverPreview = mkServer {
|
||||
stable = false;
|
||||
sha256Hash = "181689fpjxq4hy2lyxk4zciqhgnhj5srvb4xsxdlbf68n89fj2zf";
|
||||
};
|
||||
}
|
@ -1,19 +1,22 @@
|
||||
{ stdenv, python34Packages, fetchFromGitHub }:
|
||||
{ stable, branch, version, sha256Hash }:
|
||||
|
||||
# TODO: Python 3.6 was failing
|
||||
python34Packages.buildPythonPackage rec {
|
||||
{ stdenv, python3Packages, fetchFromGitHub }:
|
||||
|
||||
let
|
||||
pythonPackages = python3Packages;
|
||||
|
||||
in pythonPackages.buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "gns3-gui";
|
||||
version = "2.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GNS3";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "10qp6430md8d0h2wamgfaq7pai59mqmcw6sw3i1gvb20m0avvsvb";
|
||||
sha256 = sha256Hash;
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python34Packages; [
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
raven psutil jsonschema # tox for check
|
||||
# Runtime dependencies
|
||||
sip pyqt5
|
||||
@ -22,11 +25,13 @@ python34Packages.buildPythonPackage rec {
|
||||
doCheck = false; # Failing
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Graphical Network Simulator";
|
||||
#longDescription = ''
|
||||
# ...
|
||||
#'';
|
||||
homepage = "https://www.gns3.com/";
|
||||
description = "Graphical Network Simulator 3 GUI (${branch} release)";
|
||||
longDescription = ''
|
||||
Graphical user interface for controlling the GNS3 network simulator. This
|
||||
requires access to a local or remote GNS3 server (it's recommended to
|
||||
download the official GNS3 VM).
|
||||
'';
|
||||
homepage = https://www.gns3.com/;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
|
@ -1,23 +1,63 @@
|
||||
{ stdenv, python3Packages, fetchFromGitHub }:
|
||||
{ stable, branch, version, sha256Hash }:
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
{ stdenv, python3Packages, fetchFromGitHub, fetchurl }:
|
||||
|
||||
let
|
||||
pythonPackages = python3Packages;
|
||||
yarl = if (!stable) then pythonPackages.yarl
|
||||
else (stdenv.lib.overrideDerivation pythonPackages.yarl (oldAttrs:
|
||||
rec {
|
||||
pname = "yarl";
|
||||
version = "0.9.8";
|
||||
name = "${pname}-${version}";
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1v2dsmr7bqp0yx51pwhbxyvzza8m2f88prsnbd926mi6ah38p0d7";
|
||||
};
|
||||
}));
|
||||
aiohttp = if (!stable) then pythonPackages.aiohttp
|
||||
else (stdenv.lib.overrideDerivation pythonPackages.aiohttp (oldAttrs:
|
||||
rec {
|
||||
pname = "aiohttp";
|
||||
version = "1.3.5";
|
||||
name = "${pname}-${version}";
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0hpqdiaifgyfqmxkyzwypwvrnvz5rqzgzylzhihfidc5ldfs856d";
|
||||
};
|
||||
propagatedBuildInputs = [ yarl ]
|
||||
++ (with pythonPackages; [ async-timeout chardet multidict ]);
|
||||
}));
|
||||
aiohttp-cors = if (!stable) then pythonPackages.aiohttp-cors
|
||||
else (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors (oldAttrs:
|
||||
rec {
|
||||
pname = "aiohttp-cors";
|
||||
version = "0.5.1";
|
||||
name = "${pname}-${version}";
|
||||
src = pythonPackages.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0szma27ri25fq4nwwvs36myddggw3jz4pyzmq63yz4xpw0jjdxck";
|
||||
};
|
||||
propagatedBuildInputs = [ aiohttp ];
|
||||
}));
|
||||
in pythonPackages.buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "gns3-server";
|
||||
version = "2.1.0rc1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GNS3";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "181689fpjxq4hy2lyxk4zciqhgnhj5srvb4xsxdlbf68n89fj2zf";
|
||||
sha256 = sha256Hash;
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
aiohttp jinja2 psutil zipstream aiohttp-cors raven jsonschema yarl typing
|
||||
prompt_toolkit
|
||||
];
|
||||
propagatedBuildInputs = [ yarl aiohttp aiohttp-cors ]
|
||||
++ (with pythonPackages; [
|
||||
jinja2 psutil zipstream raven jsonschema typing
|
||||
prompt_toolkit
|
||||
]);
|
||||
|
||||
postPatch = ''
|
||||
postPatch = stdenv.lib.optionalString (!stable) ''
|
||||
sed -i 's/yarl>=0.11,<0.12/yarl/g' requirements.txt
|
||||
'';
|
||||
|
||||
@ -28,13 +68,13 @@ python3Packages.buildPythonPackage rec {
|
||||
rm $out/bin/gns3loopback # For windows only
|
||||
'';
|
||||
meta = with stdenv.lib; {
|
||||
description = "Graphical Network Simulator 3 server";
|
||||
description = "Graphical Network Simulator 3 server (${branch} release)";
|
||||
longDescription = ''
|
||||
The GNS3 server manages emulators such as Dynamips, VirtualBox or
|
||||
Qemu/KVM. Clients like the GNS3 GUI control the server using a HTTP REST
|
||||
API.
|
||||
'';
|
||||
homepage = "https://www.gns3.com/";
|
||||
homepage = https://www.gns3.com/;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ primeos ];
|
||||
|
@ -1,16 +1,20 @@
|
||||
{ stdenv, fetchurl, zlib
|
||||
{ stdenv, fetchFromGitHub, zlib
|
||||
, ocaml, ocamlbuild, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "google-drive-ocamlfuse-${version}";
|
||||
version = "0.6.17";
|
||||
name = "google-drive-ocamlfuse-${version}";
|
||||
version = "0.6.21";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://forge.ocamlcore.org/frs/download.php/1674/${name}.tar.gz";
|
||||
sha256 = "1ldja7080pnjaibrbdvfqwakp4mac8yw1lkb95f7lgldmy96lxas";
|
||||
src = fetchFromGitHub {
|
||||
owner = "astrada";
|
||||
repo = "google-drive-ocamlfuse";
|
||||
rev = "v${version}";
|
||||
sha256 = "14qvhz18pzxdgxk5vcs024ajbkxccfwc9p3z5r6vfkc9mm851v59";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib ocaml ocamlbuild ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl];
|
||||
nativeBuildInputs = [ ocamlbuild ];
|
||||
|
||||
buildInputs = [ zlib ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl ];
|
||||
|
||||
configurePhase = "ocaml setup.ml -configure --prefix \"$out\"";
|
||||
buildPhase = "ocaml setup.ml -build";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name= "riot-web-${version}";
|
||||
version = "0.12.3";
|
||||
version = "0.12.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
|
||||
sha256 = "1v9k9rna9rziis5ld4x4lw3rhgm504cnnafiwk175jpjbbd8h4b3";
|
||||
sha256 = "1g30gl4b5fk1h13r2v4rspcqic9jg99717lxplk5birg3wi3b2d3";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -42,6 +42,11 @@ stdenv.mkDerivation rec {
|
||||
"ac_cv_path_SENDMAIL=sendmail"
|
||||
];
|
||||
|
||||
# Fix missing libidn in mutt;
|
||||
# this fix is ugly since it links all binaries in mutt against libidn
|
||||
# like pgpring, pgpewrap, ...
|
||||
NIX_LDFLAGS = "-lidn";
|
||||
|
||||
configureScript = "./prepare";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
@ -66,7 +66,7 @@ in stdenv.mkDerivation {
|
||||
experts. It runs on UNIX, macOS and Windows.
|
||||
'';
|
||||
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ bjornfor fpletz ];
|
||||
};
|
||||
}
|
||||
|
@ -2,23 +2,26 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
_name = "ANTs";
|
||||
_version = "2.1.0";
|
||||
_version = "2.2.0";
|
||||
name = "${_name}-${_version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stnava";
|
||||
owner = "ANTsX";
|
||||
repo = "ANTs";
|
||||
rev = "4e02aa76621698e3513330dd9e863e22917e14b7";
|
||||
sha256 = "0gyys1lf69bl3569cskxc8r5llwcr0dsyzvlby5skhfpsyw0dh8r";
|
||||
rev = "37ad4e20be3a5ecd26c2e4e41b49e778a0246c3d";
|
||||
sha256 = "1hrdwv3m9xh3yf7l0rm2ggxc2xzckfb8srs88g485ibfszx7i03q";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake makeWrapper ];
|
||||
buildInputs = [ itk vtk ];
|
||||
|
||||
cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" ];
|
||||
cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE"
|
||||
# as cmake otherwise tries to download test data:
|
||||
"-DBUILD_TESTING=FALSE" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
checkPhase = "ctest";
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
for file in $out/bin/*; do
|
||||
@ -27,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/stnava/ANTs;
|
||||
homepage = https://github.com/ANTxS/ANTs;
|
||||
description = "Advanced normalization toolkit for medical image registration and other processing";
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
platforms = platforms.unix;
|
||||
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A comprehensive update to the PLINK association analysis toolset";
|
||||
homepage = https://www.cog-genomics.org/plink2;
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, rsync, ocaml }:
|
||||
{ stdenv, fetchurl, rsync, ocamlPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "abella-${version}";
|
||||
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "b56d865ebdb198111f1dcd5b6fbcc0d7fc6dd1294f7601903ba4e3c3322c099c";
|
||||
};
|
||||
|
||||
buildInputs = [ rsync ocaml ];
|
||||
buildInputs = [ rsync ] ++ (with ocamlPackages; [ ocaml ocamlbuild ]);
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -29,6 +29,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.jonprl.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -12,11 +12,11 @@ in
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
name = "calc-${version}";
|
||||
version = "2.12.6.1";
|
||||
version = "2.12.6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lcn2/calc/releases/download/${version}/${name}.tar.bz2";
|
||||
sha256 = "1vy4jmhmpl3gzgpkpv0kqwjv8hn1cza8cn1g8c69gq3inqvr4fvd";
|
||||
sha256 = "01m20s5zs74zyb23x6zg6i13gc30a2ay2iz1rdbkxram01cblzky";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper readline ncurses utillinux ];
|
||||
|
@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
homepage = http://www.bunkus.org/videotools/ogmtools/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -10,6 +10,8 @@
|
||||
lib,
|
||||
pkgs,
|
||||
pigz,
|
||||
nixUnstable,
|
||||
perl,
|
||||
runCommand,
|
||||
rsync,
|
||||
shadow,
|
||||
@ -27,7 +29,7 @@
|
||||
rec {
|
||||
|
||||
examples = import ./examples.nix {
|
||||
inherit pkgs buildImage pullImage shadowSetup;
|
||||
inherit pkgs buildImage pullImage shadowSetup buildImageWithNixDb;
|
||||
};
|
||||
|
||||
pullImage =
|
||||
@ -239,6 +241,19 @@ rec {
|
||||
${text}
|
||||
'';
|
||||
|
||||
nixRegistration = contents: runCommand "nix-registration" {
|
||||
buildInputs = [ nixUnstable perl ];
|
||||
# For obtaining the closure of `contents'.
|
||||
exportReferencesGraph =
|
||||
let contentsList = if builtins.isList contents then contents else [ contents ];
|
||||
in map (x: [("closure-" + baseNameOf x) x]) contentsList;
|
||||
}
|
||||
''
|
||||
mkdir $out
|
||||
printRegistration=1 perl ${pkgs.pathsFromGraph} closure-* > $out/db.dump
|
||||
perl ${pkgs.pathsFromGraph} closure-* > $out/storePaths
|
||||
'';
|
||||
|
||||
# Create a "layer" (set of files).
|
||||
mkPureLayer = {
|
||||
# Name of the layer
|
||||
@ -544,4 +559,37 @@ rec {
|
||||
|
||||
in
|
||||
result;
|
||||
|
||||
# Build an image and populate its nix database with the provided
|
||||
# contents. The main purpose is to be able to use nix commands in
|
||||
# the container.
|
||||
# Be careful since this doesn't work well with multilayer.
|
||||
buildImageWithNixDb = args@{ contents ? null, extraCommands ? "", ... }:
|
||||
buildImage (args // {
|
||||
extraCommands = ''
|
||||
echo "Generating the nix database..."
|
||||
echo "Warning: only the database of the deepest Nix layer is loaded."
|
||||
echo " If you want to use nix commands in the container, it would"
|
||||
echo " be better to only have one layer that contains a nix store."
|
||||
# This requires Nix 1.12 or higher
|
||||
export NIX_REMOTE=local?root=$PWD
|
||||
${nixUnstable}/bin/nix-store --load-db < ${nixRegistration contents}/db.dump
|
||||
|
||||
# We fill the store in order to run the 'verify' command that
|
||||
# generates hash and size of output paths.
|
||||
# Note when Nix 1.12 is be the stable one, the database dump
|
||||
# generated by the exportReferencesGraph function will
|
||||
# contains sha and size. See
|
||||
# https://github.com/NixOS/nix/commit/c2b0d8749f7e77afc1c4b3e8dd36b7ee9720af4a
|
||||
storePaths=$(cat ${nixRegistration contents}/storePaths)
|
||||
echo "Copying everything to /nix/store (will take a while)..."
|
||||
cp -prd $storePaths nix/store/
|
||||
${nixUnstable}/bin/nix-store --verify --check-contents
|
||||
|
||||
mkdir -p nix/var/nix/gcroots/docker/
|
||||
for i in ${lib.concatStringsSep " " contents}; do
|
||||
ln -s $i nix/var/nix/gcroots/docker/$(basename $i)
|
||||
done;
|
||||
'' + extraCommands;
|
||||
});
|
||||
}
|
||||
|
@ -7,7 +7,7 @@
|
||||
# $ nix-build '<nixpkgs>' -A dockerTools.examples.redis
|
||||
# $ docker load < result
|
||||
|
||||
{ pkgs, buildImage, pullImage, shadowSetup }:
|
||||
{ pkgs, buildImage, pullImage, shadowSetup, buildImageWithNixDb }:
|
||||
|
||||
rec {
|
||||
# 1. basic example
|
||||
@ -83,7 +83,7 @@ rec {
|
||||
};
|
||||
|
||||
# 4. example of pulling an image. could be used as a base for other images
|
||||
nix = pullImage {
|
||||
nixFromDockerHub = pullImage {
|
||||
imageName = "nixos/nix";
|
||||
imageTag = "1.11";
|
||||
# this hash will need change if the tag is updated at docker hub
|
||||
@ -101,4 +101,17 @@ rec {
|
||||
pkgs.nano
|
||||
];
|
||||
};
|
||||
|
||||
# 5. nix example to play with the container nix store
|
||||
# docker run -it --rm nix nix-store -qR $(nix-build '<nixpkgs>' -A nix)
|
||||
nix = buildImageWithNixDb {
|
||||
name = "nix";
|
||||
contents = [
|
||||
# nix-store -qR uses the 'more' program which is not included in
|
||||
# the pkgs.nix dependencies. We then have to manually get it
|
||||
# from the 'eject' package:/
|
||||
pkgs.eject
|
||||
pkgs.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
description = "A lightweight program for configuring the theme and fonts of gtk applications";
|
||||
homepage = http://lxde.org/;
|
||||
maintainers = [ stdenv.lib.maintainers.hinton ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Mixer library for MATE";
|
||||
homepage = https://github.com/mate-desktop/libmatemixer;
|
||||
license = with licenses; [ gpl2 lgpl2 ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Library with common API for various MATE modules";
|
||||
homepage = http://mate-desktop.org;
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.romildo ];
|
||||
};
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
|
||||
# Compile with PIC to prevent colliding modules with binutils 2.28.
|
||||
# https://issues.dlang.org/show_bug.cgi?id=17375
|
||||
usePIC = "-fPIC";
|
||||
ROOT_HOME_DIR = "$(echo ~root)";
|
||||
|
||||
postPatch = ''
|
||||
# Ugly hack so the dlopen call has a chance to succeed.
|
||||
@ -67,19 +68,23 @@ stdenv.mkDerivation rec {
|
||||
--replace g++ $CXX
|
||||
''
|
||||
|
||||
+ stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace dmd/src/root/port.c \
|
||||
--replace "#include <bits/mathdef.h>" "#include <complex.h>"
|
||||
''
|
||||
+ stdenv.lib.optionalString stdenv.hostPlatform.isLinux ''
|
||||
substituteInPlace dmd/src/root/port.c \
|
||||
--replace "#include <bits/mathdef.h>" "#include <complex.h>"
|
||||
|
||||
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace dmd/src/posix.mak \
|
||||
--replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
|
||||
# See https://github.com/NixOS/nixpkgs/issues/29443
|
||||
substituteInPlace phobos/std/path.d \
|
||||
--replace "\"/root" "\"${ROOT_HOME_DIR}"
|
||||
''
|
||||
|
||||
# Was not able to compile on darwin due to "__inline_isnanl"
|
||||
# being undefined.
|
||||
substituteInPlace dmd/src/root/port.c --replace __inline_isnanl __inline_isnan
|
||||
'';
|
||||
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
substituteInPlace dmd/src/posix.mak \
|
||||
--replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
|
||||
|
||||
# Was not able to compile on darwin due to "__inline_isnanl"
|
||||
# being undefined.
|
||||
substituteInPlace dmd/src/root/port.c --replace __inline_isnanl __inline_isnan
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip which ];
|
||||
buildInputs = [ curl tzdata ];
|
||||
@ -96,7 +101,8 @@ stdenv.mkDerivation rec {
|
||||
cd ..
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
# disable check phase because some tests are not working with sandboxing
|
||||
doCheck = false;
|
||||
|
||||
checkPhase = ''
|
||||
cd dmd
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub
|
||||
, makeWrapper, unzip, which
|
||||
, curl, tzdata, gdb
|
||||
, curl, tzdata, gdb, darwin
|
||||
# Versions 2.070.2 and up require a working dmd compiler to build:
|
||||
, bootstrapDmd }:
|
||||
|
||||
@ -73,7 +73,12 @@ stdenv.mkDerivation rec {
|
||||
--replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ bootstrapDmd makeWrapper unzip which gdb ];
|
||||
nativeBuildInputs = [ bootstrapDmd makeWrapper unzip which gdb ]
|
||||
|
||||
++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
|
||||
Foundation
|
||||
]);
|
||||
|
||||
buildInputs = [ curl tzdata ];
|
||||
|
||||
# Buid and install are based on http://wiki.dlang.org/Building_DMD
|
||||
@ -92,7 +97,8 @@ stdenv.mkDerivation rec {
|
||||
cd ..
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
# disable check phase because some tests are not working with sandboxing
|
||||
doCheck = false;
|
||||
|
||||
checkPhase = ''
|
||||
cd dmd
|
||||
|
@ -81,7 +81,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "DMD=$DMD" ];
|
||||
|
||||
doCheck = true;
|
||||
# disable check phase because some tests are not working with sandboxing
|
||||
doCheck = false;
|
||||
|
||||
checkPhase = ''
|
||||
ctest -j $NIX_BUILD_CORES -V DMD=$DMD
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, lib, fetchurl, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib, lndir
|
||||
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor
|
||||
, libjpeg, giflib
|
||||
@ -75,11 +75,14 @@ let
|
||||
gtk2 gnome_vfs GConf glib
|
||||
];
|
||||
|
||||
#move the seven other source dirs under the main jdk8u directory,
|
||||
#with version suffixes removed, as the remainder of the build will expect
|
||||
prePatch = ''
|
||||
ls | grep jdk | grep -v '^jdk8u' | awk -F- '{print $1}' | while read p; do
|
||||
mv $p-* $(ls | grep '^jdk8u')/$p
|
||||
mainDir=$(find . -maxdepth 1 -name jdk8u\*);
|
||||
find . -maxdepth 1 -name \*jdk\* -not -name jdk8u\* | awk -F- '{print $1}' | while read p; do
|
||||
mv $p-* $mainDir/$p
|
||||
done
|
||||
cd $(ls | grep '^jdk8u')
|
||||
cd $mainDir
|
||||
'';
|
||||
|
||||
patches = [
|
||||
@ -95,7 +98,7 @@ let
|
||||
|
||||
preConfigure = ''
|
||||
chmod +x configure
|
||||
substituteInPlace configure --replace /bin/bash "$shell"
|
||||
substituteInPlace configure --replace /bin/bash "${bash}/bin/bash"
|
||||
substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "$shell"
|
||||
substituteInPlace hotspot/make/linux/makefiles/dtrace.make --replace /usr/include/sys/sdt.h "/no-such-path"
|
||||
''
|
||||
@ -188,10 +191,11 @@ let
|
||||
done
|
||||
|
||||
# Generate certificates.
|
||||
pushd $jre/lib/openjdk/jre/lib/security
|
||||
rm cacerts
|
||||
perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
popd
|
||||
(
|
||||
cd $jre/lib/openjdk/jre/lib/security
|
||||
rm cacerts
|
||||
perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
)
|
||||
|
||||
ln -s $out/lib/openjdk/bin $out/bin
|
||||
ln -s $jre/lib/openjdk/jre/bin $jre/bin
|
||||
@ -221,13 +225,13 @@ let
|
||||
# Build the set of output library directories to rpath against
|
||||
LIBDIRS=""
|
||||
for output in $outputs; do
|
||||
LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \; | sort | uniq | tr '\n' ':'):$LIBDIRS"
|
||||
LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort | uniq | tr '\n' ':'):$LIBDIRS"
|
||||
done
|
||||
|
||||
# Add the local library paths to remove dependencies on the bootstrap
|
||||
for output in $outputs; do
|
||||
OUTPUTDIR="$(eval echo \$$output)"
|
||||
BINLIBS="$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)"
|
||||
OUTPUTDIR=$(eval echo \$$output)
|
||||
BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
|
||||
echo "$BINLIBS" | while read i; do
|
||||
patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
|
||||
patchelf --shrink-rpath "$i" || true
|
||||
|
262
pkgs/development/compilers/openjdk/9.nix
Normal file
262
pkgs/development/compilers/openjdk/9.nix
Normal file
@ -0,0 +1,262 @@
|
||||
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
|
||||
, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib, lndir
|
||||
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor
|
||||
, libjpeg, giflib
|
||||
, setJavaClassPath
|
||||
, minimal ? false
|
||||
#, enableInfinality ? true # font rendering patch
|
||||
, enableGnome2 ? true, gtk2, gnome_vfs, glib, GConf
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
/**
|
||||
* The JRE libraries are in directories that depend on the CPU.
|
||||
*/
|
||||
architecture =
|
||||
if stdenv.system == "i686-linux" then
|
||||
"i386"
|
||||
else if stdenv.system == "x86_64-linux" then
|
||||
"amd64"
|
||||
else
|
||||
throw "openjdk requires i686-linux or x86_64 linux";
|
||||
|
||||
update = "";
|
||||
build = "181";
|
||||
baseurl = "http://hg.openjdk.java.net/jdk9/jdk9";
|
||||
repover = "jdk-9${update}+${build}";
|
||||
paxflags = if stdenv.isi686 then "msp" else "m";
|
||||
jdk9 = fetchurl {
|
||||
url = "${baseurl}/archive/${repover}.tar.gz";
|
||||
sha256 = "0c7jwz4qvl93brs6c2v4dfc2v3lsv6ic0y72lkh04bnxg9343z82";
|
||||
};
|
||||
langtools = fetchurl {
|
||||
url = "${baseurl}/langtools/archive/${repover}.tar.gz";
|
||||
sha256 = "1wa5rjan6lcs8nnxndbwpw6gkx3qbw013s6zisjjczkcaiq044pp";
|
||||
};
|
||||
hotspot = fetchurl {
|
||||
url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
|
||||
sha256 = "00jnj19rim1gxpsxrpr8ifx1glwrbma3qjiy1ya7n5f08fb263hs";
|
||||
};
|
||||
corba = fetchurl {
|
||||
url = "${baseurl}/corba/archive/${repover}.tar.gz";
|
||||
sha256 = "1gvx6dblzj7rb8648iqwdiv36x97ibykgs323dd9044n3vbqihvj";
|
||||
};
|
||||
jdk = fetchurl {
|
||||
url = "${baseurl}/jdk/archive/${repover}.tar.gz";
|
||||
sha256 = "15pwdw6s03rfyw2gx06xg4f70bjl8j19ycssxiigj39h524xc9aw";
|
||||
};
|
||||
jaxws = fetchurl {
|
||||
url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
|
||||
sha256 = "0jz32pjbgr77ybb2v1vwr1n9ljdrc3y0d5lrj072g3is1hmn2wbh";
|
||||
};
|
||||
jaxp = fetchurl {
|
||||
url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
|
||||
sha256 = "1jdxr9hcqx6va56ll5s2x9bx9dnlrs7zyvhjk1zgr5hxg5yfcqzr";
|
||||
};
|
||||
nashorn = fetchurl {
|
||||
url = "${baseurl}/nashorn/archive/${repover}.tar.gz";
|
||||
sha256 = "12lihmw9ga6yhz0h26fvfablcjkkma0k3idjggmap97xha8zgd6n";
|
||||
};
|
||||
openjdk9 = stdenv.mkDerivation {
|
||||
name = "openjdk-9${update}-b${build}";
|
||||
|
||||
srcs = [ jdk9 langtools hotspot corba jdk jaxws jaxp nashorn ];
|
||||
sourceRoot = ".";
|
||||
|
||||
outputs = [ "out" "jre" ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [
|
||||
cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
|
||||
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
|
||||
libXi libXinerama libXcursor lndir fontconfig
|
||||
] ++ lib.optionals (!minimal && enableGnome2) [
|
||||
gtk2 gnome_vfs GConf glib
|
||||
];
|
||||
|
||||
#move the seven other source dirs under the main jdk8u directory,
|
||||
#with version suffixes removed, as the remainder of the build will expect
|
||||
prePatch = ''
|
||||
mainDir=$(find . -maxdepth 1 -name jdk9\*);
|
||||
find . -maxdepth 1 -name \*jdk\* -not -name jdk9\* | awk -F- '{print $1}' | while read p; do
|
||||
mv $p-* $mainDir/$p
|
||||
done
|
||||
cd $mainDir
|
||||
'';
|
||||
|
||||
patches = [
|
||||
./fix-java-home-jdk9.patch
|
||||
./read-truststore-from-env-jdk9.patch
|
||||
./currency-date-range-jdk8.patch
|
||||
#] ++ lib.optionals (!minimal && enableInfinality) [
|
||||
# ./004_add-fontconfig.patch
|
||||
# ./005_enable-infinality.patch
|
||||
] ++ lib.optionals (!minimal && enableGnome2) [
|
||||
./swing-use-gtk-jdk9.patch
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
chmod +x configure
|
||||
substituteInPlace configure --replace /bin/bash "${bash}/bin/bash"
|
||||
|
||||
configureFlagsArray=(
|
||||
"--with-boot-jdk=${bootjdk.home}"
|
||||
"--with-update-version=${update}"
|
||||
"--with-build-number=${build}"
|
||||
"--with-milestone=fcs"
|
||||
"--enable-unlimited-crypto"
|
||||
"--disable-debug-symbols"
|
||||
"--disable-freetype-bundling"
|
||||
"--with-zlib=system"
|
||||
"--with-giflib=system"
|
||||
"--with-stdc++lib=dynamic"
|
||||
|
||||
# glibc 2.24 deprecated readdir_r so we need this
|
||||
# See https://www.mail-archive.com/openembedded-devel@lists.openembedded.org/msg49006.html
|
||||
"--with-extra-cflags=-Wno-error=deprecated-declarations -Wno-error=format-contains-nul -Wno-error=unused-result"
|
||||
''
|
||||
+ lib.optionalString minimal "\"--enable-headless-only\""
|
||||
+ ");"
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1306558
|
||||
# https://github.com/JetBrains/jdk8u/commit/eaa5e0711a43d64874111254d74893fa299d5716
|
||||
+ stdenv.lib.optionalString stdenv.cc.isGNU ''
|
||||
NIX_CFLAGS_COMPILE+=" -fno-lifetime-dse -fno-delete-null-pointer-checks -std=gnu++98 -Wno-error"
|
||||
'';
|
||||
|
||||
NIX_LDFLAGS= lib.optionals (!minimal) [
|
||||
"-lfontconfig" "-lcups" "-lXinerama" "-lXrandr" "-lmagic"
|
||||
] ++ lib.optionals (!minimal && enableGnome2) [
|
||||
"-lgtk-x11-2.0" "-lgio-2.0" "-lgnomevfs-2" "-lgconf-2"
|
||||
];
|
||||
|
||||
buildFlags = [ "all" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
|
||||
|
||||
cp -av build/*/images/jdk/* $out/lib/openjdk
|
||||
|
||||
# Remove some broken manpages.
|
||||
rm -rf $out/lib/openjdk/man/ja*
|
||||
|
||||
# Mirror some stuff in top-level.
|
||||
mkdir $out/include $out/share/man
|
||||
ln -s $out/lib/openjdk/include/* $out/include/
|
||||
ln -s $out/lib/openjdk/man/* $out/share/man/
|
||||
|
||||
# jni.h expects jni_md.h to be in the header search path.
|
||||
ln -s $out/include/linux/*_md.h $out/include/
|
||||
|
||||
# Copy the JRE to a separate output and setup fallback fonts
|
||||
cp -av build/*/images/jre $jre/lib/openjdk/
|
||||
mkdir $out/lib/openjdk/jre
|
||||
${lib.optionalString (!minimal) ''
|
||||
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||
''}
|
||||
|
||||
# Remove crap from the installation.
|
||||
rm -rf $out/lib/openjdk/demo
|
||||
${lib.optionalString minimal ''
|
||||
for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do
|
||||
rm ''${d}/{libjsound,libjsoundalsa,libawt*,libfontmanager}.so
|
||||
done
|
||||
''}
|
||||
|
||||
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
||||
|
||||
# Make sure cmm/*.pf are not symlinks:
|
||||
# https://youtrack.jetbrains.com/issue/IDEA-147272
|
||||
# in 9, it seems no *.pf files end up in $out ... ?
|
||||
# rm -rf $out/lib/openjdk/jre/lib/cmm
|
||||
# ln -s {$jre,$out}/lib/openjdk/jre/lib/cmm
|
||||
|
||||
# Set PaX markings
|
||||
exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
|
||||
echo "to mark: *$exes*"
|
||||
for file in $exes; do
|
||||
echo "marking *$file*"
|
||||
paxmark ${paxflags} "$file"
|
||||
done
|
||||
|
||||
# Remove duplicate binaries.
|
||||
for i in $(cd $out/lib/openjdk/bin && echo *); do
|
||||
if [ "$i" = java ]; then continue; fi
|
||||
if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
|
||||
ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
|
||||
fi
|
||||
done
|
||||
|
||||
# Generate certificates.
|
||||
(
|
||||
cd $jre/lib/openjdk/jre/lib/security
|
||||
rm cacerts
|
||||
perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||
)
|
||||
|
||||
ln -s $out/lib/openjdk/bin $out/bin
|
||||
ln -s $jre/lib/openjdk/jre/bin $jre/bin
|
||||
ln -s $jre/lib/openjdk/jre $out/jre
|
||||
'';
|
||||
|
||||
# FIXME: this is unnecessary once the multiple-outputs branch is merged.
|
||||
preFixup = ''
|
||||
prefix=$jre stripDirs "$stripDebugList" "''${stripDebugFlags:--S}"
|
||||
patchELF $jre
|
||||
propagatedNativeBuildInputs+=" $jre"
|
||||
|
||||
# Propagate the setJavaClassPath setup hook from the JRE so that
|
||||
# any package that depends on the JRE has $CLASSPATH set up
|
||||
# properly.
|
||||
mkdir -p $jre/nix-support
|
||||
#TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
|
||||
echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-native-build-inputs
|
||||
|
||||
# Set JAVA_HOME automatically.
|
||||
mkdir -p $out/nix-support
|
||||
cat <<EOF > $out/nix-support/setup-hook
|
||||
if [ -z "\$JAVA_HOME" ]; then export JAVA_HOME=$out/lib/openjdk; fi
|
||||
EOF
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# Build the set of output library directories to rpath against
|
||||
LIBDIRS=""
|
||||
for output in $outputs; do
|
||||
LIBDIRS="$(find $(eval echo \$$output) -name \*.so\* -exec dirname {} \+ | sort | uniq | tr '\n' ':'):$LIBDIRS"
|
||||
done
|
||||
|
||||
# Add the local library paths to remove dependencies on the bootstrap
|
||||
for output in $outputs; do
|
||||
OUTPUTDIR=$(eval echo \$$output)
|
||||
BINLIBS=$(find $OUTPUTDIR/bin/ -type f; find $OUTPUTDIR -name \*.so\*)
|
||||
echo "$BINLIBS" | while read i; do
|
||||
patchelf --set-rpath "$LIBDIRS:$(patchelf --print-rpath "$i")" "$i" || true
|
||||
patchelf --shrink-rpath "$i" || true
|
||||
done
|
||||
done
|
||||
|
||||
# Test to make sure that we don't depend on the bootstrap
|
||||
for output in $outputs; do
|
||||
if grep -q -r '${bootjdk}' $(eval echo \$$output); then
|
||||
echo "Extraneous references to ${bootjdk} detected"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://openjdk.java.net/;
|
||||
license = licenses.gpl2;
|
||||
description = "The open-source Java Development Kit";
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
inherit architecture;
|
||||
home = "${openjdk9}/lib/openjdk";
|
||||
};
|
||||
};
|
||||
in openjdk9
|
14
pkgs/development/compilers/openjdk/fix-java-home-jdk9.patch
Normal file
14
pkgs/development/compilers/openjdk/fix-java-home-jdk9.patch
Normal file
@ -0,0 +1,14 @@
|
||||
--- a/hotspot/src/os/linux/vm/os_linux.cpp 2017-07-04 23:09:02.533972226 -0400
|
||||
+++ b/hotspot/src/os/linux/vm/os_linux.cpp 2017-07-04 23:07:52.118338845 -0400
|
||||
@@ -2318,10 +2318,7 @@
|
||||
assert(ret, "cannot locate libjvm");
|
||||
char *rp = NULL;
|
||||
if (ret && dli_fname[0] != '\0') {
|
||||
- rp = realpath(dli_fname, buf);
|
||||
- }
|
||||
- if (rp == NULL) {
|
||||
- return;
|
||||
+ snprintf(buf, buflen, "%s", dli_fname);
|
||||
}
|
||||
|
||||
if (Arguments::sun_java_launcher_is_altjvm()) {
|
@ -0,0 +1,20 @@
|
||||
--- a/jdk/src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java 2017-06-26 21:48:25.000000000 -0400
|
||||
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/TrustStoreManager.java.new 2017-07-05 20:45:57.491295030 -0400
|
||||
@@ -71,6 +71,7 @@
|
||||
*
|
||||
* The preference of the default trusted KeyStore is:
|
||||
* javax.net.ssl.trustStore
|
||||
+ * system environment variable JAVAX_NET_SSL_TRUSTSTORE
|
||||
* jssecacerts
|
||||
* cacerts
|
||||
*/
|
||||
@@ -144,6 +145,9 @@
|
||||
String temporaryName = "";
|
||||
File temporaryFile = null;
|
||||
long temporaryTime = 0L;
|
||||
+ if (storePropName == null){
|
||||
+ storePropName = System.getenv("JAVAX_NET_SSL_TRUSTSTORE");
|
||||
+ }
|
||||
if (!"NONE".equals(storePropName)) {
|
||||
String[] fileNames =
|
||||
new String[] {storePropName, defaultStore};
|
26
pkgs/development/compilers/openjdk/swing-use-gtk-jdk9.patch
Normal file
26
pkgs/development/compilers/openjdk/swing-use-gtk-jdk9.patch
Normal file
@ -0,0 +1,26 @@
|
||||
diff -ru3 a/jdk/src/share/classes/javax/swing/UIManager.java b/jdk/src/share/classes/javax/swing/UIManager.java
|
||||
--- a/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java 2016-07-26 00:41:37.000000000 +0300
|
||||
+++ b/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java 2016-10-02 22:46:01.890071761 +0300
|
||||
@@ -607,11 +607,9 @@
|
||||
if (osType == OSInfo.OSType.WINDOWS) {
|
||||
return "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
|
||||
} else {
|
||||
- String desktop = AccessController.doPrivileged(new GetPropertyAction("sun.desktop"));
|
||||
Toolkit toolkit = Toolkit.getDefaultToolkit();
|
||||
- if ("gnome".equals(desktop) &&
|
||||
- toolkit instanceof SunToolkit &&
|
||||
- ((SunToolkit) toolkit).isNativeGTKAvailable()) {
|
||||
+ if (toolkit instanceof SunToolkit &&
|
||||
+ ((SunToolkit) toolkit).isNativeGTKAvailable()) {
|
||||
// May be set on Linux and Solaris boxs.
|
||||
return "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";
|
||||
}
|
||||
@@ -1341,7 +1339,7 @@
|
||||
lafName = (String) lafData.remove("defaultlaf");
|
||||
}
|
||||
if (lafName == null) {
|
||||
- lafName = getCrossPlatformLookAndFeelClassName();
|
||||
+ lafName = getSystemLookAndFeelClassName();
|
||||
}
|
||||
lafName = swingProps.getProperty(defaultLAFKey, lafName);
|
||||
|
@ -720,6 +720,9 @@ self: super: {
|
||||
# It makes no sense to have intero-nix-shim in Hackage, so we publish it here only.
|
||||
intero-nix-shim = self.callPackage ../tools/haskell/intero-nix-shim {};
|
||||
|
||||
# vaultenv is not available from Hackage.
|
||||
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
|
||||
|
||||
# https://github.com/Philonous/hs-stun/pull/1
|
||||
# Remove if a version > 0.1.0.1 ever gets released.
|
||||
stunclient = overrideCabal super.stunclient (drv: {
|
||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://sourceforge.net/projects/dirac;
|
||||
description = "A general-purpose video codec based on wavelets";
|
||||
platforms = platforms.all;
|
||||
platforms = platforms.linux;
|
||||
license = with licenses; [ mpl11 gpl2 lgpl21 ];
|
||||
maintainer = maintainers.igsha;
|
||||
};
|
||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://www.nic.ad.jp/ja/idn/idnkit;
|
||||
description = "Provides functionalities about i18n domain name processing";
|
||||
license = "idnkit-2 license";
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ wkennington ];
|
||||
};
|
||||
}
|
||||
|
@ -2,14 +2,14 @@
|
||||
, ApplicationServices, CoreServices }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.13.1";
|
||||
version = "1.14.1";
|
||||
name = "libuv-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libuv";
|
||||
repo = "libuv";
|
||||
rev = "v${version}";
|
||||
sha256 = "0k348kgdphha1w4cw78zngq3gqcrhcn0az7k0k4w2bgmdf4ip8z8";
|
||||
sha256 = "1121qvnvpcabq1bl2k41jq8r2hn2x123csiaf7s9vrq66bbxgfdx";
|
||||
};
|
||||
|
||||
postPatch = let
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
let optional = stdenv.lib.optional;
|
||||
in stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lmdb-${version}";
|
||||
version = "0.9.21";
|
||||
|
||||
@ -16,7 +15,8 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "bin" "out" "dev" ];
|
||||
|
||||
makeFlags = [ "prefix=$(out)" "CC=cc" ];
|
||||
makeFlags = [ "prefix=$(out)" "CC=cc" ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so";
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = "make test";
|
||||
@ -25,12 +25,6 @@ in stdenv.mkDerivation rec {
|
||||
moveToOutput bin "$bin"
|
||||
moveToOutput "lib/*.a" REMOVE # until someone needs it
|
||||
''
|
||||
|
||||
# fix bogus library name
|
||||
+ stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
mv "$out"/lib/liblmdb.{so,dylib}
|
||||
''
|
||||
|
||||
# add lmdb.pc (dynamic only)
|
||||
+ ''
|
||||
mkdir -p "$dev/lib/pkgconfig"
|
||||
|
@ -123,7 +123,7 @@ if [ -z "$NIX_QT5_TMP" ]; then
|
||||
|
||||
mkdir -p "$NIX_QT5_TMP/nix-support"
|
||||
for subdir in bin include lib mkspecs share; do
|
||||
mkdir "$NIX_QT5_TMP/$subdir"
|
||||
mkdir -p "$NIX_QT5_TMP/$subdir"
|
||||
echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
|
||||
done
|
||||
|
||||
|
@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://git.samba.org/?p=uid_wrapper.git;a=summary;";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ wkennington ];
|
||||
platforms = platforms.all;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook,
|
||||
zimg, libass, yasm, python3,
|
||||
zimg, libass, yasm, python3, libiconv, ApplicationServices,
|
||||
ocrSupport ? false, tesseract,
|
||||
imwriSupport? true, imagemagick7
|
||||
}:
|
||||
@ -20,11 +20,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0nabl6949s7awy7rnr4ck52v50xr0hwr280fyzsqixgp8w369jn0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoreconfHook ];
|
||||
buildInputs = [
|
||||
pkgconfig autoreconfHook
|
||||
zimg libass tesseract yasm
|
||||
(python3.withPackages (ps: with ps; [ sphinx cython ]))
|
||||
] ++ optional ocrSupport tesseract
|
||||
] ++ optionals stdenv.isDarwin [ libiconv ApplicationServices ]
|
||||
++ optional ocrSupport tesseract
|
||||
++ optional imwriSupport imagemagick7;
|
||||
|
||||
configureFlags = [
|
||||
|
@ -1,9 +1,10 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, blas }:
|
||||
{ stdenv, fetchFromGitHub, cmake, pkgconfig, boost, blas
|
||||
, Accelerate, CoreGraphics, CoreVideo
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.6.2";
|
||||
name = "vmmlib-${version}";
|
||||
buildInputs = [ stdenv pkgconfig cmake boost blas ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "VMML";
|
||||
@ -12,13 +13,17 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0sn6jl1r5k6ka0vkjsdnn14hb95dqq8158dapby6jk72wqj9kdml";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./disable-cpack.patch #disable the need of cpack/rpm
|
||||
];
|
||||
|
||||
patches = [
|
||||
./disable-cpack.patch #disable the need of cpack/rpm
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
buildInputs = [ boost blas ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ Accelerate CoreGraphics CoreVideo ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
doCheck = true;
|
||||
doCheck = !stdenv.isDarwin;
|
||||
|
||||
checkTarget = "test";
|
||||
|
||||
@ -36,6 +41,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://github.com/VMML/vmmlib/;
|
||||
maintainers = [ maintainers.adev ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -11,10 +11,17 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ boost sqlite ];
|
||||
|
||||
meta = {
|
||||
prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace Makefile.in \
|
||||
--replace '-Wl,--as-needed' "" \
|
||||
--replace '-Wl,-soname -Wl,libvsqlitepp.so.3' \
|
||||
"-Wl,-install_name,$out/lib/libvsqlitepp.3.dylib"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://vsqlite.virtuosic-bytes.com/;
|
||||
description = "C++ wrapper library for sqlite.";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -65,6 +65,7 @@
|
||||
, "peerflix-server"
|
||||
, "phantomjs"
|
||||
, "prettier"
|
||||
, "pulp"
|
||||
, "react-tools"
|
||||
, "s3http"
|
||||
, "semver"
|
||||
|
File diff suppressed because it is too large
Load Diff
21
pkgs/development/python-modules/blessed/default.nix
Normal file
21
pkgs/development/python-modules/blessed/default.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, six, wcwidth }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "blessed";
|
||||
version = "1.14.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0fv9f0074kxy1849h0kwwxw12sifpq3bv63pcz900zzjsigi4hi3";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ wcwidth six ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/jquast/blessed;
|
||||
description = "A thin, practical wrapper around terminal capabilities in Python.";
|
||||
maintainers = with maintainers; [ eqyiel ];
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
23
pkgs/development/python-modules/cement/default.nix
Normal file
23
pkgs/development/python-modules/cement/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi }:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "cement";
|
||||
name = "${pname}-${version}";
|
||||
version = "2.8.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1li2whjzfhbpg6fjb6r1r92fb3967p1xv6hqs3j787865h2ysrc7";
|
||||
};
|
||||
|
||||
# Disable test tests since they depend on a memcached server running on
|
||||
# 127.0.0.1:11211.
|
||||
doCheck = false;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://builtoncement.com/;
|
||||
description = "A CLI Application Framework for Python.";
|
||||
maintainers = with maintainers; [ eqyiel ];
|
||||
license = licenses.bsd3;
|
||||
};
|
||||
}
|
@ -6,8 +6,8 @@
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
baseVersion = "4.3";
|
||||
revision = "1";
|
||||
baseVersion = "4.4";
|
||||
revision = "0";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz";
|
||||
sha256 = "1bd4wxvp8b5imsmrbnn8rkiln38g74g2545x07pmihc8z51qh2h6";
|
||||
sha256 = "00k2bb2pamqlq0i619wz8chii8yp884qnrjngzzxrdffk05d95wc";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ];
|
||||
|
26
pkgs/development/tools/haskell/vaultenv/default.nix
Normal file
26
pkgs/development/tools/haskell/vaultenv/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ mkDerivation, fetchurl, async, base, bytestring, http-conduit, lens
|
||||
, lens-aeson, optparse-applicative, retry, stdenv, text, unix
|
||||
, unordered-containers, utf8-string
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "vaultenv";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/channable/vaultenv/archive/v${version}.tar.gz";
|
||||
sha256 = "0hdcxq88cf3ygnikkppyg3fcf7xmwm9zif7274j3n34p9vd8xci3";
|
||||
};
|
||||
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = [
|
||||
async base bytestring http-conduit lens lens-aeson
|
||||
optparse-applicative retry text unix unordered-containers
|
||||
utf8-string
|
||||
];
|
||||
homepage = "https://github.com/channable/vaultenv";
|
||||
description = "Runs processes with secrets from HashiCorp Vault";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
maintainers = with stdenv.lib.maintainers; [ lnl7 ];
|
||||
}
|
@ -62,15 +62,15 @@ let
|
||||
};
|
||||
in releaseTools.nixBuild rec {
|
||||
name = "hydra-${version}";
|
||||
version = "2017-07-27";
|
||||
version = "2017-09-14";
|
||||
|
||||
inherit stdenv;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "NixOS";
|
||||
repo = "hydra";
|
||||
rev = "3fc320db320c9aa5180c54e77513f1bcb7407079";
|
||||
sha256 = "0kml2rvy5pz8pzl23vfib5vrwxccff9j1jmyq926qv7f5kbzy61b";
|
||||
rev = "b828224fee451ad26e87cfe4eeb9c0704ee1062b";
|
||||
sha256 = "05xv10ldsa1rahxbbgh5kwvl1dv4yvc8idczpifgb55fgqj8zazm";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "tokei-${version}";
|
||||
version = "6.0.1";
|
||||
version = "6.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Aaronepower";
|
||||
repo = "tokei";
|
||||
rev = "v${version}";
|
||||
sha256 = "1v9h45vspsqsy86fm78bc2g5byqa4cd9b9fbmv7imi87yjbm8i7x";
|
||||
sha256 = "1bzs3mr6f9bna39b9ddwwq0raas07nbn106mnq3widxg59i0gxhd";
|
||||
};
|
||||
|
||||
depsSha256 = "0jqzk5qlrc7pm3s7jf8130vgnrcd54izw3mx84m9b5lhf3rz98hm";
|
||||
depsSha256 = "1cz93mrpxmyrza0ipdyg2a6mynl66plpsb446wxnmmy7y7zd6xbf";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -4,7 +4,7 @@ buildGoPackage rec {
|
||||
name = "textql-${version}";
|
||||
version = "2.0.3";
|
||||
rev = "${version}";
|
||||
|
||||
|
||||
goPackagePath = "github.com/dinedal/textql";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@ -16,6 +16,10 @@ buildGoPackage rec {
|
||||
|
||||
goDeps = ./deps.nix;
|
||||
|
||||
preFixup = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
install_name_tool -delete_rpath $out/lib $bin/bin/textql
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Execute SQL against structured text like CSV or TSV";
|
||||
homepage = https://github.com/dinedal/textql;
|
||||
|
@ -10,11 +10,11 @@ let
|
||||
baseName = if enableNpm then "nodejs" else "nodejs-slim";
|
||||
in
|
||||
stdenv.mkDerivation (nodejs // rec {
|
||||
version = "8.4.0";
|
||||
version = "8.5.0";
|
||||
name = "${baseName}-${version}";
|
||||
src = fetchurl {
|
||||
url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
|
||||
sha256 = "0qgkccsldpdrjxwwq78z94hsqz6qivmi4n2738iiginw06hs4njx";
|
||||
sha256 = "0g2wyy9zdjzm9c0vbjn8bn49s1b2c7r2iwdfc4dpx7h4wpcfbkg1";
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
|
||||
|
@ -1,35 +1,22 @@
|
||||
{ stdenv, fetchurl, SDL, mesa, SDL_ttf, gettext, zlib, SDL_mixer, SDL_image, guile
|
||||
, debug ? false }:
|
||||
{ stdenv, fetchFromGitHub, cmake, SDL2, SDL2_ttf, gettext, zlib, SDL2_mixer, SDL2_image, guile, mesa }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "trackballs-1.1.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/trackballs/trackballs-1.1.4.tar.gz;
|
||||
sha256 = "19ilnif59sxa8xmfisk90wngrd11pj8s86ixzypv8krm4znbm7a5";
|
||||
name = "trackballs-${version}";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "trackballs";
|
||||
repo = "trackballs";
|
||||
rev = "v${version}";
|
||||
sha256 = "13f28frni7fkalxx4wqvmkzz7ba3d8pic9f9sd2z9wa6gbjs9zrf";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib mesa SDL SDL_ttf SDL_mixer SDL_image guile gettext ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
CFLAGS = optionalString debug "-g -O0";
|
||||
CXXFLAGS = CFLAGS;
|
||||
dontStrip = debug;
|
||||
postUnpack = optionalString debug
|
||||
"mkdir -p $out/src; cp -R * $out/src ; cd $out/src";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-iquote ${SDL.dev}/include/SDL";
|
||||
configureFlags = optionalString debug "--enable-debug";
|
||||
|
||||
patchPhase = ''
|
||||
sed -i -e 's/images icons music/images music/' share/Makefile.in
|
||||
'';
|
||||
buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext mesa ];
|
||||
|
||||
meta = {
|
||||
homepage = http://trackballs.sourceforge.net/;
|
||||
homepage = https://trackballs.github.io/;
|
||||
description = "3D Marble Madness clone";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
|
@ -32,15 +32,15 @@ in rec {
|
||||
|
||||
unstable = fetchurl rec {
|
||||
# NOTE: Don't forget to change the SHA256 for staging as well.
|
||||
version = "2.16";
|
||||
version = "2.17";
|
||||
url = "https://dl.winehq.org/wine/source/2.x/wine-${version}.tar.xz";
|
||||
sha256 = "089cvb7gvhcq5kx1h114fmr09fmj84cz2bjvisa48v6dpv5fsqd5";
|
||||
sha256 = "0sgazjn30ki2y3bjrd0xbpf870ii22wkyrmgaxcwbk23j1rrbp3y";
|
||||
inherit (stable) mono gecko32 gecko64;
|
||||
};
|
||||
|
||||
staging = fetchFromGitHub rec {
|
||||
inherit (unstable) version;
|
||||
sha256 = "1q9dnifz02l96s1bafb4w2z779k8ancl37zd7wxbkf0ks2vrnln0";
|
||||
sha256 = "11jm39g1kc77fvn02j9g8syyc095b6w2jashyr28v4gi7g0fqv6h";
|
||||
owner = "wine-compholio";
|
||||
repo = "wine-staging";
|
||||
rev = "v${version}";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, rustPlatform, perl, zlib, openssl }:
|
||||
{ stdenv, fetchFromGitHub, rustPlatform, perl, zlib, openssl, curl }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
name = "tw-rs-${version}";
|
||||
@ -10,7 +10,9 @@ rustPlatform.buildRustPackage rec {
|
||||
rev = "${version}";
|
||||
sha256 = "1s1gk2wcs3792gdzrngksczz3gma5kv02ni2jqrhib8l6z8mg9ia";
|
||||
};
|
||||
buildInputs = [ perl zlib openssl ];
|
||||
|
||||
buildInputs = [ perl zlib openssl ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin curl;
|
||||
|
||||
depsSha256 = "1lg1jh6f9w28i94vaj62r859g6raalxmxabvw7av6sqr0hr56p05";
|
||||
|
||||
|
72
pkgs/os-specific/linux/fuse/common.nix
Normal file
72
pkgs/os-specific/linux/fuse/common.nix
Normal file
@ -0,0 +1,72 @@
|
||||
{ version, sha256Hash, maintainers }:
|
||||
|
||||
{ stdenv, fetchFromGitHub, fetchpatch
|
||||
, utillinux, autoconf, automake, libtool, gettext
|
||||
, fusePackages }:
|
||||
|
||||
let
|
||||
isFuse3 = stdenv.lib.hasPrefix "3" version;
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "fuse-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libfuse";
|
||||
repo = "libfuse";
|
||||
rev = name;
|
||||
sha256 = sha256Hash;
|
||||
};
|
||||
|
||||
patches = stdenv.lib.optional
|
||||
(!isFuse3 && stdenv.isAarch64)
|
||||
(fetchpatch {
|
||||
url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch";
|
||||
sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa";
|
||||
});
|
||||
|
||||
nativeBuildInputs = [ libtool autoconf automake ];
|
||||
buildInputs = [ gettext utillinux ];
|
||||
|
||||
outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common";
|
||||
|
||||
preConfigure = ''
|
||||
export MOUNT_FUSE_PATH=$out/sbin
|
||||
export INIT_D_PATH=$TMPDIR/etc/init.d
|
||||
export UDEV_RULES_PATH=$out/etc/udev/rules.d
|
||||
|
||||
# Ensure that FUSE calls the setuid wrapper, not
|
||||
# $out/bin/fusermount. It falls back to calling fusermount in
|
||||
# $PATH, so it should also work on non-NixOS systems.
|
||||
export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/run/wrappers/bin\""
|
||||
|
||||
sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c
|
||||
sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh
|
||||
|
||||
./makeconf.sh
|
||||
'';
|
||||
|
||||
postFixup = if isFuse3 then ''
|
||||
cd $out
|
||||
|
||||
mv bin/mount.fuse3 bin/mount.fuse
|
||||
mv etc/udev/rules.d/99-fuse3.rules etc/udev/rules.d/99-fuse.rules
|
||||
|
||||
install -D -m555 bin/mount.fuse $common/bin/mount.fuse
|
||||
install -D -m444 etc/udev/rules.d/99-fuse.rules $common/etc/udev/rules.d/99-fuse.rules
|
||||
install -D -m444 share/man/man8/mount.fuse.8.gz $common/share/man/man8/mount.fuse.8.gz
|
||||
'' else ''
|
||||
cd $out
|
||||
|
||||
cp ${fusePackages.fuse_3.common}/bin/mount.fuse bin/mount.fuse
|
||||
cp ${fusePackages.fuse_3.common}/etc/udev/rules.d/99-fuse.rules etc/udev/rules.d/99-fuse.rules
|
||||
cp ${fusePackages.fuse_3.common}/share/man/man8/mount.fuse.8.gz share/man/man8/mount.fuse.8.gz
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Kernel module and library that allows filesystems to be implemented in user space";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
inherit maintainers;
|
||||
};
|
||||
}
|
@ -1,47 +1,20 @@
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, utillinux
|
||||
, autoconf, automake, libtool, gettext }:
|
||||
{ stdenv, callPackage, utillinux }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fuse-${version}";
|
||||
version = "2.9.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libfuse";
|
||||
repo = "libfuse";
|
||||
rev = name;
|
||||
sha256 = "1wyjjfb7p4jrkk15zryzv33096a5fmsdyr2p4b00dd819wnly2n2";
|
||||
let
|
||||
mkFuse = args: callPackage (import ./common.nix args) {
|
||||
inherit utillinux;
|
||||
};
|
||||
|
||||
buildInputs = [ utillinux autoconf automake libtool gettext ];
|
||||
|
||||
patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
|
||||
url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch";
|
||||
sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa";
|
||||
});
|
||||
|
||||
preConfigure =
|
||||
''
|
||||
export MOUNT_FUSE_PATH=$out/sbin
|
||||
export INIT_D_PATH=$TMPDIR/etc/init.d
|
||||
export UDEV_RULES_PATH=$out/etc/udev/rules.d
|
||||
|
||||
# Ensure that FUSE calls the setuid wrapper, not
|
||||
# $out/bin/fusermount. It falls back to calling fusermount in
|
||||
# $PATH, so it should also work on non-NixOS systems.
|
||||
export NIX_CFLAGS_COMPILE="-DFUSERMOUNT_DIR=\"/run/wrappers/bin\""
|
||||
|
||||
sed -e 's@/bin/@${utillinux}/bin/@g' -i lib/mount_util.c
|
||||
sed -e 's@CONFIG_RPATH=/usr/share/gettext/config.rpath@CONFIG_RPATH=${gettext}/share/gettext/config.rpath@' -i makeconf.sh
|
||||
|
||||
./makeconf.sh
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/libfuse/libfuse;
|
||||
description = "Kernel module and library that allows filesystems to be implemented in user space";
|
||||
platforms = platforms.linux;
|
||||
maintainers = stdenv.lib.maintainers;
|
||||
in {
|
||||
fuse_2 = mkFuse {
|
||||
version = "2.9.7";
|
||||
sha256Hash = "1wyjjfb7p4jrkk15zryzv33096a5fmsdyr2p4b00dd819wnly2n2";
|
||||
maintainers = [ maintainers.mornfall ];
|
||||
};
|
||||
|
||||
fuse_3 = mkFuse {
|
||||
version = "3.1.1";
|
||||
sha256Hash = "14mazl2i55fp4vjphwgcmk3mp2x3mhqwh9nci0rd0jl5lhpdmpq6";
|
||||
maintainers = [ maintainers.primeos ];
|
||||
};
|
||||
}
|
||||
|
@ -39,7 +39,7 @@ in stdenv.mkDerivation rec {
|
||||
sed -i "s,^PATH=.*,PATH=$out/bin:${statdPath}," utils/statd/start-statd
|
||||
|
||||
configureFlags="--with-start-statd=$out/bin/start-statd $configureFlags"
|
||||
|
||||
|
||||
substituteInPlace systemd/nfs-utils.service \
|
||||
--replace "/bin/true" "${coreutils}/bin/true"
|
||||
|
||||
|
@ -1,20 +1,20 @@
|
||||
{ stdenv, fetchurl, pkgconfig, hexdump, which
|
||||
, knot-dns, luajit, libuv, lmdb
|
||||
, cmocka, systemd, hiredis, libmemcached
|
||||
, gnutls, nettle
|
||||
, luajitPackages, makeWrapper
|
||||
, knot-dns, luajit, libuv, lmdb, gnutls, nettle
|
||||
, cmocka, systemd, dns-root-data, makeWrapper
|
||||
, extraFeatures ? false /* catch-all if defaults aren't enough */
|
||||
, hiredis, libmemcached, luajitPackages
|
||||
}:
|
||||
|
||||
let
|
||||
inherit (stdenv.lib) optional;
|
||||
inherit (stdenv.lib) optional optionals optionalString;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "knot-resolver-${version}";
|
||||
version = "1.3.3";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
|
||||
sha256 = "c679238bea5744de8a99f4402a61e9e58502bc42b40ecfa370e53679ed5d5b80";
|
||||
sha256 = "ac19c121fd687c7e4f5f907b46932d26f8f9d9e01626c4dadb3847e25ea31ceb";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
@ -23,18 +23,17 @@ stdenv.mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ pkgconfig which makeWrapper hexdump ];
|
||||
|
||||
buildInputs = [ knot-dns luajit libuv gnutls ]
|
||||
# http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
|
||||
buildInputs = [ knot-dns luajit libuv gnutls nettle ]
|
||||
++ optional stdenv.isLinux lmdb # system lmdb causes some problems on Darwin
|
||||
## optional dependencies; TODO: libedit, dnstap?
|
||||
++ optional doInstallCheck cmocka
|
||||
++ optional stdenv.isLinux systemd # socket activation
|
||||
++ [
|
||||
nettle # DNS cookies
|
||||
++ optional stdenv.isLinux systemd # sd_notify
|
||||
++ optionals extraFeatures [
|
||||
hiredis libmemcached # additional cache backends
|
||||
# http://knot-resolver.readthedocs.io/en/latest/build.html#requirements
|
||||
];
|
||||
## optional dependencies; TODO: libedit, dnstap, http2 module?
|
||||
|
||||
makeFlags = [ "PREFIX=$(out)" ];
|
||||
makeFlags = [ "PREFIX=$(out)" "ROOTHINTS=${dns-root-data}/root.hints" ];
|
||||
CFLAGS = [ "-O2" "-DNDEBUG" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -45,18 +44,21 @@ stdenv.mkDerivation rec {
|
||||
export LD_LIBRARY_PATH="$out/lib"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm "$out"/etc/kresd/root.hints # using system-wide instead
|
||||
''
|
||||
# optional: to allow auto-bootstrapping root trust anchor via https
|
||||
postInstall = with luajitPackages; ''
|
||||
wrapProgram "$out/sbin/kresd" \
|
||||
--set LUA_PATH '${
|
||||
stdenv.lib.concatStringsSep ";"
|
||||
(map getLuaPath [ luasec luasocket ])
|
||||
}' \
|
||||
--set LUA_CPATH '${
|
||||
stdenv.lib.concatStringsSep ";"
|
||||
(map getLuaCPath [ luasec luasocket ])
|
||||
}'
|
||||
'';
|
||||
+ (with luajitPackages; ''
|
||||
wrapProgram "$out/sbin/kresd" \
|
||||
--set LUA_PATH '${
|
||||
stdenv.lib.concatStringsSep ";"
|
||||
(map getLuaPath [ luasec luasocket ])
|
||||
}' \
|
||||
--set LUA_CPATH '${
|
||||
stdenv.lib.concatStringsSep ";"
|
||||
(map getLuaCPath [ luasec luasocket ])
|
||||
}'
|
||||
'');
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Caching validating DNS resolver, from .cz domain registry";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "piwik-${version}";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://builds.piwik.org/${name}.tar.gz";
|
||||
sha512 = "175300ibf0lg4xnyn5v47czi3vd6i7yqf1im3br4975f6k7w8q22m2mk2mi006795js5q52x48g4sc7wb47wac7wbla8wp98al48gfb";
|
||||
sha512 = "2mqzk12959j9xqb9cqz8np35zcs1313zjx9pikbjw9z9mfcqgv0ccvrnl2ymmwll333drr9qaxs54n0mkk66xbhz04nmzmib0kp9k8h";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -1,17 +1,21 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, glib, fuse, autoreconfHook }:
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, glib, fuse3, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.10"; # Temporary (need to add libfuse 3.x first)
|
||||
version = "3.2.0";
|
||||
name = "sshfs-fuse-${version}";
|
||||
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libfuse";
|
||||
repo = "sshfs";
|
||||
rev = "sshfs-${version}";
|
||||
sha256 = "1dmw4kx6vyawcywiv8drrajnam0m29mxfswcp4209qafzx3mjlp1";
|
||||
sha256 = "09pqdibhcj1p7m6vxkqiprvbcxp9iq2lm1hb6w7p8iarmvp80rlv";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig glib fuse autoreconfHook ];
|
||||
|
||||
buildInputs = [ pkgconfig glib fuse3 autoreconfHook ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = stdenv.lib.optional
|
||||
(stdenv.system == "i686-linux")
|
||||
"-D_FILE_OFFSET_BITS=64";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/sbin
|
||||
|
@ -1,38 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
patchPhase() {
|
||||
for i in $patches; do
|
||||
header "applying patch $i" 3
|
||||
patch -p0 < $i
|
||||
stopNest
|
||||
done
|
||||
|
||||
configureImakefiles "s:__PREFIX_PNG:$libpng:"
|
||||
configureImakefiles "s:__PREFIX:$out:"
|
||||
}
|
||||
|
||||
configureImakefiles() {
|
||||
local sedcmd=$1
|
||||
|
||||
sed "${sedcmd}" fig2dev/Imakefile > tmpsed
|
||||
cp tmpsed fig2dev/Imakefile
|
||||
|
||||
sed "${sedcmd}" fig2dev/dev/Imakefile > tmpsed
|
||||
cp tmpsed fig2dev/dev/Imakefile
|
||||
|
||||
sed "${sedcmd}" transfig/Imakefile > tmpsed
|
||||
cp tmpsed transfig/Imakefile
|
||||
}
|
||||
|
||||
buildPhase() {
|
||||
xmkmf
|
||||
make Makefiles
|
||||
make
|
||||
}
|
||||
|
||||
preInstall() {
|
||||
mkdir -p $out
|
||||
mkdir -p $out/lib
|
||||
}
|
||||
|
||||
genericBuild
|
@ -2,34 +2,63 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "transfig-3.2.4";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.tex.ac.uk/pub/archive/graphics/transfig/transfig.3.2.4.tar.gz;
|
||||
sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
|
||||
};
|
||||
|
||||
buildInputs = [zlib libjpeg libpng imake];
|
||||
inherit libpng;
|
||||
|
||||
patches = [
|
||||
./patch-fig2dev-dev-Imakefile
|
||||
./patch-fig2dev-Imakefile
|
||||
./patch-transfig-Imakefile
|
||||
./patch-fig2dev-fig2dev.h
|
||||
./patch-fig2dev-dev-gensvg.c
|
||||
];
|
||||
|
||||
patchPhase = ''
|
||||
runHook prePatch
|
||||
|
||||
configureImakefiles() {
|
||||
local sedcmd=$1
|
||||
|
||||
sed "$sedcmd" fig2dev/Imakefile > tmpsed
|
||||
cp tmpsed fig2dev/Imakefile
|
||||
|
||||
sed "$sedcmd" fig2dev/dev/Imakefile > tmpsed
|
||||
cp tmpsed fig2dev/dev/Imakefile
|
||||
|
||||
sed "$sedcmd" transfig/Imakefile > tmpsed
|
||||
cp tmpsed transfig/Imakefile
|
||||
}
|
||||
|
||||
for i in $patches; do
|
||||
header "applying patch $i" 3
|
||||
patch -p0 < $i
|
||||
stopNest
|
||||
done
|
||||
|
||||
configureImakefiles "s:__PREFIX_PNG:${libpng}:"
|
||||
configureImakefiles "s:__PREFIX:$out:"
|
||||
|
||||
runHook postPatch
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
xmkmf
|
||||
make Makefiles
|
||||
'';
|
||||
|
||||
makeFlags = [ "CC=cc" ];
|
||||
|
||||
preInstall = ''
|
||||
mkdir -p $out
|
||||
mkdir -p $out/lib
|
||||
'';
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
patches = [prefixPatch1 prefixPatch2 prefixPatch3 varargsPatch gensvgPatch];
|
||||
|
||||
prefixPatch1 =
|
||||
./patch-fig2dev-dev-Imakefile;
|
||||
|
||||
prefixPatch2 =
|
||||
./patch-fig2dev-Imakefile;
|
||||
|
||||
prefixPatch3 =
|
||||
./patch-transfig-Imakefile;
|
||||
|
||||
varargsPatch =
|
||||
./patch-fig2dev-fig2dev.h;
|
||||
|
||||
gensvgPatch =
|
||||
./patch-fig2dev-dev-gensvg.c;
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
|
@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
|
||||
version = "0.92.1-unstable";
|
||||
homepage = https://github.com/openstreetmap/osm2pgsql;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -27,6 +27,6 @@ in stdenv.mkDerivation {
|
||||
|
||||
license = stdenv.lib.licenses.mit;
|
||||
homepage = https://github.com/katmagic/Shallot;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "snapper-${version}";
|
||||
version = "0.3.3";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openSUSE";
|
||||
repo = "snapper";
|
||||
rev = "v${version}";
|
||||
sha256 = "12c2ygaanr4gny4ixnly4vpi0kv7snbg3khr3i5zwridhmdzz9hm";
|
||||
sha256 = "14hrv23film4iihyclcvc2r2dgxl8w3as50r81xjjc85iyp6yxkm";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
28
pkgs/tools/misc/ttwatch/default.nix
Normal file
28
pkgs/tools/misc/ttwatch/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, perl, openssl, curl, libusb1 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ttwatch-${version}";
|
||||
version = "2017-04-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ryanbinns";
|
||||
repo = "ttwatch";
|
||||
rev = "f07a12712ed331f1530db3846828641eb0e2f5c5";
|
||||
sha256 = "0y27bldmp6w02pjhr2cmy9g6n23vi0q26pil3rd7vbg4qjahxz27";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake perl ];
|
||||
buildInputs = [ openssl curl libusb1 ];
|
||||
|
||||
preFixup = ''
|
||||
chmod +x $out/bin/ttbin2mysports
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://github.com/ryanbinns/ttwatch;
|
||||
description = "Linux TomTom GPS Watch Utilities";
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
license = licenses.mit;
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
33
pkgs/tools/networking/assh/default.nix
Normal file
33
pkgs/tools/networking/assh/default.nix
Normal file
@ -0,0 +1,33 @@
|
||||
{ stdenv, lib, buildGoPackage, fetchFromGitHub, openssh, makeWrapper }:
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "assh-${version}";
|
||||
version = "2.6.0";
|
||||
|
||||
goPackagePath = "github.com/moul/advanced-ssh-config";
|
||||
subPackages = [ "cmd/assh" ];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
postInstall = stdenv.lib.optionalString (stdenv.isDarwin) ''
|
||||
install_name_tool -delete_rpath $out/lib $bin/bin/assh
|
||||
'' + ''
|
||||
wrapProgram "$bin/bin/assh" \
|
||||
--prefix PATH : ${openssh}/bin
|
||||
'';
|
||||
|
||||
src = fetchFromGitHub {
|
||||
repo = "advanced-ssh-config";
|
||||
owner = "moul";
|
||||
rev = "v${version}";
|
||||
sha256 = "1vv98dz5822k51xklnmky0lwfjw8nc6ryvn8lmv9n63ppwh9s2s6";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Advanced SSH config - Regex, aliases, gateways, includes and dynamic hosts";
|
||||
homepage = https://github.com/moul/advanced-ssh-config;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ zzamboni ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
@ -31,6 +31,6 @@ stdenv.mkDerivation {
|
||||
description = "Encrypted networking for regular people";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ehmry ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.3.1";
|
||||
version = "2.4.1";
|
||||
name = "ferm-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ferm.foo-projects.org/download/2.3/ferm-${version}.tar.gz";
|
||||
sha256 = "1scdnd2jk4787jyr6fxav2598g0x7hjic5b8bj77j8s0hki48m4a";
|
||||
url = "http://ferm.foo-projects.org/download/2.4/ferm-${version}.tar.xz";
|
||||
sha256 = "1fv8wk513yysp4q0i65rl2m0hg2lxwwgk9ppprsca1xcxrdpsvwa";
|
||||
};
|
||||
|
||||
buildInputs = [ perl ipset ebtables iptables makeWrapper ];
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Quick, precise tests for entire TCP/UDP/IPv4/IPv6 network stacks";
|
||||
homepage = https://github.com/google/packetdrill;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ dmjio cleverca22 ];
|
||||
};
|
||||
}
|
||||
|
@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://darkk.net.ru/redsocks/;
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = [ ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -10,6 +10,8 @@ pythonPackages.buildPythonApplication rec {
|
||||
sha256 = "1qcbhdnhdhhv7q6cqdgv0q55ic8fk18526zn2yb12x9r1s0lfp9z";
|
||||
};
|
||||
|
||||
patches = [ ./nox-review-wip.patch ];
|
||||
|
||||
buildInputs = [ pythonPackages.pbr git ];
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [
|
||||
|
11
pkgs/tools/package-management/nox/nox-review-wip.patch
Normal file
11
pkgs/tools/package-management/nox/nox-review-wip.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/nox/review.py 2017-09-23 04:04:37.322484753 +0200
|
||||
+++ a/nox/review.py 2017-09-23 04:18:31.582692181 +0200
|
||||
@@ -84,7 +84,7 @@
|
||||
ctx.obj['dry_run'] = dry_run
|
||||
|
||||
|
||||
-@cli.command(short_help='difference between working tree and a commit')
|
||||
+@cli.command('wip', short_help='difference between working tree and a commit')
|
||||
@click.option('--against', default='HEAD')
|
||||
@click.pass_context
|
||||
@setup_nixpkgs_config
|
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
outputs = [ "out" "geoip" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ libevent openssl zlib ] ++
|
||||
stdenv.lib.optionals stdenv.isLinux [ libseccomp systemd libcap ];
|
||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://trousers.sourceforge.net/;
|
||||
license = licenses.cpl10;
|
||||
maintainers = [ maintainers.ak ];
|
||||
platforms = platforms.unix;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://gdmap.sourceforge.net;
|
||||
description = "Recursive rectangle map of disk usage";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
||||
|
@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = https://www.cs.princeton.edu/~bwk/btl.mirror/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = [ stdenv.lib.maintainers.konimex ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
99
pkgs/tools/virtualization/awsebcli/default.nix
Normal file
99
pkgs/tools/virtualization/awsebcli/default.nix
Normal file
@ -0,0 +1,99 @@
|
||||
{ stdenv, python }:
|
||||
let
|
||||
|
||||
localPython = python.override {
|
||||
packageOverrides = self: super: rec {
|
||||
colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.3.7";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0";
|
||||
};
|
||||
});
|
||||
|
||||
docker = super.docker.overridePythonAttrs (oldAttrs: rec {
|
||||
pname = "docker-py";
|
||||
version = "1.7.2";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0k6hm3vmqh1d3wr9rryyif5n4rzvcffdlb1k4jvzp7g4996d3ccm";
|
||||
};
|
||||
});
|
||||
|
||||
pathspec = super.pathspec.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.5.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "07yx1gxj9v1iyyiy5fhq2wsmh4qfbrx158wi7jb0nx6lah80ffma";
|
||||
};
|
||||
});
|
||||
|
||||
requests = super.requests.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.9.1";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
|
||||
};
|
||||
});
|
||||
|
||||
semantic-version = super.semantic-version.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "2.5.0";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname; inherit version;
|
||||
sha256 = "0p5n3d6blgkncxdz00yxqav0cis87fisdkirjm0ljjh7rdfx7aiv";
|
||||
};
|
||||
});
|
||||
|
||||
tabulate = super.tabulate.overridePythonAttrs (oldAttrs: rec {
|
||||
version = "0.7.5";
|
||||
|
||||
src = super.fetchPypi {
|
||||
inherit (oldAttrs) pname;
|
||||
inherit version;
|
||||
sha256 = "03l1r7ddd1a0j2snv1yd0hlnghjad3fg1an1jr8936ksv75slwch";
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
in with localPython.pkgs; buildPythonApplication rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "awsebcli";
|
||||
version = "3.10.5";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1g53z2flhp3navdf8lw6rgh99akf3k0ng1zkkqswvh66zswkxnwn";
|
||||
};
|
||||
|
||||
checkInputs = [
|
||||
pytest mock nose pathspec colorama requests docutils
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
propagatedBuildInputs = [
|
||||
blessed botocore cement colorama docker dockerpty docopt pathspec pyyaml
|
||||
requests semantic-version setuptools tabulate termcolor websocket_client
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/etc/bash_completion.d
|
||||
mv $out/bin/eb_completion.bash $out/etc/bash_completion.d
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://aws.amazon.com/elasticbeanstalk/;
|
||||
description = "A command line interface for Elastic Beanstalk.";
|
||||
maintainers = with maintainers; [ eqyiel ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
@ -135,6 +135,7 @@ mapAliases (rec {
|
||||
spaceOrbit = space-orbit; # addewd 2016-05-23
|
||||
speedtest_cli = speedtest-cli; # added 2015-02-17
|
||||
sqliteInteractive = sqlite-interactive; # added 2014-12-06
|
||||
sshfs = sshfs-fuse; # added 2017-08-14
|
||||
sshfsFuse = sshfs-fuse; # added 2016-09
|
||||
surf-webkit2 = surf; # added 2017-04-02
|
||||
system_config_printer = system-config-printer; # added 2016-01-03
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user