Merge remote-tracking branch 'upstream/master' into ios-mini-staging

This commit is contained in:
John Ericson 2018-05-23 09:42:34 -04:00
commit c641a74bd6
110 changed files with 1766 additions and 973 deletions

View File

@ -8,16 +8,16 @@
and so on. For instance, the GNU Hello package has a <varname>meta</varname>
declaration like this:
<programlisting>
meta = {
meta = with stdenv.lib; {
description = "A program that produces a familiar, friendly greeting";
longDescription = ''
GNU Hello is a program that prints "Hello, world!" when you run it.
It is fully customizable.
'';
homepage = http://www.gnu.org/software/hello/manual/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
license = licenses.gpl3Plus;
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
</programlisting>
</para>

View File

@ -140,6 +140,11 @@
github = "roosemberth";
name = "Roosembert (Roosemberth) Palacios";
};
Scriptkiddi = {
email = "nixos@scriptkiddi.de";
github = "scriptkiddi";
name = "Fritz Otlinghaus";
};
SShrike = {
email = "severen@shrike.me";
github = "severen";

View File

@ -1,6 +1,14 @@
# This module defines the global list of uids and gids. We keep a
# central list to prevent id collisions.
# IMPORTANT!
# We only add static uids and gids for services where it is not feasible
# to change uids/gids on service start, in example a service with a lot of
# files. Please also check if the service is applicable for systemd's
# DynamicUser option and does not need a uid/gid allocation at all.
# Systemd can also change ownership of service directories using the
# RuntimeDirectory/StateDirectory options.
{ config, pkgs, lib, ... }:
{

View File

@ -51,7 +51,8 @@ in {
serviceConfig = {
User = "slimserver";
PermissionsStartOnly = true;
ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache";
# Issue 40589: Disable broken image/video support (audio still works!)
ExecStart = "${cfg.package}/slimserver.pl --logdir ${cfg.dataDir}/logs --prefsdir ${cfg.dataDir}/prefs --cachedir ${cfg.dataDir}/cache --noimage --novideo";
};
};

View File

@ -70,7 +70,7 @@ in {
resources = {
limits = {
cpu = "100m";
memory = "50Mi";
memory = "250Mi";
};
requests = {
cpu = "100m";

View File

@ -40,12 +40,12 @@ in {
systemd.packages = [ pkgs.flatpak pkgs.xdg-desktop-portal ] ++ cfg.extraPortals;
environment.variables = {
PATH = [
"$HOME/.local/share/flatpak/exports/bin"
"/var/lib/flatpak/exports/bin"
];
environment.profiles = [
"$HOME/.local/share/flatpak/exports"
"/var/lib/flatpak/exports"
];
environment.variables = {
XDG_DESKTOP_PORTAL_PATH = map (p: "${p}/share/xdg-desktop-portal/portals") cfg.extraPortals;
};
};

View File

@ -128,9 +128,17 @@ in {
you might need to specify it in <literal>extraPackages</literal>.
'';
};
openFirewall = mkOption {
default = false;
type = types.bool;
description = "Whether to open the firewall for the specified port.";
};
};
config = mkIf cfg.enable {
networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall [ cfg.port ];
systemd.services.home-assistant = {
description = "Home Assistant";
after = [ "network.target" ];

View File

@ -340,7 +340,7 @@ in
default =
[
"$HOME/.nix-defexpr/channels"
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs"
"nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos"
"nixos-config=/etc/nixos/configuration.nix"
"/nix/var/nix/profiles/per-user/root/channels"
];

View File

@ -209,7 +209,7 @@ let
''
echo "${cidr}" >> $state
echo -n "adding route ${cidr}... "
if out=$(ip route add "${cidr}" ${options} ${via} dev "${i.name}" 2>&1); then
if out=$(ip route add "${cidr}" ${options} ${via} dev "${i.name}" proto static 2>&1); then
echo "done"
elif ! echo "$out" | grep "File exists" >/dev/null 2>&1; then
echo "'ip route add "${cidr}" ${options} ${via} dev "${i.name}"' failed: $out"

View File

@ -2,7 +2,20 @@
with lib;
let cfg = config.powerManagement.scsiLinkPolicy; in
let
cfg = config.powerManagement.scsiLinkPolicy;
kernel = config.boot.kernelPackages.kernel;
allowedValues = [
"min_power"
"max_performance"
"medium_power"
"med_power_with_dipm"
];
in
{
###### interface
@ -11,10 +24,13 @@ let cfg = config.powerManagement.scsiLinkPolicy; in
powerManagement.scsiLinkPolicy = mkOption {
default = null;
type = types.nullOr (types.enum [ "min_power" "max_performance" "medium_power" ]);
type = types.nullOr (types.enum allowedValues);
description = ''
SCSI link power management policy. The kernel default is
"max_performance".
</para><para>
"med_power_with_dipm" is supported by kernel versions
4.15 and newer.
'';
};
@ -24,6 +40,12 @@ let cfg = config.powerManagement.scsiLinkPolicy; in
###### implementation
config = mkIf (cfg != null) {
assertions = singleton {
assertion = (cfg == "med_power_with_dipm") -> versionAtLeast kernel.version "4.15";
message = "med_power_with_dipm is not supported for kernels older than 4.15";
};
services.udev.extraRules = ''
SUBSYSTEM=="scsi_host", ACTION=="add", KERNEL=="host*", ATTR{link_power_management_policy}="${cfg}"
'';

View File

@ -6,11 +6,11 @@ uiEnv = pkgs.callPackage ./env.nix { };
in stdenv.mkDerivation rec {
name = "parity-ui-${version}";
version = "0.1.1";
version = "0.2.1";
src = fetchurl {
url = "https://github.com/parity-js/shell/releases/download/v${version}/parity-ui_${version}_amd64.deb";
sha256 = "1jym6q63m5f4xm06dxiiabhbqnr0hysf2d3swysncs5hg6w00lh3";
sha256 = "08gh438mqxj2h8i9hv826bx040wmkmdgsda5grj0k81459vds31l";
name = "${name}.deb";
};

View File

@ -2,15 +2,15 @@
stdenv.mkDerivation rec {
name = "qsynth-${version}";
version = "0.5.0";
version = "0.5.1";
src = fetchurl {
url = "mirror://sourceforge/qsynth/${name}.tar.gz";
sha256 = "1sr6vrz8z9r99j9xcix86lgcqldragb2ajmq1bnhr58d99sda584";
sha256 = "0kpk1rnhbifbvm4xvw8i0d4ksk78pf505qvg08k89kqkg32494ap";
};
# cmake is looking for qsynth.desktop.in and fails if it doesn't find it
# seems like a bug and can presumable go in the next version after 0.5.0
# seems like a bug and can presumable go in the next version after 0.5.1
postPatch = ''
mv src/qsynth.desktop src/qsynth.desktop.in
'';

View File

@ -8,9 +8,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "boysetsfrog";
repo = "vimpc";
# Using commit-hash as there is not tag available
# https://github.com/boysetsfrog/vimpc/issues/70
rev = "63556da6b94ab27d7e3f542399f5e0975a5812ba";
rev = "v${version}";
sha256 = "1495a702df4nja8mlxq98mkbic2zv88sjiinimf9qddrfb38jxk6";
};

View File

@ -1,52 +0,0 @@
{ stdenv, pkgs, fetchurl, lib, makeWrapper, gvfs, atomEnv}:
stdenv.mkDerivation rec {
name = "atom-beta-${version}";
version = "1.24.0-beta3";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "02nnjjwlkxafi2fbi4gz276nqkmi92kf3q414vw1k3kc8q5zvxrs";
name = "${name}.deb";
};
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/usr/
ar p $src data.tar.xz | tar -C $out -xJ ./usr
substituteInPlace $out/usr/share/applications/atom-beta.desktop \
--replace /usr/share/atom-beta $out/bin
mv $out/usr/* $out/
rm -r $out/share/lintian
rm -r $out/usr/
sed -i "s/'atom-beta'/'.atom-beta-wrapped'/" $out/bin/atom-beta
wrapProgram $out/bin/atom-beta \
--prefix "PATH" : "${gvfs}/bin"
fixupPhase
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}:$out/share/atom-beta" \
$out/share/atom-beta/atom
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}" \
$out/share/atom-beta/resources/app/apm/bin/node
#rm -f $out/share/atom-beta/resources/app/node_modules/dugite/git/bin/git
#ln -s ${pkgs.git}/bin/git $out/share/atom-beta/resources/app/node_modules/dugite/git/bin/git
find $out/share/atom-beta -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$out/share/atom-beta" {} \;
paxmark m $out/share/atom-beta/atom
paxmark m $out/share/atom-beta/resources/app/apm/bin/node
'';
meta = with stdenv.lib; {
description = "A hackable text editor for the 21st Century";
homepage = https://atom.io/;
license = licenses.mit;
maintainers = [ maintainers.offline maintainers.nequissimus ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,53 +1,69 @@
{ stdenv, pkgs, fetchurl, lib, makeWrapper, gvfs, atomEnv}:
stdenv.mkDerivation rec {
name = "atom-${version}";
version = "1.27.0";
let
common = pname: {version, sha256}: stdenv.mkDerivation rec {
name = "${pname}-${version}";
inherit version;
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
sha256 = "1r37s6ndxyib644v7nlgha1pkcnz7kxpmlkhh41l5jp4dpc6iik6";
name = "${name}.deb";
src = fetchurl {
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
name = "${name}.deb";
inherit sha256;
};
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/usr/
ar p $src data.tar.xz | tar -C $out -xJ ./usr
substituteInPlace $out/usr/share/applications/${pname}.desktop \
--replace /usr/share/${pname} $out/bin
mv $out/usr/* $out/
rm -r $out/share/lintian
rm -r $out/usr/
# sed -i "s/'${pname}'/'.${pname}-wrapped'/" $out/bin/${pname}
wrapProgram $out/bin/${pname} \
--prefix "PATH" : "${gvfs}/bin"
fixupPhase
share=$out/share/${pname}
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}:$share" \
$share/atom
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}" \
$share/resources/app/apm/bin/node
dugite=$share/resources/app.asar.unpacked/node_modules/dugite
rm -f $dugite/git/bin/git
ln -s ${pkgs.git}/bin/git $dugite/git/bin/git
rm -f $dugite/git/libexec/git-core/git
ln -s ${pkgs.git}/bin/git $dugite/git/libexec/git-core/git
find $share -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$share" {} \;
paxmark m $share/atom
paxmark m $share/resources/app/apm/bin/node
'';
meta = with stdenv.lib; {
description = "A hackable text editor for the 21st Century";
homepage = https://atom.io/;
license = licenses.mit;
maintainers = with maintainers; [ offline nequissimus synthetica ysndr ];
platforms = [ "x86_64-linux" ];
};
};
in stdenv.lib.mapAttrs common {
atom = {
version = "1.27.1";
sha256 = "08slv8s90wz2jcdrcqh2d815wfbrkwcdx9c3qbx8cml04hz8p2gx";
};
nativeBuildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/usr/
ar p $src data.tar.xz | tar -C $out -xJ ./usr
substituteInPlace $out/usr/share/applications/atom.desktop \
--replace /usr/share/atom $out/bin
mv $out/usr/* $out/
rm -r $out/share/lintian
rm -r $out/usr/
wrapProgram $out/bin/atom \
--prefix "PATH" : "${gvfs}/bin"
fixupPhase
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}:$out/share/atom" \
$out/share/atom/atom
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${atomEnv.libPath}" \
$out/share/atom/resources/app/apm/bin/node
rm -f $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/bin/git
ln -s ${pkgs.git}/bin/git $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/bin/git
rm -f $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git
ln -s ${pkgs.git}/bin/git $out/share/atom/resources/app.asar.unpacked/node_modules/dugite/git/libexec/git-core/git
find $out/share/atom -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$out/share/atom" {} \;
paxmark m $out/share/atom/atom
paxmark m $out/share/atom/resources/app/apm/bin/node
'';
meta = with stdenv.lib; {
description = "A hackable text editor for the 21st Century";
homepage = https://atom.io/;
license = licenses.mit;
maintainers = with maintainers; [ offline nequissimus synthetica ysndr ];
platforms = [ "x86_64-linux" ];
atom-beta = {
version = "1.28.0-beta1";
sha256 = "1mkxq2a7sylj9jx1bs2v1pmgrwc10cgh810qic1lncq9jzpaik0n";
};
}

View File

@ -4,15 +4,16 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "kakoune-unstable-${version}";
version = "2018-03-22";
version = "2018-05-21";
src = fetchFromGitHub {
repo = "kakoune";
owner = "mawww";
rev = "f8e297acef1be0657b779fea5256f606a6c6a3a3";
sha256 = "14xmw3lkwzppm9bns55nmyb1lfihzhdyisf6xjqlszdj4mcf94jl";
rev = "878d2a4bdb674a5e7703a66e530520f48efba641";
sha256 = "0pwy6ilsb62s1792gjyvhvq8shj60l8lx26b58zvpfb54an4s6rk";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ncurses asciidoc docbook_xsl libxslt ];
makeFlags = [ "debug=no" ];
postPatch = ''
export PREFIX=$out

View File

@ -2,33 +2,46 @@
stdenv.mkDerivation rec {
name = "1password-${version}";
version = "0.4";
src = if stdenv.system == "i686-linux" then fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_386_v${version}.zip";
sha256 = "0mhlqvd3az50gnfil0xlq10855v3bg7yb05j6ndg4h2c551jrq41";
stripRoot = false;
} else fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
sha256 = "15cv8xi4slid9jicdmc5xx2r9ag63wcx1mn7hcgzxbxbhyrvwhyf";
stripRoot = false;
};
version = "0.4.1";
src =
if stdenv.system == "i686-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_386_v${version}.zip";
sha256 = "0mv2m6rm6bdpca8vhyx213bg4kh06jl2sx8q7mnrp22c3f0yzh7f";
stripRoot = false;
}
else if stdenv.system == "x86_64-linux" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_linux_amd64_v${version}.zip";
sha256 = "016h5jcy6jic8j3mvlnpcig9jxs22vj71gh6rrap2q950bzi6fi1";
stripRoot = false;
}
else if stdenv.system == "x86_64-darwin" then
fetchzip {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v0.4.1/op_darwin_amd64_v${version}.zip";
sha256 = "1l0bi0f6gd4q19wn3v409gj64wp51mr0xpb09da1fl33rl5fpszb";
stripRoot = false;
}
else throw "Architecture not supported";
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D op $out/share/1password/op
# https://github.com/NixOS/patchelf/issues/66#issuecomment-267743051
makeWrapper $(cat $NIX_CC/nix-support/dynamic-linker) $out/bin/op \
--argv0 op \
--add-flags $out/share/1password/op
install -D op $out/bin/op
'';
postFixup = stdenv.lib.optionalString stdenv.isLinux ''
patchelf \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
$out/bin/op
'';
meta = with stdenv.lib; {
description = "1Password command-line tool";
homepage = "https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/";
homepage = [
"https://blog.agilebits.com/2017/09/06/announcing-the-1password-command-line-tool-public-beta/"
"https://app-updates.agilebits.com/product_history/CLI"
];
maintainers = with maintainers; [ joelburget ];
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@ -10,15 +10,15 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = {
meta = with stdenv.lib; {
description = "A program that produces a familiar, friendly greeting";
longDescription = ''
GNU Hello is a program that prints "Hello, world!" when you run it.
It is fully customizable.
'';
homepage = http://www.gnu.org/software/hello/manual/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
license = licenses.gpl3Plus;
maintainers = [ maintainers.eelco ];
platforms = platforms.all;
};
}

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
name = "redshift-${version}";
version = "1.11";
version = "1.12";
src = fetchFromGitHub {
owner = "jonls";
repo = "redshift";
rev = "v${version}";
sha256 = "0jfi4wqklqw2rm0r2xwalyzir88zkdvqj0z5id0l5v20vsrfiiyj";
sha256 = "12cb4gaqkybp4bkkns8pam378izr2mwhr2iy04wkprs2v92j7bz6";
};
patches = [

View File

@ -5,18 +5,17 @@
, docopt
, pygobject3
, pyyaml
, ...
}:
buildPythonApplication rec {
name = "udiskie-${version}";
version = "1.7.3";
version = "1.7.4";
src = fetchFromGitHub {
owner = "coldfix";
repo = "udiskie";
rev = version;
sha256 = "1yv1faq81n3vspf3jprcs5v21l2fchy3m3pc7lk8jb0xqlnh60x4";
sha256 = "0r3m8y6ppkl8p1lhr89sfk9v2la1zn0rbmr6hy860j7b22yvnkrn";
};
buildInputs = [

View File

@ -0,0 +1,24 @@
{ lib, buildGoPackage, fetchFromGitHub, ... }:
let version = "0.16.0"; in
buildGoPackage {
name = "helmfile-${version}";
src = fetchFromGitHub {
owner = "roboll";
repo = "helmfile";
rev = "v${version}";
sha256 = "12gxlan89h0r83aaacshh58nd1pi26gx5gkna0ksll9wsfvraj4d";
};
goPackagePath = "github.com/roboll/helmfile";
meta = {
description = "Deploy Kubernetes Helm charts";
homepage = https://github.com/roboll/helmfile;
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ pneumaticat ];
platforms = lib.platforms.unix;
};
}

View File

@ -104,8 +104,8 @@ in rec {
terraform_0_10-full = terraform_0_10.withPlugins lib.attrValues;
terraform_0_11 = pluggable (generic {
version = "0.11.6";
sha256 = "17kd3ln1i40qb8fll5918rvgackzf1ibmr7li1p9vky4ki3iwr0l";
version = "0.11.7";
sha256 = "0q5gl8yn1f8fas1v68lz081k88gbmlk7f2xqlwqmh01qpqjxd42q";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
};
meta = with stdenv.lib; {
description = "All-in-one voice and text chat for gamers thats free, secure, and works on both your desktop and phone";
description = "All-in-one cross-platform voice and text chat for gamers";
homepage = https://discordapp.com/;
downloadPage = "https://github.com/crmarsh/discord-linux-bugs";
license = licenses.unfree;

View File

@ -0,0 +1,25 @@
{ stdenv, fetchgit, pidgin, glib, libxml2 }:
stdenv.mkDerivation rec {
name = "purple-xmpp-upload-2017-12-31";
src = fetchgit {
url = "https://github.com/Junker/purple-xmpp-http-upload";
rev = "178096cbfc9df165c2dc1677666439969d212b37";
sha256 = "12l9rqlgb4i50xxrfnvwz9sqfk0d3c0m6l09mnvfixqi8illyvlp";
};
buildInputs = [ pidgin glib libxml2 ];
installPhase = ''
install -Dm644 -t $out/lib/purple-2 jabber_http_file_upload.so
'';
meta = with stdenv.lib; {
homepage = https://github.com/Junker/purple-xmpp-http-upload;
description = "HTTP File Upload plugin for libpurple (XMPP Protocol XEP-0363)";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ emmanuelrosa ];
};
}

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, ocaml }:
{ stdenv, fetchurl, ocamlPackages }:
stdenv.mkDerivation rec {
name = "proverif-${version}";
version = "1.97pl1";
version = "2.00";
src = fetchurl {
url = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif${version}.tar.gz";
sha256 = "1b0ji68crdli40a4z62gdq6fnygj3z2j63iaq4jki7wfc3nn3vgq";
sha256 = "0vjphj85ch9q39vc7sd6n4vxy5bplp017vlshk989yhfwb00r37y";
};
buildInputs = [ ocaml ];
buildInputs = with ocamlPackages; [ ocaml findlib lablgtk ];
buildPhase = "./build";
installPhase = ''

View File

@ -0,0 +1,22 @@
{ stdenv, fetchurl, gmp, zlib }:
stdenv.mkDerivation rec {
version = "4.2.0";
name = "form-${version}";
# This tarball is released by author, it is not downloaded from tag, so can't use fetchFromGitHub
src = fetchurl {
url = "https://github.com/vermaseren/form/releases/download/v4.2.0/form-4.2.0.tar.gz";
sha256 = "19528aphn4hvm151lyyhd7wz0bp2s3rla8jv6s7d8jwfp5ljzysm";
};
buildInputs = [ gmp zlib ];
meta = with stdenv.lib; {
description = "The FORM project for symbolic manipulation of very big expressions";
homepage = https://www.nikhef.nl/~form/;
license = licenses.gpl3;
maintainers = [ maintainers.veprbl ];
platforms = platforms.unix;
};
}

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "simplescreenrecorder-${version}";
version = "0.3.10";
version = "0.3.11";
src = fetchurl {
url = "https://github.com/MaartenBaert/ssr/archive/${version}.tar.gz";
sha256 = "02rl9yyx3hlz9fqvgzv7ipmvx2qahj7ws5wx2m7zs3lssq3qag3g";
sha256 = "0l6irdadqpajvv0dj3ngs1231n559l0y1pykhs2h7526qm4w7xal";
};
cmakeFlags = [ "-DWITH_QT5=TRUE" ];

View File

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/7988bc2977184737900cc54b2dda27af6921f5ee.tar.gz";
sha256 = "1zagnnab5z3zymniw5rrdahlxrfpnyf30iysa1lylgwlscnzfv0l";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/810aa8e3848857c1158ded74a52159220119d188.tar.gz";
sha256 = "1s4x3ipn2san4rvfagmczdn70rhygpwwdmz0pqvy7q4rmgxy9x1i";
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchFromGitHub, overrideCC, gcc5
, makeWrapper, unzip, which
, curl, tzdata, gdb, darwin
, callPackage
, callPackage, targetPackages
, bootstrapVersion ? false
, version ? "2.079.0"
, dmdSha256 ? "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y"
, druntimeSha256 ? "183pqygj5w4105czs5kswyjn9mrcybx3wmkynz3in0m3ylzzjmvl"
, phobosSha256 ? "0y9i86ggmf41ww2xk2bsrlsv9b1blj5dbyan6q6r6xp8dmgrd79w"
, version ? "2.079.1"
, dmdSha256 ? "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj"
, druntimeSha256 ? "18r8gwvb54ar80j5155wx0qbqq4w56hqmbf6wap20xwijg2rw90g"
, phobosSha256 ? "1x5v1ln51nr8x2vyki864160bakdyq0acmvbfv7jcipaj2w3m9bb"
}:
let
@ -143,6 +143,9 @@ let
+ stdenv.lib.optionalString (stdenv.hostPlatform.isLinux && bootstrapVersion) ''
substituteInPlace ${dmdPath}/root/port.c \
--replace "#include <bits/mathdef.h>" "#include <complex.h>"
substituteInPlace ${dmdPath}/root/port.c \
--replace "#include <bits/nan.h>" "#include <math.h>"
''
+ stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
@ -198,6 +201,8 @@ let
extension = if stdenv.hostPlatform.isDarwin then "a" else "{a,so}";
dontStrip = true;
installPhase = ''
cd dmd
mkdir $out
@ -222,13 +227,13 @@ let
cp -r etc $out/include/d2
wrapProgram $out/bin/dmd \
--prefix PATH ":" "${stdenv.cc}/bin" \
--set-default CC "$CC"
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
cd $out/bin
tee dmd.conf << EOF
[Environment]
DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!targetPackages.stdenv.cc.isClang) "-L--export-dynamic"} -fPIC
EOF
'';

View File

@ -24,10 +24,6 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? true
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
@ -46,14 +42,11 @@ let
};
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
@ -75,6 +68,7 @@ let
targetCC = builtins.head toolsForTarget;
in
stdenv.mkDerivation rec {
version = "7.10.3";
name = "${targetPrefix}ghc-${version}";
@ -93,8 +87,6 @@ stdenv.mkDerivation rec {
./relocation.patch
];
postPatch = "patchShebangs .";
# GHC is a bit confused on its cross terminology.
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
@ -111,7 +103,6 @@ stdenv.mkDerivation rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
@ -144,8 +135,7 @@ stdenv.mkDerivation rec {
crossConfig = true;
nativeBuildInputs = [
perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42
ghc hscolour
ghc perl libxml2 libxslt docbook_xsl docbook_xml_dtd_45 docbook_xml_dtd_42 hscolour
];
# For building runtime libs

View File

@ -23,10 +23,6 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? true
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
@ -40,14 +36,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
'' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
@ -91,9 +84,8 @@ stdenv.mkDerivation rec {
extraPrefix = "libraries/Cabal/";
})
] ++ stdenv.lib.optional stdenv.isLinux ./ghc-no-madv-free.patch
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch;
postPatch = "patchShebangs .";
++ stdenv.lib.optional stdenv.isDarwin ./ghc-8.0.2-no-cpp-warnings.patch
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
# GHC is a bit confused on its cross terminology.
preConfigure = ''
@ -111,7 +103,6 @@ stdenv.mkDerivation rec {
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
@ -143,10 +134,7 @@ stdenv.mkDerivation rec {
# masss-rebuild.
crossConfig = true;
nativeBuildInputs = [
perl sphinx
ghc hscolour
];
nativeBuildInputs = [ ghc perl hscolour sphinx ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -166,7 +154,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -23,11 +23,10 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? true
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
enableShared ?
!(targetPlatform.isDarwin
# On iOS, dynamic linking is not supported
&& (targetPlatform.isAarch64 || targetPlatform.isAarch32))
, # Whether to backport https://phabricator.haskell.org/D4388 for
# deterministic profiling symbol names, at the cost of a slightly
# non-standard GHC API
@ -45,14 +44,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
@ -99,7 +95,8 @@ stdenv.mkDerivation rec {
(fetchpatch { # Backport of https://phabricator.haskell.org/D4388 for more determinism
url = "https://github.com/shlevy/ghc/commit/fec1b8d3555c447c0d8da0e96b659be67c8bb4bc.patch";
sha256 = "1lyysz6hfd1njcigpm8xppbnkadqfs0kvrp7s8vqgb38pjswj5hg";
});
})
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
postPatch = "patchShebangs .";
@ -156,10 +153,7 @@ stdenv.mkDerivation rec {
# masss-rebuild.
crossConfig = true;
nativeBuildInputs = [
autoconf autoreconfHook automake perl python3 sphinx
ghc alex happy hscolour
];
nativeBuildInputs = [ alex autoconf autoreconfHook automake ghc happy hscolour perl python3 sphinx ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -181,7 +175,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -3,7 +3,7 @@
# build-tools
, bootPkgs, alex, happy
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3
, libffi, libiconv ? null, ncurses
@ -15,21 +15,16 @@
, # If enabled, GHC will be built with the GPL-free but slower integer-simple
# library instead of the faster but GPLed integer-gmp library.
enableIntegerSimple ? false, gmp ? null
enableIntegerSimple ? false, gmp ? null, m4
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? targetPlatform != hostPlatform
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !targetPlatform.isWindows && !targetPlatform.useAndroidPrebuilt
enableShared ? !targetPlatform.useAndroidPrebuilt
, # Whetherto build terminfo.
enableTerminfo ? !targetPlatform.isWindows
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
, version ? "8.4.2"
}:
assert !enableIntegerSimple -> gmp != null;
@ -43,14 +38,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
@ -63,9 +55,9 @@ let
'';
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
libDeps = platform: [ ncurses ]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
toolsForTarget =
if hostPlatform == buildPlatform then
@ -77,7 +69,7 @@ let
in
stdenv.mkDerivation rec {
version = "8.4.2";
inherit version;
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
@ -94,7 +86,8 @@ stdenv.mkDerivation rec {
sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
extraPrefix = "utils/hsc2hs/";
stripLen = 1;
})];
})]
++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
postPatch = "patchShebangs .";
@ -133,7 +126,7 @@ stdenv.mkDerivation rec {
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
@ -151,10 +144,7 @@ stdenv.mkDerivation rec {
# masss-rebuild.
crossConfig = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
ghc alex happy
];
nativeBuildInputs = [ ghc perl autoconf automake m4 happy alex python3 ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -176,7 +166,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -0,0 +1,24 @@
diff --git a/compiler/main/DriverPipeline.hs b/compiler/main/DriverPipeline.hs
index acd0d61..3e83c15 100644
--- a/compiler/main/DriverPipeline.hs
+++ b/compiler/main/DriverPipeline.hs
@@ -1916,6 +1916,7 @@ linkBinary' staticLink dflags o_files dep_packages = do
++ pkg_framework_opts
++ debug_opts
++ thread_opts
+ ++ (if (platformOS platform `elem` [OSDarwin]) then [ "-Wl,-dead_strip_dylibs" ] else [])
))
exeFileName :: Bool -> DynFlags -> FilePath
diff --git a/compiler/main/SysTools.hs b/compiler/main/SysTools.hs
index 1ab5b13..2ebbf51 100644
--- a/compiler/main/SysTools.hs
+++ b/compiler/main/SysTools.hs
@@ -1737,6 +1737,7 @@ linkDynLib dflags0 o_files dep_packages
++ map Option pkg_lib_path_opts
++ map Option pkg_link_opts
++ map Option pkg_framework_opts
+ ++ [ Option "-Wl,-dead_strip_dylibs" ]
)
OSiOS -> throwGhcExceptionIO (ProgramError "dynamic libraries are not supported on iOS target")
_ -> do

View File

@ -3,7 +3,7 @@
# build-tools
, bootPkgs, alex, happy
, autoconf, automake, coreutils, fetchgit, perl, python3, m4
, autoconf, automake, coreutils, fetchgit, perl, python3
, libffi, libiconv ? null, ncurses
@ -22,15 +22,9 @@
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? !targetPlatform.isWindows && !targetPlatform.useAndroidPrebuilt
, # Whetherto build terminfo.
enableTerminfo ? !targetPlatform.isWindows
enableShared ? !targetPlatform.useAndroidPrebuilt
, version ? "8.5.20180118"
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? stdenv.lib.optionalString (targetPlatform != hostPlatform) "perf-cross"
}:
assert !enableIntegerSimple -> gmp != null;
@ -44,14 +38,11 @@ let
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
'' + stdenv.lib.optionalString enableIntegerSimple ''
INTEGER_LIBRARY = integer-simple
'' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
BuildFlavour = perf-cross
Stage1Only = YES
HADDOCK_DOCS = NO
BUILD_SPHINX_HTML = NO
@ -64,9 +55,9 @@ let
'';
# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
libDeps = platform: [ ncurses ]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
++ stdenv.lib.optional (platform.libc != "glibc") libiconv;
toolsForTarget =
if hostPlatform == buildPlatform then
@ -132,7 +123,7 @@ stdenv.mkDerivation rec {
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && ! enableIntegerSimple) [
"--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc") [
"--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
@ -150,10 +141,7 @@ stdenv.mkDerivation rec {
# masss-rebuild.
crossConfig = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
ghc alex happy
];
nativeBuildInputs = [ ghc perl autoconf automake happy alex python3 ];
# For building runtime libs
depsBuildTarget = toolsForTarget;
@ -175,7 +163,7 @@ stdenv.mkDerivation rec {
# zsh and other shells are smart about `{ghc}` but bash isn't, and doesn't
# treat that as a unary `{x,y,z,..}` repetition.
postInstall = ''
paxmark m $out/lib/${name}/bin/*
paxmark m $out/lib/${name}/bin/${if targetPlatform != hostPlatform then "ghc" else "{ghc,haddock}"}
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc

View File

@ -1,4 +1,4 @@
{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, clangWrapSelf,
{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages,
testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents
}:

View File

@ -1,6 +1,6 @@
{ stdenv, fetchgit, fetchurl, cmake, llvm, curl, tzdata
, python, libconfig, lit, gdb, unzip, darwin, bash
, callPackage
, callPackage, makeWrapper, targetPackages
, bootstrapVersion ? false
, version ? "1.8.0"
, ldcSha256 ? "0zswjlibj8zcdj06nn09jjhbd99chsa5f4kps8xifzgrpgsa28g4"
@ -124,7 +124,7 @@ let
--replace "tzName == \"+VERSION\"" "baseName(tzName) == \"leapseconds\" || tzName == \"+VERSION\""
'';
nativeBuildInputs = [ cmake llvm bootstrapLdc python lit gdb unzip ]
nativeBuildInputs = [ cmake makeWrapper llvm bootstrapLdc python lit gdb unzip ]
++ stdenv.lib.optional (bootstrapVersion) [
libconfig
@ -135,7 +135,7 @@ let
]);
buildInputs = [ curl tzdata stdenv.cc ];
buildInputs = [ curl tzdata ];
preConfigure = ''
cmakeFlagsArray=("-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc"
@ -158,14 +158,20 @@ let
doCheck = true;
checkPhase = ''
# Build and run LDC D unittests.
ctest --output-on-failure -R "ldc2-unittest"
# Run LIT testsuite.
ctest -V -R "lit-tests"
# Run DMD testsuite.
DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
# Build and run LDC D unittests.
ctest --output-on-failure -R "ldc2-unittest"
# Run LIT testsuite.
ctest -V -R "lit-tests"
# Run DMD testsuite.
DMD_TESTSUITE_MAKE_ARGS=-j$NIX_BUILD_CORES ctest -V -R "dmd-testsuite"
'';
postInstall = ''
wrapProgram $out/bin/ldc2 \
--prefix PATH ":" "${targetPackages.stdenv.cc}/bin" \
--set-default CC "${targetPackages.stdenv.cc}/bin/cc"
'';
meta = with stdenv.lib; {
description = "The LLVM-based D compiler";
homepage = https://github.com/ldc-developers/ldc;

View File

@ -1,5 +1,7 @@
{ newScope, stdenv, libstdcxxHook, cmake, libxml2, python2, isl, fetchurl
, overrideCC, wrapCC, ccWrapperFun, darwin
, overrideCC, wrapCCWith, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -27,18 +29,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -48,7 +46,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lldb = callPackage ./lldb.nix {};

View File

@ -1,4 +1,8 @@
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun, darwin }:
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
@ -26,18 +30,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -47,7 +47,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lldb = callPackage ./lldb.nix {};

View File

@ -1,4 +1,8 @@
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun, darwin }:
{ newScope, stdenv, libstdcxxHook, isl, fetchurl, overrideCC, wrapCCWith, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
callPackage = newScope (self // { inherit stdenv isl version fetch; });
@ -26,18 +30,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -47,7 +47,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lldb = callPackage ./lldb.nix {};

View File

@ -1,6 +1,8 @@
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -40,18 +42,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -61,7 +59,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lld = callPackage ./lld.nix {};

View File

@ -1,6 +1,8 @@
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -40,18 +42,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -61,7 +59,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lld = callPackage ./lld.nix {};

View File

@ -1,6 +1,8 @@
{ lowPrio, newScope, stdenv, targetPlatform, cmake, libstdcxxHook
, libxml2, python2, isl, fetchurl, overrideCC, wrapCC, ccWrapperFun
, libxml2, python2, isl, fetchurl, overrideCC, wrapCCWith
, darwin
, buildLlvmPackages # ourself, but from the previous stage, for cross
, targetLlvmPackages # ourself, but from the next stage, for cross
}:
let
@ -40,18 +42,14 @@ let
clang = if stdenv.cc.isGNU then self.libstdcxxClang else self.libcxxClang;
libstdcxxClang = ccWrapperFun {
libstdcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ libstdcxxHook ];
};
libcxxClang = ccWrapperFun {
libcxxClang = wrapCCWith {
cc = self.clang-unwrapped;
/* FIXME is this right? */
inherit (stdenv.cc) bintools libc nativeTools nativeLibc;
extraPackages = [ self.libcxx self.libcxxabi ];
extraPackages = [ targetLlvmPackages.libcxx targetLlvmPackages.libcxxabi ];
};
stdenv = stdenv.override (drv: {
@ -61,7 +59,7 @@ let
libcxxStdenv = stdenv.override (drv: {
allowedRequisites = null;
cc = self.libcxxClang;
cc = buildLlvmPackages.libcxxClang;
});
lld = callPackage ./lld.nix {};

View File

@ -1,10 +1,12 @@
{ stdenv, fetchurl, pkgconfig, flex, bison, libxslt, autoconf, graphviz
{ stdenv, lib, fetchurl, pkgconfig, flex, bison, libxslt, autoconf, graphviz
, glib, libiconv, libintl, libtool, expat
}:
let
generic = { major, minor, sha256, extraNativeBuildInputs ? [], extraBuildInputs ? [] }:
stdenv.mkDerivation rec {
let
atLeast = lib.versionAtLeast "${major}.${minor}";
in stdenv.mkDerivation rec {
name = "vala-${major}.${minor}";
src = fetchurl {
@ -14,9 +16,15 @@ let
outputs = [ "out" "devdoc" ];
nativeBuildInputs = [ pkgconfig flex bison libxslt ] ++ extraNativeBuildInputs;
nativeBuildInputs = [
pkgconfig flex bison libxslt
] ++ lib.optional (stdenv.isDarwin && (atLeast "0.38")) expat
++ extraNativeBuildInputs;
buildInputs = [ glib libiconv libintl ] ++ extraBuildInputs;
buildInputs = [
glib libiconv libintl
] ++ lib.optional (atLeast "0.38") graphviz
++ extraBuildInputs;
meta = with stdenv.lib; {
description = "Compiler for GObject type system";
@ -29,12 +37,6 @@ let
in rec {
vala_0_23 = generic {
major = "0.23";
minor = "3";
sha256 = "101xjbc818g4849n9a80c2aai13zakj7mpnd7470xnkvz5jwqq96";
};
vala_0_26 = generic {
major = "0.26";
minor = "2";
@ -61,24 +63,21 @@ in rec {
vala_0_36 = generic {
major = "0.36";
minor = "12";
sha256 = "1nvw721piwdh15bipg0sdll9kvgpz0y9i5fpszlc7y9w64yis25l";
minor = "13";
sha256 = "0gxz7yisd9vh5d2889p60knaifz5zndgj98zkdfkkaykdfdq4m9k";
};
vala_0_38 = generic {
major = "0.38";
minor = "4";
sha256 = "1sg5gaq3jhgr9vzh2ypiw475167k150wmyglymr7wwqppmikmcrc";
extraNativeBuildInputs = [ autoconf ] ++ stdenv.lib.optionals stdenv.isDarwin [ libtool expat ];
extraBuildInputs = [ graphviz ];
minor = "9";
sha256 = "1dh1qacfsc1nr6hxwhn9lqmhnq39rv8gxbapdmj1v65zs96j3fn3";
extraNativeBuildInputs = [ autoconf ] ++ lib.optional stdenv.isDarwin libtool;
};
vala_0_40 = generic {
major = "0.40";
minor = "0";
sha256 = "0wcfljl55a9qvslfcc4sf76wdpwgn83n96b7fgb7r49ib35qz20m";
extraNativeBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ expat ];
extraBuildInputs = [ graphviz ];
minor = "6";
sha256 = "1qjbwhifwwqbdg5zilvnwm4n76g8p7jwqs3fa0biw3rylzqm193d";
};
vala = vala_0_38;

View File

@ -0,0 +1,30 @@
{ stdenv, fetchzip, coq, ssreflect, stdpp }:
stdenv.mkDerivation rec {
version = "3.1.0";
name = "coq${coq.coq-version}-iris-${version}";
src = fetchzip {
url = "https://gitlab.mpi-sws.org/FP/iris-coq/-/archive/iris-${version}/iris-coq-iris-${version}.tar.gz";
sha256 = "0ipdb061jj205avxifshxkpyxxqykigmlxk2n5nvxj62gs3rl5j1";
};
buildInputs = [ coq ];
propagatedBuildInputs = [ ssreflect stdpp ];
enableParallelBuilding = true;
installFlags = [ "COQLIB=$(out)/lib/coq/${coq.coq-version}/" ];
meta = {
homepage = "https://gitlab.mpi-sws.org/FP/iris-coq";
description = "The Coq development of the Iris Project";
inherit (coq.meta) platforms;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.vbgl ];
};
passthru = {
compatibleCoqVersions = v: stdenv.lib.versionAtLeast v "8.6";
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, coq }:
stdenv.mkDerivation rec {
version = "20171206";
version = "20180316";
name = "coq${coq.coq-version}-tlc-${version}";
src = fetchurl {
url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz";
sha256 = "1wc44qb5zmarafp56gdrbka8gllipqna9cj0a6d99jzb361xg4mf";
sha256 = "0y8h0x9dfn9dm60j1jkxr9i8lbfqd3ff626wrc9v49qxhi50szqq";
};
buildInputs = [ coq ];

View File

@ -448,4 +448,6 @@ self: super: {
sha256 = "1bpsqq80h6nxm04wddgcgyzn0fjfsmhccmqb211jqswv5209znx8";
});
lambdabot-core = appendPatch super.lambdabot-core ./patches/lambdabot-core-ghc-8.4.x-fix.patch;
}

View File

@ -2418,6 +2418,7 @@ extra-packages:
- haddock-library == 1.2.* # required for haddock-api-2.16.x
- haddock-library == 1.4.3 # required for haddock-api-2.17.x
- haddock-library == 1.4.4 # required for haddock-api-2.18.x
- haddock-library == 1.5.* # required for stylish-cabal-0.4.0.1
- happy <1.19.6 # newer versions break Agda
- haskell-gi-overloading == 0.0 # gi-* packages use this dependency to disable overloading support
- haskell-src-exts == 1.19.* # required by hindent and structured-haskell-mode

View File

@ -128,7 +128,7 @@ self: super: builtins.intersectAttrs super {
# Prevents needing to add security_tool as a build tool to all of x509-system's
# dependencies.
x509-system = if pkgs.stdenv.targetPlatform.isDarwin && !pkgs.stdenv.cc.nativeLibc
x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc
then let inherit (pkgs.darwin) security_tool;
in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
postPatch = (drv.postPatch or "") + ''

View File

@ -19,7 +19,6 @@ in
, buildTarget ? ""
, buildTools ? [], libraryToolDepends ? [], executableToolDepends ? [], testToolDepends ? [], benchmarkToolDepends ? []
, configureFlags ? []
, buildFlags ? []
, description ? ""
, doCheck ? !isCross && (stdenv.lib.versionOlder "7.4" ghc.version)
, doBenchmark ? false
@ -32,7 +31,7 @@ in
, enableSharedExecutables ? false
, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
, enableDeadCodeElimination ? (!stdenv.isDarwin) # TODO: use -dead_strip for darwin
, enableStaticLibraries ? !hostPlatform.isWindows
, enableStaticLibraries ? true
, enableHsc2hsViaAsm ? hostPlatform.isWindows && stdenv.lib.versionAtLeast ghc.version "8.4"
, extraLibraries ? [], librarySystemDepends ? [], executableSystemDepends ? []
, homepage ? "http://hackage.haskell.org/package/${pname}"
@ -69,10 +68,6 @@ in
assert editedCabalFile != null -> revision != null;
# --enable-static does not work on windows. This is a bug in GHC.
# --enable-static will pass -staticlib to ghc, which only works for mach-o and elf.
assert hostPlatform.isWindows -> enableStaticLibraries == false;
let
inherit (stdenv.lib) optional optionals optionalString versionOlder versionAtLeast
@ -131,8 +126,6 @@ let
crossCabalFlagsString =
stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
buildFlagsString = optionalString (buildFlags != []) (" " + concatStringsSep " " buildFlags);
defaultConfigureFlags = [
"--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
(optionalString enableSeparateDataOutput "--datadir=$data/share/${ghc.name}")
@ -176,22 +169,18 @@ let
optionals doCheck testPkgconfigDepends ++ optionals doBenchmark benchmarkPkgconfigDepends;
nativeBuildInputs = [ ghc nativeGhc removeReferencesTo ] ++ optional (allPkgconfigDepends != []) pkgconfig ++
setupHaskellDepends ++
buildTools ++ libraryToolDepends ++ executableToolDepends;
propagatedBuildInputs = buildDepends ++ libraryHaskellDepends ++ executableHaskellDepends;
otherBuildInputs = extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
otherBuildInputs = setupHaskellDepends ++ extraLibraries ++ librarySystemDepends ++ executableSystemDepends ++
optionals (allPkgconfigDepends != []) allPkgconfigDepends ++
optionals doCheck (testDepends ++ testHaskellDepends ++ testSystemDepends ++ testToolDepends) ++
optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkToolDepends);
allBuildInputs = propagatedBuildInputs ++ otherBuildInputs;
haskellBuildInputs = stdenv.lib.filter isHaskellPkg allBuildInputs;
systemBuildInputs = stdenv.lib.filter isSystemPkg allBuildInputs;
# When not cross compiling, also include Setup.hs dependencies.
ghcEnv = ghc.withPackages (p:
haskellBuildInputs ++ stdenv.lib.optional (!isCross) setupHaskellDepends);
ghcEnv = ghc.withPackages (p: haskellBuildInputs);
setupCommand = "./Setup";
@ -201,22 +190,6 @@ let
nativeGhcCommand = "${nativeGhc.targetPrefix}ghc";
buildPkgDb = ghcName: ''
if [ -d "$p/lib/${ghcName}/package.conf.d" ]; then
cp -f "$p/lib/${ghcName}/package.conf.d/"*.conf $packageConfDir/
continue
fi
if [ -d "$p/include" ]; then
configureFlags+=" --extra-include-dirs=$p/include"
fi
if [ -d "$p/lib" ]; then
configureFlags+=" --extra-lib-dirs=$p/lib"
fi
if [[ -d "$p/Library/Frameworks" ]]; then
configureFlags+=" --extra-framework-dirs=$p/Library/Frameworks"
fi
'';
in
assert allPkgconfigDepends != [] -> pkgconfig != null;
@ -257,37 +230,30 @@ stdenv.mkDerivation ({
echo "Build with ${ghc}."
${optionalString (hasActiveLibrary && hyperlinkSource) "export PATH=${hscolour}/bin:$PATH"}
'' + (optionalString (setupHaskellDepends != []) ''
setupPackageConfDir="$TMPDIR/setup-package.conf.d"
mkdir -p $setupPackageConfDir
'') + ''
packageConfDir="$TMPDIR/package.conf.d"
mkdir -p $packageConfDir
setupCompileFlags="${concatStringsSep " " setupCompileFlags}"
configureFlags="${concatStringsSep " " defaultConfigureFlags} $configureFlags"
''
# We build the Setup.hs on the *build* machine, and as such should only add
# dependencies for the build machine.
#
# pkgs* arrays defined in stdenv/setup.hs
+ (optionalString (setupHaskellDepends != []) ''
for p in "''${pkgsBuildBuild[@]}" "''${pkgsBuildHost[@]}" "''${pkgsBuildTarget[@]}"; do
${buildPkgDb nativeGhc.name}
done
${nativeGhcCommand}-pkg --${nativePackageDbFlag}="$setupPackageConfDir" recache
'')
# For normal components
+ ''
# host.*Pkgs defined in stdenv/setup.hs
for p in "''${pkgsHostHost[@]}" "''${pkgsHostTarget[@]}"; do
${buildPkgDb ghc.name}
if [ -d "$p/lib/${ghc.name}/package.conf.d" ]; then
cp -f "$p/lib/${ghc.name}/package.conf.d/"*.conf $packageConfDir/
continue
fi
if [ -d "$p/include" ]; then
configureFlags+=" --extra-include-dirs=$p/include"
fi
if [ -d "$p/lib" ]; then
configureFlags+=" --extra-lib-dirs=$p/lib"
fi
done
''
# only use the links hack if we're actually building dylibs. otherwise, the
# "dynamic-library-dirs" point to nonexistent paths, and the ln command becomes
# "ln -s $out/lib/links", which tries to recreate the links dir and fails
+ (optionalString (stdenv.isDarwin && (enableSharedLibraries || enableSharedExecutables)) ''
+ (optionalString (stdenv.isDarwin && enableSharedLibraries) ''
# Work around a limit in the macOS Sierra linker on the number of paths
# referenced by any one dynamic library:
#
@ -316,11 +282,7 @@ stdenv.mkDerivation ({
done
echo setupCompileFlags: $setupCompileFlags
${optionalString (setupHaskellDepends != [])
''
echo GHC_PACKAGE_PATH="$setupPackageConfDir:"
GHC_PACKAGE_PATH="$setupPackageConfDir:" ''
}${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
${nativeGhcCommand} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
runHook postCompileBuildDriver
'';
@ -348,7 +310,7 @@ stdenv.mkDerivation ({
buildPhase = ''
runHook preBuild
${setupCommand} build ${buildTarget}${crossCabalFlagsString}${buildFlagsString}
${setupCommand} build ${buildTarget}${crossCabalFlagsString}
runHook postBuild
'';

File diff suppressed because it is too large Load Diff

View File

@ -131,8 +131,6 @@ rec {
*/
appendConfigureFlag = drv: x: overrideCabal drv (drv: { configureFlags = (drv.configureFlags or []) ++ [x]; });
appendBuildFlag = drv: x: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ [x]; });
appendBuildFlags = drv: xs: overrideCabal drv (drv: { buildFlags = (drv.buildFlags or []) ++ xs; });
/* removeConfigureFlag drv x is a Haskell package like drv, but with
all cabal configure arguments that are equal to x removed.
@ -299,8 +297,11 @@ rec {
# This is useful to build environments for developing on that
# package.
getHaskellBuildInputs = p:
(p.override { mkDerivation = extractBuildInputs p.compiler;
}).haskellBuildInputs;
(overrideCabal p (args: {
passthru = (args.passthru or {}) // {
_getHaskellBuildInputs = extractBuildInputs p.compiler args;
};
}))._getHaskellBuildInputs;
# Under normal evaluation, simply return the original package. Under
# nix-shell evaluation, return a nix-shell optimized environment.

View File

@ -38,7 +38,7 @@ let
inherit (stdenv) buildPlatform hostPlatform;
inherit (stdenv.lib) fix' extends makeOverridable;
inherit (haskellLib) overrideCabal;
inherit (haskellLib) overrideCabal getHaskellBuildInputs;
mkDerivationImpl = pkgs.callPackage ./generic-builder.nix {
inherit stdenv;
@ -238,7 +238,7 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
shellFor = { packages, withHoogle ? false, ... } @ args:
let
selected = packages self;
packageInputs = builtins.map (p: p.override { mkDerivation = haskellLib.extractBuildInputs p.compiler; }) selected;
packageInputs = builtins.map getHaskellBuildInputs selected;
haskellInputs =
builtins.filter
(input: pkgs.lib.all (p: input.outPath != p.outPath) selected)

View File

@ -0,0 +1,15 @@
index 60e134c..246d8ca 100644
--- lambdabot-core/src/Lambdabot/Config.hs
+++ lambdabot-core/src/Lambdabot/Config.hs
@@ -29,9 +29,9 @@ import Data.Typeable
import Data.Generics (everywhere, mkT)
import Language.Haskell.TH
-data Config t where Config :: (Typeable1 k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t
+data Config t where Config :: (Typeable k, GCompare k) => !(k t) -> t -> (t -> t -> t) -> Config t
-cast1 :: (Typeable1 f, Typeable1 g) => f a -> Maybe (g a)
+cast1 :: (Typeable f, Typeable g) => f a -> Maybe (g a)
cast1 = fmap runIdentity . gcast1 . Identity
instance GEq Config where

View File

@ -1,4 +1,5 @@
{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, readline, icu, zlib, nspr }:
{ stdenv, fetchurl, pkgconfig, gnused_422, perl, python2, zip, libffi, readline, icu, zlib, nspr
, libobjc }:
stdenv.mkDerivation rec {
version = "38.2.1.rc0";
@ -13,7 +14,8 @@ stdenv.mkDerivation rec {
sha256 = "0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681";
};
buildInputs = [ libffi readline icu zlib nspr ];
buildInputs = [ libffi readline icu zlib nspr ]
++ stdenv.lib.optional stdenv.isDarwin libobjc;
nativeBuildInputs = [ pkgconfig perl python2 zip gnused_422 ];
postUnpack = "sourceRoot=\${sourceRoot}/js/src";
@ -57,6 +59,6 @@ stdenv.mkDerivation rec {
# TODO: MPL/GPL/LGPL tri-license.
maintainers = [ maintainers.abbradar ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
description = "Simple and robust network communication layer on top of UDP";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "folly-${version}";
version = "2018.04.23.00";
version = "2018.05.21.00";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
sha256 = "0wfp4pxi71bi3bz3h5jxsvdd5wa8q6wqdgsx0jvyvaiiy7v884sv";
sha256 = "0x8qa0g0rj4bmy5cra7f0ch0srq34d8d04f1c59q93xd6ggkr52w";
};
nativeBuildInputs = [ autoreconfHook python pkgconfig ];

View File

@ -17,11 +17,11 @@ let inherit (stdenv.lib) optional; in
stdenv.mkDerivation rec {
name = "nghttp2-${version}";
version = "1.24.0";
version = "1.32.0";
src = fetchurl {
url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
sha256 = "18ys6p39yvm9wjjzhhlw35c9m8f5gf4dk9jbshibj19q4js1pnv9";
sha256 = "0jlndbp4bnyvdg8b59pznrzz0bvwb9nmag7zgcflg51lm1pq2q06";
};
outputs = [ "bin" "out" "dev" "lib" ];

View File

@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
description = "A set of cuda-enabled texture tools and compressors";
homepage = https://github.com/castano/nvidia-texture-tools;
license = licenses.mit;
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -1,9 +1,7 @@
{ stdenv, requireFile, glibc, patchelf, rpmextract, libaio, makeWrapper, odbcSupport ? false, unixODBC }:
{ stdenv, requireFile, autoPatchelfHook, rpmextract, libaio, makeWrapper, odbcSupport ? false, unixODBC }:
assert odbcSupport -> unixODBC != null;
with stdenv.lib;
let
baseVersion = "12.2";
requireSource = version: rel: part: hash: (requireFile rec {
@ -27,56 +25,27 @@ in stdenv.mkDerivation rec {
version = "${baseVersion}.0.1.0";
name = "oracle-instantclient-${version}";
srcBase = (requireSource version "1" "basic" "43c4bfa938af741ae0f9964a656f36a0700849f5780a2887c8e9f1be14fe8b66");
srcDevel = (requireSource version "1" "devel" "4c7ad8d977f9f908e47c5e71ce56c2a40c7dc83cec8a5c106b9ff06d45bb3442");
srcSqlplus = (requireSource version "1" "sqlplus" "303e82820a10f78e401e2b07d4eebf98b25029454d79f06c46e5f9a302ce5552");
srcOdbc = optionalString odbcSupport (requireSource version "2" "odbc" "e870c84d2d4be6f77c0760083b82b7ffbb15a4bf5c93c4e6c84f36d6ed4dfdf1");
buildInputs = [ libaio stdenv.cc.cc.lib ] ++ stdenv.lib.optional odbcSupport unixODBC;
nativeBuildInputs = [ autoPatchelfHook makeWrapper rpmextract ];
buildInputs = [ glibc ] ++
optional odbcSupport unixODBC;
srcs = [
(requireSource version "1" "basic" "43c4bfa938af741ae0f9964a656f36a0700849f5780a2887c8e9f1be14fe8b66")
(requireSource version "1" "devel" "4c7ad8d977f9f908e47c5e71ce56c2a40c7dc83cec8a5c106b9ff06d45bb3442")
(requireSource version "1" "sqlplus" "303e82820a10f78e401e2b07d4eebf98b25029454d79f06c46e5f9a302ce5552")
] ++ stdenv.lib.optional odbcSupport (requireSource version "2" "odbc" "e870c84d2d4be6f77c0760083b82b7ffbb15a4bf5c93c4e6c84f36d6ed4dfdf1");
nativeBuildInputs = [ rpmextract patchelf makeWrapper ];
unpackCmd = "rpmextract $curSrc";
buildCommand = ''
mkdir -p "${name}"
cd "${name}"
${rpmextract}/bin/rpmextract "${srcBase}"
${rpmextract}/bin/rpmextract "${srcDevel}"
${rpmextract}/bin/rpmextract "${srcSqlplus}"
'' + optionalString odbcSupport ''${rpmextract}/bin/rpmextract ${srcOdbc}
'' + ''
installPhase = ''
mkdir -p "$out/"{bin,include,lib,"share/${name}/demo/"}
mv "usr/share/oracle/${baseVersion}/client64/demo/"* "$out/share/${name}/demo/"
mv "usr/include/oracle/${baseVersion}/client64/"* "$out/include/"
mv "usr/lib/oracle/${baseVersion}/client64/lib/"* "$out/lib/"
mv "usr/lib/oracle/${baseVersion}/client64/bin/"* "$out/bin/"
ln -s "$out/bin/sqlplus" "$out/bin/sqlplus64"
for lib in $out/lib/lib*.so; do
test -f $lib || continue
chmod +x $lib
patchelf --force-rpath --set-rpath "$out/lib:${libaio}/lib" \
$lib
done
for lib in $out/lib/libsqora*; do
test -f $lib || continue
chmod +x $lib
patchelf --force-rpath --set-rpath "$out/lib:${unixODBC}/lib" \
$lib
done
for exe in $out/bin/{adrci,genezi,sqlplus}; do
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
--force-rpath --set-rpath "$out/lib:${libaio}/lib" \
$exe
wrapProgram $exe --prefix LD_LIBRARY_PATH ":" $out/lib
done
install -Dm755 lib/oracle/${baseVersion}/client64/bin/* $out/bin
ln -s $out/bin/sqlplus $out/bin/sqlplus64
install -Dm644 lib/oracle/${baseVersion}/client64/lib/* $out/lib
install -Dm644 include/oracle/${baseVersion}/client64/* $out/include
install -Dm644 share/oracle/${baseVersion}/client64/demo/* $out/share/${name}/demo
'';
dontStrip = true;
dontPatchELF = true;
meta = with stdenv.lib; {
description = "Oracle instant client libraries and sqlplus CLI";
longDescription = ''
@ -86,6 +55,7 @@ in stdenv.mkDerivation rec {
'';
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ pesterhazy ];
maintainers = with maintainers; [ pesterhazy flokli ];
hydraPlatforms = [];
};
}

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, cmake, libX11, freetype, libjpeg, openal, flac, libvorbis
, glew, libXrandr, libXrender, udev, xcbutilimage
, IOKit, Foundation, AppKit, OpenAL
}:
let
@ -13,9 +14,13 @@ stdenv.mkDerivation rec {
sha256 = "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab";
};
buildInputs = [ cmake libX11 freetype libjpeg openal flac libvorbis glew
libXrandr libXrender udev xcbutilimage
];
cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes" ];
libXrandr libXrender xcbutilimage
] ++ stdenv.lib.optional stdenv.isLinux udev
++ stdenv.lib.optionals stdenv.isDarwin [ IOKit Foundation AppKit OpenAL ];
cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes"
"-DSFML_MISC_INSTALL_PREFIX=share/SFML"
"-DSFML_BUILD_FRAMEWORKS=no"
"-DSFML_USE_SYSTEM_DEPS=yes" ];
meta = with stdenv.lib; {
homepage = http://www.sfml-dev.org/;
description = "Simple and fast multimedia library";
@ -26,6 +31,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.zlib;
maintainers = [ maintainers.astsmtl ];
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, which, ocaml, findlib, ocamlbuild, decompress }:
stdenv.mkDerivation rec {
version = "20171028";
name = "ocaml${ocaml.version}-imagelib-${version}";
src = fetchFromGitHub {
owner = "rlepigre";
repo = "ocaml-imagelib";
rev = "ocaml-imagelib_${version}";
sha256 = "1frkrgcrv4ybdmqcfxpfsywx0hm1arxgxp32n8kzky6qip1g0zxf";
};
buildInputs = [ which ocaml findlib ocamlbuild ];
propagatedBuildInputs = [ decompress ];
createFindlibDestdir = true;
meta = {
description = "Image formats such as PNG and PPM in OCaml";
license = stdenv.lib.licenses.lgpl3;
maintainers = [ stdenv.lib.maintainers.vbgl ];
inherit (src.meta) homepage;
inherit (ocaml.meta) platforms;
};
}

View File

@ -0,0 +1,36 @@
{ stdenv, buildPythonPackage, fetchPypi, pythonOlder
, cryptography
, bcrypt, gssapi, libnacl, libsodium, nettle, pyopenssl }:
buildPythonPackage rec {
pname = "asyncssh";
version = "1.13.0";
disabled = pythonOlder "3.4";
src = fetchPypi {
inherit pname version;
sha256 = "1n75z4dvhzymd4n610dpwlq7wl8cyz1gxx9m7iq92pzhss5vgpfd";
};
propagatedBuildInputs = [
bcrypt
cryptography
gssapi
libnacl
libsodium
nettle
pyopenssl
];
# Disables windows specific test (specifically the GSSAPI wrapper for Windows)
postPatch = ''
rm ./tests/sspi_stub.py
'';
meta = with stdenv.lib; {
description = "Provides an asynchronous client and server implementation of the SSHv2 protocol on top of the Python asyncio framework";
homepage = https://pypi.python.org/pypi/asyncssh;
license = licenses.epl10;
maintainers = with maintainers; [ worldofpeace ];
};
}

View File

@ -3,12 +3,12 @@
, ipaddress, backports_ssl_match_hostname, docker_pycreds
}:
buildPythonPackage rec {
version = "3.2.1";
version = "3.3.0";
pname = "docker";
src = fetchPypi {
inherit pname version;
sha256 = "0d698c3dc4df66c988de5df21a62cdc3450de2fa8523772779e5e23799c41f43";
sha256 = "dc5cc0971a0d36fe94c5ce89bd4adb6c892713500af7b0818708229c3199911a";
};
propagatedBuildInputs = [

View File

@ -0,0 +1,30 @@
{ lib, buildPythonPackage, isPy3k, fetchFromGitHub, requests
, requests-mock, pytest
}:
buildPythonPackage rec {
pname = "pyairvisual";
version = "1.0.0";
src = fetchFromGitHub {
owner = "bachya";
repo = pname;
rev = "v${version}";
sha256 = "0ng6k07n91k5l68zk3hl4fywb33admp84wqdm20qmmw9yc9c64fd";
};
checkInputs = [ pytest requests-mock ];
propagatedBuildInputs = [ requests ];
checkPhase = ''
py.test tests
'';
disabled = !isPy3k;
meta = with lib; {
description = "A thin Python wrapper for the AirVisual API";
license = licenses.mit;
homepage = https://github.com/bachya/pyairvisual;
};
}

View File

@ -1,19 +1,17 @@
{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub }:
{ stdenv, buildPythonPackage, isPy3k, fetchPypi }:
buildPythonPackage rec {
pname = "pyhomematic";
version = "0.1.42";
version = "0.1.43";
disabled = !isPy3k;
# PyPI tarball does not include tests/ directory
src = fetchFromGitHub {
owner = "danielperna84";
repo = pname;
rev = version;
sha256 = "0h7bq66q22kzj1xwhxmr7knibsmb4csjwq3jr19fyl9sxxmgqwqy";
src = fetchPypi {
inherit pname version;
sha256 = "0b6f4f5c8ddca15e0a1df367bafdffb2f08f1e42f17c78b9470573287e5b20bc";
};
# PyPI tarball does not include tests/ directory
# Unreliable timing: https://github.com/danielperna84/pyhomematic/issues/126
doCheck = false;

View File

@ -0,0 +1,39 @@
{ stdenv, lib, fetchPypi, buildPythonPackage, fetchurl, libvorbis, flac, libogg, libopus, opusfile }:
buildPythonPackage rec {
pname = "PyOgg";
version = "0.6.2a1";
src = fetchPypi {
inherit pname version;
sha256 = "1mjh5zx7mfy246lya1qc42j4q4pz6v5zbd8blnfib9ncswcb1v6l";
};
buildInputs = [ libvorbis flac libogg libopus ];
propagatedBuidInputs = [ libvorbis flac libogg libopus opusfile ];
# There are no tests in this package.
doCheck = false;
postPatch = ''
substituteInPlace pyogg/vorbis.py --replace \
'libvorbisfile = ExternalLibrary.load("vorbisfile")' "libvorbisfile = ctypes.CDLL('${libvorbis}/lib/libvorbisfile${stdenv.hostPlatform.extensions.sharedLibrary}')"
substituteInPlace pyogg/vorbis.py --replace \
'libvorbisenc = ExternalLibrary.load("vorbisenc")' "libvorbisenc = ctypes.CDLL('${libvorbis}/lib/libvorbisenc${stdenv.hostPlatform.extensions.sharedLibrary}')"
substituteInPlace pyogg/vorbis.py --replace \
'libvorbis = ExternalLibrary.load("vorbis")' "libvorbis = ctypes.CDLL('${libvorbis}/lib/libvorbis${stdenv.hostPlatform.extensions.sharedLibrary}')"
substituteInPlace pyogg/flac.py --replace \
'libflac = ExternalLibrary.load("flac")' "libflac = ctypes.CDLL('${flac.out}/lib/libFLAC${stdenv.hostPlatform.extensions.sharedLibrary}')"
substituteInPlace pyogg/ogg.py --replace \
'libogg = ExternalLibrary.load("ogg")' "libogg = ctypes.CDLL('${libogg}/lib/libogg${stdenv.hostPlatform.extensions.sharedLibrary}')"
substituteInPlace pyogg/opus.py --replace \
'libopus = ExternalLibrary.load("opus")' "libopus = ctypes.CDLL('${libopus}/lib/libopus${stdenv.hostPlatform.extensions.sharedLibrary}')"
substituteInPlace pyogg/opus.py --replace \
'libopusfile = ExternalLibrary.load("opusfile")' "libopusfile = ctypes.CDLL('${opusfile}/lib/libopusfile${stdenv.hostPlatform.extensions.sharedLibrary}')"
'';
meta = {
description = "Xiph.org's Ogg Vorbis, Opus and FLAC for Python";
homepage = https://github.com/Zuzu-Typ/PyOgg;
license = lib.licenses.publicDomain;
maintainers = with lib.maintainers; [ pmiddend ];
};
}

View File

@ -0,0 +1,16 @@
{ stdenv, buildPythonPackage, fetchPypi }:
buildPythonPackage rec {
pname = "timeout-decorator";
version = "0.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "1bckwbi5078z3x9lyf8vl9dhx10nymwwnp46c98wm5m02x5j37g4";
};
meta = with stdenv.lib; {
description = "Timeout decorator";
license = licenses.mit;
homepage = https://github.com/pnpnpn/timeout-decorator;
};
}

View File

@ -1,20 +1,20 @@
{ stdenv, lib, fetchurl, makeWrapper, jre
{ stdenv, lib, fetchurl, makeWrapper, jre, gnused
, disableRemoteLogging ? true
}:
with stdenv.lib;
stdenv.mkDerivation rec {
name = "ammonite-${version}";
version = "1.1.0";
version = "1.1.2";
scalaVersion = "2.12";
src = fetchurl {
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
sha256 = "0dx5w1ffnqazsyp6zxrmfcn7yhkkd81h7njwbqqv1pbchj5znj6l";
sha256 = "1balr7ya7xlyq32jwb0w9c4klnw13mdn2c5azkwngq5cp29yrfrc";
};
propagatedBuildInputs = [ jre ] ;
buildInputs = [ makeWrapper ] ;
buildInputs = [ makeWrapper gnused ] ;
phases = "installPhase";
@ -22,9 +22,9 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin
cp ${src} $out/bin/amm
chmod +x $out/bin/amm
wrapProgram $out/bin/amm \
${optionalString disableRemoteLogging "--add-flags --no-remote-logging"} \
--prefix PATH ":" ${jre}/bin ;
${gnused}/bin/sed -i '0,/java/{s|java|${jre}/bin/java|}' $out/bin/amm
'' + optionalString (disableRemoteLogging) ''
${gnused}/bin/sed -i '0,/ammonite.Main/{s|ammonite.Main|ammonite.Main --no-remote-logging|}' $out/bin/amm
'';
meta = {

View File

@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
description = "unix-like reverse engineering framework and commandline tools";
homepage = http://radare.org/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [raskin makefu];
maintainers = with stdenv.lib.maintainers; [raskin makefu mic92];
platforms = with stdenv.lib.platforms; linux;
inherit version;
};

View File

@ -1,26 +1,22 @@
{ stdenv, binutils, cmake, fetchFromGitHub }:
{ stdenv, binutils, cmake, zlib, fetchFromGitHub }:
stdenv.mkDerivation rec {
version = "2017-10-05";
version = "2018-05-22";
name = "bloaty-${version}";
src = fetchFromGitHub {
owner = "google";
repo = "bloaty";
rev = "e47b21b01ceecf001e1965e9da249d48d86a1749";
sha256 = "1il3z49hi0b07agjwr5fg1wzysfxsamfv1snvlp33vrlyl1m7cbm";
rev = "054788b091ccfd43b05b9817062139145096d440";
sha256 = "0pmv66137ipzsjjdz004n61pz3aipjhh3b0w0y1406clqpwkvpjm";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake ];
enableParallelBuilding = true;
buildInputs = [ zlib ];
preConfigure = ''
substituteInPlace src/bloaty.cc \
--replace "c++filt" \
"${binutils.bintools}/bin/c++filt"
'';
enableParallelBuilding = true;
doCheck = true;

View File

@ -2,7 +2,7 @@
assert jdk != null;
let version = "3.5.2"; in
let version = "3.5.3"; in
stdenv.mkDerivation rec {
name = "apache-maven-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "mirror://apache/maven/maven-3/${version}/binaries/${name}-bin.tar.gz";
sha256 = "1zza5kjf69hnx41gy3yhvsk1kz259nig5njcmzjbsr8a75p1yyvh";
sha256 = "0244mpziz4rw35x2cahsqlxpnygvi6qpll16g4kx87db7wvmcadm";
};
buildInputs = [ makeWrapper ];

View File

@ -4,7 +4,7 @@ let
dubBuild = stdenv.mkDerivation rec {
name = "dubBuild-${version}";
version = "1.8.0";
version = "1.8.1";
enableParallelBuilding = true;
@ -12,7 +12,7 @@ let
owner = "dlang";
repo = "dub";
rev = "v${version}";
sha256 = "0788d375sc6xdak9x6xclkkz243lb7di68yxfvl4v0n178mi22bk";
sha256 = "16r7x4jsfv5fjssvs6mwj8ymr6fjpvbkjhpr4f4368sjr5iyfad6";
};
postUnpack = ''
@ -75,6 +75,7 @@ let
# file under ../etc relative to the dub location.
cp ${dubBuild}/bin/dub bin/
export DUB=$NIX_BUILD_TOP/source/bin/dub
export PATH=$PATH:$NIX_BUILD_TOP/source/bin/
export DC=${dmd.out}/bin/dmd
export HOME=$TMP
./test/run-unittest.sh

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
name = "dtools-${version}";
version = "2.079.0";
version = "2.079.1";
srcs = [
(fetchFromGitHub {
owner = "dlang";
repo = "dmd";
rev = "v${version}";
sha256 = "1k6cky71pqnss6h6391p1ich2mjs598f5fda018aygnxg87qgh4y";
sha256 = "0mlk095aw94d940qkymfp85daggiz3f0xv598nlc7acgp6408kyj";
name = "dmd";
})
(fetchFromGitHub {

View File

@ -1,6 +1,6 @@
GIT
remote: https://github.com/mitchellh/vagrant-spec.git
revision: 7ac8b4191de578e345b29acaf62ecc72c8e73be1
remote: https://github.com/hashicorp/vagrant-spec.git
revision: 9413ab298407114528766efefd1fb1ff24589636
specs:
vagrant-spec (0.0.1)
childprocess (~> 0.6.0)
@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
vagrant (2.0.2)
vagrant (2.1.1)
childprocess (~> 0.6.0)
erubis (~> 2.7.0)
hashicorp-checkpoint (~> 0.1.5)
@ -25,6 +25,8 @@ PATH
rest-client (>= 1.6.0, < 3.0)
ruby_dep (<= 1.3.1)
wdm (~> 0.1.0)
win32-file (~> 0.8.1)
win32-file-security (~> 1.0.10)
winrm (~> 2.1)
winrm-elevated (~> 1.1)
winrm-fs (~> 1.0)
@ -40,11 +42,13 @@ GEM
crack (0.4.3)
safe_yaml (~> 1.0.0)
diff-lcs (1.3)
domain_name (0.5.20170404)
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
erubis (2.7.0)
fake_ftp (0.1.1)
ffi (1.9.18)
ffi (1.9.23)
ffi-win32-extensions (1.0.3)
ffi
gssapi (1.2.0)
ffi (>= 1.0.1)
gyoku (1.3.1)
@ -115,6 +119,16 @@ GEM
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
win32-file (0.8.1)
ffi
ffi-win32-extensions
win32-file-stat (>= 1.4.0)
win32-file-security (1.0.10)
ffi
ffi-win32-extensions
win32-file-stat (1.5.5)
ffi
ffi-win32-extensions
winrm (2.2.3)
builder (>= 2.1.2)
erubis (~> 2.7)

View File

@ -1,9 +1,9 @@
{ lib, fetchurl, buildRubyGem, bundlerEnv, ruby, libarchive }:
let
version = "2.0.2";
version = "2.1.1";
url = "https://github.com/hashicorp/vagrant/archive/v${version}.tar.gz";
sha256 = "1sjfwgy2y6q5s1drd8h8xgz2a0sv1l3kx9jilgc02hlcdz070iir";
sha256 = "0kgsb33f3wh6x4450x74wri6z78ky92sfrv7ba7h7zmxsadb6m4b";
deps = bundlerEnv rec {
name = "${pname}-${version}";

View File

@ -46,10 +46,10 @@
dependencies = ["unf"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "12hs8yijhak7p2hf1xkh98g0mnp5phq3mrrhywzaxpwz1gw5r3kf";
sha256 = "0abdlwb64ns7ssmiqhdwgl27ly40x2l27l8hs8hn0z4kb3zd2x3v";
type = "gem";
};
version = "0.5.20170404";
version = "0.5.20180417";
};
erubis = {
source = {
@ -70,10 +70,19 @@
ffi = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
sha256 = "0zw6pbyvmj8wafdc7l5h7w20zkp1vbr2805ql5d941g2b20pk4zr";
type = "gem";
};
version = "1.9.18";
version = "1.9.23";
};
ffi-win32-extensions = {
dependencies = ["ffi"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1ywkkbr3bpi2ais2jr8yrsqwwrm48jg262anmdkcb9if95vajx7l";
type = "gem";
};
version = "1.0.3";
};
gssapi = {
dependencies = ["ffi"];
@ -397,16 +406,16 @@
version = "0.0.7.5";
};
vagrant = {
dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "winrm" "winrm-elevated" "winrm-fs"];
dependencies = ["childprocess" "erubis" "hashicorp-checkpoint" "i18n" "listen" "log4r" "net-scp" "net-sftp" "net-ssh" "rb-kqueue" "rest-client" "ruby_dep" "wdm" "win32-file" "win32-file-security" "winrm" "winrm-elevated" "winrm-fs"];
};
vagrant-spec = {
dependencies = ["childprocess" "log4r" "rspec" "thor"];
source = {
fetchSubmodules = false;
rev = "7ac8b4191de578e345b29acaf62ecc72c8e73be1";
sha256 = "0qybgxdnndx7xfmhyjcj46b2mv78d98yk30d68ppmfnmm3jx590h";
rev = "9413ab298407114528766efefd1fb1ff24589636";
sha256 = "1z77m3p6x82hipa7y4i71zafy0rdfajw2vhqdxczjmrlwp0pvisl";
type = "git";
url = "https://github.com/mitchellh/vagrant-spec.git";
url = "https://github.com/hashicorp/vagrant-spec.git";
};
version = "0.0.1";
};
@ -427,6 +436,33 @@
};
version = "2.3.2";
};
win32-file = {
dependencies = ["ffi" "ffi-win32-extensions" "win32-file-stat"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0mjylzv4bbnxyjqf7hnd9ghcs5xr2sv8chnmkqdi2cc6pya2xax0";
type = "gem";
};
version = "0.8.1";
};
win32-file-security = {
dependencies = ["ffi" "ffi-win32-extensions"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lpq821a1hrxmm0ki5c34wijzhn77g4ny76v698ixwg853y2ir9r";
type = "gem";
};
version = "1.0.10";
};
win32-file-stat = {
dependencies = ["ffi" "ffi-win32-extensions"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0lc3yajcb8xxabvj9qian938k60ixydvs3ixl5fldi0nlvnvk468";
type = "gem";
};
version = "1.5.5";
};
winrm = {
dependencies = ["builder" "erubis" "gssapi" "gyoku" "httpclient" "logging" "nori" "rubyntlm"];
source = {

View File

@ -8,14 +8,11 @@
let
inherit (stdenv.lib) optional optionals;
sdlName = if sdlClient then "-sdl" else "";
gtkName = if gtkClient then "-gtk" else "";
name = "freeciv";
version = "2.5.11";
in
stdenv.mkDerivation {
name = "${name}${sdlName}${gtkName}-${version}";
name = "${name}-${version}";
inherit version;
src = fetchurl {

View File

@ -22,9 +22,9 @@ let
COREDIR="$out/lib/retroarch/cores"
mkdir -p $out/bin
mkdir -p $COREDIR
mv ${d2u core}_libretro.so $COREDIR/.
mv ${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $COREDIR/.
makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch-${core} \
--add-flags "-L $COREDIR/${d2u core}_libretro.so $@"
--add-flags "-L $COREDIR/${d2u core}_libretro${stdenv.hostPlatform.extensions.sharedLibrary} $@"
'';
enableParallelBuilding = true;
@ -39,7 +39,7 @@ let
homepage = https://www.libretro.com/;
inherit license;
maintainers = with maintainers; [ edwtjo hrdinka MP2E ];
platforms = platforms.linux;
platforms = platforms.unix;
};
} // a);
@ -178,7 +178,7 @@ in with stdenv.lib.licenses;
buildPhase = ''
cd svn-current/trunk \
&& make -f makefile.libretro \
&& mv fbalpha2012_libretro.so fba_libretro.so
&& mv fbalpha2012_libretro${stdenv.hostPlatform.extensions.sharedLibrary} fba_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
'';
};
@ -412,7 +412,7 @@ in with stdenv.lib.licenses;
}).override {
buildPhase = ''
make -f Makefile.libretro
mv snes9x2010_libretro.so snes9x_next_libretro.so
mv snes9x2010_libretro${stdenv.hostPlatform.extensions.sharedLibrary} snes9x_next_libretro${stdenv.hostPlatform.extensions.sharedLibrary}
'';
};

View File

@ -16,7 +16,7 @@ stdenv.mkDerivation {
mkdir -p $out/lib
$(for coreDir in $cores
do
$(ln -s $coreDir/*.so $out/lib/.)
$(ln -s $coreDir/* $out/lib/.)
done)
ln -s -t $out ${retroarch}/share

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, makeWrapper, autoconf, automake, libtool_2, autoreconfHook
, llvm, libcxx, libcxxabi, clang, libuuid
, libobjc ? null, maloader ? null, xctoolchain ? null
, libcxx, libcxxabi, libuuid
, libobjc ? null, maloader ? null
, hostPlatform, targetPlatform
, enableDumpNormalizedLibArgs ? false
}:
@ -22,7 +22,7 @@ let
in
# Non-Darwin alternatives
assert (!hostPlatform.isDarwin) -> (maloader != null && xctoolchain != null);
assert (!hostPlatform.isDarwin) -> maloader != null;
assert enableDumpNormalizedLibArgs -> (!useOld);
@ -57,8 +57,6 @@ let
autoreconfHook
];
buildInputs = [ libuuid ] ++
# Only need llvm and clang if the stdenv isn't already clang-based (TODO: just make a stdenv.cc.isClang)
stdenv.lib.optionals (!stdenv.isDarwin) [ llvm clang ] ++
stdenv.lib.optionals stdenv.isDarwin [ libcxxabi libobjc ];
patches = [
@ -80,9 +78,6 @@ let
# TODO(@Ericson2314): Always pass "--target" and always targetPrefix.
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
configureFlags = stdenv.lib.optionals (!stdenv.isDarwin) [
"CXXFLAGS=-I${libcxx}/include/c++/v1"
];
postPatch = ''
sed -i -e 's/addStandardLibraryDirectories = true/addStandardLibraryDirectories = false/' cctools/ld64/src/ld/Options.cpp
@ -110,8 +105,6 @@ let
EOF
cd cctools
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
sed -i -e 's|clang++|& -I${libcxx}/include/c++/v1|' autogen.sh
'';
# TODO: this builds an ld without support for LLVM's LTO. We need to teach it, but that's rather
@ -126,21 +119,12 @@ let
popd
'';
postInstall =
if hostPlatform.isDarwin
then ''
cat >$out/bin/dsymutil << EOF
#!${stdenv.shell}
EOF
chmod +x $out/bin/dsymutil
''
else ''
for tool in dyldinfo dwarfdump dsymutil; do
${makeWrapper}/bin/makeWrapper "${maloader}/bin/ld-mac" "$out/bin/${targetPlatform.config}-$tool" \
--add-flags "${xctoolchain}/bin/$tool"
ln -s "$out/bin/${targetPlatform.config}-$tool" "$out/bin/$tool"
done
'';
postInstall = ''
cat >$out/bin/dsymutil << EOF
#!${stdenv.shell}
EOF
chmod +x $out/bin/dsymutil
'';
passthru = {
inherit targetPrefix;

View File

@ -62,6 +62,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libnl openssl sqlite ];
outputs = [ "out" "man" ];
extraConfig = ''
CONFIG_DRIVER_WIRED=y
CONFIG_LIBNL32=y
@ -103,6 +105,10 @@ stdenv.mkDerivation rec {
'';
preInstall = "mkdir -p $out/bin";
postInstall = ''
install -vD hostapd.8 -t $man/share/man/man8
install -vD hostapd_cli.1 -t $man/share/man/man1
'';
meta = {
homepage = http://hostap.epitest.fi;

View File

@ -5,9 +5,7 @@ assert stdenv.lib.versionAtLeast kernel.version "3.10";
stdenv.mkDerivation rec {
name = "wireguard-${version}";
version = "0.0.20180514";
inherit (wireguard-tools) src;
inherit (wireguard-tools) src version;
preConfigure = ''
cd src
@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = https://www.wireguard.com/;
downloadPage = https://git.zx2c4.com/WireGuard/refs/;
description = " Tools for the WireGuard secure network tunnel";
description = "Kernel module for the WireGuard secure network tunnel";
maintainers = with maintainers; [ ericsagnes mic92 zx2c4 ];
license = licenses.gpl2;
platforms = platforms.linux;

View File

@ -167,7 +167,7 @@
"lutron_caseta" = ps: with ps; [ ];
"matrix" = ps: with ps; [ matrix-client ];
"maxcube" = ps: with ps; [ ];
"media_extractor" = ps: with ps; [ ];
"media_extractor" = ps: with ps; [ youtube-dl-light ];
"media_player.anthemav" = ps: with ps; [ ];
"media_player.aquostv" = ps: with ps; [ ];
"media_player.blackbird" = ps: with ps; [ ];
@ -276,7 +276,7 @@
"satel_integra" = ps: with ps; [ ];
"scene.hunterdouglas_powerview" = ps: with ps; [ ];
"scsgate" = ps: with ps; [ ];
"sensor.airvisual" = ps: with ps; [ ];
"sensor.airvisual" = ps: with ps; [ pyairvisual ];
"sensor.alpha_vantage" = ps: with ps; [ ];
"sensor.bbox" = ps: with ps; [ ];
"sensor.bh1750" = ps: with ps; [ ];

View File

@ -25,6 +25,13 @@ GENERAL_PREFIX = '# homeassistant.'
COMPONENT_PREFIX = GENERAL_PREFIX + 'components.'
PKG_SET = 'python3Packages'
# If some requirements are matched by multiple python packages,
# the following can be used to choose one of them
PKG_PREFERENCES = {
# Use python3Packages.youtube-dl-light instead of python3Packages.youtube-dl
'youtube-dl': 'youtube-dl-light'
}
def get_version():
with open(os.path.dirname(sys.argv[0]) + '/default.nix') as f:
m = re.search('hassVersion = "([\\d\\.]+)";', f.read())
@ -59,7 +66,7 @@ output = subprocess.check_output(['nix-env', '-f', os.path.dirname(sys.argv[0])
packages = json.loads(output)
def name_to_attr_path(req):
attr_paths = []
attr_paths = set()
names = [req]
# E.g. python-mpd2 is actually called python3.6-mpd2
# instead of python-3.6-python-mpd2 inside Nixpkgs
@ -71,11 +78,18 @@ def name_to_attr_path(req):
pattern = re.compile('^python\\d\\.\\d-{}-\\d'.format(name), re.I)
for attr_path, package in packages.items():
if pattern.match(package['name']):
attr_paths.append(attr_path)
attr_paths.add(attr_path)
if len(attr_paths) > 1:
for to_replace, replacement in PKG_PREFERENCES.items():
try:
attr_paths.remove(PKG_SET + '.' + to_replace)
attr_paths.add(PKG_SET + '.' + replacement)
except KeyError:
pass
# Let's hope there's only one derivation with a matching name
assert(len(attr_paths) <= 1)
if attr_paths:
return attr_paths[0]
if len(attr_paths) == 1:
return attr_paths.pop()
else:
return None
@ -86,14 +100,11 @@ build_inputs = {}
for component, reqs in OrderedDict(sorted(requirements.items())).items():
attr_paths = []
for req in reqs:
try:
name = req.split('==')[0]
attr_path = name_to_attr_path(name)
if attr_path is not None:
# Add attribute path without "python3Packages." prefix
attr_paths.append(attr_path[len(PKG_SET + '.'):])
except RequirementParseError:
continue
name = req.split('==')[0]
attr_path = name_to_attr_path(name)
if attr_path is not None:
# Add attribute path without "python3Packages." prefix
attr_paths.append(attr_path[len(PKG_SET + '.'):])
else:
build_inputs[component] = attr_paths

View File

@ -25,11 +25,11 @@ in stdenv.mkDerivation rec {
name = "postfix-${version}";
version = "3.3.0";
version = "3.3.1";
src = fetchurl {
url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${name}.tar.gz";
sha256 = "0fggpbsc9jkrbaw9hy0zw9h32plmfvcv0x860pbih0g346byhhkr";
sha256 = "0fvymsklp32njsv0ngc1f45j01kcy61r5in99g5palibwkd19xal";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -5,12 +5,12 @@
stdenv.mkDerivation rec {
name = "EventStore-${version}";
version = "4.1.0";
version = "4.1.1";
src = fetchFromGitHub {
owner = "EventStore";
repo = "EventStore";
rev = "oss-v${version}";
sha256 = "0mvjz327kfg157fwvy8xkkf5h0g3v373pfwr70cslsy96n45jp10";
sha256 = "1069ncb9ps1wi71yw1fzkfd9rfsavccw8xj3a3miwd9x72w8636f";
};
buildPhase = ''

View File

@ -1,5 +1,5 @@
{ stdenv, buildPerlPackage, fetchurl
, perl, perlPackages, fetchpatch }:
{ stdenv, buildPerlPackage, fetchurl, fetchpatch, makeWrapper
, perl, perlPackages, flac, faad2, sox, lame, monkeysAudio, wavpack }:
buildPerlPackage rec {
name = "slimserver-${version}";
@ -16,6 +16,7 @@ buildPerlPackage rec {
} ) ];
buildInputs = [
makeWrapper
perl
perlPackages.AnyEvent
perlPackages.AudioScan
@ -75,17 +76,19 @@ buildPerlPackage rec {
preConfigurePhase = "";
buildPhase = "
buildPhase = ''
mv lib tmp
mkdir -p lib/perl5/site_perl
mv CPAN_used/* lib/perl5/site_perl
cp -rf tmp/* lib/perl5/site_perl
";
'';
doCheck = false;
installPhase = ''
cp -r . $out
wrapProgram $out/slimserver.pl \
--prefix PATH : "${stdenv.lib.makeBinPath [ lame flac faad2 sox monkeysAudio wavpack ]}"
'';
outputs = [ "out" ];

View File

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
name = "pg_repack-${version}";
version = "1.4.2";
version = "1.4.3";
buildInputs = [ postgresql openssl zlib readline ];
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
owner = "reorg";
repo = "pg_repack";
rev = "refs/tags/ver_${version}";
sha256 = "1yv5x7dgiv1miazbngkrkdbc2zpwklj6nlligghjvv83bcl8969q";
sha256 = "1mmd22nfaxjwnbl3i95f3ivmjvfqwdflgaczlg3129dbpwg265xr";
};
installPhase = ''

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "zsh-autosuggestions-${version}";
version = "0.4.2";
version = "0.4.3";
src = fetchFromGitHub {
owner = "zsh-users";
repo = "zsh-autosuggestions";
rev = "v${version}";
sha256 = "1yvbhfaaqzhmjmwjh75i1p4mrqp3ksw74bp8lrll81c6zf8bmvig";
sha256 = "117m4jk3lgh98k699v00pg554qblpr4pbfvgs0qrgygfx1n1bpl4";
};
buildInputs = [ zsh ];

View File

@ -0,0 +1,24 @@
{ stdenv, fetchFromGitHub, diffutils, gd, pkgconfig }:
stdenv.mkDerivation rec {
name = "s2png-${version}";
version = "0.7.2";
src = fetchFromGitHub {
owner = "dbohdan";
repo = "s2png";
rev = "v${version}";
sha256 = "0y3crfm0jqprgxamlly713cka2x1bp6z63p1lw9wh4wc37kpira6";
};
buildInputs = [ diffutils gd pkgconfig ];
installFlags = [ "prefix=" "DESTDIR=$(out)" ];
meta = {
homepage = https://github.com/dbohdan/s2png/;
description = "Store any data in PNG images";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.dbohdan ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,64 +1,53 @@
{ fetchurl, stdenv, python, bash }:
{ stdenv, fetchFromGitHub, python, bash }:
let
stdenv.mkDerivation rec {
name = "autojump-${version}";
version = "22.5.1";
in
stdenv.mkDerivation rec {
name = "autojump-${version}";
src = fetchurl {
url = "http://github.com/joelthelion/autojump/archive/release-v${version}.tar.gz";
name = "autojump-${version}.tar.gz";
sha256 = "17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn";
};
src = fetchFromGitHub {
owner = "wting";
repo = "autojump";
rev = "release-v${version}";
sha256 = "1l1278g3k1qfrz41pkpjdhsabassb9si2d1bfbcmvbv5h3wmlqk9";
};
buildInputs = [ python bash ];
dontBuild = true;
buildInputs = [ python bash ];
dontBuild = true;
installPhase = ''
python ./install.py -d $out -p ""
chmod +x $out/etc/profile.d/*
installPhase = ''
python ./install.py -d "$out" -p "" -z "$out/share/zsh/site-functions/"
mkdir -p "$out/etc/bash_completion.d"
cp -v $out/share/autojump/autojump.bash "$out/etc/bash_completion.d"
chmod +x "$out/etc/profile.d/autojump.sh"
install -Dt "$out/share/bash-completion/completions/" -m444 "$out/share/autojump/autojump.bash"
install -Dt "$out/share/fish/vendor_conf.d/" -m444 "$out/share/autojump/autojump.fish"
install -Dt "$out/share/zsh/site-functions/" -m444 "$out/share/autojump/autojump.zsh"
'';
mkdir -p $out/share/fish/vendor_completions.d/
cp -v $out/share/autojump/autojump.fish "$out/share/fish/vendor_completions.d/autojump.fish"
meta = with stdenv.lib; {
description = "A `cd' command that learns";
longDescription = ''
One of the most used shell commands is cd. A quick survey
among my friends revealed that between 10 and 20% of all
commands they type are actually cd commands! Unfortunately,
jumping from one part of your system to another with cd
requires to enter almost the full path, which isnt very
practical and requires a lot of keystrokes.
cat <<SCRIPT > $out/bin/autojump-share
#!/bin/sh
# Run this script to find the autojump shared folder where all the shell
# integration scripts are living.
echo $out/share/autojump
SCRIPT
chmod +x $out/bin/autojump-share
Autojump is a faster way to navigate your filesystem. It
works by maintaining a database of the directories you use the
most from the command line. The jstat command shows you the
current contents of the database. You need to work a little
bit before the database becomes usable. Once your database
is reasonably complete, you can jump to a directory by
typing "j dirspec", where dirspec is a few characters of the
directory you want to jump to. It will jump to the most used
directory whose name matches the pattern given in dirspec.
Autojump supports tab-completion.
'';
meta = {
description = "A `cd' command that learns";
longDescription = ''
One of the most used shell commands is cd. A quick survey
among my friends revealed that between 10 and 20% of all
commands they type are actually cd commands! Unfortunately,
jumping from one part of your system to another with cd
requires to enter almost the full path, which isnt very
practical and requires a lot of keystrokes.
Autojump is a faster way to navigate your filesystem. It
works by maintaining a database of the directories you use the
most from the command line. The jstat command shows you the
current contents of the database. You need to work a little
bit before the database becomes usable. Once your database
is reasonably complete, you can jump to a directory by
typing "j dirspec", where dirspec is a few characters of the
directory you want to jump to. It will jump to the most used
directory whose name matches the pattern given in dirspec.
Autojump supports tab-completion.
'';
homepage = http://wiki.github.com/joelthelion/autojump;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.domenkozar ];
};
}
homepage = http://wiki.github.com/wting/autojump;
license = licenses.gpl3;
platforms = platforms.all;
maintainers = with maintainers; [ domenkozar yurrriq ];
};
}

View File

@ -7,12 +7,12 @@
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "calamares";
version = "3.1.12";
version = "3.2.0";
# release including submodule
src = fetchurl {
url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.gz";
sha256 = "0k59wnch2gmbsr5dh5swbjp4rkf5c1ml0n4sxf196wdasraismc6";
sha256 = "1i5q3hffjqi1id9kv8sixhddxd90d5qqmbc7gf5vf9m3c54pln64";
};
buildInputs = [

View File

@ -4,13 +4,13 @@
# There is also cdebootstrap now. Is that easier to maintain?
stdenv.mkDerivation rec {
name = "debootstrap-${version}";
version = "1.0.99";
version = "1.0.100";
src = fetchurl {
# git clone git://git.debian.org/d-i/debootstrap.git
# I'd like to use the source. However it's lacking the lanny script ? (still true?)
url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
sha256 = "1plw53zghiykddj77s5jk10ncx82cgrkk798p909yydhcghnvcsb";
sha256 = "0jmwf26sq4bkdz6wi0dcjsrfkg8c8k3xdhi11xp6cdrw6qpw82ws";
};
buildInputs = [ dpkg gettext gawk perl ];

View File

@ -0,0 +1,50 @@
{ stdenv, fetchurl, unzip, lib, file, licenseFile, optgamsFile}:
assert licenseFile != null;
stdenv.mkDerivation rec {
version = "25.0.2";
name = "gams-${version}";
src = fetchurl {
url = "https://d37drm4t2jghv5.cloudfront.net/distributions/${version}/linux/linux_x64_64_sfx.exe";
sha256 = "4f95389579f33ff7c2586838a2c19021aa0746279555cbb51aa6e0efd09bd297";
};
unpackCmd = "unzip $src";
buildInputs = [ unzip file ];
dontBuild = true;
installPhase = ''
mkdir -p "$out/bin" "$out/share/gams"
cp -a * "$out/share/gams"
cp ${licenseFile} $out/share/gamslice.txt
'' + stdenv.lib.optionalString (optgamsFile != null) ''
cp ${optgamsFile} $out/share/optgams.def
ln -s $out/share/gams/optgams.def $out/bin/optgams.def
'';
postFixup = ''
for f in $out/share/gams/*; do
if [[ -x $f ]] && [[ -f $f ]] && [[ ! $f =~ .*\.so$ ]]; then
if patchelf \
--set-rpath "$out/share/gams" \
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) $f; then
ln -s $f $out/bin/$(basename $f)
fi
fi
done
'';
meta = with stdenv.lib;{
description = "General Algebraic Modeling System";
longDescription = ''
The General Algebraic Modeling System is a high-level modeling system for mathematical optimization.
GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems.
'';
homepage = https://www.gams.com/;
license = licenses.unfree;
maintainers = [ maintainers.Scriptkiddi ];
platforms = platforms.linux;
};
}

View File

@ -1,26 +1,36 @@
{ mkDerivation, fetchurl, lib
, extra-cmake-modules, kdoctools, wrapGAppsHook
, kconfig, kcrash, kinit, kpmcore
, eject, libatasmart }:
, eject, libatasmart , utillinux, makeWrapper, qtbase
}:
let
pname = "partitionmanager";
in mkDerivation rec {
name = "${pname}-${version}";
version = "3.0.1";
version = "3.3.1";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
sha256 = "08sb9xa7dvvgha3k2xm1srl339przxpxd2y5bh1lnx6k1x7dk410";
sha256 = "0jhggb4xksb0k0mj752n6pz0xmccnbzlp984xydqbz3hkigra1si";
};
enableParallelBuilding = true;
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook makeWrapper ];
# refer to kpmcore for the use of eject
buildInputs = [ eject libatasmart utillinux ];
propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ];
postInstall = ''
wrapProgram "$out/bin/partitionmanager" --prefix QT_PLUGIN_PATH : "${kpmcore}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins"
'';
meta = with lib; {
description = "KDE Partition Manager";
license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg ];
homepage = https://www.kde.org/applications/system/kdepartitionmanager/;
maintainers = with maintainers; [ peterhoeg ma27 ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook ];
# refer to kpmcore for the use of eject
buildInputs = [ eject libatasmart ];
propagatedBuildInputs = [ kconfig kcrash kinit kpmcore ];
}

View File

@ -5,13 +5,13 @@
buildPythonApplication rec {
pname = "thefuck";
version = "3.26";
version = "3.27";
src = fetchFromGitHub {
owner = "nvbn";
repo = "${pname}";
rev = version;
sha256 = "0iyihbp94z38xajy8yfbn3ky7irnam1zwyswg34cw4kkfgggrwhz";
sha256 = "1lsg0g9lnpj2nidggm16b7jm4xzhg0dgy81crfzny62hah1zk0pj";
};
propagatedBuildInputs = [ colorama decorator psutil pyte six ];

View File

@ -13,7 +13,7 @@ in
stdenv.mkDerivation rec {
name = "tmux-${version}";
version = "2.6";
version = "2.7";
outputs = [ "out" "man" ];
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
owner = "tmux";
repo = "tmux";
rev = version;
sha256 = "0605y0nwfmf0mnq075vk80897c2cvhxxvxinqq7hvrpjf2ph5mww";
sha256 = "1yr4l8ckd67c3id4vrbpha91xxpdfpw0cpbr3v81lam0m7k4rgba";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];

View File

@ -1,4 +1,4 @@
{ stdenv, targetPlatform, fetchurl, buildPythonApplication
{ stdenv, targetPlatform, fetchurl, buildPythonPackage
, zip, ffmpeg, rtmpdump, phantomjs2, atomicparsley, pycryptodome, pandoc
# Pandoc is required to build the package's man page. Release tarballs contain a
# formatted man page already, though, it will still be installed. We keep the
@ -13,7 +13,7 @@
, makeWrapper }:
with stdenv.lib;
buildPythonApplication rec {
buildPythonPackage rec {
pname = "youtube-dl";
version = "2018.05.18";

View File

@ -2,13 +2,13 @@
buildGoPackage rec {
name = "wireguard-go-${version}";
version = "0.0.20180514";
version = "0.0.20180519";
goPackagePath = "wireguard-go";
src = fetchzip {
url = "https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-${version}.tar.xz";
sha256 = "1i1w4vj8w353b92nfhs92k0f7fifrwi067qfmgckdk0kk76nv2id";
sha256 = "0b3wpc0ccf24567fjafv1sjs3yqq1xjam3gpfp37avxqy9789nb7";
};
goDeps = ./deps.nix;
@ -22,7 +22,7 @@ buildGoPackage rec {
description = "Userspace Go implementation of WireGuard";
homepage = https://git.zx2c4.com/wireguard-go/about/;
license = licenses.gpl2;
maintainers = with maintainers; [ kirelagin ];
platforms = with platforms; linux ++ darwin ++ windows;
maintainers = with maintainers; [ kirelagin zx2c4 ];
platforms = platforms.darwin;
};
}

Some files were not shown because too many files have changed in this diff Show More