Merge branch 'master' into staging

This commit is contained in:
Franz Pletz 2017-10-24 14:47:43 +02:00
commit 5621b77a33
No known key found for this signature in database
GPG Key ID: 846FDED7792617B4
148 changed files with 7019 additions and 3951 deletions

View File

@ -9,16 +9,15 @@ date: 2017-03-05
To install the rust compiler and cargo put To install the rust compiler and cargo put
``` ```
rustStable.rustc rust
rustStable.cargo
``` ```
into the `environment.systemPackages` or bring them into scope with into the `environment.systemPackages` or bring them into
`nix-shell -p rustStable.rustc -p rustStable.cargo`. scope with `nix-shell -p rust`.
There are also `rustBeta` and `rustNightly` package sets available. For daily builds (beta and nightly) use either rustup from
These are not updated very regularly. For daily builds use either rustup from nixpkgs or use the [Rust nightlies
nixpkgs or use the [Rust nightlies overlay](#using-the-rust-nightlies-overlay). overlay](#using-the-rust-nightlies-overlay).
## Packaging Rust applications ## Packaging Rust applications
@ -38,7 +37,7 @@ buildRustPackage rec {
sha256 = "0y5d1n6hkw85jb3rblcxqas2fp82h3nghssa4xqrhqnz25l799pj"; sha256 = "0y5d1n6hkw85jb3rblcxqas2fp82h3nghssa4xqrhqnz25l799pj";
}; };
depsSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx"; cargoSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep"; description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
@ -50,7 +49,7 @@ buildRustPackage rec {
} }
``` ```
`buildRustPackage` requires a `depsSha256` attribute which is computed over `buildRustPackage` requires a `cargoSha256` attribute which is computed over
all crate sources of this package. Currently it is obtained by inserting a all crate sources of this package. Currently it is obtained by inserting a
fake checksum into the expression and building the package once. The correct fake checksum into the expression and building the package once. The correct
checksum can be then take from the failed build. checksum can be then take from the failed build.
@ -76,11 +75,11 @@ in the `~/.config/nixpkgs/overlays` directory.
The latest version can be installed with the following command: The latest version can be installed with the following command:
$ nix-env -Ai nixos.rustChannels.stable.rust $ nix-env -Ai nixos.latest.rustChannels.stable.rust
Or using the attribute with nix-shell: Or using the attribute with nix-shell:
$ nix-shell -p nixos.rustChannels.stable.rust $ nix-shell -p nixos.latest.rustChannels.stable.rust
To install the beta or nightly channel, "stable" should be substituted by To install the beta or nightly channel, "stable" should be substituted by
"nightly" or "beta", or "nightly" or "beta", or

View File

@ -31,6 +31,7 @@
ak = "Alexander Kjeldaas <ak@formalprivacy.com>"; ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
akaWolf = "Artjom Vejsel <akawolf0@gmail.com>"; akaWolf = "Artjom Vejsel <akawolf0@gmail.com>";
akc = "Anders Claesson <akc@akc.is>"; akc = "Anders Claesson <akc@akc.is>";
alexvorobiev = "Alex Vorobiev <alexander.vorobiev@gmail.com";
algorith = "Dries Van Daele <dries_van_daele@telenet.be>"; algorith = "Dries Van Daele <dries_van_daele@telenet.be>";
alibabzo = "Alistair Bill <alistair.bill@gmail.com>"; alibabzo = "Alistair Bill <alistair.bill@gmail.com>";
all = "Nix Committers <nix-commits@lists.science.uu.nl>"; all = "Nix Committers <nix-commits@lists.science.uu.nl>";

View File

@ -55,7 +55,13 @@ following incompatible changes:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para></para> <para>
Dollar signs in options under <option>services.postfix</option> are
passed verbatim to Postfix, which will interpret them as the beginning of
a parameter expression. This was already true for string-valued options
in the previous release, but not for list-valued options. If you need to
pass literal dollar signs through Postfix, double them.
</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>

View File

@ -9,6 +9,12 @@ in {
imports = [ ../../../modules/virtualisation/amazon-image.nix ]; imports = [ ../../../modules/virtualisation/amazon-image.nix ];
options.amazonImage = { options.amazonImage = {
name = mkOption {
type = types.str;
description = "The name of the generated derivation";
default = "nixos-disk-image";
};
contents = mkOption { contents = mkOption {
example = literalExample '' example = literalExample ''
[ { source = pkgs.memtest86 + "/memtest.bin"; [ { source = pkgs.memtest86 + "/memtest.bin";
@ -38,7 +44,7 @@ in {
config.system.build.amazonImage = import ../../../lib/make-disk-image.nix { config.system.build.amazonImage = import ../../../lib/make-disk-image.nix {
inherit lib config; inherit lib config;
inherit (cfg) contents format; inherit (cfg) contents format name;
pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package pkgs = import ../../../.. { inherit (pkgs) system; }; # ensure we use the regular qemu-kvm package
partitioned = config.ec2.hvm; partitioned = config.ec2.hvm;
diskSize = cfg.sizeMB; diskSize = cfg.sizeMB;

View File

@ -112,6 +112,9 @@ with lib;
(mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ]) (mkAliasOptionModule [ "environment" "checkConfigurationOptions" ] [ "_module" "check" ])
# opendkim
(mkRenamedOptionModule [ "services" "opendkim" "keyFile" ] [ "services" "opendkim" "keyPath" ])
# XBMC # XBMC
(mkRenamedOptionModule [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]) (mkRenamedOptionModule [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
(mkRenamedOptionModule [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ]) (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])

View File

@ -8,10 +8,12 @@ let
defaultSock = "local:/run/opendkim/opendkim.sock"; defaultSock = "local:/run/opendkim/opendkim.sock";
keyFile = "${cfg.keyPath}/${cfg.selector}.private";
args = [ "-f" "-l" args = [ "-f" "-l"
"-p" cfg.socket "-p" cfg.socket
"-d" cfg.domains "-d" cfg.domains
"-k" cfg.keyFile "-k" keyFile
"-s" cfg.selector "-s" cfg.selector
] ++ optionals (cfg.configFile != null) [ "-x" cfg.configFile ]; ] ++ optionals (cfg.configFile != null) [ "-x" cfg.configFile ];
@ -57,9 +59,13 @@ in {
''; '';
}; };
keyFile = mkOption { keyPath = mkOption {
type = types.path; type = types.path;
description = "Secret key file used for signing messages."; description = ''
The path that opendkim should put its generated private keys into.
The DNS settings will be found in this directory with the name selector.txt.
'';
default = "/var/lib/opendkim/keys";
}; };
selector = mkOption { selector = mkOption {
@ -100,11 +106,25 @@ in {
after = [ "network.target" ]; after = [ "network.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -p "${cfg.keyPath}"
cd "${cfg.keyPath}"
if ! test -f ${cfg.selector}.private; then
${pkgs.opendkim}/bin/opendkim-genkey -s ${cfg.selector} -d all-domains-generic-key
echo "Generated OpenDKIM key! Please update your DNS settings:\n"
echo "-------------------------------------------------------------"
cat ${cfg.selector}.txt
echo "-------------------------------------------------------------"
fi
chown ${cfg.user}:${cfg.group} ${cfg.selector}.private
'';
serviceConfig = { serviceConfig = {
ExecStart = "${pkgs.opendkim}/bin/opendkim ${escapeShellArgs args}"; ExecStart = "${pkgs.opendkim}/bin/opendkim ${escapeShellArgs args}";
User = cfg.user; User = cfg.user;
Group = cfg.group; Group = cfg.group;
RuntimeDirectory = optional (cfg.socket == defaultSock) "opendkim"; RuntimeDirectory = optional (cfg.socket == defaultSock) "opendkim";
PermissionsStartOnly = true;
}; };
}; };

View File

@ -28,7 +28,7 @@ let
mainCf = let mainCf = let
escape = replaceStrings ["$"] ["$$"]; escape = replaceStrings ["$"] ["$$"];
mkList = items: "\n " + concatMapStringsSep "\n " escape items; mkList = items: "\n " + concatStringsSep "\n " items;
mkVal = value: mkVal = value:
if isList value then mkList value if isList value then mkList value
else " " + (if value == true then "yes" else " " + (if value == true then "yes"

View File

@ -142,7 +142,7 @@ in
${pkg}/apache-tomcat/conf/server.xml.dist > ${cfg.home}/server.xml ${pkg}/apache-tomcat/conf/server.xml.dist > ${cfg.home}/server.xml
''; '';
script = "${pkg}/start_crowd.sh"; script = "${pkg}/start_crowd.sh -fg";
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;

View File

@ -13,7 +13,7 @@ buildRustPackage rec {
sha256 = "1rg7ydvnhlg8w6blilm3cv6v4q51x1hgrbkln2ikhpdq0vakp5fd"; sha256 = "1rg7ydvnhlg8w6blilm3cv6v4q51x1hgrbkln2ikhpdq0vakp5fd";
}; };
depsSha256 = "1n4rxipna307r4xppb2iaads7kpa3yjv99fimvpn8l0f999ir2rz"; cargoSha256 = "0i9617qwc6d4jvlbydwk03rcsnyvxzpbn2ms10ds4r6x7jy2a4sy";
cargoBuildFlags = ["--features cli"]; cargoBuildFlags = ["--features cli"];

View File

@ -13,12 +13,13 @@ buildRustPackage rec {
sha256 = "1w651g4p2mc4ljp20l8lwvfx3l3fzyp6gf2izr85vyb1wjbaccqn"; sha256 = "1w651g4p2mc4ljp20l8lwvfx3l3fzyp6gf2izr85vyb1wjbaccqn";
}; };
depsSha256 = "14x8pbjgkz0g724lnvd9mi2alqd6fipjljw6xsraf9gqwijn1knq"; cargoSha256 = "14x8pbjgkz0g724lnvd9mi2alqd6fipjljw6xsraf9gqwijn1kn0";
meta = { meta = {
description = "Directly run Ethereum bytecode"; description = "Directly run Ethereum bytecode";
homepage = https://github.com/dapphub/ethrun/; homepage = https://github.com/dapphub/ethrun/;
maintainers = [stdenv.lib.maintainers.dbrock]; maintainers = [stdenv.lib.maintainers.dbrock];
broken = true; # mark temporary as broken
inherit version; inherit version;
}; };
} }

View File

@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c"; sha256 = "02l1f46frpvw1r6k1wfh77mrsnmsdvifqx0vnscxz4xgb9ia9d1c";
}; };
depsSha256 = "02qx8zdhmj7rmhqqq5q9428x9mlrjxxcnn4yhnygz9gfgvada2hx"; cargoSha256 = "1b0kal53ggcr59hbrsdj8fifjycahrmzwq677n9h3fywv4r237m6";
installPhase = '' installPhase = ''
mkdir -p $out/lib mkdir -p $out/lib

View File

@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ mesa_glu ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 gtk2 cairo pango fftwFloat zita-convolver ]; buildInputs = [ mesa_glu ftgl freefont_ttf libjack2 libltc libsndfile libsamplerate lv2 gtk2 cairo pango fftwFloat zita-convolver ];
# Don't remove this. The default fails with 'do not know how to unpack source archive'
# every now and then on Hydra. No idea why.
unpackPhase = ''
tar xf $src
sourceRoot=$(echo x42-plugins-*)
chmod -R u+w $sourceRoot
'';
makeFlags = [ "PREFIX=$(out)" "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" ]; makeFlags = [ "PREFIX=$(out)" "FONTFILE=${freefont_ttf}/share/fonts/truetype/FreeSansBold.ttf" ];
patchPhase = '' patchPhase = ''

View File

@ -78,7 +78,7 @@ let
}); });
buildGogland = { name, version, src, license, description, wmClass, update-channel }: buildGogland = { name, version, src, license, description, wmClass, update-channel }:
(mkJetBrainsProduct { lib.overrideDerivation (mkJetBrainsProduct {
inherit name version src wmClass jdk; inherit name version src wmClass jdk;
product = "Gogland"; product = "Gogland";
meta = with stdenv.lib; { meta = with stdenv.lib; {
@ -93,6 +93,13 @@ let
maintainers = [ maintainers.miltador ]; maintainers = [ maintainers.miltador ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
}) (attrs: {
postFixup = (attrs.postFixup or "") + ''
interp="$(cat $NIX_CC/nix-support/dynamic-linker)"
patchelf --set-interpreter $interp $out/gogland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
chmod +x $out/gogland*/plugins/intellij-go-plugin/lib/dlv/linux/dlv
'';
}); });
buildIdea = { name, version, src, license, description, wmClass, update-channel }: buildIdea = { name, version, src, license, description, wmClass, update-channel }:

View File

@ -1,13 +1,13 @@
{ stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}: { stdenv, fetchgit, pkgconfig, which, qtbase, qtsvg, qttools, qtwebkit}:
let let
version = "0.53.0"; version = "1.2.0";
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "notepadqq-${version}"; name = "notepadqq-${version}";
src = fetchgit { src = fetchgit {
url = "https://github.com/notepadqq/notepadqq.git"; url = "https://github.com/notepadqq/notepadqq.git";
rev = "3b0751277fb268ec72b466b37d0f0977c536bc1b"; rev = "ab074d30e02d49e0fe6957c1523e7fed239aff7d";
sha256 = "0hw94mn2xg2r58afvz1xg990jinv9aa33942zgwq54qwj61r93hi"; sha256 = "0j8vqsdw314qpk5lrgccm9n7gbyr14ac3s65sl1qn87pxhrz1hpg";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
cfg = { cfg = {
version = "7.0.7-4"; version = "7.0.7-8";
sha256 = "074w4jm5s98b8dxwjl8lljvdhmm3mbg1ikgjy1mw3c1sb08z3nc8"; sha256 = "0h2jbaxrxrmdcr5crf1d93sc60v4zfqrrl3w79md6h11wf57ksbp";
patches = []; patches = [];
}; };
in in

View File

@ -14,8 +14,8 @@ let
else throw "ImageMagick is not supported on this platform."; else throw "ImageMagick is not supported on this platform.";
cfg = { cfg = {
version = "6.9.9-15"; version = "6.9.9-20";
sha256 = "0bxgdc1qiyvag6a2iiqcbwp4ak0m1mzi9qhs51fbrvv6syy12m6c"; sha256 = "1pz8clmhnq26vdsp1j21czq3nfbvrmfdz30k7na7w4vh7wqxsrx1";
patches = []; patches = [];
} }
# Freeze version on mingw so we don't need to port the patch too often. # Freeze version on mingw so we don't need to port the patch too often.

View File

@ -1,36 +1,49 @@
{ lib, stdenv, fetchurl, qtbase, qmake, makeWrapper }: { lib, stdenv, fetchgit, qtbase, qmake, makeWrapper, qtscript, gcc, flex, bison, qtdeclarative, gnutar }:
stdenv.mkDerivation {
name = "awesomebump-4.0";
src = fetchurl { let
url = https://github.com/kmkolasinski/AwesomeBump/archive/Linuxv4.0.tar.gz; version = "5.1";
sha256 = "1rp4m4y2ld49hibzwqwy214cbiin80i882d9l0y1znknkdcclxf2";
src = fetchgit {
url = "https://github.com/kmkolasinski/AwesomeBump.git";
rev = "Winx32v${version}";
sha256 = "1c8b9jki0v8kzkvsvyv7q1w3s7j40br6ph15hh2xi0a1mpwckq56";
fetchSubmodules = true;
}; };
setSourceRoot = "sourceRoot=$(echo */Sources)"; qtnproperty = stdenv.mkDerivation {
name = "qtnproperty";
inherit src;
sourceRoot = "AwesomeBump/Sources/utils/QtnProperty";
buildInputs = [ qtscript qtbase qtdeclarative ];
nativeBuildInputs = [ qmake flex bison ];
postInstall = ''
install -D bin-linux/QtnPEG $out/bin/QtnPEG
'';
};
in stdenv.mkDerivation rec {
name = "awesomebump-${version}";
nativeBuildInputs = [ makeWrapper qmake ]; inherit src;
buildInputs = [ qtbase ];
enableParallelBuilding = true; buildInputs = [ qtbase qtscript qtdeclarative ];
installPhase = nativeBuildInputs = [ qmake makeWrapper ];
''
d=$out/libexec/AwesomeBump
mkdir -p $d $out/bin
cp AwesomeBump $d/
cp -prd ../Bin/Configs ../Bin/Core $d/
# AwesomeBump expects to find Core and Configs in its current preBuild = ''
# directory. ln -sf ${qtnproperty}/bin/QtnPEG Sources/utils/QtnProperty/bin-linux/QtnPEG
makeWrapper $d/AwesomeBump $out/bin/AwesomeBump \
--run "cd $d"
''; '';
# RPATH in /tmp hack postInstall = ''
preFixup = '' d=$out/libexec/AwesomeBump
rm -r $NIX_BUILD_TOP/__nix_qt5__
mkdir -p $d
cp -vr workdir/`cat workdir/current`/bin/AwesomeBump $d/
cp -prd Bin/Configs Bin/Core $d/
# AwesomeBump expects to find Core and Configs in its current directory.
makeWrapper $d/AwesomeBump $out/bin/AwesomeBump \
--run "cd $d"
''; '';
meta = { meta = {

View File

@ -6,12 +6,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "gthumb"; pname = "gthumb";
version = "${major}.1"; version = "${major}.3";
major = "3.5"; major = "3.5";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${major}/${name}.tar.xz";
sha256 = "1hxnjskrq57d5ycn2fyif7363n1bav931pkjvq1fr2r4yrj0d202"; sha256 = "0hka1b3l8mf94zsk7jff87wsb8bz4pj5pixjrs0w2j8jbsa9sggk";
}; };
nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; nativeBuildInputs = [ pkgconfig wrapGAppsHook ];

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "${major}.${minor}"; version = "${major}.${minor}";
major = "0.26"; major = "0.27";
minor = "2"; minor = "0";
name = "shotwell-${version}"; name = "shotwell-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz"; url = "mirror://gnome/sources/shotwell/${major}/${name}.tar.xz";
sha256 = "0frjqa6nmh025clwnb74z2rzbdq65wjcp2lf9csgcbkpahyjhrag"; sha256 = "03vwp314kckr67p7shrysqpr95hc3326lk3bv40g11i9clsik1a2";
}; };
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include";

View File

@ -124,6 +124,7 @@ let
korganizer = callPackage ./korganizer.nix {}; korganizer = callPackage ./korganizer.nix {};
kpimtextedit = callPackage ./kpimtextedit.nix {}; kpimtextedit = callPackage ./kpimtextedit.nix {};
kqtquickcharts = callPackage ./kqtquickcharts.nix {}; kqtquickcharts = callPackage ./kqtquickcharts.nix {};
krdc = callPackage ./krdc.nix {};
krfb = callPackage ./krfb.nix {}; krfb = callPackage ./krfb.nix {};
ktnef = callPackage ./ktnef.nix {}; ktnef = callPackage ./ktnef.nix {};
kwalletmanager = callPackage ./kwalletmanager.nix {}; kwalletmanager = callPackage ./kwalletmanager.nix {};
@ -142,6 +143,7 @@ let
marble = callPackage ./marble.nix {}; marble = callPackage ./marble.nix {};
mbox-importer = callPackage ./mbox-importer.nix {}; mbox-importer = callPackage ./mbox-importer.nix {};
messagelib = callPackage ./messagelib.nix {}; messagelib = callPackage ./messagelib.nix {};
minuet = callPackage ./minuet.nix {};
okteta = callPackage ./okteta.nix {}; okteta = callPackage ./okteta.nix {};
okular = callPackage ./okular.nix {}; okular = callPackage ./okular.nix {};
pimcommon = callPackage ./pimcommon.nix {}; pimcommon = callPackage ./pimcommon.nix {};

View File

@ -0,0 +1,25 @@
{
mkDerivation, lib,
extra-cmake-modules, kdoctools, makeWrapper,
kcmutils, kcompletion, kconfig, kdnssd, knotifyconfig, kwallet, kwidgetsaddons,
libvncserver, freerdp
}:
mkDerivation {
name = "krdc";
nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
buildInputs = [
kcmutils kcompletion kconfig kdnssd knotifyconfig kwallet kwidgetsaddons
freerdp libvncserver
];
postFixup = ''
wrapProgram $out/bin/krdc \
--prefix PATH : ${lib.makeBinPath [ freerdp ]}
'';
meta = with lib; {
homepage = http://www.kde.org;
license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,22 @@
{ mkDerivation
, lib, extra-cmake-modules
, drumstick, fluidsynth
, kcoreaddons, kcrash, kdoctools
, qtquickcontrols2, qtsvg, qttools
}:
mkDerivation {
name = "minuet";
meta = with lib; {
license = with licenses; [ lgpl21 gpl3 ];
maintainers = with maintainers; [ peterhoeg ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
propagatedBuildInputs = [
drumstick fluidsynth
kcoreaddons kcrash
qtquickcontrols2 qtsvg qttools
];
enableParallelBuilding = true;
}

View File

@ -38,7 +38,7 @@ buildRustPackage rec {
sha256 = "0h37x12r33xwz9vf1n8y24c0ph5w17lhkpfi5q6lbpgidvbs6fyx"; sha256 = "0h37x12r33xwz9vf1n8y24c0ph5w17lhkpfi5q6lbpgidvbs6fyx";
}; };
depsSha256 = "05gkl2zg546i2pm0gx11s56f7dk72qpm39kml1d2myj81s0vyb5z"; cargoSha256 = "0w3j92kd27pny37pfvlv6qsnbb1lgphmfbhvvng0z96r2b1wjviz";
buildInputs = [ buildInputs = [
cmake cmake
@ -69,6 +69,7 @@ buildRustPackage rec {
dontPatchELF = true; dontPatchELF = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true;
description = "GPU-accelerated terminal emulator"; description = "GPU-accelerated terminal emulator";
homepage = https://github.com/jwilm/alacritty; homepage = https://github.com/jwilm/alacritty;
license = with licenses; [ asl20 ]; license = with licenses; [ asl20 ];

View File

@ -5,12 +5,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "3.9.0"; version = "3.10.0";
name = "calibre-${version}"; name = "calibre-${version}";
src = fetchurl { src = fetchurl {
url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz"; url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
sha256 = "0zsf1czw8bz41nk9f55vxwncf0chxdflyhjj2khw9da67ph6yknx"; sha256 = "01vb5xjis9ldva7rg1f720lwys5frkj00z8x7cajqwxliilhvais";
}; };
patches = [ patches = [

View File

@ -7,13 +7,13 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "keepassx-community-${version}"; name = "keepassx-community-${version}";
version = "2.2.1"; version = "2.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "keepassxreboot"; owner = "keepassxreboot";
repo = "keepassxc"; repo = "keepassxc";
rev = "${version}"; rev = "${version}";
sha256 = "1g9qz81i7rsfywl03bwl3cg7q91vp24519b91y5liiyrqrq0zx94"; sha256 = "01pqpa3vzk2q1vrj2lqayr7a3nzpnj176yhnqbrwlm3s9rga4wzn";
}; };
cmakeFlags = [ cmakeFlags = [

View File

@ -1,12 +1,14 @@
{ stdenv, fetchgit }: { stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "makeself-2.2.0"; version = "2.3.1";
name = "makeself-${version}";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/megastep/makeself.git"; owner = "megastep";
rev = "b836b9281ae99abe1865608b065551da56c80719"; repo = "makeself";
sha256 = "f7c97f0f8ad8128f2f1b54383319f2cc44cbb05b60ced222784debdf326f23ad"; rev = "release-${version}";
sha256 = "01r7vb9vyb99s3g5cw0c04s1ahcingynk3ki17wknlk2asjrbc4p";
}; };
patchPhase = '' patchPhase = ''

View File

@ -31,7 +31,8 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qmake qttools ]; nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig qmake qttools ];
enableParallelBuilding = true; # on 2.1.2: RCC: Error in 'autoscroll.qrc': Cannot find file 'locale/ar_SA.qm'
enableParallelBuilding = false;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "QtWebEngine based cross-platform web browser"; description = "QtWebEngine based cross-platform web browser";

View File

@ -14,7 +14,7 @@ buildRustPackage rec {
sha256 = "0pqrm85pd9hqn5fwqjbyyrrfh4k7q9mi9qy9hm8yigk5l8mw44y1"; sha256 = "0pqrm85pd9hqn5fwqjbyyrrfh4k7q9mi9qy9hm8yigk5l8mw44y1";
}; };
depsSha256 = "1ahfm5agvabqqqgjsyjb95xxbc7mng1mdyclcakwp1m1qdkxx9py"; cargoSha256 = "1ahfm5agvabqqqgjsyjb95xxbc7mng1mdyclcakwp1m1qdkxx9p0";
buildInputs = [ libsodium libarchive openssl ]; buildInputs = [ libsodium libarchive openssl ];
@ -35,5 +35,6 @@ buildRustPackage rec {
license = licenses.asl20; license = licenses.asl20;
maintainers = [ maintainers.rushmorem ]; maintainers = [ maintainers.rushmorem ];
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
broken = true; # mark temporary as broken due git dependencies
}; };
} }

View File

@ -24,10 +24,10 @@
let let
# NOTE: When updating, please also update in current stable, # NOTE: When updating, please also update in current stable,
# as older versions stop working # as older versions stop working
version = "36.4.22"; version = "37.4.29";
sha256 = { sha256 = {
"x86_64-linux" = "0hhnigwxqmr00zmlysc1y1k4bzrdrcabcnw44bniarwa2l4fw0v0"; "x86_64-linux" = "0ymy8gb57bjq2mq35n52q2viww6am7wy0vskyvypliicggga8iaj";
"i686-linux" = "15l7m33b0qlz8m6h7kh1fkxs37dq8jqy04b3qf693ns7wb5l0sqm"; "i686-linux" = "0a7zir6x7z3ad71fj1iljc2l6x09f4wi40jfaiinf8ykx85cldw6";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported"); }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch = { arch = {

View File

@ -12,7 +12,7 @@ buildRustPackage rec {
sha256 = "1mcdjykrgh0jq6k6y664lai8sbgzk6j7k0r944f43vg63d1jql5b"; sha256 = "1mcdjykrgh0jq6k6y664lai8sbgzk6j7k0r944f43vg63d1jql5b";
}; };
depsSha256 = "0whs3fgmpb6g1mjajs3qs9g613x5dal4x6ghzzkpl73a9pgydkpn"; cargoSha256 = "0k9d6pxsb4gvkqs00g71c1nnz773iccg4vajgn33qdym6m6qsjwy";
buildInputs = [ makeWrapper openssl ]; buildInputs = [ makeWrapper openssl ];

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }: , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
let version = "3.27.1"; in let version = "3.28.0"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "filezilla-${version}"; name = "filezilla-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2"; url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "14lsplbp9fy7lk6cpwi3aj6jskz4j82h67x0fik82z1bns0zm2a3"; sha256 = "1dxzmpqrb3a29ln9vx10n438w5i649729vy911sm92bwn2p235p4";
}; };
configureFlags = [ configureFlags = [

View File

@ -0,0 +1,32 @@
{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }:
buildGoPackage rec {
name = "ipget-${version}";
version = "0.2.5";
rev = "v${version}";
goPackagePath = "github.com/ipfs/ipget";
extraSrcPaths = [
(fetchgx {
inherit name src;
sha256 = "1d4w8zl5mcppn3d4bl7qdkiqlf8gi3z2a62nygx17bqpa3da8cf3";
})
];
goDeps = ../../../tools/package-management/gx/deps.nix;
src = fetchFromGitHub {
owner = "ipfs";
repo = "ipget";
inherit rev;
sha256 = "0a8yxqhl469ipiznrgkp3yi1xz3xzcbpx60wabqppq8hccrdiybk";
};
meta = with stdenv.lib; {
description = "Retrieve files over IPFS and save them locally";
homepage = https://ipfs.io/;
license = licenses.mit;
platforms = platforms.unix;
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }: { stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.0.4"; version = "1.0.5";
name = "irssi-${version}"; name = "irssi-${version}";
src = fetchurl { src = fetchurl {
url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz"; url = "https://github.com/irssi/irssi/releases/download/${version}/${name}.tar.gz";
sha256 = "1a7f9g3hlccqlf9xj1csbxw4wgl6jfywg2xvkir6ww5viagkbzs8"; sha256 = "1lasb8flic4qc1sd3pvfg9aig5skcxlyx6iy9bk73147r8vzaq75";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -1,5 +1,6 @@
{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig { stdenv, lib, fetchurl, autoreconfHook, pkgconfig
, openssl, netcat-gnu, gnutls, gsasl, libidn, Security , openssl, netcat-gnu, gnutls, gsasl, libidn, Security
, withKeyring ? true, libsecret ? null
, systemd ? null }: , systemd ? null }:
let let
@ -20,7 +21,9 @@ in stdenv.mkDerivation rec {
]; ];
buildInputs = [ openssl gnutls gsasl libidn ] buildInputs = [ openssl gnutls gsasl libidn ]
++ stdenv.lib.optional stdenv.isDarwin Security; ++ stdenv.lib.optional stdenv.isDarwin Security
++ stdenv.lib.optional withKeyring libsecret;
nativeBuildInputs = [ autoreconfHook pkgconfig ]; nativeBuildInputs = [ autoreconfHook pkgconfig ];
configureFlags = configureFlags =

View File

@ -1,4 +1,5 @@
{ stdenv { stdenv
, lib
, requireFile , requireFile
, makeWrapper , makeWrapper
, libredirect , libredirect
@ -22,25 +23,67 @@
, alsaLib , alsaLib
, libidn , libidn
, zlib , zlib
, version ? null
}: }:
let versionRec = { major = "13"; minor = "7"; patch = "0"; }; let
in stdenv.mkDerivation rec { versionInfo = {
"13.4.0" = rec {
major = "13";
minor = "4";
patch = "0";
x64hash = "133brs0sq6d0mgr19rc6ig1n9ahm3ryi23v5nrgqfh0hgxqcrrjb";
x86hash = "0r7jfl5yqv1s2npy8l9gsn0gbb82f6raa092ppkc8xy5pni5sh7l";
x64suffix = "10109380";
x86suffix = x64suffix;
homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-latest-13-4.html;
};
"13.5.0" = rec {
major = "13";
minor = "5";
patch = "0";
x64hash = "1r24mhkpcc0z95n597p07fz92pd1b8qqzp2z6w07rmb9wb8mpd4x";
x86hash = "0pwxshlryzhkl86cj9ryybm54alhzjx0gpp67fnvdn5r64wy1nd1";
x64suffix = "10185126";
x86suffix = x64suffix;
homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-latest-13-5.html;
};
"13.6.0" = rec {
major = "13";
minor = "6";
patch = "0";
x64hash = "6e423be41d5bb8186bcca3fbb4ede54dc3f00b8d2aeb216ae4aabffef9310d34";
x86hash = "0ba3eba208b37844904d540b3011075ed5cecf429a0ab6c6cd52f2d0fd841ad2";
x64suffix = "10243651";
x86suffix = x64suffix;
homepage = https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-136.html;
};
"13.7.0" = {
major = "13";
minor = "7";
patch = "0";
x64hash = "18fb374b9fb8e249b79178500dddca7a1f275411c6537e7695da5dcf19c5ba91";
x86hash = "4c68723b0327cf6f12da824056fce2b7853c38e6163a48c9d222b93dd8da75b6";
homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; # Fix when updating version
x64suffix = "10276927";
x86suffix = "10276925";
};
};
citrixReceiverForVersion = { major, minor, patch, x86hash, x64hash, x86suffix, x64suffix, homepage }:
stdenv.mkDerivation rec {
name = "citrix-receiver-${version}"; name = "citrix-receiver-${version}";
version = with versionRec; "${major}.${minor}.${patch}"; version = "${major}.${minor}.${patch}";
homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; inherit homepage;
prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86"; prefixWithBitness = if stdenv.is64bit then "linuxx64" else "linuxx86";
src = with versionRec; requireFile rec { src = requireFile rec {
name = name = if stdenv.is64bit then "${prefixWithBitness}-${version}.${x64suffix}.tar.gz" else "${prefixWithBitness}-${version}.${x86suffix}.tar.gz";
if stdenv.is64bit sha256 = if stdenv.is64bit then x64hash else x86hash;
then "${prefixWithBitness}-${version}.10276927.tar.gz"
else "${prefixWithBitness}-${version}.10276925.tar.gz";
sha256 =
if stdenv.is64bit
then "18fb374b9fb8e249b79178500dddca7a1f275411c6537e7695da5dcf19c5ba91"
else "4c68723b0327cf6f12da824056fce2b7853c38e6163a48c9d222b93dd8da75b6";
message = '' message = ''
In order to use Citrix Receiver, you need to comply with the Citrix EULA and download In order to use Citrix Receiver, you need to comply with the Citrix EULA and download
the ${if stdenv.is64bit then "64-bit" else "32-bit"} binaries, .tar.gz from: the ${if stdenv.is64bit then "64-bit" else "32-bit"} binaries, .tar.gz from:
@ -48,7 +91,7 @@ in stdenv.mkDerivation rec {
${homepage} ${homepage}
(if you do not find version ${version} there, try at (if you do not find version ${version} there, try at
https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/receiver-for-linux-latest-${major}-${minor}.html https://www.citrix.com/downloads/citrix-receiver/legacy-receiver-for-linux/
or at https://www.citrix.com/downloads/citrix-receiver/ under "Earlier Versions of Receiver for Linux") or at https://www.citrix.com/downloads/citrix-receiver/ under "Earlier Versions of Receiver for Linux")
Once you have downloaded the file, please use the following command and re-run the Once you have downloaded the file, please use the following command and re-run the
@ -167,9 +210,11 @@ in stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
license = stdenv.lib.licenses.unfree; license = stdenv.lib.licenses.unfree;
homepage = homepage; inherit homepage;
description = "Citrix Receiver"; description = "Citrix Receiver";
maintainers = with maintainers; [ obadz a1russell ]; maintainers = with maintainers; [ obadz a1russell ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} };
in citrixReceiverForVersion (lib.getAttr version versionInfo)

View File

@ -12,7 +12,7 @@ assert withQt -> !withGtk && qt5 != null;
with stdenv.lib; with stdenv.lib;
let let
version = "2.4.1"; version = "2.4.2";
variant = if withGtk then "gtk" else if withQt then "qt" else "cli"; variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
in stdenv.mkDerivation { in stdenv.mkDerivation {
@ -20,7 +20,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
sha256 = "1k8zj44pkb2ny2x46f100y7cxddm1kh0zh7f6qggm78gn7wvrp82"; sha256 = "0zglapd3sz08p2z9x8a5va3jnz17b3n5a1bskf7f2dgx6m3v5b6i";
}; };
cmakeFlags = optional withGtk "-DBUILD_wireshark_gtk=TRUE"; cmakeFlags = optional withGtk "-DBUILD_wireshark_gtk=TRUE";

View File

@ -13,7 +13,7 @@
, librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas , gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
, defaultIconTheme, glib, ncurses, xmlsec, epoxy, gpgme , defaultIconTheme, glib, ncurses, xmlsec, epoxy, gpgme
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" ] , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" "it" ]
, withHelp ? true , withHelp ? true
, kdeIntegration ? false , kdeIntegration ? false
}: }:

View File

@ -13,7 +13,7 @@
, librevenge, libe-book, libmwaw, glm, glew, gst_all_1 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
, gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas , gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
, defaultIconTheme, glib, ncurses , defaultIconTheme, glib, ncurses
, langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" ] , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" "it" ]
, withHelp ? true , withHelp ? true
, kdeIntegration ? false , kdeIntegration ? false
}: }:

View File

@ -20,6 +20,7 @@ let
"8.6" = "148mb48zpdax56c0blfi7v67lx014lnmrvxxasi28hsibyz2lvg4"; "8.6" = "148mb48zpdax56c0blfi7v67lx014lnmrvxxasi28hsibyz2lvg4";
"8.6.1" = "0llrxcxwy5j87vbbjnisw42rfw1n1pm5602ssx64xaxx3k176g6l"; "8.6.1" = "0llrxcxwy5j87vbbjnisw42rfw1n1pm5602ssx64xaxx3k176g6l";
"8.7+beta2" = "1r274m44z774xigvj43g211ms9z9bwgyp1g43rvq4fswb3gzxc4b"; "8.7+beta2" = "1r274m44z774xigvj43g211ms9z9bwgyp1g43rvq4fswb3gzxc4b";
"8.7.0" = "1h18b7xpnx3ix9vsi5fx4zdcbxy7bhra7gd5c5yzxmk53cgf1p9m";
}."${version}"; }."${version}";
coq-version = builtins.substring 0 3 version; coq-version = builtins.substring 0 3 version;
camlp5 = ocamlPackages.camlp5_strict; camlp5 = ocamlPackages.camlp5_strict;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, openssl, gnupg1compat, makeWrapper }: { fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
installPhase = '' installPhase = ''
make install PREFIX=$out make install PREFIX=$out
wrapProgram $out/bin/* --prefix PATH : ${gnupg1compat}/bin wrapProgram $out/bin/* --prefix PATH : $out/bin:${git}/bin:${gnupg1compat}/bin
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -23,7 +23,7 @@ buildRustPackage rec {
sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2"; sha256 = "1sx6sc2dj3l61gbiqz8vfyhw5w4xjdyfzn1ixz0y8ipm579yc7a2";
}; };
depsSha256 = "1z2n3z5wkh5z5vc976yscq77fgjszwzwlrp7g17hmsbhzx6x170h"; cargoSha256 = "08zbvjwjdpv2sbj6mh73py82inhs18jvmh8m9k4l94fcz6ykgqwr";
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake

View File

@ -13,7 +13,7 @@
}: }:
let let
version = "2.14.2"; version = "2.14.3";
svn = subversionClient.override { perlBindings = true; }; svn = subversionClient.override { perlBindings = true; };
in in
@ -22,7 +22,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz"; url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
sha256 = "18f70gfzwqd210806hmf94blcd7yv5h9ka6xqkpd2jhijqwp5sah"; sha256 = "078m0za5gyzcah5iaxdwx663yvdp8byvjc8rpzjzcrr4sl6rcc2k";
}; };
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];

View File

@ -18,7 +18,7 @@ buildRustPackage rec {
doCheck = false; doCheck = false;
depsSha256 = "1qzzpnkyw1bn5fnj06c80f7985v1q0rqcphrrrkpbi33lg5mzgbv"; cargoSha256 = "0r69vghjd6b30v0qjsipyv56n92iwvyxmllrnwjzjf5pzhhjl7sy";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A distributed version control system"; description = "A distributed version control system";

View File

@ -36,6 +36,9 @@ stdenv.mkDerivation rec {
# Avoid a glibc >= 2.25 deprecation warning that gets fatal via -Werror. # Avoid a glibc >= 2.25 deprecation warning that gets fatal via -Werror.
sed 1i'#include <sys/sysmacros.h>' -i lib/wiper/wiperPosix.c sed 1i'#include <sys/sysmacros.h>' -i lib/wiper/wiperPosix.c
# Make reboot work, shutdown is not in /sbin on NixOS
sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c
''; '';
configureFlags = [ "--without-kernel-modules" "--without-xmlsecurity" ] configureFlags = [ "--without-kernel-modules" "--without-xmlsecurity" ]

View File

@ -14,13 +14,14 @@ buildRustPackage rec {
sha256 = "10s01x54kwjm2c85v57i6g3pvj5w3wpkjblj036mmd865fla1brb"; sha256 = "10s01x54kwjm2c85v57i6g3pvj5w3wpkjblj036mmd865fla1brb";
}; };
depsSha256 = "1k5xbw2zhm5z650mxdbxixr90im53wlpjdvq2pbnx2snqm84idlc"; cargoSha256 = "06qivlybmmc49ksv4232sm1r4hp923xsq4c2ksa4i2azdzc1csdc";
buildInputs = [ wlc dbus_libs dbus_glib cairo libxkbcommon ]; buildInputs = [ wlc dbus_libs dbus_glib cairo libxkbcommon ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true;
description = "Customizable Wayland compositor (window manager)"; description = "Customizable Wayland compositor (window manager)";
longDescription = '' longDescription = ''
Way Cooler is a customizable tiling window manager written in Rust Way Cooler is a customizable tiling window manager written in Rust

View File

@ -9,7 +9,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "1r74nhcwiy2rmifzjhdal3jcqz4jz48nfvhdyw4gasa6nxp3msdl"; sha256 = "1r74nhcwiy2rmifzjhdal3jcqz4jz48nfvhdyw4gasa6nxp3msdl";
}; };
depsSha256 = "0z7h8ybh2db3xl8qxbzby5lncdaijixzmbn1j8a45lbky1xiix71"; cargoSha256 = "0z92ml84b5652zgwzn08a8vvxksaa54jql66sfpdz1mvjwhgdmvn";
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libXinerama libX11 ]; buildInputs = [ libXinerama libX11 ];
@ -31,6 +31,7 @@ rustPlatform.buildRustPackage rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true;
description = "A tiling window manager in Rust"; description = "A tiling window manager in Rust";
homepage = https://github.com/Kintaro/wtftw; homepage = https://github.com/Kintaro/wtftw;
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;

View File

@ -0,0 +1,32 @@
{ fetchurl, stdenv }:
let
inherit (stdenv) system;
version = "0.1.12";
hashes = {
x86_64-linux = "1hxlavcxy374yypfamlkygjg662lhll8j434qcvdawkvlidg5ii5";
x86_64-darwin = "1jkvhh710gwjnnjx59kaplx2ncfvkx9agfa76rr94sbjqq4igddm";
};
hash = hashes. ${system} or (throw "missing bootstrap hash for platform ${system}");
platforms = {
x86_64-linux = "x86_64-unknown-linux-musl";
x86_64-darwin = "x86_64-apple-darwin";
};
platform = platforms . ${system};
in stdenv.mkDerivation {
name = "cargo-vendor-${version}";
src = fetchurl {
url = "https://github.com/alexcrichton/cargo-vendor/releases/download/${version}/cargo-vendor-${version}-${platform}.tar.gz";
sha256 = hash;
};
phases = "unpackPhase installPhase";
installPhase = ''
install -Dm755 cargo-vendor $out/bin/cargo-vendor
'';
}

View File

@ -1,10 +1,14 @@
{ stdenv, callPackage, path, cacert, git, rust, rustRegistry }: { fetchurl, stdenv, path, cacert, git, rust }:
let let
rustRegistry' = rustRegistry; cargoVendor = import ./cargo-vendor.nix {
inherit fetchurl stdenv;
};
fetchcargo = import ./fetchcargo.nix {
inherit stdenv cacert git rust cargoVendor;
};
in in
{ name, depsSha256 { name, cargoSha256
, rustRegistry ? rustRegistry'
, src ? null , src ? null
, srcs ? null , srcs ? null
, sourceRoot ? null , sourceRoot ? null
@ -18,17 +22,13 @@ in
let let
lib = stdenv.lib; lib = stdenv.lib;
fetchDeps = import ./fetchcargo.nix { cargoDeps = fetchcargo {
inherit stdenv cacert git rust rustRegistry;
};
cargoDeps = fetchDeps {
inherit name src srcs sourceRoot cargoUpdateHook; inherit name src srcs sourceRoot cargoUpdateHook;
sha256 = depsSha256; sha256 = cargoSha256;
}; };
in stdenv.mkDerivation (args // { in stdenv.mkDerivation (args // {
inherit cargoDeps rustRegistry; inherit cargoDeps;
patchRegistryDeps = ./patch-registry-deps; patchRegistryDeps = ./patch-registry-deps;
@ -43,71 +43,24 @@ in stdenv.mkDerivation (args // {
postUnpack = '' postUnpack = ''
eval "$cargoDepsHook" eval "$cargoDepsHook"
echo "Using cargo deps from $cargoDeps" mkdir .cargo
cat >.cargo/config <<-EOF
[source.crates-io]
registry = 'https://github.com/rust-lang/crates.io-index'
replace-with = 'vendored-sources'
cp -a "$cargoDeps" deps [source.vendored-sources]
chmod +w deps -R directory = '$cargoDeps'
# It's OK to use /dev/null as the URL because by the time we do this, cargo
# won't attempt to update the registry anymore, so the URL is more or less
# irrelevant
cat <<EOF > deps/config
[registry]
index = "file:///dev/null"
EOF EOF
export CARGO_HOME="$(realpath deps)"
export RUST_LOG=${logLevel} export RUST_LOG=${logLevel}
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
# Let's find out which $indexHash cargo uses for file:///dev/null
(cd $sourceRoot && cargo fetch &>/dev/null) || true
cd deps
indexHash="$(basename $(echo registry/index/*))"
echo "Using indexHash '$indexHash'"
rm -rf -- "registry/cache/$indexHash" \
"registry/index/$indexHash"
mv registry/cache/HASH "registry/cache/$indexHash"
echo "Using rust registry from $rustRegistry"
ln -s "$rustRegistry" "registry/index/$indexHash"
# Retrieved the Cargo.lock file which we saved during the fetch
cd ..
mv deps/Cargo.lock $sourceRoot/
(
cd $sourceRoot
cargo fetch
cargo clean
)
'' + (args.postUnpack or ""); '' + (args.postUnpack or "");
prePatch = ''
# Patch registry dependencies, using the scripts in $patchRegistryDeps
(
set -euo pipefail
cd $NIX_BUILD_TOP/deps/registry/src/*
for script in $patchRegistryDeps/*; do
# Run in a subshell so that directory changes and shell options don't
# affect any following commands
( . $script)
done
)
'' + (args.prePatch or "");
buildPhase = with builtins; args.buildPhase or '' buildPhase = with builtins; args.buildPhase or ''
runHook preBuild runHook preBuild
echo "Running cargo build --release ${concatStringsSep " " cargoBuildFlags}" echo "Running cargo build --release ${concatStringsSep " " cargoBuildFlags}"
cargo build --release ${concatStringsSep " " cargoBuildFlags} cargo build --release --frozen ${concatStringsSep " " cargoBuildFlags}
runHook postBuild runHook postBuild
''; '';
@ -126,4 +79,6 @@ in stdenv.mkDerivation (args // {
find target/release -maxdepth 1 -executable -exec cp "{}" $out/bin \; find target/release -maxdepth 1 -executable -exec cp "{}" $out/bin \;
runHook postInstall runHook postInstall
''; '';
passthru = { inherit cargoDeps; };
}) })

View File

@ -1,209 +0,0 @@
# copied from libgit2 source code 'repo-template.h'
makeGitTemplate() {
local target="$1"
mkdir -p -m777 "$target/info" "$target/pack" "$target/objects" "$target/refs"
mkdir -p -m777 "$target/refs/heads" "$target/refs/tags" "$target/objects/info" "$target/objects/pack"
cat <<'EOF' > "$target/description"
Unnamed repository; edit this file 'description' to name the repository.
EOF
chmod 666 "$target/description"
cat <<'EOF' > "$target/info/exclude"
# File patterns to ignore; see `git help ignore` for more information.
# Lines that start with '#' are comments.
EOF
}
fetchCargoDeps() {
src=$(realpath $1)
out=$(realpath $2)
echo "Fetching $src to $out"
mkdir $out
# Configure git template dir to make libgit2 more deterministic
#
# Without a template dir, libgit2 defaults to /usr/share/git-core/templates,
# which can vary between systems if sandboxed builds aren't used.
#
# Note: we explictly set --tmpdir for mktemp here to make it more friendly
# for nix-shell users, where $TMPDIR is not necessarily set to NIX_BUILD_TOP
echo "Setting up git templatedir"
export GIT_TEMPLATE_DIR="$(mktemp -d --tmpdir=$NIX_BUILD_TOP git-template.XXX)"
makeGitTemplate "$GIT_TEMPLATE_DIR"
export XDG_CONFIG_HOME="$(mktemp -d --tmpdir=$NIX_BUILD_TOP home.XXX)"
mkdir -p $XDG_CONFIG_HOME/git
cat <<EOF > $XDG_CONFIG_HOME/git/config
[init]
templatedir = $GIT_TEMPLATE_DIR
EOF
# Configure cargo to fetch from a local copy of the crates.io registry
echo "Using rust registry from $rustRegistry"
cat <<EOF > $out/config
[registry]
index = "file://$rustRegistry"
EOF
export CARGO_HOME=$out
cd $src
if [[ ! -f Cargo.lock ]]; then
echo
echo "ERROR: The Cargo.lock file doesn't exist"
echo
echo "Cargo.lock is needed to make sure that depsSha256 doesn't change"
echo "when the registry is updated."
echo
exit 1
fi
# We need to do the following string replacement so that 'cargo fetch'
# doesn't ignore the versions specified in Cargo.lock
substituteInPlace Cargo.lock \
--replace "registry+https://github.com/rust-lang/crates.io-index" \
"registry+file://$rustRegistry"
# Do any possible 'cargo update -p <pkgName> --precise <version>' ad-hoc updates
eval "$cargoUpdateHook"
# Do the fetch
cargo fetch --verbose
# Now that we have fetched everything, let's make the output deterministic
# Cargo uses the following directory structure for fetched data, where
# $indexHash is a hash of the registry index URL:
#
#
# /config:
#
# Cargo config file. We'll delete this because it's not deterministic,
# and instead recreate it just before running 'cargo build'.
#
# /registry/cache/$indexHash/:
#
# This is where tarballs of registry package dependencies are kept
# We'll need to keep this, but make sure $indexHash is a fixed name.
#
# /registry/index/$indexHash/:
#
# A copy of the registry index is kept here. We can delete this, and
# instead, just before running 'cargo build', we'll symlink this
# directory to our static copy of the registry in the Nix store.
#
# /registry/src/$indexHash/{pkgName-pkgVersion}/:
#
# Here cargo keeps extracted sources of the cached tarballs.
# We'll just delete this because cargo will re-populate them from the
# tarballs.
#
# /git/db/{domain-hash}/:
#
# Here cargo keeps the `.git` directories of git dependencies.
# We'll need to keep these, but make them deterministic.
#
# /git/checkouts/{domain-hash}/{branchName}/:
#
# Here cargo keeps checked-out sources of the git dependencies.
# We can delete this, because cargo will re-populate them from the above
# `.git` directories.
#
# Let's start
# Remove cargo config file, which points to the ever-changing registry
rm $out/config
# Save the Cargo.lock file into the output, so that we don't have to do another
# 'cargo update' during the build (which would try to access the network) for
# any ad-hoc package updates (through $cargoUpdateHook).
#
# We need to replace the rustRegistry URL with something deterministic.
# Since the URL won't actually be accessed anymore, it's fine to use /dev/null.
substituteInPlace Cargo.lock \
--replace "registry+file://$rustRegistry" \
"registry+file:///dev/null"
mv Cargo.lock $out/
# Let's replace $indexHash with something more deterministic
mv $out/registry/cache/* $out/registry/cache/HASH
# The registry index changes all the time, so it's not deterministic
# We'll symlink it before running 'cargo build'
rm -rf $out/registry/index/*
# Make git DBs deterministic
# TODO: test with git submodules
[[ ! -d $out/git/checkouts ]] || (cd $out/git/checkouts && for name in *; do
revs=""
cd "$out/git/checkouts/$name"
while read dir; do
# extract substring: [dir = "./xxx/yyy/.git"] => [branch = "xxx/yyy"]
branch="${dir:2:$((${#dir}-7))}"
cd "$out/git/checkouts/$name/$branch"
rev="$(git rev-parse HEAD)"
revs="$rev $revs"
done < <(find . -type d -name .git -print)
echo "List of revs to keep for git db $name: $revs"
(
# The following code was adapted from nix-prefetch-git
cd "$out/git/db/$name"
export GIT_DIR=.
# Remove all remote branches
git branch -r | while read branch; do
git branch -rD "$branch" >&2
done
# Remove all tags
git tag | while read tag; do
git tag -d "$tag" >&2
done
# Remove all local branches
branchrefs=()
eval "$(git for-each-ref --shell --format='branchrefs+=(%(refname))' refs/heads/)"
for branchref in "${branchrefs[@]}"; do
git update-ref -d "$branchref" >&2
done
# Create ad-hoc branches for the revs we need
echo "$revs" | while read -d " " rev; do
echo "Creating git branch b_$rev $rev"
git branch b_$rev $rev
done
# Remove files that have timestamps or otherwise have non-deterministic
# properties.
rm -rf logs/ hooks/ index FETCH_HEAD ORIG_HEAD refs/remotes/origin/HEAD config
# Do a full repack. Must run single-threaded, or else we lose determinism.
git config pack.threads 1
git repack -A -d -f
rm -f config
# Garbage collect unreferenced objects.
git gc --prune=all
)
done)
# Remove unneeded outputs
[[ ! -d $out/registry/src ]] || rm -rf $out/registry/src
[[ ! -d $out/git/checkouts ]] || rm -rf $out/git/checkouts
# XXX: provide some debugging output to see find out why we are seeing
# sporadic hash mismatches
find $out ! -type f
find $out -type f -exec sha256sum {} +
}

View File

@ -1,19 +1,30 @@
{ stdenv, cacert, git, rust, rustRegistry }: { stdenv, cacert, git, rust, cargoVendor }:
{ name ? "cargo-deps", src, srcs, sourceRoot, sha256, cargoUpdateHook ? "" }: { name ? "cargo-deps", src, srcs, sourceRoot, sha256, cargoUpdateHook ? "" }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${name}-fetch"; name = "${name}-vendor";
buildInputs = [ rust.cargo rust.rustc git ]; buildInputs = [ cacert cargoVendor git rust.cargo ];
inherit src srcs sourceRoot rustRegistry cargoUpdateHook; inherit src srcs sourceRoot;
phases = "unpackPhase installPhase"; phases = "unpackPhase installPhase";
installPhase = '' installPhase = ''
source ${./fetch-cargo-deps} if [[ ! -f Cargo.lock ]]; then
echo
echo "ERROR: The Cargo.lock file doesn't exist"
echo
echo "Cargo.lock is needed to make sure that cargoSha256 doesn't change"
echo "when the registry is updated."
echo
exit 1
fi
export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt export SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt
export CARGO_HOME=$(mktemp -d cargo-home.XXX)
fetchCargoDeps . "$out" cargo vendor
cp -ar vendor $out
''; '';
outputHashAlgo = "sha256"; outputHashAlgo = "sha256";

View File

@ -0,0 +1,74 @@
{stdenv, fetchFromGitHub
, llvmPackages
, cmake, boehmgc, gmp, zlib, ncurses, boost
, waf, python, git, sbcl
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "clasp";
version = "0.4.99.20170801";
src = fetchFromGitHub {
owner = "drmeister";
repo = "clasp";
rev = "525ce1cffff39311e3e7df6d0b71fa267779bdf5";
sha256 = "1jqya04wybgxnski341p5sycy2gysxad0s5q8d59z0f6ckj3v8k1";
fetchSubmodules = true;
};
nativeBuildInputs = [ cmake python git sbcl ];
buildInputs = with llvmPackages; (
builtins.map (x: stdenv.lib.overrideDerivation x
(x: {NIX_CFLAGS_COMPILE= (x.NIX_CFLAGS_COMPILE or "") + " -frtti"; }))
[ llvm clang clang-unwrapped clang ]) ++
[
gmp zlib ncurses
boost boehmgc
(boost.override {enableStatic = true; enableShared = false;})
(stdenv.lib.overrideDerivation boehmgc
(x: {configureFlags = (x.configureFlags or []) ++ ["--enable-static"];}))
];
NIX_CFLAGS_COMPILE = " -frtti ";
configurePhase = ''
runHook preConfigure
export CXX=clang++
export CC=clang
echo "
INSTALL_PATH_PREFIX = '$out'
" | sed -e 's/^ *//' > wscript.config
python ./waf configure update_submodules
runHook postConfigure
'';
buildPhase = ''
runHook preBuild
python ./waf build_cboehm
runHook postBuild
'';
installPhase = ''
runHook preInstall
python ./waf install_cboehm
runHook postInstall
'';
meta = {
inherit version;
description = ''A Common Lisp implementation based on LLVM with C++ integration'';
license = stdenv.lib.licenses.lgpl21Plus ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "https://github.com/drmeister/clasp";
};
}

View File

@ -1,40 +0,0 @@
{ stdenv, callPackage, recurseIntoAttrs, makeRustPlatform, llvm, fetchurl
, targets ? []
, targetToolchains ? []
, targetPatches ? []
}:
let
rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
in
rec {
rustc = callPackage ./rustc.nix {
inherit llvm targets targetPatches targetToolchains rustPlatform;
version = "beta-2017-05-27";
configureFlags = [ "--release-channel=beta" ];
src = fetchurl {
url = "https://static.rust-lang.org/dist/2017-05-27/rustc-beta-src.tar.gz";
sha256 = "9f3f92efef7fb2b4bf38e57e4ff1f416dc221880b90841c4bdaee350801c0b57";
};
patches = [
./patches/darwin-disable-fragile-tcp-tests.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
doCheck = false;
broken = true;
};
cargo = callPackage ./cargo.nix rec {
version = "0.18.0";
srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
inherit rustc; # the rustc that will be wrapped by cargo
inherit rustPlatform; # used to build cargo
};
}

View File

@ -1,6 +1,18 @@
{ stdenv, fetchurl, makeWrapper, cacert, zlib, curl }: { stdenv, fetchurl, makeWrapper, cacert, zlib, curl }:
let let
# Note: the version MUST be one version prior to the version we're
# building
version = "1.19.0";
# fetch hashes by running `print-hashes.sh 1.19.0`
hashes = {
i686-unknown-linux-gnu = "657b78f3c1a1b4412e12f7278e20cc318022fa276a58f0d38a0d15b515e39713";
x86_64-unknown-linux-gnu = "30ff67884464d32f6bbbde4387e7557db98868e87fb2afbb77c9b7716e3bff09";
i686-apple-darwin = "bdfd2189245dc5764c9f26bdba1429c2bf9d57477d8e6e3f0ba42ea0dc63edeb";
x86_64-apple-darwin = "5c668fb60a3ba3e97dc2cb8967fc4bb9422b629155284dcb89f94d116bb17820";
};
platform = platform =
if stdenv.system == "i686-linux" if stdenv.system == "i686-linux"
then "i686-unknown-linux-gnu" then "i686-unknown-linux-gnu"
@ -12,27 +24,11 @@ let
then "x86_64-apple-darwin" then "x86_64-apple-darwin"
else throw "missing bootstrap url for platform ${stdenv.system}"; else throw "missing bootstrap url for platform ${stdenv.system}";
# fetch hashes by patching print-hashes.sh to not use the "$DATE" variable
# then running `print-hashes.sh 1.16.0`
bootstrapHash =
if stdenv.system == "i686-linux"
then "b5859161ebb182d3b75fa14a5741e5de87b088146fb0ef4a30f3b2439c6179c5"
else if stdenv.system == "x86_64-linux"
then "48621912c242753ba37cad5145df375eeba41c81079df46f93ffb4896542e8fd"
else if stdenv.system == "i686-darwin"
then "26356b14164354725bd0351e8084f9b164abab134fb05cddb7758af35aad2065"
else if stdenv.system == "x86_64-darwin"
then "2d08259ee038d3a2c77a93f1a31fc59e7a1d6d1bbfcba3dba3c8213b2e5d1926"
else throw "missing bootstrap hash for platform ${stdenv.system}";
src = fetchurl { src = fetchurl {
url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz"; url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
sha256 = bootstrapHash; sha256 = hashes."${platform}";
}; };
# Note: the version MUST be one version prior to the version we're
# building
version = "1.16.0";
in import ./binaryBuild.nix in import ./binaryBuild.nix
{ inherit stdenv fetchurl makeWrapper cacert zlib curl; { inherit stdenv fetchurl makeWrapper cacert zlib curl;
buildRustPackage = null; buildRustPackage = null;

View File

@ -1,26 +1,30 @@
{ stdenv, fetchgit, file, curl, pkgconfig, python, openssl, cmake, zlib { stdenv, fetchFromGitHub, file, curl, pkgconfig, python, openssl, cmake, zlib
, makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2 , makeWrapper, libiconv, cacert, rustPlatform, rustc, libgit2, darwin
, version, srcRev, srcSha, depsSha256 , version, srcSha, cargoSha256
, patches ? []}: , patches ? []}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
name = "cargo-${version}"; name = "cargo-${version}";
inherit version; inherit version;
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/rust-lang/cargo"; owner = "rust-lang";
rev = srcRev; repo = "cargo";
rev = version;
sha256 = srcSha; sha256 = srcSha;
}; };
inherit depsSha256; inherit cargoSha256;
inherit patches; inherit patches;
passthru.rustc = rustc; passthru.rustc = rustc;
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ file curl python openssl cmake zlib makeWrapper libgit2 ] buildInputs = [ file curl python openssl cmake zlib makeWrapper libgit2 ]
++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ]; # FIXME: Use impure version of CoreFoundation because of missing symbols.
# CFURLSetResourcePropertyForKey is defined in the headers but there's no
# corresponding implementation in the sources from opensource.apple.com.
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.CoreFoundation libiconv ];
LIBGIT2_SYS_USE_PKG_CONFIG=1; LIBGIT2_SYS_USE_PKG_CONFIG=1;
@ -52,6 +56,6 @@ rustPlatform.buildRustPackage rec {
description = "Downloads your Rust project's dependencies and builds your project"; description = "Downloads your Rust project's dependencies and builds your project";
maintainers = with maintainers; [ wizeman retrry ]; maintainers = with maintainers; [ wizeman retrry ];
license = [ licenses.mit licenses.asl20 ]; license = [ licenses.mit licenses.asl20 ];
platforms = platforms.linux ++ platforms.darwin; platforms = [ "x86_64-linux" "x86_64-darwin" ];
}; };
} }

View File

@ -6,30 +6,31 @@
let let
rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {})); rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
version = "1.17.0"; version = "1.20.0";
in in
rec { rec {
rustc = callPackage ./rustc.nix { rustc = callPackage ./rustc.nix {
inherit llvm targets targetPatches targetToolchains rustPlatform version; inherit llvm targets targetPatches targetToolchains rustPlatform version;
forceBundledLLVM = true;
configureFlags = [ "--release-channel=stable" ]; configureFlags = [ "--release-channel=stable" ];
src = fetchurl { src = fetchurl {
url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz"; url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
sha256 = "4baba3895b75f2492df6ce5a28a916307ecd1c088dc1fd02dbfa8a8e86174f87"; sha256 = "0542y4rnzlsrricai130mqyxl8r6rd991frb4qsnwb27yigqg91a";
}; };
patches = [ patches = [
./patches/darwin-disable-fragile-tcp-tests.patch ./patches/0001-Disable-fragile-tests-libstd-net-tcp-on-Darwin-Linux.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch; ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
}; };
cargo = callPackage ./cargo.nix rec { cargo = callPackage ./cargo.nix rec {
version = "0.18.0"; version = "0.22.0";
srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666"; srcSha = "0x9pm73hkkd1hq4qrmz8iv91djgpdsxzwll7jari0h77vpwajmw4";
srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px"; cargoSha256 = "0xd0rb8gcqy6xngsx9l30jg3fqrcwccgv904ksqs9c4d44hga0gd";
depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
inherit rustc; # the rustc that will be wrapped by cargo inherit rustc; # the rustc that will be wrapped by cargo
inherit rustPlatform; # used to build cargo inherit rustPlatform; # used to build cargo

View File

@ -1,37 +0,0 @@
{ stdenv, callPackage, rustPlatform, llvm, fetchurl
, targets ? []
, targetToolchains ? []
, targetPatches ? []
}:
rec {
rustc = callPackage ./rustc.nix {
inherit llvm targets targetPatches targetToolchains rustPlatform;
version = "nightly-2017-05-30";
configureFlags = [ "--release-channel=nightly" ];
src = fetchurl {
url = "https://static.rust-lang.org/dist/2017-05-30/rustc-nightly-src.tar.gz";
sha256 = "90ce76db56a93f1b4532f2e62bbf12c243c4d156662b0d80c25319211ee7d0e0";
};
patches = [
./patches/darwin-disable-fragile-tcp-tests.patch
] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
doCheck = false;
broken = true;
};
cargo = callPackage ./cargo.nix rec {
version = "0.18.0";
srcRev = "fe7b0cdcf5ca7aab81630706ce40b70f6aa2e666";
srcSha = "164iywv1l3v87b0pznf5kkzxigd6w19myv9d7ka4c65zgrk9n9px";
depsSha256 = "1mrgd8ib48vxxbhkvsqqq4p19sc6b74x3cd8p6lhhlm6plrajrvm";
inherit rustc; # the rustc that will be wrapped by cargo
inherit rustPlatform; # used to build cargo
};
}

View File

@ -1,23 +0,0 @@
{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl }:
let
platform = if stdenv.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else throw "missing bootstrap url for platform ${stdenv.system}";
bootstrapHash =
if stdenv.system == "x86_64-linux"
then "0svlm4bxsdhdn4jsv46f278kid23a9w978q2137qrba4xnyb06kf"
else throw "missing bootstrap hash for platform ${stdenv.system}";
src = fetchurl {
url = "https://static.rust-lang.org/dist/${version}/rust-nightly-${platform}.tar.gz";
sha256 = bootstrapHash;
};
version = "2017-06-26";
in import ./binaryBuild.nix
{ inherit stdenv fetchurl makeWrapper cacert zlib buildRustPackage curl;
inherit version src platform;
versionType = "nightly";
}

View File

@ -1,17 +1,18 @@
From 1d8a91d5b09cb762fe890d04bfb61b9eefd0624a Mon Sep 17 00:00:00 2001 From 26d3b70abec1adf773522643b31ce9c03439916a Mon Sep 17 00:00:00 2001
From: Moritz Ulrich <moritz@tarn-vedra.de> From: Joerg Thalheim <joerg@thalheim.io>
Date: Sun, 8 Jan 2017 10:28:17 +0100 Date: Tue, 10 Oct 2017 00:40:20 +0100
Subject: [PATCH] Disable libstd::net::tcp::{ttl, timeouts} on Darwin Subject: [PATCH] Disable fragile tests libstd::net::tcp on Darwin/Linux
Signed-off-by: Joerg Thalheim <joerg@thalheim.io>
--- ---
src/libstd/net/tcp.rs | 7 ++++++- src/libstd/net/tcp.rs | 8 +++++++-
1 file changed, 6 insertions(+), 1 deletion(-) 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs diff --git a/src/libstd/net/tcp.rs b/src/libstd/net/tcp.rs
index 0e7c5b0671..d42fd26267 100644 index 8d1e7882e5..2c223fb315 100644
--- a/src/libstd/net/tcp.rs --- a/src/libstd/net/tcp.rs
+++ b/src/libstd/net/tcp.rs +++ b/src/libstd/net/tcp.rs
@@ -551,6 +551,7 @@ mod tests { @@ -949,6 +949,7 @@ mod tests {
}) })
} }
@ -19,7 +20,7 @@ index 0e7c5b0671..d42fd26267 100644
#[test] #[test]
fn write_close() { fn write_close() {
each_ip(&mut |addr| { each_ip(&mut |addr| {
@@ -1022,7 +1023,10 @@ mod tests { @@ -1421,7 +1422,10 @@ mod tests {
// FIXME: re-enabled bitrig/openbsd tests once their socket timeout code // FIXME: re-enabled bitrig/openbsd tests once their socket timeout code
// no longer has rounding errors. // no longer has rounding errors.
@ -31,7 +32,7 @@ index 0e7c5b0671..d42fd26267 100644
#[test] #[test]
fn timeouts() { fn timeouts() {
let addr = next_test_ip4(); let addr = next_test_ip4();
@@ -1101,6 +1105,7 @@ mod tests { @@ -1500,6 +1504,7 @@ mod tests {
assert_eq!(false, t!(stream.nodelay())); assert_eq!(false, t!(stream.nodelay()));
} }
@ -39,6 +40,14 @@ index 0e7c5b0671..d42fd26267 100644
#[test] #[test]
fn ttl() { fn ttl() {
let ttl = 100; let ttl = 100;
-- @@ -1568,6 +1573,7 @@ mod tests {
2.11.0 })
}
+ #[cfg_attr(target_os = "linux", ignore)]
#[test]
fn connect_timeout_unroutable() {
// this IP is unroutable, so connections should always time out,
--
2.14.2

View File

@ -1,25 +0,0 @@
From 5702d7cdb2bed7ac3af3c01087b181da35f6e108 Mon Sep 17 00:00:00 2001
From: joachim schiele <js@lastlog.de>
Date: Thu, 24 Nov 2016 22:25:48 +0100
Subject: [PATCH 2/2] asdf
---
src/tools/tidy/src/main.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
index cabaee5..685df94 100644
--- a/src/tools/tidy/src/main.rs
+++ b/src/tools/tidy/src/main.rs
@@ -48,7 +48,7 @@ fn main() {
errors::check(&path, &mut bad);
cargo::check(&path, &mut bad);
features::check(&path, &mut bad);
- cargo_lock::check(&path, &mut bad);
+ //cargo_lock::check(&path, &mut bad);
pal::check(&path, &mut bad);
if bad {
--
2.10.0

View File

@ -1,25 +0,0 @@
From ac204f8be95cdb2350a1dd893641e38528aaf01d Mon Sep 17 00:00:00 2001
From: joachim schiele <js@lastlog.de>
Date: Fri, 25 Nov 2016 02:17:02 +0100
Subject: [PATCH] asdf
---
src/tools/tidy/src/main.rs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
index cb11fe2..c9b7d2a 100644
--- a/src/tools/tidy/src/main.rs
+++ b/src/tools/tidy/src/main.rs
@@ -45,7 +45,7 @@ fn main() {
bins::check(&path, &mut bad);
style::check(&path, &mut bad);
errors::check(&path, &mut bad);
- cargo::check(&path, &mut bad);
+ //cargo::check(&path, &mut bad);
features::check(&path, &mut bad);
pal::check(&path, &mut bad);
--
2.10.0

View File

@ -1,4 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -euo pipefail
# All rust-related downloads can be found at # All rust-related downloads can be found at
# https://static.rust-lang.org/dist/index.html. To find the date on # https://static.rust-lang.org/dist/index.html. To find the date on
@ -6,16 +7,15 @@
# file, e.g. # file, e.g.
# https://static.rust-lang.org/dist/channel-rust-beta-date.txt # https://static.rust-lang.org/dist/channel-rust-beta-date.txt
PLATFORMS="i686-unknown-linux-gnu x86_64-unknown-linux-gnu i686-apple-darwin x86_64-apple-darwin" PLATFORMS=(
BASEURL="https://static.rust-lang.org/dist" i686-unknown-linux-gnu
DATE=$1 x86_64-unknown-linux-gnu
VERSION=$2 i686-apple-darwin
x86_64-apple-darwin
if [[ -z $DATE ]] )
then BASEURL=https://static.rust-lang.org/dist
echo "No date supplied" VERSION=${1:-}
exit -1 DATE=${2:-}
fi
if [[ -z $VERSION ]] if [[ -z $VERSION ]]
then then
@ -23,8 +23,14 @@ then
exit -1 exit -1
fi fi
for PLATFORM in $PLATFORMS if [[ -n $DATE ]]
then
BASEURL=$BASEURL/$DATE
fi
for PLATFORM in "${PLATFORMS[@]}"
do do
URL="$BASEURL/$DATE/rust-$VERSION-$PLATFORM.tar.gz.sha256" URL="$BASEURL/rust-$VERSION-$PLATFORM.tar.gz.sha256"
curl $URL SHA256=$(curl -sSfL $URL | cut -d ' ' -f 1)
echo "$PLATFORM = \"$SHA256\";"
done done

View File

@ -48,15 +48,18 @@ stdenv.mkDerivation {
configureFlags = configureFlags configureFlags = configureFlags
++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ] ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
++ [ "--enable-vendor" "--disable-locked-deps" ] ++ [ "--enable-vendor" "--disable-locked-deps" ]
++ [ "--enable-llvm-link-shared" ]
# ++ [ "--jemalloc-root=${jemalloc}/lib" # ++ [ "--jemalloc-root=${jemalloc}/lib"
++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ] ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
++ optional (stdenv.cc.cc ? isClang) "--enable-clang" ++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
++ optional (targets != []) "--target=${target}" ++ optional (targets != []) "--target=${target}"
++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}"; ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
patches = patches ++ targetPatches; patches = patches ++ targetPatches;
# the rust build system complains that nix alters the checksums
dontFixLibtool = true;
passthru.target = target; passthru.target = target;
postPatch = '' postPatch = ''

View File

@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
preConfigure = "./bootstrap"; preConfigure = "./bootstrap";
enableParallelBuilding = true; # in 1.0.0: parser.hh:40:0: error: unterminated #ifndef
enableParallelBuilding = false;
# See https://github.com/souffle-lang/souffle/issues/176 # See https://github.com/souffle-lang/souffle/issues/176
hardeningDisable = [ "fortify" ]; hardeningDisable = [ "fortify" ];

View File

@ -19,6 +19,12 @@ let param =
rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a"; rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a";
sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9"; sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9";
}; };
"8.7" = {
version = "20170616";
rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a";
sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9";
};
}."${coq.coq-version}" }."${coq.coq-version}"
; in ; in

View File

@ -5,6 +5,7 @@ let param =
"8.4" = { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; }; "8.4" = { version = "0.9.0"; sha256 = "1n3bk003vvbghbrxkhal6drnc0l65jv9y77wd56is3jw9xgiif0w"; };
"8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; }; "8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; };
"8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; }; "8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
"8.7" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; };
}."${coq.coq-version}"; }."${coq.coq-version}";
in in

View File

@ -16,6 +16,7 @@ let param =
"8.4" = v2_1_1; "8.4" = v2_1_1;
"8.5" = v3_0_1; "8.5" = v3_0_1;
"8.6" = v3_0_1; "8.6" = v3_0_1;
"8.7" = v3_0_1;
}."${coq.coq-version}"; in }."${coq.coq-version}"; in
stdenv.mkDerivation { stdenv.mkDerivation {

View File

@ -1,6 +1,11 @@
{ stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }: { stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }:
let param = { let param = {
"8.7" = {
version = "0.6.1";
rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663";
sha256 = "1jaafkwsb5450378nprjsds1illgdaq60gryi8kspw0i25ykz2c9";
};
"8.6" = { "8.6" = {
version = "0.6.1"; version = "0.6.1";
rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663"; rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663";

View File

@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
description = "A library for the Coq proof assistant for synthesizing efficient correct-by-construction programs from declarative specifications"; description = "A library for the Coq proof assistant for synthesizing efficient correct-by-construction programs from declarative specifications";
maintainers = with maintainers; [ jwiegley ]; maintainers = with maintainers; [ jwiegley ];
platforms = coq.meta.platforms; platforms = coq.meta.platforms;
broken = stdenv.lib.versionAtLeast coq.coq-version "8.6";
}; };
} }

View File

@ -98,7 +98,7 @@ self: super: {
name = "git-annex-${drv.version}-src"; name = "git-annex-${drv.version}-src";
url = "git://git-annex.branchable.com/"; url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + drv.version; rev = "refs/tags/" + drv.version;
sha256 = "0ky3avbda1avccalkh7ifjnll37cjjmdyypw9m1glsrzgzmr5lbr"; sha256 = "1143qcsljp66v0xvq2a2nqji24890rnmxcmwnxw8xj818gqk0p3m";
}; };
})).override { })).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null; dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -892,7 +892,7 @@ self: super: {
tailfile-hinotify = dontCheck super.tailfile-hinotify; tailfile-hinotify = dontCheck super.tailfile-hinotify;
# build liquidhaskell with the proper (new) aeson version # build liquidhaskell with the proper (new) aeson version
liquidhaskell = super.liquidhaskell.override { aeson = dontCheck self.aeson_1_2_2_0; }; liquidhaskell = super.liquidhaskell.override { aeson = dontCheck self.aeson_1_2_3_0; };
# Test suite fails: https://github.com/lymar/hastache/issues/46. # Test suite fails: https://github.com/lymar/hastache/issues/46.
# Don't install internal mkReadme tool. # Don't install internal mkReadme tool.
@ -968,9 +968,12 @@ self: super: {
# Depends on broken fluid. # Depends on broken fluid.
fluid-idl-http-client = markBroken super.fluid-idl-http-client; fluid-idl-http-client = markBroken super.fluid-idl-http-client;
fluid-idl-scotty = markBroken super.fluid-idl-scotty;
# depends on amqp >= 0.17 # depends on amqp >= 0.17
amqp-utils = super.amqp-utils.override { amqp-utils = super.amqp-utils.override { amqp = dontCheck super.amqp_0_18_1; };
amqp = dontCheck super.amqp_0_18_1;
}; # Build with gi overloading feature disabled.
ltk = super.ltk.overrideScope (self: super: { haskell-gi-overloading = self.haskell-gi-overloading_0_0; });
} }

View File

@ -68,6 +68,9 @@ self: super:
## OTHER PACKAGES ## OTHER PACKAGES
# haddock throws the error: No input file(s).
fail = dontHaddock super.fail;
cereal = addBuildDepend super.cereal [ self.fail ]; cereal = addBuildDepend super.cereal [ self.fail ];
entropy = overrideCabal super.entropy (old: { entropy = overrideCabal super.entropy (old: {

View File

@ -37,7 +37,7 @@ core-packages:
- ghcjs-base-0 - ghcjs-base-0
default-package-overrides: default-package-overrides:
# LTS Haskell 9.9 # LTS Haskell 9.10
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-deque-tests ==0.3 - abstract-deque-tests ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
@ -801,7 +801,7 @@ default-package-overrides:
- gitson ==0.5.2 - gitson ==0.5.2
- gi-webkit ==3.0.14 - gi-webkit ==3.0.14
- gl ==0.8.0 - gl ==0.8.0
- glabrous ==0.3.2 - glabrous ==0.3.3
- glaze ==0.3.0.1 - glaze ==0.3.0.1
- glazier ==0.11.0.1 - glazier ==0.11.0.1
- glazier-pipes ==0.1.5.1 - glazier-pipes ==0.1.5.1
@ -998,7 +998,7 @@ default-package-overrides:
- hasmin ==0.3.3 - hasmin ==0.3.3
- hasql ==0.19.18.2 - hasql ==0.19.18.2
- hasql-migration ==0.1.3 - hasql-migration ==0.1.3
- hasql-pool ==0.4.1 - hasql-pool ==0.4.2.1
- hasql-transaction ==0.5.1 - hasql-transaction ==0.5.1
- hastache ==0.6.1 - hastache ==0.6.1
- hasty-hamiltonian ==1.3.0 - hasty-hamiltonian ==1.3.0
@ -1024,7 +1024,7 @@ default-package-overrides:
- hebrew-time ==0.1.1 - hebrew-time ==0.1.1
- hedgehog ==0.5 - hedgehog ==0.5
- hedgehog-quickcheck ==0.1 - hedgehog-quickcheck ==0.1
- hedis ==0.9.9 - hedis ==0.9.10
- here ==1.2.11 - here ==1.2.11
- heredoc ==0.2.0.0 - heredoc ==0.2.0.0
- heterocephalus ==1.0.5.0 - heterocephalus ==1.0.5.0
@ -1248,7 +1248,7 @@ default-package-overrides:
- ix-shapable ==0.1.0 - ix-shapable ==0.1.0
- jack ==0.7.1.1 - jack ==0.7.1.1
- jailbreak-cabal ==1.3.2 - jailbreak-cabal ==1.3.2
- javascript-extras ==0.3.1.0 - javascript-extras ==0.3.2.0
- jmacro ==0.6.14 - jmacro ==0.6.14
- jmacro-rpc ==0.3.2 - jmacro-rpc ==0.3.2
- jmacro-rpc-happstack ==0.3.2 - jmacro-rpc-happstack ==0.3.2
@ -1271,7 +1271,7 @@ default-package-overrides:
- jwt ==0.7.2 - jwt ==0.7.2
- kan-extensions ==5.0.2 - kan-extensions ==5.0.2
- kansas-comet ==0.4 - kansas-comet ==0.4
- katip ==0.5.0.3 - katip ==0.5.1.0
- kawhi ==0.3.0 - kawhi ==0.3.0
- kdt ==0.2.4 - kdt ==0.2.4
- keter ==1.4.3.2 - keter ==1.4.3.2
@ -1490,7 +1490,7 @@ default-package-overrides:
- mysql ==0.1.4 - mysql ==0.1.4
- mysql-haskell ==0.8.0.0 - mysql-haskell ==0.8.0.0
- mysql-haskell-openssl ==0.8.0.0 - mysql-haskell-openssl ==0.8.0.0
- mysql-simple ==0.4.3 - mysql-simple ==0.4.4
- nagios-check ==0.3.2 - nagios-check ==0.3.2
- names-th ==0.2.0.3 - names-th ==0.2.0.3
- nano-erl ==0.1.0.1 - nano-erl ==0.1.0.1
@ -1638,7 +1638,7 @@ default-package-overrides:
- persistent-redis ==2.5.2 - persistent-redis ==2.5.2
- persistent-refs ==0.4 - persistent-refs ==0.4
- persistent-sqlite ==2.6.2 - persistent-sqlite ==2.6.2
- persistent-template ==2.5.2 - persistent-template ==2.5.3
- pgp-wordlist ==0.1.0.2 - pgp-wordlist ==0.1.0.2
- pg-transact ==0.1.0.1 - pg-transact ==0.1.0.1
- phantom-state ==0.2.1.2 - phantom-state ==0.2.1.2
@ -1649,13 +1649,13 @@ default-package-overrides:
- pinboard ==0.9.12.5 - pinboard ==0.9.12.5
- pinch ==0.3.2.0 - pinch ==0.3.2.0
- pinchot ==0.24.0.0 - pinchot ==0.24.0.0
- pipes ==4.3.5 - pipes ==4.3.6
- pipes-attoparsec ==0.5.1.5 - pipes-attoparsec ==0.5.1.5
- pipes-bytestring ==2.1.6 - pipes-bytestring ==2.1.6
- pipes-cacophony ==0.5.0 - pipes-cacophony ==0.5.0
- pipes-category ==0.2.0.1 - pipes-category ==0.2.0.1
- pipes-concurrency ==2.0.8 - pipes-concurrency ==2.0.8
- pipes-extras ==1.0.11 - pipes-extras ==1.0.12
- pipes-fluid ==0.5.0.3 - pipes-fluid ==0.5.0.3
- pipes-group ==1.0.8 - pipes-group ==1.0.8
- pipes-misc ==0.3.0.0 - pipes-misc ==0.3.0.0
@ -1716,7 +1716,7 @@ default-package-overrides:
- prettyprinter-compat-ansi-wl-pprint ==1.0.1 - prettyprinter-compat-ansi-wl-pprint ==1.0.1
- prettyprinter-compat-wl-pprint ==1.0.0.1 - prettyprinter-compat-wl-pprint ==1.0.0.1
- pretty-show ==1.6.13 - pretty-show ==1.6.13
- pretty-simple ==2.0.0.0 - pretty-simple ==2.0.1.0
- pretty-types ==0.2.3.1 - pretty-types ==0.2.3.1
- primes ==0.2.1.0 - primes ==0.2.1.0
- primitive ==0.6.2.0 - primitive ==0.6.2.0
@ -1752,7 +1752,7 @@ default-package-overrides:
- publicsuffix ==0.20170508 - publicsuffix ==0.20170508
- pure-io ==0.2.1 - pure-io ==0.2.1
- pureMD5 ==2.1.3 - pureMD5 ==2.1.3
- purescript-bridge ==0.11.0.0 - purescript-bridge ==0.11.1.0
- pusher-http-haskell ==1.2.0.1 - pusher-http-haskell ==1.2.0.1
- pwstore-fast ==2.4.4 - pwstore-fast ==2.4.4
- QuasiText ==0.1.2.6 - QuasiText ==0.1.2.6
@ -2096,7 +2096,7 @@ default-package-overrides:
- tar ==0.5.0.3 - tar ==0.5.0.3
- tar-conduit ==0.1.1 - tar-conduit ==0.1.1
- tardis ==0.4.1.0 - tardis ==0.4.1.0
- tasty ==0.11.2.5 - tasty ==0.11.3
- tasty-ant-xml ==1.1.0 - tasty-ant-xml ==1.1.0
- tasty-auto ==0.2.0.0 - tasty-auto ==0.2.0.0
- tasty-dejafu ==0.6.0.0 - tasty-dejafu ==0.6.0.0
@ -2283,7 +2283,7 @@ default-package-overrides:
- unix-bytestring ==0.3.7.3 - unix-bytestring ==0.3.7.3
- unix-compat ==0.4.3.1 - unix-compat ==0.4.3.1
- unix-time ==0.3.7 - unix-time ==0.3.7
- unliftio ==0.1.0.0 - unliftio ==0.1.1.0
- unliftio-core ==0.1.0.0 - unliftio-core ==0.1.0.0
- unlit ==0.4.0.0 - unlit ==0.4.0.0
- unordered-containers ==0.2.8.0 - unordered-containers ==0.2.8.0
@ -2325,7 +2325,7 @@ default-package-overrides:
- verbosity ==0.2.3.0 - verbosity ==0.2.3.0
- versions ==3.1.1 - versions ==3.1.1
- vhd ==0.2.2 - vhd ==0.2.2
- ViennaRNAParser ==1.3.2 - ViennaRNAParser ==1.3.3
- viewprof ==0.0.0.10 - viewprof ==0.0.0.10
- vinyl ==0.5.3 - vinyl ==0.5.3
- vinyl-utils ==0.3.0.0 - vinyl-utils ==0.3.0.0

File diff suppressed because it is too large Load Diff

View File

@ -144,7 +144,22 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
callHackage = name: version: self.callPackage (self.hackage2nix name version); callHackage = name: version: self.callPackage (self.hackage2nix name version);
# Creates a Haskell package from a source package by calling cabal2nix on the source. # Creates a Haskell package from a source package by calling cabal2nix on the source.
callCabal2nix = name: src: self.callPackage (self.haskellSrc2nix { inherit src name; }); callCabal2nix = name: src: args: if builtins.typeOf src != "path"
then self.callPackage (haskellSrc2nix { inherit name src; }) args
else
# When `src` is a Nix path literal, only use `cabal2nix` on
# the cabal file, so that the "import-from-derivation" is only
# recomputed when the cabal file changes, and so your source
# code isn't duplicated into the nix store on every change.
# This can only be done when `src` is a Nix path literal
# because that is the only kind of source that
# `builtins.filterSource` works on. But this filtering isn't
# usually important on other kinds of sources, like
# `fetchFromGitHub`.
overrideCabal (self.callPackage (haskellSrc2nix {
inherit name;
src = builtins.filterSource (path: type: pkgs.lib.hasSuffix ".cabal" path) src;
}) args) (_: { inherit src; });
# : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet # : Map Name (Either Path VersionNumber) -> HaskellPackageOverrideSet
# Given a set whose values are either paths or version strings, produces # Given a set whose values are either paths or version strings, produces

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, SDL, libpng, libjpeg, libtiff, libungif, libXpm }: { stdenv, fetchurl, fetchpatch, SDL, libpng, libjpeg, libtiff, libungif, libXpm }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "SDL_image-${version}"; name = "SDL_image-${version}";
@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
sha256 = "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b"; sha256 = "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b";
}; };
patches = [
(fetchpatch {
name = "CVE-2017-2887";
url = "https://hg.libsdl.org/SDL_image/raw-diff/318484db0705/IMG_xcf.c";
sha256 = "140dyszz9hkpgwjdiwp1b7jdd8f8l5d862xdaf3ml4cimga1h5kv";
})
];
buildInputs = [ SDL libpng libjpeg libtiff libungif libXpm ]; buildInputs = [ SDL libpng libjpeg libtiff libungif libXpm ];
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,5 +1,9 @@
# Create a derivation that contains aspell and selected dictionaries. # Create a derivation that contains aspell and selected dictionaries.
# Composition is done using `pkgs.buildEnv`. # Composition is done using `pkgs.buildEnv`.
# Beware of that `ASPELL_CONF` used by this derivation is not always
# respected by libaspell (#28815) and in some cases, when used as
# dependency by another derivation, the passed dictionaries will be
# missing. However, invoking aspell directly should be fine.
{ aspell { aspell
, aspellDicts , aspellDicts

View File

@ -0,0 +1,38 @@
diff --git a/common/info.cpp b/common/info.cpp
index 8291cc7..6216326 100644
--- a/common/info.cpp
+++ b/common/info.cpp
@@ -36,6 +36,7 @@
#include "strtonum.hpp"
#include "lock.hpp"
#include "string_map.hpp"
+#include "file_util.hpp"
#include "gettext.h"
@@ -495,6 +496,25 @@ namespace acommon {
lst.clear();
lst.add(config->retrieve("data-dir"));
lst.add(config->retrieve("dict-dir"));
+ if (config->lookup("data-dir") == NULL && config->lookup("dict-dir") == NULL) {
+ const char* cprofiles = getenv("NIX_PROFILES");
+ if (cprofiles != NULL) {
+ char* profiles = strdup(cprofiles);
+ char* profile = profiles;
+ char* end = profile;
+ while (*end != '\0') {
+ if (*end == ' ') {
+ *end = '\0';
+ lst.add(add_possible_dir(profile, "lib/aspell"));
+ profile = ++end;
+ } else {
+ ++end;
+ }
+ }
+ lst.add(add_possible_dir(profile, "lib/aspell"));
+ free(profiles);
+ }
+ }
}
DictExt::DictExt(ModuleInfo * m, const char * e)

View File

@ -1,4 +1,5 @@
{stdenv, fetchurl, perl}: {stdenv, fetchurl, perl
, searchNixProfiles ? true}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "aspell-0.60.6.1"; name = "aspell-0.60.6.1";
@ -10,6 +11,8 @@ stdenv.mkDerivation rec {
patchPhase = '' patchPhase = ''
patch interfaces/cc/aspell.h < ${./clang.patch} patch interfaces/cc/aspell.h < ${./clang.patch}
'' + stdenv.lib.optionalString searchNixProfiles ''
patch -p1 < ${./data-dirs-from-nix-profiles.patch}
''; '';
buildInputs = [ perl ]; buildInputs = [ perl ];
@ -23,28 +26,6 @@ stdenv.mkDerivation rec {
); );
''; '';
postInstall = ''
local prog="$out/bin/aspell"
local hidden="$out/bin/.aspell-wrapped"
mv "$prog" "$hidden"
cat > "$prog" <<END
#! $SHELL -e
if [ -z "\$ASPELL_CONF" ]; then
for p in \$NIX_PROFILES; do
if [ -d "\$p/lib/aspell" ]; then
ASPELL_CONF="data-dir \$p/lib/aspell"
fi
done
if [ -z "\$ASPELL_CONF" ] && [ -d "\$HOME/.nix-profile/lib/aspell" ]; then
ASPELL_CONF="data-dir \$HOME/.nix-profile/lib/aspell"
fi
export ASPELL_CONF
fi
exec "$hidden" "\$@"
END
chmod +x "$prog"
'';
meta = { meta = {
description = "Spell checker for many languages"; description = "Spell checker for many languages";
homepage = http://aspell.net/; homepage = http://aspell.net/;

View File

@ -1,9 +1,9 @@
{ callPackage, ... } @ args: { callPackage, ... } @ args:
callPackage ./generic.nix (args // { callPackage ./generic.nix (args // {
baseVersion = "2.0"; baseVersion = "2.3";
revision = "1"; revision = "0";
sha256 = "02sf6qghgs1lmprx715dnyll1rmqcjb9q6s50n20li8idlqysf51"; sha256 = "0z6lwv28hxnfkhd4s03cb4cdm1621bsswc2h88z4qslqwpz71y9r";
postPatch = '' postPatch = ''
sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
''; '';

View File

@ -2,8 +2,8 @@
callPackage ./generic.nix (args // { callPackage ./generic.nix (args // {
baseVersion = "1.10"; baseVersion = "1.10";
revision = "15"; revision = "17";
sha256 = "1zkhmggzxjla2iwaiyrx5161yxckrzszmy9yghjlpnhg8zyqzk60"; sha256 = "04rnha712dd3sdb2q7k2yw45sf405jyigk7yrjfr6bwd9fvgyiv8";
extraConfigureFlags = "--with-gnump"; extraConfigureFlags = "--with-gnump";
postPatch = '' postPatch = ''
sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt

View File

@ -1,9 +0,0 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
baseVersion = "1.11";
revision = "34";
sha256 = "05hzffp0dxac7414a84z0fgv980cnfx55ch2y4vpg5nvin7m9bar";
openssl = null;
postPatch = "sed '1i#include <cmath>' -i src/tests/test_bigint.cpp";
})

View File

@ -1,10 +0,0 @@
url http://botan.randombit.net/download.html
version_link 'Botan-[0-9]+[.][0-9]+([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
ensure_version
attribute_name botanUnstable
do_overwrite(){
ensure_hash
set_var_value sha256 $CURRENT_HASH
set_var_value baseVersion ${CURRENT_VERSION%.*}
set_var_value revision ${CURRENT_VERSION##*.}
}

View File

@ -231,11 +231,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ffmpeg-full-${version}"; name = "ffmpeg-full-${version}";
version = "3.3.4"; version = "3.4";
src = fetchurl { src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"; url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
sha256 = "0mx9dvad3lkyhvsrblf280x2bz6dxajya1ylnspbdzldj0dpxfcq"; sha256 = "1vzvpx8ixy8m44f8qwp833hv253hpghybgzbc4n8b3div3j0dvmf";
}; };
patchPhase = ''patchShebangs . patchPhase = ''patchShebangs .

View File

@ -6,7 +6,7 @@
callPackage ./generic.nix (args // rec { callPackage ./generic.nix (args // rec {
version = "${branch}"; version = "${branch}";
branch = "3.3.4"; branch = "3.4";
sha256 = "0zmczggi95fbsq9nz33mpln1y3p1gqniqc4x5smp871idhkykxay"; sha256 = "0pn8g3ab937ahslqd41crk0g4j4fh7kwimsrlfc0rl0pc3z132ax";
darwinFrameworks = [ Cocoa CoreMedia ]; darwinFrameworks = [ Cocoa CoreMedia ];
}) })

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libfilezilla-${version}"; name = "libfilezilla-${version}";
version = "0.10.1"; version = "0.11.0";
src = fetchurl { src = fetchurl {
url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2"; url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
sha256 = "1yi9db0hpxh3giyjhkbz7ajmf95qw27xdvh3xvw208zri5k575x0"; sha256 = "1l4yhw269dyarqb2spqhycxzzyfn8pj4qh9vfycdw1c93hj6fx6c";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -12,11 +12,11 @@ with stdenv.lib;
# if you update, also bump pythonPackages.libvirt or it will break # if you update, also bump pythonPackages.libvirt or it will break
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libvirt-${version}"; name = "libvirt-${version}";
version = "3.6.0"; version = "3.8.0";
src = fetchurl { src = fetchurl {
url = "http://libvirt.org/sources/${name}.tar.xz"; url = "http://libvirt.org/sources/${name}.tar.xz";
sha256 = "0gcyql5dp6j370kvik9hjhxirrg89m7l1q52yq0g75h7jpv9fb1s"; sha256 = "1y83z4jb2by6ara0nw4sivh7svqcrw97yfhqwdscxl4y10saisvk";
}; };
patches = [ ./build-on-bsd.patch ]; patches = [ ./build-on-bsd.patch ];

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
# http://www.mail-archive.com/suspend-devel@lists.sourceforge.net/msg02355.html # http://www.mail-archive.com/suspend-devel@lists.sourceforge.net/msg02355.html
makeFlags = [ makeFlags = [
"DESTDIR=$(out)" "DESTDIR=$(out)"
] ++ stdenv.lib.optional (stdenv.isx86_64 || stdenv.isArm) "BACKEND=x86emu"; ] ++ stdenv.lib.optional (!stdenv.isi686) "BACKEND=x86emu";
preBuild = '' preBuild = ''
sed -i lrmi.c -e 's@defined(__i386__)@(defined(__i386__) || defined(__x86_64__))@' sed -i lrmi.c -e 's@defined(__i386__)@(defined(__i386__) || defined(__x86_64__))@'
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Real-mode x86 code emulator"; description = "Real-mode x86 code emulator";
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];
platforms = with platforms; linux ++ freebsd ++ netbsd; platforms = [ "x86_64-linux" "i686-linux" ];
license = licenses.mit; license = licenses.mit;
}; };
} }

View File

@ -1,4 +1,7 @@
{ lib, stdenv, fetchurl, fetchpatch, fetchFromGitHub, cmake, pkgconfig, unzip, zlib { lib, stdenv
, fetchurl, fetchFromGitHub
, cmake, pkgconfig, unzip, zlib, pcre, hdf5, protobuf
, config
, enableJPEG ? true, libjpeg , enableJPEG ? true, libjpeg
, enablePNG ? true, libpng , enablePNG ? true, libpng
@ -6,93 +9,129 @@
, enableWebP ? true, libwebp , enableWebP ? true, libwebp
, enableEXR ? (!stdenv.isDarwin), openexr, ilmbase , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
, enableJPEG2K ? true, jasper , enableJPEG2K ? true, jasper
, enableEigen ? true, eigen
, enableOpenblas ? true, openblas
, enableCuda ? (config.cudaSupport or false), cudatoolkit
, enableIpp ? false , enableIpp ? false
, enableContrib ? false, protobuf , enableContrib ? false #, caffe, glog, boost, google-gflags
, enablePython ? false, pythonPackages , enablePython ? false, pythonPackages
, enableGtk2 ? false, gtk2 , enableGtk2 ? false, gtk2
, enableGtk3 ? false, gtk3 , enableGtk3 ? false, gtk3
, enableFfmpeg ? false, ffmpeg , enableFfmpeg ? false, ffmpeg
, enableGStreamer ? false, gst_all_1 , enableGStreamer ? false, gst_all_1
, enableEigen ? true, eigen
, enableOpenblas ? true, openblas
, enableCuda ? false, cudatoolkit
, enableTesseract ? false, tesseract, leptonica , enableTesseract ? false, tesseract, leptonica
, enableDocs ? false, doxygen, graphviz-nox
, AVFoundation, Cocoa, QTKit , AVFoundation, Cocoa, QTKit
}: }:
let let
version = "3.2.0"; version = "3.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "opencv"; owner = "opencv";
repo = "opencv"; repo = "opencv";
rev = version; rev = version;
sha256 = "0f59g0dvhp5xg1xa3r4lp351a7x0k03i77ylgcf69ns3y47qd16p"; sha256 = "0266kg337wij9rz602z5088jn2fq56aqpxxflf0fbh28kygchvk4";
}; };
contribSrc = fetchFromGitHub { contribSrc = fetchFromGitHub {
owner = "opencv"; owner = "opencv";
repo = "opencv_contrib"; repo = "opencv_contrib";
rev = version; rev = version;
sha256 = "1lynpbxz1jay3ya5y45zac5v8c6ifgk4ssn8d1chfdk3spi691jj"; sha256 = "0qxdvzdszzlpsya1pn4d2r9z4j98isxrgk15a2wwa3dqjmgv880d";
};
# This fixes the build on macOS.
# See: https://github.com/opencv/opencv_contrib/pull/926
contribOSXFix = fetchpatch {
url = "https://github.com/opencv/opencv_contrib/commit/abf44fcccfe2f281b7442dac243e37b7f436d961.patch";
sha256 = "11dsq8dwh1k6f7zglbc26xwsjw184ggf2531mhf7v77kd72k19fm";
}; };
# Contrib must be built in order to enable Tesseract support: # Contrib must be built in order to enable Tesseract support:
buildContrib = enableContrib || enableTesseract; buildContrib = enableContrib || enableTesseract;
vggFiles = fetchFromGitHub { # See opencv/3rdparty/ippicv/ippicv.cmake
ippicv = {
src = fetchFromGitHub {
owner = "opencv";
repo = "opencv_3rdparty";
rev = "a62e20676a60ee0ad6581e217fe7e4bada3b95db";
sha256 = "04idycc479l7fidj6r107sv65iszndswm287ms3nh896jbpbaxbv";
} + "/ippicv";
files = let name = platform : "ippicv_2017u2_${platform}_20170418.tgz"; in
if stdenv.system == "x86_64-linux" then
{ ${name "lnx_intel64"} = "87cbdeb627415d8e4bc811156289fa3a"; }
else if stdenv.system == "i686-linux" then
{ ${name "lnx_ia32"} = "f2cece00d802d4dea86df52ed095257e"; }
else if stdenv.system == "x86_64-darwin" then
{ ${name "mac_intel64"} = "0c25953c99dbb499ff502485a9356d8d"; }
else
throw "ICV is not available for this platform (or not yet supported by this package)";
dst = ".cache/ippicv";
};
# See opencv_contrib/modules/xfeatures2d/cmake/download_vgg.cmake
vgg = {
src = fetchFromGitHub {
owner = "opencv"; owner = "opencv";
repo = "opencv_3rdparty"; repo = "opencv_3rdparty";
rev = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d"; rev = "fccf7cd6a4b12079f73bbfb21745f9babcd4eb1d";
sha256 = "0r9fam8dplyqqsd3qgpnnfgf9l7lj44di19rxwbm8mxiw0rlcdvy"; sha256 = "0r9fam8dplyqqsd3qgpnnfgf9l7lj44di19rxwbm8mxiw0rlcdvy";
}; };
files = {
"vgg_generated_48.i" = "e8d0dcd54d1bcfdc29203d011a797179";
"vgg_generated_64.i" = "7126a5d9a8884ebca5aea5d63d677225";
"vgg_generated_80.i" = "7cd47228edec52b6d82f46511af325c5";
"vgg_generated_120.i" = "151805e03568c9f490a5e3a872777b75";
};
dst = ".cache/xfeatures2d/vgg";
};
bootdescFiles = fetchFromGitHub { # See opencv_contrib/modules/xfeatures2d/cmake/download_boostdesc.cmake
boostdesc = {
src = fetchFromGitHub {
owner = "opencv"; owner = "opencv";
repo = "opencv_3rdparty"; repo = "opencv_3rdparty";
rev = "34e4206aef44d50e6bbcd0ab06354b52e7466d26"; rev = "34e4206aef44d50e6bbcd0ab06354b52e7466d26";
sha256 = "13yig1xhvgghvxspxmdidss5lqiikpjr0ddm83jsi0k85j92sn62"; sha256 = "13yig1xhvgghvxspxmdidss5lqiikpjr0ddm83jsi0k85j92sn62";
}; };
files = {
"boostdesc_bgm.i" = "0ea90e7a8f3f7876d450e4149c97c74f";
"boostdesc_bgm_bi.i" = "232c966b13651bd0e46a1497b0852191";
"boostdesc_bgm_hd.i" = "324426a24fa56ad9c5b8e3e0b3e5303e";
"boostdesc_binboost_064.i" = "202e1b3e9fec871b04da31f7f016679f";
"boostdesc_binboost_128.i" = "98ea99d399965c03d555cef3ea502a0b";
"boostdesc_binboost_256.i" = "e6dcfa9f647779eb1ce446a8d759b6ea";
"boostdesc_lbgm.i" = "0ae0675534aa318d9668f2a179c2a052";
};
dst = ".cache/xfeatures2d/boostdesc";
};
installExtraFiles = extra : with lib; ''
mkdir -p "${extra.dst}"
'' + concatStrings (mapAttrsToList (name : md5 : ''
ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
'') extra.files);
# See opencv_contrib/modules/dnn_modern/CMakeLists.txt
tinyDnn = rec {
src = fetchurl {
url = "https://github.com/tiny-dnn/tiny-dnn/archive/${name}";
sha256 = "12x1b984cn0psn6kz1fy75zljgzqvkdyjy8i292adfnyqpl1rip2";
};
name = "v1.0.0a3.tar.gz";
md5 = "adb1c512e09ca2c7a6faef36f9c53e59";
dst = ".cache/tiny_dnn";
};
opencvFlag = name: enabled: "-DWITH_${name}=${if enabled then "ON" else "OFF"}"; opencvFlag = name: enabled: "-DWITH_${name}=${if enabled then "ON" else "OFF"}";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "opencv-${version}"; name = "opencv-${version}";
inherit version src; inherit version src;
postUnpack = postUnpack = lib.optionalString buildContrib ''
(lib.optionalString buildContrib ''
cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib" cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib"
'';
# This fixes the build on macOS.
patch -d "$NIX_BUILD_TOP/opencv_contrib" -p2 < "${contribOSXFix}"
for name in vgg_generated_48.i \
vgg_generated_64.i \
vgg_generated_80.i \
vgg_generated_120.i; do
ln -s "${vggFiles}/$name" "$NIX_BUILD_TOP/opencv_contrib/xfeatures2d/src/$name"
done
for name in boostdesc_bgm.i \
boostdesc_bgm_bi.i \
boostdesc_bgm_hd.i \
boostdesc_binboost_064.i \
boostdesc_binboost_128.i \
boostdesc_binboost_256.i \
boostdesc_lbgm.i; do
ln -s "${bootdescFiles}/$name" "$NIX_BUILD_TOP/opencv_contrib/xfeatures2d/src/$name"
done
'');
# This prevents cmake from using libraries in impure paths (which # This prevents cmake from using libraries in impure paths (which
# causes build failure on non NixOS) # causes build failure on non NixOS)
@ -105,29 +144,19 @@ stdenv.mkDerivation rec {
''; '';
preConfigure = preConfigure =
(let version = "20151201"; installExtraFiles ippicv + (
md5 = "808b791a6eac9ed78d32a7666804320e"; lib.optionalString buildContrib ''
sha256 = "1nph0w0pdcxwhdb5lxkb8whpwd9ylvwl97hn0k425amg80z86cs3";
rev = "81a676001ca8075ada498583e4166079e5744668";
platform = if stdenv.system == "x86_64-linux" || stdenv.system == "i686-linux" then "linux"
else throw "ICV is not available for this platform (or not yet supported by this package)";
name = "ippicv_${platform}_${version}.tgz";
ippicv = fetchurl {
url = "https://raw.githubusercontent.com/opencv/opencv_3rdparty/${rev}/ippicv/${name}";
inherit sha256;
};
dir = "3rdparty/ippicv/downloads/${platform}-${md5}";
in lib.optionalString enableIpp ''
mkdir -p "${dir}"
ln -s "${ippicv}" "${dir}/${name}"
''
) +
(lib.optionalString buildContrib ''
cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/opencv_contrib") cmakeFlagsArray+=("-DOPENCV_EXTRA_MODULES_PATH=$NIX_BUILD_TOP/opencv_contrib")
${installExtraFiles vgg}
${installExtraFiles boostdesc}
mkdir -p "${tinyDnn.dst}"
ln -s "${tinyDnn.src}" "${tinyDnn.dst}/${tinyDnn.md5}-${tinyDnn.name}"
''); '');
buildInputs = buildInputs =
[ zlib ] [ zlib pcre hdf5 protobuf ]
++ lib.optional enablePython pythonPackages.python ++ lib.optional enablePython pythonPackages.python
++ lib.optional enableGtk2 gtk2 ++ lib.optional enableGtk2 gtk2
++ lib.optional enableGtk3 gtk3 ++ lib.optional enableGtk3 gtk3
@ -146,8 +175,13 @@ stdenv.mkDerivation rec {
# tesseract & leptonica. # tesseract & leptonica.
++ lib.optionals enableTesseract [ tesseract leptonica ] ++ lib.optionals enableTesseract [ tesseract leptonica ]
++ lib.optional enableCuda cudatoolkit ++ lib.optional enableCuda cudatoolkit
++ lib.optional buildContrib protobuf
++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ]; # These are only needed for the currently disabled
# cnn_3dobj and dnn_modern modules
# ++ lib.optionals buildContrib [ caffe glog boost google-gflags ]
++ lib.optionals stdenv.isDarwin [ AVFoundation Cocoa QTKit ]
++ lib.optionals enableDocs [ doxygen graphviz-nox ];
propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy; propagatedBuildInputs = lib.optional enablePython pythonPackages.numpy;
@ -156,7 +190,10 @@ stdenv.mkDerivation rec {
NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR"; NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
cmakeFlags = [ cmakeFlags = [
"-DWITH_IPP=${if enableIpp then "ON" else "OFF"} -DWITH_OPENMP=ON" "-DBUILD_PROTOBUF=OFF"
"-DPROTOBUF_UPDATE_FILES=ON"
"-DWITH_OPENMP=ON"
(opencvFlag "IPP" enableIpp)
(opencvFlag "TIFF" enableTIFF) (opencvFlag "TIFF" enableTIFF)
(opencvFlag "JASPER" enableJPEG2K) (opencvFlag "JASPER" enableJPEG2K)
(opencvFlag "WEBP" enableWebP) (opencvFlag "WEBP" enableWebP)
@ -168,11 +205,24 @@ stdenv.mkDerivation rec {
] ++ lib.optionals enableCuda [ ] ++ lib.optionals enableCuda [
"-DCUDA_FAST_MATH=ON" "-DCUDA_FAST_MATH=ON"
"-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc" "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/gcc"
] ++ lib.optional buildContrib "-DBUILD_PROTOBUF=off" ] ++ lib.optionals buildContrib [
# the cnn_3dobj module fails to build
"-DBUILD_opencv_cnn_3dobj=OFF"
# the dnn_modern module causes:
# https://github.com/opencv/opencv_contrib/issues/823
#
# On OS X its dependency tiny-dnn-1.0.0a3 also fails to build.
"-DBUILD_opencv_dnn_modern=OFF"
]
++ lib.optionals stdenv.isDarwin ["-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF"]; ++ lib.optionals stdenv.isDarwin ["-DWITH_OPENCL=OFF" "-DWITH_LAPACK=OFF"];
enableParallelBuilding = true; enableParallelBuilding = true;
postBuild = lib.optionalString enableDocs ''
make doxygen
'';
hardeningDisable = [ "bindnow" "relro" ]; hardeningDisable = [ "bindnow" "relro" ];
passthru = lib.optionalAttrs enablePython { pythonPath = []; }; passthru = lib.optionalAttrs enablePython { pythonPath = []; };
@ -181,7 +231,7 @@ stdenv.mkDerivation rec {
description = "Open Computer Vision Library with more than 500 algorithms"; description = "Open Computer Vision Library with more than 500 algorithms";
homepage = http://opencv.org/; homepage = http://opencv.org/;
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [viric mdaiter]; maintainers = with stdenv.lib.maintainers; [viric mdaiter basvandijk];
platforms = with stdenv.lib.platforms; linux ++ darwin; platforms = with stdenv.lib.platforms; linux ++ darwin;
}; };
} }

View File

@ -1,108 +0,0 @@
{ stdenv, fetchurl, perl, python2, ruby, bison, gperf, cmake
, pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls
, gtk2, gtk3, wayland, libwebp, enchant, xlibs, libxkbcommon, epoxy, at_spi2_core
, libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11_kit
, libidn, libedit, readline, mesa, libintlOrEmpty
, enableGeoLocation ? true, geoclue2, sqlite
, gst-plugins-base, gst-plugins-bad
}:
assert enableGeoLocation -> geoclue2 != null;
with stdenv.lib;
stdenv.mkDerivation rec {
name = "webkitgtk-${version}";
version = "2.17.91";
meta = {
description = "Web content rendering engine, GTK+ port";
homepage = http://webkitgtk.org/;
license = licenses.bsd2;
platforms = with platforms; linux ++ darwin;
hydraPlatforms = [];
maintainers = with maintainers; [ ];
};
postConfigure = optionalString stdenv.isDarwin ''
substituteInPlace Source/WebKit2/CMakeFiles/WebKit2.dir/link.txt \
--replace "../../lib/libWTFGTK.a" ""
substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \
--replace "../../lib/libbmalloc.a" ""
sed -i "s|[\./]*\.\./lib/lib[^\.]*\.a||g" \
Source/JavaScriptCore/CMakeFiles/LLIntOffsetsExtractor.dir/link.txt \
Source/JavaScriptCore/shell/CMakeFiles/jsc.dir/link.txt \
Source/JavaScriptCore/shell/CMakeFiles/testb3.dir/link.txt \
Source/WebKit2/CMakeFiles/DatabaseProcess.dir/link.txt \
Source/WebKit2/CMakeFiles/NetworkProcess.dir/link.txt \
Source/WebKit2/CMakeFiles/webkit2gtkinjectedbundle.dir/link.txt \
Source/WebKit2/CMakeFiles/WebProcess.dir/link.txt
substituteInPlace Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/link.txt \
--replace "../../lib/libWTFGTK.a" "-Wl,-all_load ../../lib/libWTFGTK.a"
'';
src = fetchurl {
url = "http://webkitgtk.org/releases/${name}.tar.xz";
sha256 = "0f158gqb2lvv3v5z6s7gjgwms69fgsjkd8whfks8cq6cybiy9y37";
};
# see if we can clean this up....
patches = [
./finding-harfbuzz-icu.patch
./gstreamergl-2.17.patch
] ++ optionals stdenv.isDarwin [
./PR-152650-2.patch
./PR-153138.patch
./PR-157554.patch
./PR-157574.patch
];
cmakeFlags = [
"-DPORT=GTK"
"-DUSE_LIBHYPHEN=0"
]
++ optional stdenv.isLinux "-DENABLE_GLES2=ON"
++ optionals stdenv.isDarwin [
"-DUSE_SYSTEM_MALLOC=ON"
"-DUSE_ACCELERATE=0"
"-DENABLE_INTROSPECTION=ON"
"-DENABLE_MINIBROWSER=OFF"
"-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
"-DENABLE_MINIBROWSER=OFF"
"-DENABLE_VIDEO=ON"
"-DENABLE_QUARTZ_TARGET=ON"
"-DENABLE_X11_TARGET=OFF"
"-DENABLE_OPENGL=OFF"
"-DENABLE_WEB_AUDIO=OFF"
"-DENABLE_WEBGL=OFF"
"-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
"-DENABLE_GTKDOC=OFF"
];
# XXX: WebKit2 missing include path for gst-plugins-base.
# Filled: https://bugs.webkit.org/show_bug.cgi?id=148894
NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0 -I${gst-plugins-bad}/include/gstreamer-1.0"
+ (optionalString stdenv.isDarwin " -lintl");
nativeBuildInputs = [
cmake perl python2 ruby bison gperf sqlite
pkgconfig gettext gobjectIntrospection
];
buildInputs = libintlOrEmpty ++ [
gtk2 libwebp enchant libnotify gnutls pcre nettle libidn
libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11_kit
gst-plugins-base gst-plugins-bad libxkbcommon epoxy at_spi2_core
] ++ optional enableGeoLocation geoclue2
++ (with xlibs; [ libXdmcp libXt libXtst ])
++ optionals stdenv.isDarwin [ libedit readline mesa ]
++ optional stdenv.isLinux wayland;
propagatedBuildInputs = [
libsoup gtk3
];
enableParallelBuilding = true;
outputs = [ "out" "dev" ];
}

View File

@ -3,17 +3,17 @@
with rustPlatform; with rustPlatform;
buildRustPackage rec { buildRustPackage rec {
version = "0.3.4"; version = "2017-06-23";
name = "loc-${version}"; name = "loc-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cgag"; owner = "cgag";
repo = "loc"; repo = "loc";
rev = "9f3590f6299a1be3560f00de7f4f8bef61a02642"; rev = "bbea575f56879ef614d57a42a6b79fd45b9a8b38";
sha256 = "0dga8prwnnmsa616jh64wzic957ff0491xghm0bjlns35ajc8lif"; sha256 = "0agyhi55rh248fmlsip4fi1iw4xv3433q7bcb2lpjfnjpzxxlvfn";
}; };
depsSha256 = "1xcfhbnz208dk7xb748v8kv28zbhyr7wqg9gsgbiw3lnvc2a3nn6"; cargoSha256 = "0f3i8av9g19r2nhr9m8ca8s23kq294c5kqyvx155l6p76r7a9kvb";
meta = { meta = {
homepage = http://github.com/cgag/loc; homepage = http://github.com/cgag/loc;

File diff suppressed because it is too large Load Diff

View File

@ -82,6 +82,7 @@
, "ungit" , "ungit"
, "webdrvr" , "webdrvr"
, "webpack" , "webpack"
, "web-ext"
, "wring" , "wring"
, "yarn" , "yarn"
, "yo" , "yo"

File diff suppressed because it is too large Load Diff

View File

@ -5,12 +5,12 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ammonite-${version}"; name = "ammonite-${version}";
version = "1.0.2"; version = "1.0.3";
scalaVersion = "2.12"; scalaVersion = "2.12";
src = fetchurl { src = fetchurl {
url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}"; url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
sha256 = "11xn84q947qrf0p2p37pyx9nphl6542jbdan3mjcmdi4p29qgds8"; sha256 = "0pa60fy5skx781hwspaskisv8zx0sfddkvprgmwkhfdpz892srwm";
}; };
propagatedBuildInputs = [ jre ] ; propagatedBuildInputs = [ jre ] ;

View File

@ -1,22 +1,30 @@
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig {
, kdelibs4, kgraphviewer }: mkDerivation, lib, fetchurl,
extra-cmake-modules, shared_mime_info,
qtsvg, qtxmlpatterns, karchive, kconfig, kcoreaddons, kparts, kio, ki18n,
kdiagram, kgraphviewer
}:
stdenv.mkDerivation rec { mkDerivation rec {
name = "massif-visualizer-${version}"; name = "massif-visualizer-${version}";
version = "0.4.0"; version = "0.7.0";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/massif-visualizer/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/massif-visualizer/${version}/src/${name}.tar.xz";
sha256 = "0yawzp5lw7ryjcpqkhz70q4hc5hwq5imq5lgqnwgss057zcln7z8"; sha256 = "0v8z6r9gngzckvqyxjm9kp7hilwfqibyk2f9vag9l98ar0iwr97q";
}; };
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ]; nativeBuildInputs = [ extra-cmake-modules shared_mime_info ];
buildInputs = [ kdelibs4 kgraphviewer ];
meta = with stdenv.lib; { buildInputs = [
qtsvg qtxmlpatterns karchive kconfig kcoreaddons kparts kio ki18n
kdiagram kgraphviewer
];
meta = with lib; {
description = "Tool that visualizes massif data generated by valgrind"; description = "Tool that visualizes massif data generated by valgrind";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.lethalman ]; maintainers = with maintainers; [ lethalman zraexy ];
}; };
} }

View File

@ -13,7 +13,7 @@ buildRustPackage rec {
sha256 = "1wxglc4n1dar5qphhj5pab7ps34cjr7jy611fwn72lz0f6c7jp3z"; sha256 = "1wxglc4n1dar5qphhj5pab7ps34cjr7jy611fwn72lz0f6c7jp3z";
}; };
depsSha256 = "0gkg3bxx7nxsvff33n7pif731djfvlzk0msia27h0wq0mazq7kw3"; cargoSha256 = "1pi8fh6vz6m5hr38wm0v0hxp1yxm1ma8yzish3b78zkv8f90kmv0";
meta = { meta = {
description = "Generate changelogs from local git metadata"; description = "Generate changelogs from local git metadata";

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "jenkins-${version}"; name = "jenkins-${version}";
version = "2.85"; version = "2.86";
src = fetchurl { src = fetchurl {
url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war"; url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
sha256 = "0z8rv6fxsvnw71f8s711n9s60r8jd43bigy9rqz5805k3xa68whr"; sha256 = "198fcj2wkz8qxawk3mq29kwl51pxlbd7ivndcpvdvg42g0caqyi0";
}; };
buildCommand = '' buildCommand = ''

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }: { stdenv, fetchFromGitHub, fetchpatch, rustPlatform, openssl, cmake, perl, pkgconfig, zlib }:
with rustPlatform; with rustPlatform;
@ -13,14 +13,24 @@ buildRustPackage rec {
sha256 = "07mgq5h6r1gf3jflbv2khcz32bdazw7z1s8xcsafdarnm13ps014"; sha256 = "07mgq5h6r1gf3jflbv2khcz32bdazw7z1s8xcsafdarnm13ps014";
}; };
depsSha256 = "1xypk9ck7znca0nqm61m5ngpz6q7c0wydlpwxq4mnkd1np27xn53"; cargoSha256 = "06w864f73kijq24xzljfaf47d97aqyg4md3crzbq8hns157m3sv2";
cargoDepsHook = ''
(
cd ${name}-src
# see https://github.com/git-series/git-series/pull/56
patch -p1 < ${fetchpatch {
url = "https://github.com/Mic92/git-series/commit/3aa30a47d74ebf90b444dccdf8c153f07f119483.patch";
sha256 = "06v8br9skvy75kcw2zgbswxyk82sqzc8smkbqpzmivxlc2i9rnh0";
}}
)
'';
nativeBuildInputs = [ cmake pkgconfig perl ]; nativeBuildInputs = [ cmake pkgconfig perl ];
buildInputs = [ openssl zlib ]; buildInputs = [ openssl zlib ];
postBuild = '' postBuild = ''
mkdir -p "$out/man/man1" install -D "$src/git-series.1" "$out/man/man1/git-series.1"
cp "$src/git-series.1" "$out/man/man1"
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -11,7 +11,7 @@ rustPlatform.buildRustPackage rec {
sha256 = "1bzs3mr6f9bna39b9ddwwq0raas07nbn106mnq3widxg59i0gxhd"; sha256 = "1bzs3mr6f9bna39b9ddwwq0raas07nbn106mnq3widxg59i0gxhd";
}; };
depsSha256 = "1cz93mrpxmyrza0ipdyg2a6mynl66plpsb446wxnmmy7y7zd6xbf"; cargoSha256 = "0y0rkxhkv31v5sa0425dwskd80i6srwbqhqkrw1g1kbmbs9y0vxz";
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
@ -19,6 +19,7 @@ rustPlatform.buildRustPackage rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
broken = true;
description = "Count code, quickly"; description = "Count code, quickly";
homepage = https://github.com/Aaronepower/tokei; homepage = https://github.com/Aaronepower/tokei;
license = licenses.mit; license = licenses.mit;

View File

@ -25,7 +25,7 @@ stdenv.mkDerivation {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An editor-independent tool to ease the development of programs in OCaml"; description = "An editor-independent tool to ease the development of programs in OCaml";
homepage = http://the-lambda-church.github.io/merlin/; homepage = "https://github.com/ocaml/merlin";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.vbgl ]; maintainers = [ maintainers.vbgl ];
}; };

View File

@ -13,7 +13,7 @@ buildRustPackage rec {
sha256 = "066f6sdy0vrp113wlg18q9p0clyrg9iqbj17ly0yn8dxr5iar002"; sha256 = "066f6sdy0vrp113wlg18q9p0clyrg9iqbj17ly0yn8dxr5iar002";
}; };
depsSha256 = "138h0q2a2gghfjpwfi11zw4rkipvmglb7srqz56ibbw2xliid2wl"; cargoSha256 = "0c4awm1d87b396d3g3mp1md5p92i5a64a9jdawpr8mwjd0bly05m";
buildInputs = [ llvmPackages.clang-unwrapped v8 ]; buildInputs = [ llvmPackages.clang-unwrapped v8 ];

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