Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2019-11-30 08:57:28 +01:00
commit d14baf7747
220 changed files with 6038 additions and 2592 deletions

View File

@ -25,14 +25,14 @@ avoided that by keeping all Haskell-related packages in a separate attribute
set called `haskellPackages`, which the following command will list:
```
$ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
haskellPackages.a50 a50-0.5
haskellPackages.abacate haskell-abacate-0.0.0.0
haskellPackages.abcBridge haskell-abcBridge-0.12
haskellPackages.afv afv-0.1.1
haskellPackages.alex alex-3.1.4
haskellPackages.Allure Allure-0.4.101.1
haskellPackages.alms alms-0.6.7
[... some 8000 entries omitted ...]
haskellPackages.a50 a50-0.5
haskellPackages.AAI AAI-0.2.0.1
haskellPackages.abacate abacate-0.0.0.0
haskellPackages.abc-puzzle abc-puzzle-0.2.1
haskellPackages.abcBridge abcBridge-0.15
haskellPackages.abcnotation abcnotation-1.9.0
haskellPackages.abeson abeson-0.1.0.1
[... some 14000 entries omitted ...]
```
To install any of those packages into your profile, refer to them by their
@ -101,19 +101,21 @@ to compile your Haskell packages with any GHC version you please. The following
command displays the complete list of available compilers:
```
$ nix-env -f "<nixpkgs>" -qaP -A haskell.compiler
haskell.compiler.ghc6104 ghc-6.10.4
haskell.compiler.ghc6123 ghc-6.12.3
haskell.compiler.ghc704 ghc-7.0.4
haskell.compiler.ghc722 ghc-7.2.2
haskell.compiler.ghc742 ghc-7.4.2
haskell.compiler.ghc763 ghc-7.6.3
haskell.compiler.ghc784 ghc-7.8.4
haskell.compiler.ghc7102 ghc-7.10.2
haskell.compiler.ghcHEAD ghc-7.11.20150402
haskell.compiler.ghcNokinds ghc-nokinds-7.11.20150704
haskell.compiler.ghcjs ghcjs-0.1.0
haskell.compiler.jhc jhc-0.8.2
haskell.compiler.uhc uhc-1.1.9.0
haskell.compiler.ghc822 ghc-8.2.2
haskell.compiler.integer-simple.ghc822 ghc-8.2.2
haskell.compiler.ghc822Binary ghc-8.2.2-binary
haskell.compiler.ghc844 ghc-8.4.4
haskell.compiler.ghc863Binary ghc-8.6.3-binary
haskell.compiler.ghc864 ghc-8.6.4
haskell.compiler.integer-simple.ghc864 ghc-8.6.4
haskell.compiler.ghc865 ghc-8.6.5
haskell.compiler.integer-simple.ghc865 ghc-8.6.5
haskell.compiler.ghc881 ghc-8.8.1
haskell.compiler.integer-simple.ghc881 ghc-8.8.1
haskell.compiler.ghcHEAD ghc-8.9.20190601
haskell.compiler.integer-simple.ghcHEAD ghc-8.9.20190601
haskell.compiler.ghcjs84 ghcjs-8.4.0.1
haskell.compiler.ghcjs ghcjs-8.6.0.1
```
We have no package sets for `jhc` or `uhc` yet, unfortunately, but for every

View File

@ -4666,6 +4666,12 @@
githubId = 2881922;
name = "Francis St-Amour";
};
mtrsk = {
email = "marcos.schonfinkel@protonmail.com";
github = "mtrsk";
githubId = 16356569;
name = "Marcos Benevides";
};
mredaelli = {
email = "massimo@typish.io";
github = "mredaelli";

View File

@ -193,6 +193,12 @@
The aforementioned option was added this release.
</para>
</listitem>
<listitem>
<para>
The <literal>buildRustCrate</literal> infrastructure now produces <literal>lib</literal> outputs in addition to the <literal>out</literal> output.
This has led to drastically reduced closed sizes for some rust crates since development dependencies are now in the <literal>lib</literal> output.
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -307,6 +307,7 @@
./services/desktops/gnome3/sushi.nix
./services/desktops/gnome3/tracker.nix
./services/desktops/gnome3/tracker-miners.nix
./services/desktops/neard.nix
./services/desktops/profile-sync-daemon.nix
./services/desktops/system-config-printer.nix
./services/desktops/telepathy.nix

View File

@ -8,18 +8,16 @@
with lib;
let
cfg = config.networking.defaultMailServer;
cfg = config.services.ssmtp;
in
{
options = {
networking.defaultMailServer = {
services.ssmtp = {
directDelivery = mkOption {
enable = mkOption {
type = types.bool;
default = false;
description = ''
@ -29,7 +27,7 @@ in
<command>sendmail</command> or <command>postfix</command> on
your machine, set this option to <literal>true</literal>, and
set the option
<option>networking.defaultMailServer.hostName</option> to the
<option>services.ssmtp.hostName</option> to the
host name of your preferred mail server.
'';
};
@ -129,9 +127,9 @@ in
};
config = mkIf cfg.directDelivery {
config = mkIf cfg.enable {
networking.defaultMailServer.authPassFile = mkIf (cfg.authPass != "")
services.ssmtp.authPassFile = mkIf (cfg.authPass != "")
(mkDefault (toString (pkgs.writeTextFile {
name = "ssmtp-authpass";
text = cfg.authPass;

View File

@ -11,6 +11,8 @@ with lib;
(mkRenamedOptionModule [ "networking" "enableRTL8192cFirmware" ] [ "hardware" "enableRedistributableFirmware" ])
(mkRenamedOptionModule [ "networking" "networkmanager" "useDnsmasq" ] [ "networking" "networkmanager" "dns" ])
(mkRenamedOptionModule [ "networking" "connman" ] [ "services" "connman" ])
(mkRenamedOptionModule [ "networking" "defaultMailServer" ] [ "services" "ssmtp" ])
(mkRenamedOptionModule [ "services" "ssmtp" "directDelivery" ] [ "services" "ssmtp" "enable" ])
(mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
(config:
let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;

View File

@ -66,7 +66,8 @@ in {
if cfg.user == "roon-server" then {
isSystemUser = true;
description = "Roon Server user";
groups = [ cfg.group "audio" ];
group = cfg.group;
extraGroups = [ "audio" ];
}
else {};
};

View File

@ -0,0 +1,23 @@
# neard service.
{ config, lib, pkgs, ... }:
with lib;
{
###### interface
options = {
services.neard = {
enable = mkEnableOption "neard, NFC daemon";
};
};
###### implementation
config = mkIf config.services.neard.enable {
environment.systemPackages = [ pkgs.neard ];
services.dbus.packages = [ pkgs.neard ];
systemd.packages = [ pkgs.neard ];
};
}

View File

@ -137,7 +137,7 @@ in
];
services.pdns-recursor = mkIf cfgs.pdns-recursor.resolveDNSChainQueries {
forwardZones =
forwardZonesRecurse =
{ bit = "127.0.0.1:${toString cfg.dns.port}";
dns = "127.0.0.1:${toString cfg.dns.port}";
};

View File

@ -90,11 +90,19 @@ in {
};
forwardZones = mkOption {
type = types.attrs;
default = {};
description = ''
DNS zones to be forwarded to other authoritative servers.
'';
};
forwardZonesRecurse = mkOption {
type = types.attrs;
example = { eth = "127.0.0.1:5353"; };
default = {};
description = ''
DNS zones to be forwarded to other servers.
DNS zones to be forwarded to other recursive servers.
'';
};
@ -158,7 +166,8 @@ in {
webserver-port = cfg.api.port;
webserver-allow-from = cfg.api.allowFrom;
forward-zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
forward-zones = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZones;
forward-zones-recurse = mapAttrsToList (zone: uri: "${zone}.=${uri}") cfg.forwardZonesRecurse;
export-etc-hosts = cfg.exportHosts;
dnssec = cfg.dnssecValidation;
serve-rfc1918 = cfg.serveRFC1918;

View File

@ -9,8 +9,8 @@ import ./make-test.nix ({ lib, ... }:
{
services.mailcatcher.enable = true;
networking.defaultMailServer.directDelivery = true;
networking.defaultMailServer.hostName = "localhost:1025";
services.ssmtp.enable = true;
services.ssmtp.hostName = "localhost:1025";
environment.systemPackages = [ pkgs.mailutils ];
};

View File

@ -1,6 +1,6 @@
# This test runs netdata and checks for data via apps.plugin
import ./make-test.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ pkgs, ...} : {
name = "netdata";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ cransom ];
@ -16,23 +16,22 @@ import ./make-test.nix ({ pkgs, ...} : {
};
testScript = ''
startAll;
start_all()
$netdata->waitForUnit("netdata.service");
netdata.wait_for_unit("netdata.service")
# wait for the service to listen before sending a request
$netdata->waitForOpenPort(19999);
netdata.wait_for_open_port(19999)
# check if the netdata main page loads.
$netdata->succeed("curl --fail http://localhost:19999/");
netdata.succeed("curl --fail http://localhost:19999/")
# check if netdata can read disk ops for root owned processes.
# if > 0, successful. verifies both netdata working and
# apps.plugin has elevated capabilities.
my $cmd = <<'CMD';
curl -s http://localhost:19999/api/v1/data\?chart=users.pwrites | \
jq -e '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
CMD
$netdata->waitUntilSucceeds($cmd);
url = "http://localhost:19999/api/v1/data\?chart=users.pwrites"
filter = '[.data[range(10)][.labels | indices("root")[0]]] | add | . > 0'
cmd = f"curl -s {url} | jq -e '{filter}'"
netdata.wait_until_succeeds(cmd)
'';
})

View File

@ -1,17 +1,17 @@
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx }:
{ stdenv, fetchFromGitHub, meson, ninja, pkgconfig, mpd_clientlib, sphinx, libiconv }:
stdenv.mkDerivation rec {
pname = "mpc";
version = "0.31";
version = "0.33";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "mpc";
rev = "v${version}";
sha256 = "06wn5f24bgkqmhh2p8rbizmqibzqr4x1q7c6zl0pfq7mdy49g5ds";
sha256 = "1qbi0i9cq54rj8z2kapk8x8g1jkw2jz781niwb9i7kw4xfhvy5zx";
};
buildInputs = [ mpd_clientlib ];
buildInputs = [ mpd_clientlib ] ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv ];
nativeBuildInputs = [ meson ninja pkgconfig sphinx ];

View File

@ -4,13 +4,13 @@ let
pythonPackages = python3Packages;
in pythonPackages.buildPythonApplication rec {
pname = "picard";
version = "2.2.2";
version = "2.2.3";
src = fetchFromGitHub {
owner = "metabrainz";
repo = pname;
rev = "release-${version}";
sha256 = "1iibkvwpj862wcrl0fmyi6qhcgx4q5ay63yr0zyg0bkqgcka0gpr";
sha256 = "0lb4pzl03mr5hrzrzva99rxqd5yfip62b7sjmlg4j0imw8mxaj16";
};
nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ];

View File

@ -35,13 +35,13 @@
mkDerivation rec {
pname = "strawberry";
version = "0.6.5";
version = "0.6.6";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
sha256 = "1kqx0q99n1p5pm6skvqjihz11byhxdid1qw6gqp67dh2na62z1lm";
sha256 = "113z2qdcg0fm6ff2k36nl5zbbj5wsidl94ca1sfnsv9bq9lkvck5";
};
buildInputs = [
@ -93,7 +93,7 @@ mkDerivation rec {
changelog = "https://raw.githubusercontent.com/jonaski/strawberry/${version}/Changelog";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];
# upstream says darwin should work but they lack maintainers as of 0.6.5
# upstream says darwin should work but they lack maintainers as of 0.6.6
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchgit , boost, libX11, libGLU, libGL, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
{ stdenv, fetchgit , boost, libX11, libGL, liblo, libjack2, ladspaH, lv2, pkgconfig, rubberband, libsndfile, fftwFloat, libsamplerate }:
stdenv.mkDerivation {
pname = "zam-plugins";
@ -12,16 +12,18 @@ stdenv.mkDerivation {
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ boost libX11 libGLU libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
buildInputs = [ boost libX11 libGL liblo libjack2 ladspaH lv2 rubberband libsndfile fftwFloat libsamplerate ];
patchPhase = ''
postPatch = ''
patchShebangs ./dpf/utils/generate-ttl.sh
'';
makeFlags = [
"PREFIX=$(out)"
"PREFIX=${placeholder ''out''}"
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://www.zamaudio.com/?p=976;
description = "A collection of LV2/LADSPA/VST/JACK audio plugins by ZamAudio";

View File

@ -12,13 +12,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "monero-gui";
version = "0.15.0.0";
version = "0.15.0.1";
src = fetchFromGitHub {
owner = "monero-project";
repo = "monero-gui";
rev = "v${version}";
sha256 = "1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh";
sha256 = "08j8kkncdn57xql0bhmlzjpjkdfhqbpda1p07r797q8qi0nl4w8n";
};
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];

View File

@ -18,9 +18,9 @@ let
sha256Hash = "0wyyr6r0jzb1l4rn1mfgp0nnzvgk3x62imq629z6vrdbymy8psf1";
};
latestVersion = { # canary & dev
version = "4.0.0.3"; # "Android Studio 4.0 Canary 3"
build = "192.5994236";
sha256Hash = "14ig352anjs0df72f41v4r6jl7mlm2n4pn9syanmykaj87dm4kf4";
version = "4.0.0.4"; # "Android Studio 4.0 Canary 4"
build = "192.6008643";
sha256Hash = "1z1srginlg1xnp911nlilhf515mbpmngwhln29q6lxsir8g2cw2z";
};
in {
# Attributes are named by their corresponding release channels

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "mle";
version = "1.4.1";
version = "1.4.2";
src = fetchFromGitHub {
owner = "adsr";
repo = "mle";
rev = "v${version}";
sha256 = "15i5lzcp0zar2zh34ky9m6pvvi41zgdrl3hmylpgsqnnj4r87vqc";
sha256 = "053zvxkjx2zwq6lwkycirxz1m9sjc3zi9ic8fvp3mjvbqfri1y3x";
};
# Fix location of Lua 5.3 header and library

View File

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "tiled";
version = "1.2.5";
version = "1.3.1";
src = fetchFromGitHub {
owner = "bjorn";
repo = pname;
rev = "v${version}";
sha256 = "0sz8klz0nz60dhvz7pdn44zwr9q578pq50sxsbynz7irhrv02b52";
sha256 = "1vhg8m1b7ccccrzlp0pyf3qskgvlf6sn1w956zsczmndrixbli9a";
};
nativeBuildInputs = [ pkgconfig qmake ];

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "kodelife";
version = "0.8.6.101";
version = "0.8.7.105";
src = fetchzip {
url = "https://hexler.net/pub/${pname}/${pname}-${version}-linux-x86_64.zip";
sha256 = "1ldab1famdcby2djfys657g85d46s8k96m6mr71riw4v336ar238";
sha256 = "0ld4lwigzwlikx04qy3gskqqg0wzlk8m3ccrd704ifl8lsp46n5r";
};
dontConfigure = true;

View File

@ -1,8 +1,22 @@
{ stdenv, fetchFromGitHub, gtk3, intltool, json_c, lcms2, libpng, librsvg, gobject-introspection
, gdk-pixbuf, pkgconfig, python2Packages, scons, swig, wrapGAppsHook }:
{ stdenv
, fetchFromGitHub
, gtk3
, intltool
, json_c
, lcms2
, libpng
, librsvg
, gobject-introspection
, gdk-pixbuf
, pkgconfig
, python2
, scons
, swig
, wrapGAppsHook
}:
let
inherit (python2Packages) python pycairo pygobject3 numpy;
inherit (python2.pkgs) pycairo pygobject3 numpy;
in stdenv.mkDerivation {
pname = "mypaint";
version = "1.2.1";
@ -16,18 +30,32 @@ in stdenv.mkDerivation {
};
nativeBuildInputs = [
intltool pkgconfig scons swig wrapGAppsHook
intltool
pkgconfig
scons
swig
wrapGAppsHook
gobject-introspection # for setup hook
];
buildInputs = [
gtk3 gdk-pixbuf json_c lcms2 libpng librsvg pycairo pygobject3 python
gtk3
gdk-pixbuf
json_c
lcms2
libpng
librsvg
pycairo
pygobject3
python2
];
propagatedBuildInputs = [ numpy ];
propagatedBuildInputs = [
numpy
];
postInstall = ''
sed -i -e 's|/usr/bin/env python2.7|${python}/bin/python|' $out/bin/mypaint
sed -i -e 's|/usr/bin/env python2.7|${python2}/bin/python|' $out/bin/mypaint
'';
preFixup = ''
@ -36,7 +64,7 @@ in stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "A graphics application for digital painters";
homepage = http://mypaint.org/;
homepage = "http://mypaint.org/";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ goibhniu jtojnar ];

View File

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "openimageio";
version = "2.0.11";
version = "2.0.12";
src = fetchFromGitHub {
owner = "OpenImageIO";
repo = "oiio";
rev = "Release-${version}";
sha256 = "1kasp9as81wjvys9qrx10mgdf9bjbdgryhdgjqn05zdmv2rs95nc";
sha256 = "0v3k33jb0glb30jdhq3c732a9dxvnidaclz6b2wpqwik8l3658mj";
};
outputs = [ "bin" "out" "dev" "doc" ];

View File

@ -23,13 +23,13 @@
stdenv.mkDerivation rec {
pname = "xournalpp";
version = "1.0.15";
version = "1.0.16";
src = fetchFromGitHub {
owner = "xournalpp";
repo = pname;
rev = version;
sha256 = "1q716hn2ajkxfba0dxp7vcnqfa31hx36ax09yz4d13sdw43rfjf4";
sha256 = "1bdmxxkcqpjvkckizmrz2839b4yspw4xv69bqkrrgkcyvxsr804w";
};
nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ];

View File

@ -47,7 +47,7 @@ mkDerivation rec {
poppler_utils libpng imagemagick libjpeg
fontconfig podofo qtbase chmlib icu sqlite libusb1 libmtp xdg_utils
] ++ (with pypkgs; [
apsw cssselect css-parser dateutil dnspython html5-parser lxml markdown netifaces pillow
apsw cssselect css-parser dateutil dnspython feedparser html5-parser lxml markdown netifaces pillow
python pyqt5_with_qtwebkit sip
regex msgpack beautifulsoup4 html2text
# the following are distributed with calibre, but we use upstream instead

View File

@ -34,13 +34,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
pname = "keepassxc";
version = "2.5.0";
version = "2.5.1";
src = fetchFromGitHub {
owner = "keepassxreboot";
repo = "keepassxc";
rev = version;
sha256 = "053z6mzcn22w3vkf09i7kdi5p0c6zcd9g62v3p5i3yhd14cgviqr";
sha256 = "0dkya9smx81c5cgcwk2gi2m1pabfff1v9gd3ngl42sdvyb63wgdq";
};
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [

View File

@ -1,11 +1,11 @@
--- a/setup.py
+++ b/setup.py
@@ -212,7 +212,7 @@
@@ -217,7 +217,7 @@ def init_env(
cflags = os.environ.get(
'OVERRIDE_CFLAGS', (
'-Wextra -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std=c11'
'-Wextra {} -Wno-missing-field-initializers -Wall -Wstrict-prototypes -std={}11'
- ' -pedantic-errors -Werror {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
+ ' {} {} -fwrapv {} {} -pipe {} -fvisibility=hidden'
).format(
float_conversion, std,
optimize,
' '.join(sanitize_args),

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec {
pname = "mlterm";
version = "3.8.8";
version = "3.8.9";
src = fetchurl {
url = "mirror://sourceforge/project/mlterm/01release/${pname}-${version}/${pname}-${version}.tar.gz";
sha256 = "1jq3fv2wqhszfipkzj8d0lykr6g0zzksn7xy4d3kwincmzfskv7k";
sha256 = "1iy7wq953gcnygr1d04h5ddvhpmy8l575n5is2w0rj3ck31ihpqd";
};
nativeBuildInputs = [ pkgconfig autoconf ];
@ -86,8 +86,9 @@ stdenv.mkDerivation rec {
};
meta = with stdenv.lib; {
description = "Multi Lingual TERMinal emulator on X11";
homepage = http://mlterm.sourceforge.net/;
license = licenses.bsd2;
license = licenses.bsd3;
maintainers = with maintainers; [ vrthra ramkromberg ];
platforms = with platforms; linux;
};

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "osmium-tool";
version = "1.11.0";
version = "1.11.1";
src = fetchFromGitHub {
owner = "osmcode";
repo = "osmium-tool";
rev = "v${version}";
sha256 = "164r1w539dzy67ir2rqh21kwdvkjv87isd18gp51qyxbsprz6kq5";
sha256 = "199dvajik5d56nybk2061vdjyxwakngfd7frxj99wr2vsrp4aw2b";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,23 +1,37 @@
{ atomEnv, autoPatchelfHook, dpkg, fetchurl, makeDesktopItem, makeWrapper
, stdenv, udev, wrapGAppsHook }:
{ atomEnv
, autoPatchelfHook
, dpkg
, fetchurl
, makeDesktopItem
, makeWrapper
, stdenv
, udev
, wrapGAppsHook
}:
let
inherit (stdenv.hostPlatform) system;
throwSystem = throw "Unsupported system: ${system}";
pname = "simplenote";
version = "1.9.1";
version = "1.11.0";
sha256 = {
x86_64-linux = "1zqrjh1xfdpkpj1fsri9r4qkazh9j89pbj8vjr474b39v56v693j";
}.${system};
x86_64-linux = "1ljam1yfiy1lh6lrknrq7cdqpj1q7f655mxjiiwv3izp98qr1f8s";
}.${system} or throwSystem;
meta = with stdenv.lib; {
description = "The simplest way to keep notes";
homepage = "https://github.com/Automattic/simplenote-electron";
license = licenses.gpl2;
maintainers = with maintainers; [ kiwi ];
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [
kiwi
];
platforms = [
"x86_64-linux"
];
};
linux = stdenv.mkDerivation rec {
@ -31,14 +45,14 @@ let
};
desktopItem = makeDesktopItem {
name = "simplenote";
categories = "Development";
comment = "Simplenote for Linux";
desktopName = "Simplenote";
exec = "simplenote %U";
icon = "simplenote";
type = "Application";
name = "simplenote";
startupNotify = "true";
desktopName = "Simplenote";
categories = "Development";
type = "Application";
};
dontBuild = true;
@ -46,9 +60,14 @@ let
dontPatchELF = true;
dontWrapGApps = true;
buildInputs = atomEnv.packages;
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook
];
nativeBuildInputs = [ dpkg makeWrapper autoPatchelfHook wrapGAppsHook ];
buildInputs = atomEnv.packages;
unpackPhase = "dpkg-deb -x $src .";
@ -62,14 +81,15 @@ let
cp "${desktopItem}/share/applications/"* "$out/share/applications"
'';
runtimeDependencies = [ udev.lib ];
runtimeDependencies = [
udev.lib
];
postFixup = ''
ls -ahl $out
makeWrapper $out/opt/Simplenote/simplenote $out/bin/simplenote \
"''${gappsWrapperArgs[@]}"
"''${gappsWrapperArgs[@]}"
'';
};
in
linux
linux

View File

@ -1,25 +0,0 @@
{ stdenv, gcc7, pkg-config
, next
, webkitgtk, gsettings-desktop-schemas
}:
stdenv.mkDerivation rec {
pname = "next-gtk-webkit";
inherit (next) src version;
makeFlags = [ "gtk-webkit" "PREFIX=$(out)" ];
installTargets = "install-gtk-webkit";
nativeBuildInputs = [ gcc7 pkg-config ];
buildInputs = [
webkitgtk
gsettings-desktop-schemas
];
meta = with stdenv.lib; {
description = "Infinitely extensible web-browser (user interface only)";
homepage = https://next.atlas.engineer;
license = licenses.bsd3;
maintainers = [ maintainers.lewo ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,86 +1,90 @@
{ pkgs, stdenv, fetchFromGitHub
, gcc7, pkg-config, makeWrapper
, glib-networking
, next-gtk-webkit
{ stdenv
, fetchFromGitHub
, lispPackages
, sbcl
, callPackage
}:
let
# This is the wrapped webkitgtk platform port that we hardcode into the Lisp Core.
# See https://github.com/atlas-engineer/next/tree/master/ports#next-platform-ports
next-gtk-webkit = callPackage ./next-gtk-webkit.nix {};
in
stdenv.mkDerivation rec {
pname = "next";
version = "1.3.4";
pname = "next";
version = "1.3.4";
src = fetchFromGitHub {
owner = "atlas-engineer";
repo = "next";
rev = version;
sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
};
src = fetchFromGitHub {
owner = "atlas-engineer";
repo = "next";
rev = version;
sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
};
# Stripping destroys the generated SBCL image
dontStrip = true;
nativeBuildInputs = [
sbcl
] ++ (with lispPackages; [
prove-asdf
trivial-features
]);
prePatch = ''
substituteInPlace source/ports/gtk-webkit.lisp \
--replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
'';
buildInputs = with lispPackages; [
alexandria
bordeaux-threads
cl-annot
cl-ansi-text
cl-css
cl-hooks
cl-json
cl-markup
cl-ppcre
cl-ppcre-unicode
cl-prevalence
closer-mop
dbus
dexador
ironclad
local-time
log4cl
lparallel
mk-string-metrics
parenscript
quri
sqlite
str
swank
trivia
trivial-clipboard
unix-opts
];
nativeBuildInputs =
[ sbcl makeWrapper ] ++ (with lispPackages;
[ prove-asdf trivial-features ]);
prePatch = ''
substituteInPlace source/ports/gtk-webkit.lisp \
--replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
'';
buildInputs = with lispPackages; [
alexandria
bordeaux-threads
cl-annot
cl-ansi-text
cl-css
cl-hooks
cl-json
cl-markup
cl-ppcre
cl-ppcre-unicode
cl-prevalence
closer-mop
dbus
dexador
ironclad
local-time
log4cl
lparallel
mk-string-metrics
parenscript
quri
sqlite
str
swank
trivia
trivial-clipboard
unix-opts
];
propagatedBuildInputs = [ next-gtk-webkit ];
buildPhase = ''
common-lisp.sh --eval "(require :asdf)" \
--eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
--eval '(asdf:make :next)' \
--quit
'';
buildPhase = ''
common-lisp.sh --eval "(require :asdf)" \
--eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
--eval '(asdf:make :next)' \
--quit
'';
installPhase = ''
install -D -m0755 next $out/bin/next
'';
installPhase = ''
install -D -m0755 next $out/bin/next
'';
# Stripping destroys the generated SBCL image
dontStrip = true;
preFixup = ''
wrapProgram $out/bin/next \
--prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
'';
meta = with stdenv.lib; {
description = "Infinitely extensible web-browser (with Lisp development files)";
homepage = https://next.atlas.engineer;
license = licenses.bsd3;
maintainers = [ maintainers.lewo ];
platforms = [ "x86_64-linux" ];
};
}
meta = with stdenv.lib; {
description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
homepage = https://next.atlas.engineer;
license = licenses.bsd3;
maintainers = [ maintainers.lewo ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -0,0 +1,50 @@
# https://github.com/atlas-engineer/next/tree/master/ports/gtk-webkit
{ stdenv
, pkg-config
, next
, webkitgtk
, gtk3
, glib
, gsettings-desktop-schemas
, glib-networking
, gst_all_1
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "next-gtk-webkit";
inherit (next) src version;
nativeBuildInputs = [
pkg-config
wrapGAppsHook
];
buildInputs = [
glib
glib-networking
gsettings-desktop-schemas
gtk3
webkitgtk
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
];
makeFlags = [
"gtk-webkit"
"PREFIX=${placeholder "out"}"
];
installTargets = [
"install-gtk-webkit"
];
meta = with stdenv.lib; {
description = "Infinitely extensible web-browser (user interface only)";
homepage = https://next.atlas.engineer;
license = licenses.bsd3;
maintainers = [ maintainers.lewo ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook }:
{ stdenv, fetchFromGitHub, qmake, qtwebengine, qttools, wrapGAppsHook, wrapQtAppsHook }:
stdenv.mkDerivation rec {
pname = "rssguard";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ qtwebengine qttools ];
nativeBuildInputs = [ qmake wrapGAppsHook ];
nativeBuildInputs = [ qmake wrapGAppsHook wrapQtAppsHook ];
qmakeFlags = [ "CONFIG+=release" ];
meta = with stdenv.lib; {

View File

@ -0,0 +1,21 @@
# This file has been generated by node2nix 1.7.0. Do not edit!
{pkgs ? import <nixpkgs> {
inherit system;
}, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
let
nodeEnv = import ./node-env.nix {
inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
inherit nodejs;
libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
};
locpkgs =
import ./node-packages.nix {
inherit (pkgs) fetchurl fetchgit;
inherit nodeEnv;
globalBuildInputs = [
locpkgs.node-pre-gyp
];
};
in locpkgs

View File

@ -0,0 +1,27 @@
{ stdenv, pkgs }:
(import ./composition.nix {
inherit pkgs;
inherit (stdenv.hostPlatform) system;
})."package".override {
postInstall = ''
mkdir "$out/bin"
echo '#!/bin/sh' >> "$out/bin/matrix-recorder"
echo "'${pkgs.nodejs-12_x}/bin/node'" \
"'$out/lib/node_modules/matrix-recorder/matrix-recorder.js'" \
'"$@"' >> "$out/bin/matrix-recorder"
echo '#!/bin/sh' >> "$out/bin/matrix-recorder-to-html"
echo 'cd "$1"' >> "$out/bin/matrix-recorder-to-html"
echo "test -d templates/ || ln -sfT '$out/lib/node_modules/matrix-recorder/templates' templates" >> "$out/bin/matrix-recorder-to-html"
echo "'${pkgs.nodejs-12_x}/bin/node'" \
"'$out/lib/node_modules/matrix-recorder/recorder-to-html.js'" \
'.' >> "$out/bin/matrix-recorder-to-html"
chmod a+x "$out/bin/matrix-recorder"
chmod a+x "$out/bin/matrix-recorder-to-html"
'';
meta = {
description = "Matrix message recorder";
homepage = "https://gitlab.com/argit/matrix-recorder/";
license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.raskin ];
};
}

View File

@ -0,0 +1,540 @@
# This file originates from node2nix
{stdenv, nodejs, python2, utillinux, libtool, runCommand, writeTextFile}:
let
python = if nodejs ? python then nodejs.python else python2;
# Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
tarWrapper = runCommand "tarWrapper" {} ''
mkdir -p $out/bin
cat > $out/bin/tar <<EOF
#! ${stdenv.shell} -e
$(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
EOF
chmod +x $out/bin/tar
'';
# Function that generates a TGZ file from a NPM project
buildNodeSourceDist =
{ name, version, src, ... }:
stdenv.mkDerivation {
name = "node-tarball-${name}-${version}";
inherit src;
buildInputs = [ nodejs ];
buildPhase = ''
export HOME=$TMPDIR
tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
'';
installPhase = ''
mkdir -p $out/tarballs
mv $tgzFile $out/tarballs
mkdir -p $out/nix-support
echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
'';
};
includeDependencies = {dependencies}:
stdenv.lib.optionalString (dependencies != [])
(stdenv.lib.concatMapStrings (dependency:
''
# Bundle the dependencies of the package
mkdir -p node_modules
cd node_modules
# Only include dependencies if they don't exist. They may also be bundled in the package.
if [ ! -e "${dependency.name}" ]
then
${composePackage dependency}
fi
cd ..
''
) dependencies);
# Recursively composes the dependencies of a package
composePackage = { name, packageName, src, dependencies ? [], ... }@args:
''
DIR=$(pwd)
cd $TMPDIR
unpackFile ${src}
# Make the base dir in which the target dependency resides first
mkdir -p "$(dirname "$DIR/${packageName}")"
if [ -f "${src}" ]
then
# Figure out what directory has been unpacked
packageDir="$(find . -maxdepth 1 -type d | tail -1)"
# Restore write permissions to make building work
find "$packageDir" -type d -exec chmod u+x {} \;
chmod -R u+w "$packageDir"
# Move the extracted tarball into the output folder
mv "$packageDir" "$DIR/${packageName}"
elif [ -d "${src}" ]
then
# Get a stripped name (without hash) of the source directory.
# On old nixpkgs it's already set internally.
if [ -z "$strippedName" ]
then
strippedName="$(stripHash ${src})"
fi
# Restore write permissions to make building work
chmod -R u+w "$strippedName"
# Move the extracted directory into the output folder
mv "$strippedName" "$DIR/${packageName}"
fi
# Unset the stripped name to not confuse the next unpack step
unset strippedName
# Include the dependencies of the package
cd "$DIR/${packageName}"
${includeDependencies { inherit dependencies; }}
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
'';
pinpointDependencies = {dependencies, production}:
let
pinpointDependenciesFromPackageJSON = writeTextFile {
name = "pinpointDependencies.js";
text = ''
var fs = require('fs');
var path = require('path');
function resolveDependencyVersion(location, name) {
if(location == process.env['NIX_STORE']) {
return null;
} else {
var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
if(fs.existsSync(dependencyPackageJSON)) {
var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
if(dependencyPackageObj.name == name) {
return dependencyPackageObj.version;
}
} else {
return resolveDependencyVersion(path.resolve(location, ".."), name);
}
}
}
function replaceDependencies(dependencies) {
if(typeof dependencies == "object" && dependencies !== null) {
for(var dependency in dependencies) {
var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
if(resolvedVersion === null) {
process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
} else {
dependencies[dependency] = resolvedVersion;
}
}
}
}
/* Read the package.json configuration */
var packageObj = JSON.parse(fs.readFileSync('./package.json'));
/* Pinpoint all dependencies */
replaceDependencies(packageObj.dependencies);
if(process.argv[2] == "development") {
replaceDependencies(packageObj.devDependencies);
}
replaceDependencies(packageObj.optionalDependencies);
/* Write the fixed package.json file */
fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
'';
};
in
''
node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
${stdenv.lib.optionalString (dependencies != [])
''
if [ -d node_modules ]
then
cd node_modules
${stdenv.lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
cd ..
fi
''}
'';
# Recursively traverses all dependencies of a package and pinpoints all
# dependencies in the package.json file to the versions that are actually
# being used.
pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
''
if [ -d "${packageName}" ]
then
cd "${packageName}"
${pinpointDependencies { inherit dependencies production; }}
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
fi
'';
# Extract the Node.js source code which is used to compile packages with
# native bindings
nodeSources = runCommand "node-sources" {} ''
tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
mv node-* $out
'';
# Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
addIntegrityFieldsScript = writeTextFile {
name = "addintegrityfields.js";
text = ''
var fs = require('fs');
var path = require('path');
function augmentDependencies(baseDir, dependencies) {
for(var dependencyName in dependencies) {
var dependency = dependencies[dependencyName];
// Open package.json and augment metadata fields
var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
var packageJSONPath = path.join(packageJSONDir, "package.json");
if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
console.log("Adding metadata fields to: "+packageJSONPath);
var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
if(dependency.integrity) {
packageObj["_integrity"] = dependency.integrity;
} else {
packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
}
if(dependency.resolved) {
packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
} else {
packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
}
if(dependency.from !== undefined) { // Adopt from property if one has been provided
packageObj["_from"] = dependency.from;
}
fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
}
// Augment transitive dependencies
if(dependency.dependencies !== undefined) {
augmentDependencies(packageJSONDir, dependency.dependencies);
}
}
}
if(fs.existsSync("./package-lock.json")) {
var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
if(packageLock.lockfileVersion !== 1) {
process.stderr.write("Sorry, I only understand lock file version 1!\n");
process.exit(1);
}
if(packageLock.dependencies !== undefined) {
augmentDependencies(".", packageLock.dependencies);
}
}
'';
};
# Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
reconstructPackageLock = writeTextFile {
name = "addintegrityfields.js";
text = ''
var fs = require('fs');
var path = require('path');
var packageObj = JSON.parse(fs.readFileSync("package.json"));
var lockObj = {
name: packageObj.name,
version: packageObj.version,
lockfileVersion: 1,
requires: true,
dependencies: {}
};
function augmentPackageJSON(filePath, dependencies) {
var packageJSON = path.join(filePath, "package.json");
if(fs.existsSync(packageJSON)) {
var packageObj = JSON.parse(fs.readFileSync(packageJSON));
dependencies[packageObj.name] = {
version: packageObj.version,
integrity: "sha1-000000000000000000000000000=",
dependencies: {}
};
processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
}
}
function processDependencies(dir, dependencies) {
if(fs.existsSync(dir)) {
var files = fs.readdirSync(dir);
files.forEach(function(entry) {
var filePath = path.join(dir, entry);
var stats = fs.statSync(filePath);
if(stats.isDirectory()) {
if(entry.substr(0, 1) == "@") {
// When we encounter a namespace folder, augment all packages belonging to the scope
var pkgFiles = fs.readdirSync(filePath);
pkgFiles.forEach(function(entry) {
if(stats.isDirectory()) {
var pkgFilePath = path.join(filePath, entry);
augmentPackageJSON(pkgFilePath, dependencies);
}
});
} else {
augmentPackageJSON(filePath, dependencies);
}
}
});
}
}
processDependencies("node_modules", lockObj.dependencies);
fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
'';
};
prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
let
forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
in
''
# Pinpoint the versions of all dependencies to the ones that are actually being used
echo "pinpointing versions of dependencies..."
source $pinpointDependenciesScriptPath
# Patch the shebangs of the bundled modules to prevent them from
# calling executables outside the Nix store as much as possible
patchShebangs .
# Deploy the Node.js package by running npm install. Since the
# dependencies have been provided already by ourselves, it should not
# attempt to install them again, which is good, because we want to make
# it Nix's responsibility. If it needs to install any dependencies
# anyway (e.g. because the dependency parameters are
# incomplete/incorrect), it fails.
#
# The other responsibilities of NPM are kept -- version checks, build
# steps, postprocessing etc.
export HOME=$TMPDIR
cd "${packageName}"
runHook preRebuild
${stdenv.lib.optionalString bypassCache ''
${stdenv.lib.optionalString reconstructLock ''
if [ -f package-lock.json ]
then
echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
rm package-lock.json
else
echo "No package-lock.json file found, reconstructing..."
fi
node ${reconstructPackageLock}
''}
node ${addIntegrityFieldsScript}
''}
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
if [ "$dontNpmInstall" != "1" ]
then
# NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
rm -f npm-shrinkwrap.json
npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
fi
'';
# Builds and composes an NPM package including all its dependencies
buildNodePackage =
{ name
, packageName
, version
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, preRebuild ? ""
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" ];
in
stdenv.mkDerivation ({
name = "node_${name}-${version}";
buildInputs = [ tarWrapper python nodejs ]
++ stdenv.lib.optional (stdenv.isLinux) utillinux
++ stdenv.lib.optional (stdenv.isDarwin) libtool
++ buildInputs;
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall preRebuild unpackPhase buildPhase;
compositionScript = composePackage args;
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
installPhase = ''
# Create and enter a root node_modules/ folder
mkdir -p $out/lib/node_modules
cd $out/lib/node_modules
# Compose the package and all its dependencies
source $compositionScriptPath
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
# Create symlink to the deployed executable folder, if applicable
if [ -d "$out/lib/node_modules/.bin" ]
then
ln -s $out/lib/node_modules/.bin $out/bin
fi
# Create symlinks to the deployed manual page folders, if applicable
if [ -d "$out/lib/node_modules/${packageName}/man" ]
then
mkdir -p $out/share
for dir in "$out/lib/node_modules/${packageName}/man/"*
do
mkdir -p $out/share/man/$(basename "$dir")
for page in "$dir"/*
do
ln -s $page $out/share/man/$(basename "$dir")
done
done
fi
# Run post install hook, if provided
runHook postInstall
'';
} // extraArgs);
# Builds a development shell
buildNodeShell =
{ name
, packageName
, version
, src
, dependencies ? []
, buildInputs ? []
, production ? true
, npmFlags ? ""
, dontNpmInstall ? false
, bypassCache ? false
, reconstructLock ? false
, dontStrip ? true
, unpackPhase ? "true"
, buildPhase ? "true"
, ... }@args:
let
extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
nodeDependencies = stdenv.mkDerivation ({
name = "node-dependencies-${name}-${version}";
buildInputs = [ tarWrapper python nodejs ]
++ stdenv.lib.optional (stdenv.isLinux) utillinux
++ stdenv.lib.optional (stdenv.isDarwin) libtool
++ buildInputs;
inherit dontStrip; # Stripping may fail a build for some package deployments
inherit dontNpmInstall unpackPhase buildPhase;
includeScript = includeDependencies { inherit dependencies; };
pinpointDependenciesScript = pinpointDependenciesOfPackage args;
passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
installPhase = ''
mkdir -p $out/${packageName}
cd $out/${packageName}
source $includeScriptPath
# Create fake package.json to make the npm commands work properly
cp ${src}/package.json .
chmod 644 package.json
${stdenv.lib.optionalString bypassCache ''
if [ -f ${src}/package-lock.json ]
then
cp ${src}/package-lock.json .
fi
''}
# Go to the parent folder to make sure that all packages are pinpointed
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
# Expose the executables that were installed
cd ..
${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
mv ${packageName} lib
ln -s $out/lib/node_modules/.bin $out/bin
'';
} // extraArgs);
in
stdenv.mkDerivation {
name = "node-shell-${name}-${version}";
buildInputs = [ python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
buildCommand = ''
mkdir -p $out/bin
cat > $out/bin/shell <<EOF
#! ${stdenv.shell} -e
$shellHook
exec ${stdenv.shell}
EOF
chmod +x $out/bin/shell
'';
# Provide the dependencies in a development shell through the NODE_PATH environment variable
inherit nodeDependencies;
shellHook = stdenv.lib.optionalString (dependencies != []) ''
export NODE_PATH=$nodeDependencies/lib/node_modules
export PATH="$nodeDependencies/bin:$PATH"
'';
};
in
{
buildNodeSourceDist = stdenv.lib.makeOverridable buildNodeSourceDist;
buildNodePackage = stdenv.lib.makeOverridable buildNodePackage;
buildNodeShell = stdenv.lib.makeOverridable buildNodeShell;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,27 @@
{
"name": "matrix-recorder",
"version": "0.0.6",
"description": "A recorder that can record Matrix rooms you are a member of (including E2E-encrypted rooms).",
"author": "Hello Matrix <hello@hello-matrix.net>",
"main": "matrix-recorder.js",
"scripts": {
"start": "node matrix-recorder.js"
},
"repository": {
"type": "git",
"url": "https://gitlab.com/argit/matrix-recorder.git"
},
"dependencies": {
"marked": "^0.6.2",
"matrix-js-sdk": "^0.7.13",
"mime-types": "^2.1.14",
"mustache": "^2.3.0",
"node-fetch": "^1.6.3",
"node-localstorage": "^1.3.0",
"sqlite3": "^4.0.7",
"olm": "https://packages.matrix.org/npm/olm/olm-2.3.0.tgz"
},
"license": "MIT",
"optionalDependencies": {
}
}

View File

@ -0,0 +1,53 @@
{ stdenv, fetchgit
, buildPythonApplication, buildPythonPackage
, pygobject3, pytestrunner, requests, responses, pytest, python-olm
, canonicaljson, olm
}:
let
mainsrc = fetchgit {
url = "https://github.com/saadnpq/matrixcli";
rev = "61ebde173ca2f77185c261c2b7f6db297ca89863";
sha256 = "0xcjjy2xwlcixr9fwgzcfjjkivqpk104h7dslfa7lz9jq9pzqzvq";
fetchSubmodules = true;
};
sdk = buildPythonPackage rec {
name = "${pname}-${version}";
pname = "matrix-python-sdk-matrixcli";
version = "0.0.2019-08-15";
src = "${mainsrc}/matrix-python-sdk/";
propagatedBuildInputs = [
requests responses olm python-olm canonicaljson
pytestrunner pytest
];
doCheck = false;
doInstallCheck = false;
meta = {
license = stdenv.lib.licenses.asl20;
description = "Fork of Matrix Python SDK";
platforms = stdenv.lib.platforms.linux;
};
};
in
buildPythonApplication rec {
name = "${pname}-${version}";
pname = "matrixcli";
version = "0.0.2019-08-15";
src = mainsrc;
propagatedBuildInputs = [pygobject3 sdk];
meta = {
description = "CLI client for Matrix";
license = stdenv.lib.licenses.gpl3;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.linux;
homepage = "https://github.com/saadnpq/matrixcli";
};
}

View File

@ -2,7 +2,7 @@
"name": "riot-web",
"productName": "Riot",
"main": "src/electron-main.js",
"version": "1.5.0",
"version": "1.5.5",
"description": "A feature-rich client for Matrix.org",
"author": "New Vector Ltd.",
"dependencies": {

View File

@ -6,12 +6,12 @@
let
executableName = "riot-desktop";
version = "1.5.0";
version = "1.5.5";
riot-web-src = fetchFromGitHub {
owner = "vector-im";
repo = "riot-web";
rev = "v${version}";
sha256 = "1xi5zg3602d7gdjxskpk2q3anpn2drrkxyirfvi9mzcfp2r05557";
sha256 = "18xhqniwxp1sv49qcd9ah8nyy2n2yliy3wg613raxjl16qvvzxmc";
};
in mkYarnPackage rec {

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "riot-web";
version = "1.5.0";
version = "1.5.5";
src = fetchurl {
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
sha256 = "08r9473ncfy3wzqhnds729s77fq82jjgz8w3yya07aahcxzasi94";
sha256 = "0isln25sl5jvvlqvh822w73a4i82x75g1ywf3p9n5m1a5sr9f537";
};
installPhase = let

View File

@ -1,12 +1,14 @@
{ stdenv, fetchurl, makeDesktopItem
, alsaLib, at-spi2-atk, atk, cairo, cups, dbus, dpkg, expat, fontconfig
, freetype, gdk-pixbuf, glib, gtk3, hunspell, libX11, libXScrnSaver
, libXcomposite, libXcursor, libXdamage, libXext, libXfixes, libXi, libXrandr
, libXrender, libXtst, libnotify, libuuid, nspr, nss, pango, pciutils
, pulseaudio, udev, xdg_utils, xorg
, cpio, xar
{ atomEnv
, autoPatchelfHook
, dpkg
, fetchurl
, makeDesktopItem
, makeWrapper
, stdenv
, udev
, wrapGAppsHook
, cpio
, xar
}:
let
@ -18,13 +20,13 @@ let
pname = "wire-desktop";
version = {
x86_64-linux = "3.11.2912";
x86_64-darwin = "3.10.3215";
x86_64-linux = "3.11.2912";
}.${system} or throwSystem;
sha256 = {
x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
x86_64-darwin = "0ygm3fgy9k1dp2kjfwsrrwq1i88wgxc6k8y80yz61ivdawgph9wa";
x86_64-linux = "1d2wa13d750dd2vslnvzf0ibwjmf5s299pxq0rs2x98y2sabw3sl";
}.${system} or throwSystem;
meta = with stdenv.lib; {
@ -40,11 +42,19 @@ let
* Timed messages and chats
* Synced across your phone, desktop and tablet
'';
homepage = https://wire.com/;
downloadPage = https://wire.com/download/;
homepage = "https://wire.com/";
downloadPage = "https://wire.com/download/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ arianvp toonn worldofpeace ];
platforms = [ "x86_64-darwin" "x86_64-linux" ];
maintainers = with maintainers; [
arianvp
kiwi
toonn
worldofpeace
];
platforms = [
"x86_64-darwin"
"x86_64-linux"
];
};
linux = stdenv.mkDerivation rec {
@ -52,54 +62,55 @@ let
src = fetchurl {
url = "https://wire-app.wire.com/linux/debian/pool/main/"
+ "Wire-${version}_amd64.deb";
+ "Wire-${version}_amd64.deb";
inherit sha256;
};
desktopItem = makeDesktopItem {
name = "wire-desktop";
exec = "wire-desktop %U";
icon = "wire-desktop";
categories = "Network;InstantMessaging;Chat;VideoConference";
comment = "Secure messenger for everyone";
desktopName = "Wire Desktop";
exec = "wire-desktop %U";
genericName = "Secure messenger";
categories = "Network;InstantMessaging;Chat;VideoConference";
icon = "wire-desktop";
name = "wire-desktop";
};
dontBuild = true;
dontPatchELF = true;
dontConfigure = true;
dontPatchELF = true;
dontWrapGApps = true;
nativeBuildInputs = [ dpkg ];
rpath = stdenv.lib.makeLibraryPath [
alsaLib at-spi2-atk atk cairo cups dbus expat fontconfig freetype
gdk-pixbuf glib gtk3 hunspell libX11 libXScrnSaver libXcomposite
libXcursor libXdamage libXext libXfixes libXi libXrandr libXrender
libXtst libnotify libuuid nspr nss pango pciutils pulseaudio
stdenv.cc.cc udev xdg_utils xorg.libxcb
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook
];
buildInputs = atomEnv.packages;
unpackPhase = "dpkg-deb -x $src .";
installPhase = ''
mkdir -p "$out"
mkdir -p "$out/bin"
cp -R "opt" "$out"
cp -R "usr/share" "$out/share"
chmod -R g-w "$out"
# Patch wire-desktop
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}:$out/opt/Wire" \
"$out/opt/Wire/wire-desktop"
# Symlink to bin
mkdir -p "$out/bin"
ln -s "$out/opt/Wire/wire-desktop" "$out/bin/wire-desktop"
# Desktop file
mkdir -p "$out/share/applications"
cp "${desktopItem}/share/applications/"* "$out/share/applications"
'';
runtimeDependencies = [
udev.lib
];
postFixup = ''
makeWrapper $out/opt/Wire/wire-desktop $out/bin/wire-desktop \
"''${gappsWrapperArgs[@]}"
'';
};
darwin = stdenv.mkDerivation {
@ -107,18 +118,20 @@ let
src = fetchurl {
url = "https://github.com/wireapp/wire-desktop/releases/download/"
+ "macos%2F${version}/Wire.pkg";
+ "macos%2F${version}/Wire.pkg";
inherit sha256;
};
buildInputs = [ cpio xar ];
buildInputs = [
cpio
xar
];
unpackPhase = ''
xar -xf $src
cd com.wearezeta.zclient.mac.pkg
'';
buildPhase = ''
cat Payload | gunzip -dc | cpio -i
'';
@ -129,6 +142,7 @@ let
'';
};
in if stdenv.isDarwin
then darwin
else linux
in
if stdenv.isDarwin
then darwin
else linux

View File

@ -4,14 +4,14 @@
}:
stdenv.mkDerivation rec {
version = "20191111";
version = "20191129";
pname = "neomutt";
src = fetchFromGitHub {
owner = "neomutt";
repo = "neomutt";
rev = version;
sha256 = "16xr7wdmjw0i72xbnyyh098wx4cr0m8w2cr1szdi1b14p4kpgr67";
sha256 = "1zwnap307qzjkfcap0rxgwwmis77lhr7js4avig0qdqnmqbdlgbh";
};
buildInputs = [

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "quiterss";
version = "0.19.1";
version = "0.19.2";
src = fetchFromGitHub {
owner = "QuiteRSS";
repo = "quiterss";
rev = version;
sha256 = "0zr17r33g99ylvb1avcbixg2jiwisaks4x91lywv2dy3g6dkpxml";
sha256 = "1dmfag5hmy4jac20nizwgd92w8h2hdl2ch57hvw5hmjyfckn9rpj";
};
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];

View File

@ -1,48 +1,51 @@
{ stdenv, fetchurl, pythonPackages, makeWrapper, imagemagick
, enablePlayer ? true, vlc ? null, qt5 }:
{ stdenv, fetchurl, pkgs, python3Packages, makeWrapper
, enablePlayer ? true, vlc ? null, qt5, lib }:
stdenv.mkDerivation rec {
pname = "tribler";
version = "7.1.2";
version = "7.4.0-exp1";
src = fetchurl {
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.gz";
sha256 = "1ayzqx4358qlx56hsnsn5s8xl6mzdb6nw4kwsalmp86dw6vmmis8";
url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
sha256 = "18ziisg0v2gdxnprbhqsryz92yk270waj0la7m2h326k5qql3qkf";
};
buildInputs = [
pythonPackages.python
pythonPackages.wrapPython
nativeBuildInputs = [
python3Packages.wrapPython
makeWrapper
imagemagick
];
buildInputs = [
python3Packages.python
];
pythonPath = [
pythonPackages.libtorrentRasterbar
pythonPackages.apsw
pythonPackages.twisted
pythonPackages.netifaces
pythonPackages.pycrypto
pythonPackages.pyasn1
pythonPackages.requests
pythonPackages.setuptools
pythonPackages.m2crypto
pythonPackages.pyqt5
pythonPackages.chardet
pythonPackages.cherrypy
pythonPackages.cryptography
pythonPackages.libnacl
pythonPackages.configobj
pythonPackages.matplotlib
pythonPackages.plyvel
pythonPackages.decorator
pythonPackages.feedparser
pythonPackages.service-identity
pythonPackages.psutil
pythonPackages.meliae
pythonPackages.sip
pythonPackages.pillow
pythonPackages.networkx
python3Packages.libtorrentRasterbar
python3Packages.twisted
python3Packages.netifaces
python3Packages.pycrypto
python3Packages.pyasn1
python3Packages.requests
python3Packages.m2crypto
python3Packages.pyqt5
python3Packages.chardet
python3Packages.cherrypy
python3Packages.cryptography
python3Packages.libnacl
python3Packages.configobj
python3Packages.decorator
python3Packages.feedparser
python3Packages.service-identity
python3Packages.psutil
python3Packages.pillow
python3Packages.networkx
python3Packages.pony
python3Packages.lz4
python3Packages.pyqtgraph
# there is a BTC feature, but it requires some unclear version of
# bitcoinlib, so this doesn't work right now.
# python3Packages.bitcoinlib
];
postPatch = ''
@ -54,12 +57,11 @@ stdenv.mkDerivation rec {
'';
installPhase = ''
find . -name '*.png' -exec convert -strip {} {} \;
mkdir -pv $out
# Nasty hack; call wrapPythonPrograms to set program_PYTHONPATH.
wrapPythonPrograms
cp -prvd ./* $out/
makeWrapper ${pythonPackages.python}/bin/python $out/bin/tribler \
makeWrapper ${python3Packages.python}/bin/python $out/bin/tribler \
--set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
--set _TRIBLERPATH $out \
--set PYTHONPATH $out:$program_PYTHONPATH \

View File

@ -5,8 +5,8 @@
let
sha256 = {
x86_64-linux = "1zdbgbbdavaqx4y02sw9y7i1r9wkxqccrqkn0sp5847a26cpk9k9";
i386-linux = "11qwyxvy3c3n7hvksmlsfl9vvqaqkv3kwbk5rgjyy7vy8vn4kjmk";
x86_64-linux = "0dcg9znjxpnysypznnnq4xbaciiqz8l4p1hrbis3pazwi7bakizs";
i386-linux = "04bvsvqjkayac17y9jcpdcfm3hzm2kq1brd9vwnx34gg07x9mn7g";
}.${stdenv.hostPlatform.system} or (throw "system ${stdenv.hostPlatform.system} not supported");
arch = {
@ -28,7 +28,7 @@ let
in stdenv.mkDerivation rec {
pname = "anydesk";
version = "5.4.1";
version = "5.5.0";
src = fetchurl {
url = "https://download.anydesk.com/linux/${pname}-${version}-${arch}.tar.gz";

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "tlf";
version = "1.3.2";
version = "1.4.0";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "${pname}-${version}";
sha256 = "0gniysjm8aq5anq0a0az31vd6h1vyg56bifc7rpf53lsh9hkzmgc";
sha256 = "0f97hxiwc6blp5haik871q6zzvwy0b3p2jg8ad2dvaxg07xc76l0";
};
nativeBuildInputs = [ autoreconfHook autoconf automake pkgconfig perl ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
version = "3.2.1";
version = "3.3";
pname = "hmmer";
src = fetchurl {
url = "http://eddylab.org/software/hmmer/${pname}-${version}.tar.gz";
sha256 = "171bivy6xhgjsz5nv53n81pc3frnwz29ylblawk2bv46szwjjqd5";
sha256 = "0v3kcgkr6jihq0xmpgn2xd5q7wiwvj6yswa905k2c0v7mx0bz1h1";
};
meta = with stdenv.lib; {

View File

@ -1,34 +0,0 @@
{ stdenv, pythonPackages, fetchurl }:
#
# Upstream stopped development of this package. If this package does not build
# anymore, feel free to remove it by reverting the appropriate patch
# (git log --grep bugseverywhere)
#
pythonPackages.buildPythonApplication rec {
version = "1.1.1";
pname = "bugseverywhere";
src = fetchurl {
url =
"mirror://pypi/b/bugs-everywhere/bugs-everywhere-${version}.tar.gz";
sha256 = "1ikm3ckwpimwcvx32vy7gh5gbp7q750j3327m17nvrj99g3daz2d";
};
# There are no tests in the repository.
doCheck = false;
buildInputs = with pythonPackages; [
jinja2
cherrypy
];
meta = with stdenv.lib; {
description = "Bugtracker supporting distributed revision control";
homepage = http://www.bugseverywhere.org/;
license = licenses.gpl2Plus;
platforms = platforms.all;
maintainers = [ maintainers.matthiasbeyer ];
};
}

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix-moretea.yarn2nix
#! nix-shell -i python3 -p bundix common-updater-scripts nix nix-prefetch-git python3 python3Packages.requests python3Packages.lxml python3Packages.click python3Packages.click-log vgo2nix yarn2nix
import click
import click_log

View File

@ -1,10 +1,12 @@
{ stdenv, fetchFromGitHub }:
{ stdenv, fetchFromGitHub, git, gnupg }:
let version = "1.12.0"; in
stdenv.mkDerivation {
pname = "yadm";
inherit version;
buildInputs = [ git gnupg ];
src = fetchFromGitHub {
owner = "TheLocehiliosan";
repo = "yadm";
@ -12,26 +14,26 @@ stdenv.mkDerivation {
sha256 = "0873jgks7dpfkj5km1jchxdrhf7lia70p0f8zsrh9p4crj5f4pc6";
};
buildCommand = ''
mkdir -p $out/bin
mkdir -p $out/share/man/man1
mkdir -p $out/share/zsh/site-functions
mkdir -p $out/share/bash-completion/completions
sed -e 's:/bin/bash:/usr/bin/env bash:' $src/yadm > $out/bin/yadm
chmod 755 $out/bin/yadm
install -m 644 $src/yadm.1 $out/share/man/man1/yadm.1
install -m644 $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
install -m644 $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
install -Dt $out/bin $src/yadm
install -Dt $out/share/man/man1 $src/yadm.1
install -D $src/completion/yadm.zsh_completion $out/share/zsh/site-functions/_yadm
install -D $src/completion/yadm.bash_completion $out/share/bash-completion/completions/yadm.bash
runHook postInstall
'';
meta = {
homepage = https://github.com/TheLocehiliosan/yadm;
description = "Yet Another Dotfiles Manager";
longDescription = ''
yadm is a dotfile management tool with 3 main features: Manages files across
systems using a single Git repository. Provides a way to use alternate files on
a specific OS or host. Supplies a method of encrypting confidential data so it
can safely be stored in your repository.
yadm is a dotfile management tool with 3 main features:
* Manages files across systems using a single Git repository.
* Provides a way to use alternate files on a specific OS or host.
* Supplies a method of encrypting confidential data so it can safely be stored in your repository.
'';
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.unix;

View File

@ -2,11 +2,11 @@
mkDerivation rec {
pname = "smplayer";
version = "19.10.0";
version = "19.10.2";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
sha256 = "0sq7hr10b4pbbi0y1q4mxs24h2lb042nv4rqr03r72bp57353xsl";
sha256 = "0i2c15yxk4by2zyjhb7n08larz9pmpa6zw383aybjxqh0nd9zv9p";
};
buildInputs = [ qtscript ];

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
version = "0.11";
version = "0.12";
pname = "charliecloud";
src = fetchFromGitHub {
owner = "hpc";
repo = "charliecloud";
rev = "v${version}";
sha256 = "10dzas5fyh2lpa0kf1xv8z9c4g4cf0zlmnpilyvpcyccyfjf6cp2";
sha256 = "177rcf1klcxsp6x9cw75cmz3y2izgd1hvi1rb9vc6iz9qx1nmk3v";
};
buildInputs = [ python ];

View File

@ -9,17 +9,12 @@
with stdenv.lib;
# TODO: remove after there's support for setupPyDistFlags
let
setuppy = ../../../development/interpreters/python/run_setup.py;
in
python3Packages.buildPythonApplication rec {
name = "virt-manager-${version}";
pname = "virt-manager";
version = "2.2.1";
namePrefix = "";
src = fetchurl {
url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
url = "http://virt-manager.org/download/sources/virt-manager/${pname}-${version}.tar.gz";
sha256 = "06ws0agxlip6p6n3n43knsnjyd91gqhh2dadgc33wl9lx1k8vn6g";
};
@ -49,13 +44,7 @@ python3Packages.buildPythonApplication rec {
${python3Packages.python.interpreter} setup.py configure --prefix=$out
'';
# TODO: remove after there's support for setupPyDistFlags
buildPhase = ''
runHook preBuild
cp ${setuppy} nix_run_setup
${python3Packages.python.pythonForBuild.interpreter} nix_run_setup --no-update-icon-cache build_ext bdist_wheel
runHook postBuild
'';
setupPyGlobalFlags = [ "--no-update-icon-cache" ];
preFixup = ''
gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH")

View File

@ -214,7 +214,7 @@ in stdenv.mkDerivation {
description = "PC emulator";
license = licenses.gpl2;
homepage = https://www.virtualbox.org/;
maintainers = with maintainers; [ flokli sander ];
maintainers = with maintainers; [ sander ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -18,7 +18,7 @@ fetchurl rec {
description = "Oracle Extension pack for VirtualBox";
license = licenses.virtualbox-puel;
homepage = https://www.virtualbox.org/;
maintainers = with maintainers; [ flokli sander cdepillabout ];
maintainers = with maintainers; [ sander cdepillabout ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -1,12 +1,12 @@
{ stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute }:
stdenv.mkDerivation rec {
pname = "x11docker";
version = "6.3.0";
version = "6.4.0";
src = fetchFromGitHub {
owner = "mviereck";
repo = "x11docker";
rev = "v${version}";
sha256 = "0x2sx41y3ylzg511x52k3wh8mfbzp4ialpas6sn4ccagqxh2hc4y";
sha256 = "0s8gk2kqxkfwx1x44g19ckm7rqgrcax59y8brgmigajqizik7sql";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -44,8 +44,12 @@ in stdenv.mkDerivation (fBuildAttrs // {
export bazelOut="$(echo ''${NIX_BUILD_TOP}/output | sed -e 's,//,/,g')"
export bazelUserRoot="$(echo ''${NIX_BUILD_TOP}/tmp | sed -e 's,//,/,g')"
export HOME="$NIX_BUILD_TOP"
export USER="nix"
# This is needed for git_repository with https remotes
export GIT_SSL_CAINFO="${cacert}/etc/ssl/certs/ca-bundle.crt"
# This is needed for Bazel fetchers that are themselves programs (e.g.
# rules_go using the go toolchain)
export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
'';
buildPhase = fFetchAttrs.buildPhase or ''

View File

@ -1,4 +1,4 @@
{ lib, stdenv, echo_build_heading, noisily, makeDeps }:
{ lib, stdenv, echo_build_heading, noisily, makeDeps, rust }:
{ crateName,
dependencies,
crateFeatures, crateRenames, libName, release, libPath,
@ -13,17 +13,6 @@
(if release then "-C opt-level=3" else "-C debuginfo=2")
(["-C codegen-units=$NIX_BUILD_CORES"] ++ extraRustcOpts);
rustcMeta = "-C metadata=${metadata} -C extra-filename=-${metadata}";
# Some platforms have different names for rustc.
rustPlatform =
with stdenv.hostPlatform.parsed;
let cpu_ = if cpu.name == "armv7a" then "armv7"
else cpu.name;
vendor_ = vendor.name;
kernel_ = kernel.name;
abi_ = abi.name;
in
"${cpu_}-${vendor_}-${kernel_}-${abi_}";
in ''
runHook preBuild
norm=""
@ -67,7 +56,7 @@
${crateFeatures} --out-dir target/bin --emit=dep-info,link -L dependency=target/deps \
$LINK ${deps}$EXTRA_LIB --cap-lints allow \
$BUILD_OUT_DIR $EXTRA_BUILD $EXTRA_FEATURES --color ${colors} \
${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rustPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
${if stdenv.hostPlatform != stdenv.buildPlatform then "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc" else ""}
if [ "$crate_name_" != "$crate_name" ]; then
mv target/bin/$crate_name_ target/bin/$crate_name
fi
@ -91,18 +80,18 @@
echo "$EXTRA_LINK_SEARCH" | while read i; do
if [[ ! -z "$i" ]]; then
for lib in $i; do
echo "-L $lib" >> target/link
L=$(echo $lib | sed -e "s#$(pwd)/target/build#$out/lib#")
for library in $i; do
echo "-L $library" >> target/link
L=$(echo $library | sed -e "s#$(pwd)/target/build#$lib/lib#")
echo "-L $L" >> target/link.final
done
fi
done
echo "$EXTRA_LINK" | while read i; do
if [[ ! -z "$i" ]]; then
for lib in $i; do
echo "-l $lib" >> target/link
echo "-l $lib" >> target/link.final
for library in $i; do
echo "-l $library" >> target/link
echo "-l $library" >> target/link.final
done
fi
done

View File

@ -4,7 +4,7 @@
# This can be useful for deploying packages with NixOps, and to share
# binary dependencies between projects.
{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc }:
{ lib, stdenv, defaultCrateOverrides, fetchCrate, rustc, rust }:
let
# This doesn't appear to be officially documented anywhere yet.
@ -22,9 +22,9 @@ let
else
extern;
in (if lib.lists.any (x: x == "lib") dep.crateType then
" --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}.rlib"
" --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}.rlib"
else
" --extern ${name}=${dep.out}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
" --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
) dependencies);
echo_build_heading = colors: ''
@ -59,7 +59,7 @@ let
'';
configureCrate = import ./configure-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps; };
buildCrate = import ./build-crate.nix { inherit lib stdenv echo_build_heading noisily makeDeps rust; };
installCrate = import ./install-crate.nix;
in
@ -96,12 +96,12 @@ stdenv.mkDerivation (rec {
buildInputs = (crate.buildInputs or []) ++ buildInputs_;
dependencies =
builtins.map
(dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
(dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
dependencies_;
buildDependencies =
builtins.map
(dep: dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; })
(dep: lib.getLib (dep.override { rust = rust; release = release; verbose = verbose; crateOverrides = crateOverrides; }))
buildDependencies_;
completeDeps = lib.lists.unique (dependencies ++ lib.lists.concatMap (dep: dep.completeDeps) dependencies);
@ -160,6 +160,9 @@ stdenv.mkDerivation (rec {
};
installPhase = installCrate crateName metadata;
outputs = [ "out" "lib" ];
outputDev = [ "lib" ];
} // extraDerivationAttrs
)) {
rust = rustc;

View File

@ -1,24 +1,26 @@
crateName: metadata:
''
runHook preInstall
mkdir -p $out
# always create $out even if we do not have binaries. We are detecting binary targets during compilation, if those are missing there is no way to only have $lib
mkdir $out
if [[ -s target/env ]]; then
cp target/env $out/env
mkdir -p $lib
cp target/env $lib/env
fi
if [[ -s target/link.final ]]; then
mkdir -p $out/lib
cp target/link.final $out/lib/link
mkdir -p $lib/lib
cp target/link.final $lib/lib/link
fi
if [[ "$(ls -A target/lib)" ]]; then
mkdir -p $out/lib
cp target/lib/* $out/lib #*/
for lib in $out/lib/*.so $out/lib/*.dylib; do #*/
ln -s $lib $(echo $lib | sed -e "s/-${metadata}//")
mkdir -p $lib/lib
cp target/lib/* $lib/lib #*/
for library in $lib/lib/*.so $lib/lib/*.dylib; do #*/
ln -s $library $(echo $library | sed -e "s/-${metadata}//")
done
fi
if [[ "$(ls -A target/build)" ]]; then # */
mkdir -p $out/lib
cp -r target/build/* $out/lib # */
mkdir -p $lib/lib
cp -r target/build/* $lib/lib # */
fi
if [[ -d target/bin ]]; then
if [[ "$(ls -A target/bin)" ]]; then

View File

@ -1,4 +1,4 @@
{ stdenv, cacert, git, cargo, rustc, fetchcargo, buildPackages, windows }:
{ stdenv, cacert, git, rust, cargo, rustc, fetchcargo, buildPackages, windows }:
{ name ? "${args.pname}-${args.version}"
, cargoSha256 ? "unset"
@ -46,12 +46,7 @@ let
cargoDepsCopy="$sourceRoot/${cargoVendorDir}"
'';
hostConfig = stdenv.hostPlatform.config;
rustHostConfig = {
x86_64-pc-mingw32 = "x86_64-pc-windows-gnu";
}.${hostConfig} or hostConfig;
rustTarget = if target == null then rustHostConfig else target;
rustTarget = if target == null then rust.toRustTarget stdenv.hostPlatform else target;
ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc";
cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++";
@ -87,7 +82,7 @@ stdenv.mkDerivation (args // {
--subst-var-by vendor "$(pwd)/$cargoDepsCopy"
cat >> .cargo/config <<'EOF'
[target."${stdenv.buildPlatform.config}"]
[target."${rust.toRustTarget stdenv.buildPlatform}"]
"linker" = "${ccForBuild}"
${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) ''
[target."${rustTarget}"]
@ -129,10 +124,10 @@ stdenv.mkDerivation (args // {
(
set -x
env \
"CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \
"CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \
"CC_${stdenv.hostPlatform.config}"="${ccForHost}" \
"CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \
"CC_${rust.toRustTarget stdenv.buildPlatform}"="${ccForBuild}" \
"CXX_${rust.toRustTarget stdenv.buildPlatform}"="${cxxForBuild}" \
"CC_${rust.toRustTarget stdenv.hostPlatform}"="${ccForHost}" \
"CXX_${rust.toRustTarget stdenv.hostPlatform}"="${cxxForHost}" \
cargo build \
${stdenv.lib.optionalString (buildType == "release") "--release"} \
--target ${rustTarget} \

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation {
pname = "input-fonts";
version = "2017-08-10"; # date of the download and checksum
version = "2019-11-25"; # date of the download and checksum
src = requireFile {
name = "Input-Font.zip";
url = "https://input.fontbureau.com/download/";
sha256 = "07fkyvbb12agkb2kpnq2j45nycgbjvb4n1s5hjyqsipdh2z9zihq";
sha256 = "10rax2a7vzidcs7kyfg5lv5bwp9i7kvjpdcsd10p0517syijkp3b";
};
nativeBuildInputs = [ unzip ];
@ -25,7 +25,7 @@ stdenv.mkDerivation {
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = "0k7xqkgqldd110ch9s144ilh762q777qcjvg3plmrb9s6xiaqvvd";
outputHash = "15sdhqqqd4jgk80fw7ncx49avi9cxbdgyrvnrfya0066x4q4r6lv";
meta = with stdenv.lib; {
description = "Fonts for Code, from Font Bureau";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "zafiro-icons";
version = "0.9";
version = "1.0";
src = fetchFromGitHub {
owner = "zayronxio";
repo = pname;
rev = "v${version}";
sha256 = "0zmnhih4gz8bidyzf1wimy85z7zx9i29mv1zirmykpqj819g7mx9";
rev = "${version}";
sha256 = "0gy3c0jkj1icnwcs23b6km9cj9cccv8y5z1w11nfdv91cq3mdhmb";
};
nativeBuildInputs = [ gtk3 ];

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "simple-scan";
version = "3.34.1";
version = "3.34.2";
src = fetchurl {
url = "mirror://gnome/sources/simple-scan/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0glzskxdc7p9z7nwcakqc7qzij4l79adlvvb2cj5fmis731zw9yq";
sha256 = "1fk3g4f9slckqfwm576jrjq1d1qihw0dlgzdf00ns7qbhzb0kxsp";
};
buildInputs = [

View File

@ -1,206 +0,0 @@
args@
{ version
, sha256
, url ? ""
, name ? ""
, developerProgram ? false
, runPatches ? []
, addOpenGLRunpath
, alsaLib
, expat
, fetchurl
, fontconfig
, freetype
, gcc
, gdk-pixbuf
, glib
, glibc
, gtk2
, lib
, makeWrapper
, ncurses5
, perl
, python27
, requireFile
, stdenv
, unixODBC
, xorg
, zlib
}:
stdenv.mkDerivation rec {
pname = "cudatoolkit";
inherit version runPatches;
dontPatchELF = true;
dontStrip = true;
src =
if developerProgram then
requireFile {
message = ''
This nix expression requires that ${args.name} is already part of the store.
Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
nix-prefetch-url file://\$PWD/${args.name}
'';
inherit (args) name sha256;
}
else
fetchurl {
inherit (args) url sha256;
};
outputs = [ "out" "lib" "doc" ];
nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ];
buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
runtimeDependencies = [
ncurses5 expat python27 zlib glibc
xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
gtk2 glib fontconfig freetype unixODBC alsaLib
];
rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
unpackPhase = ''
sh $src --keep --noexec
cd pkg/run_files
sh cuda-linux*.run --keep --noexec
sh cuda-samples*.run --keep --noexec
mv pkg ../../$(basename $src)
cd ../..
rm -rf pkg
for patch in $runPatches; do
sh $patch --keep --noexec
mv pkg $(basename $patch)
done
'';
installPhase = ''
runHook preInstall
mkdir $out
cd $(basename $src)
export PERL5LIB=.
perl ./install-linux.pl --prefix="$out"
cd ..
for patch in $runPatches; do
cd $(basename $patch)
perl ./install_patch.pl --silent --accept-eula --installdir="$out"
cd ..
done
rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
# let's remove the 32-bit libraries, they confuse the lib64->lib mover
rm -rf $out/lib
# Remove some cruft.
${lib.optionalString (lib.versionAtLeast version "7.0") "rm $out/bin/uninstall*"}
# Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
if [ -d "$out"/cuda-samples ]; then
mv "$out"/cuda-samples "$out"/samples
fi
# Change the #error on GCC > 4.9 to a #warning.
sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
# Fix builds with newer glibc version
sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
# Ensure that cmake can find CUDA.
mkdir -p $out/nix-support
echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
# Move some libraries to the lib output so that programs that
# depend on them don't pull in this entire monstrosity.
mkdir -p $lib/lib
mv -v $out/lib64/libcudart* $lib/lib/
# Remove OpenCL libraries as they are provided by ocl-icd and driver.
rm -f $out/lib64/libOpenCL*
# Set compiler for NVCC.
wrapProgram $out/bin/nvcc \
--prefix PATH : ${gcc}/bin
# nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
wrapProgram $out/bin/nvprof \
--prefix LD_LIBRARY_PATH : $out/lib
'' + lib.optionalString (lib.versionOlder version "8.0") ''
# Hack to fix building against recent Glibc/GCC.
echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
'' + ''
runHook postInstall
'';
postInstall = ''
for b in nvvp nsight; do
wrapProgram "$out/bin/$b" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
done
'';
preFixup = ''
while IFS= read -r -d ''$'\0' i; do
if ! isELF "$i"; then continue; fi
echo "patching $i..."
if [[ ! $i =~ \.so ]]; then
patchelf \
--set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
fi
if [[ $i =~ libcudart ]]; then
rpath2=
else
rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
fi
patchelf --set-rpath "$rpath2" --force-rpath $i
done < <(find $out $lib $doc -type f -print0)
'';
# Set RPATH so that libcuda and other libraries in
# /run/opengl-driver(-32)/lib can be found. See the explanation in
# addOpenGLRunpath. Don't try to figure out which libraries really need
# it, just patch all (but not the stubs libraries). Note that
# --force-rpath prevents changing RPATH (set above) to RUNPATH.
postFixup = ''
addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
'';
# cuda-gdb doesn't run correctly when not using sandboxing, so
# temporarily disabling the install check. This should be set to true
# when we figure out how to get `cuda-gdb --version` to run correctly
# when not using sandboxing.
doInstallCheck = false;
postInstallCheck = let
in ''
# Smoke test binaries
pushd $out/bin
for f in *; do
case $f in
crt) continue;;
nvcc.profile) continue;;
nsight_ee_plugins_manage.sh) continue;;
uninstall_cuda_toolkit_6.5.pl) continue;;
computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version"
*) echo "Executing '$f --version':"; ./$f --version;;
esac
done
popd
'';
passthru = {
cc = gcc;
majorVersion = lib.versions.majorMinor version;
};
meta = with stdenv.lib; {
description = "A compiler for NVIDIA GPUs, math libraries, and tools";
homepage = "https://developer.nvidia.com/cuda-toolkit";
platforms = [ "x86_64-linux" ];
license = licenses.unfree;
};
}

View File

@ -1,15 +1,210 @@
{ lib
, callPackage
, fetchurl
, gcc48
, gcc49
, gcc5
, gcc6
, gcc7
{ lib, stdenv, makeWrapper, fetchurl, requireFile, perl, ncurses5, expat, python27, zlib
, gcc48, gcc49, gcc5, gcc6, gcc7
, xorg, gtk2, gdk-pixbuf, glib, fontconfig, freetype, unixODBC, alsaLib, glibc
, addOpenGLRunpath
}:
let
common = callPackage ./common.nix;
common =
args@{ gcc, version, sha256
, url ? ""
, name ? ""
, developerProgram ? false
, python ? python27
, runPatches ? []
}:
stdenv.mkDerivation rec {
pname = "cudatoolkit";
inherit version runPatches;
dontPatchELF = true;
dontStrip = true;
src =
if developerProgram then
requireFile {
message = ''
This nix expression requires that ${args.name} is already part of the store.
Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the CUDA toolkit
at https://developer.nvidia.com/cuda-toolkit, and run the following command in the download directory:
nix-prefetch-url file://\$PWD/${args.name}
'';
inherit (args) name sha256;
}
else
fetchurl {
inherit (args) url sha256;
};
outputs = [ "out" "lib" "doc" ];
nativeBuildInputs = [ perl makeWrapper addOpenGLRunpath ];
buildInputs = [ gdk-pixbuf ]; # To get $GDK_PIXBUF_MODULE_FILE via setup-hook
runtimeDependencies = [
ncurses5 expat python zlib glibc
xorg.libX11 xorg.libXext xorg.libXrender xorg.libXt xorg.libXtst xorg.libXi xorg.libXext
gtk2 glib fontconfig freetype unixODBC alsaLib
];
rpath = "${stdenv.lib.makeLibraryPath runtimeDependencies}:${stdenv.cc.cc.lib}/lib64";
unpackPhase = ''
sh $src --keep --noexec
${lib.optionalString (lib.versionOlder version "10.1") ''
cd pkg/run_files
sh cuda-linux*.run --keep --noexec
sh cuda-samples*.run --keep --noexec
mv pkg ../../$(basename $src)
cd ../..
rm -rf pkg
for patch in $runPatches; do
sh $patch --keep --noexec
mv pkg $(basename $patch)
done
''}
'';
installPhase = ''
runHook preInstall
mkdir $out
${lib.optionalString (lib.versionOlder version "10.1") ''
cd $(basename $src)
export PERL5LIB=.
perl ./install-linux.pl --prefix="$out"
cd ..
for patch in $runPatches; do
cd $(basename $patch)
perl ./install_patch.pl --silent --accept-eula --installdir="$out"
cd ..
done
''}
${lib.optionalString (lib.versionAtLeast version "10.1") ''
cd pkg/builds/cuda-toolkit
mv * $out/
''}
rm $out/tools/CUDA_Occupancy_Calculator.xls # FIXME: why?
${lib.optionalString (lib.versionOlder version "10.1") ''
# let's remove the 32-bit libraries, they confuse the lib64->lib mover
rm -rf $out/lib
''}
# Remove some cruft.
${lib.optionalString ((lib.versionAtLeast version "7.0") && (lib.versionOlder version "10.1"))
"rm $out/bin/uninstall*"}
# Fixup path to samples (needed for cuda 6.5 or else nsight will not find them)
if [ -d "$out"/cuda-samples ]; then
mv "$out"/cuda-samples "$out"/samples
fi
# Change the #error on GCC > 4.9 to a #warning.
sed -i $out/include/host_config.h -e 's/#error\(.*unsupported GNU version\)/#warning\1/'
# Fix builds with newer glibc version
sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
# Ensure that cmake can find CUDA.
mkdir -p $out/nix-support
echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
# Move some libraries to the lib output so that programs that
# depend on them don't pull in this entire monstrosity.
mkdir -p $lib/lib
mv -v $out/lib64/libcudart* $lib/lib/
# Remove OpenCL libraries as they are provided by ocl-icd and driver.
rm -f $out/lib64/libOpenCL*
${lib.optionalString (lib.versionAtLeast version "10.1") ''
mv $out/lib64 $out/lib
''}
# Set compiler for NVCC.
wrapProgram $out/bin/nvcc \
--prefix PATH : ${gcc}/bin
# nvprof do not find any program to profile if LD_LIBRARY_PATH is not set
wrapProgram $out/bin/nvprof \
--prefix LD_LIBRARY_PATH : $out/lib
'' + lib.optionalString (lib.versionOlder version "8.0") ''
# Hack to fix building against recent Glibc/GCC.
echo "NIX_CFLAGS_COMPILE+=' -D_FORCE_INLINES'" >> $out/nix-support/setup-hook
'' + ''
runHook postInstall
'';
postInstall = ''
for b in nvvp nsight; do
wrapProgram "$out/bin/$b" \
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
done
'';
preFixup = ''
while IFS= read -r -d ''$'\0' i; do
if ! isELF "$i"; then continue; fi
echo "patching $i..."
if [[ ! $i =~ \.so ]]; then
patchelf \
--set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
fi
if [[ $i =~ libcudart ]]; then
rpath2=
else
rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
fi
patchelf --set-rpath "$rpath2" --force-rpath $i
done < <(find $out $lib $doc -type f -print0)
'';
# Set RPATH so that libcuda and other libraries in
# /run/opengl-driver(-32)/lib can be found. See the explanation in
# addOpenGLRunpath. Don't try to figure out which libraries really need
# it, just patch all (but not the stubs libraries). Note that
# --force-rpath prevents changing RPATH (set above) to RUNPATH.
postFixup = ''
addOpenGLRunpath --force-rpath {$out,$lib}/lib/lib*.so
'';
# cuda-gdb doesn't run correctly when not using sandboxing, so
# temporarily disabling the install check. This should be set to true
# when we figure out how to get `cuda-gdb --version` to run correctly
# when not using sandboxing.
doInstallCheck = false;
postInstallCheck = let
in ''
# Smoke test binaries
pushd $out/bin
for f in *; do
case $f in
crt) continue;;
nvcc.profile) continue;;
nsight_ee_plugins_manage.sh) continue;;
uninstall_cuda_toolkit_6.5.pl) continue;;
computeprof|nvvp|nsight) continue;; # GUIs don't feature "--version"
*) echo "Executing '$f --version':"; ./$f --version;;
esac
done
popd
'';
passthru = {
cc = gcc;
majorVersion = lib.versions.majorMinor version;
};
meta = with stdenv.lib; {
description = "A compiler for NVIDIA GPUs, math libraries, and tools";
homepage = "https://developer.nvidia.com/cuda-toolkit";
platforms = [ "x86_64-linux" ];
license = licenses.unfree;
};
};
in rec {
cudatoolkit_6 = common {
version = "6.0.37";

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, makeWrapper, jre, unzip }:
let
version = "1.3.50";
version = "1.3.60";
in stdenv.mkDerivation {
inherit version;
pname = "kotlin";
src = fetchurl {
url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
sha256 = "1v66pnk810agf26khwdv7l8jpc11x6na5fyqxs9jvxdpls8l0hk9";
sha256 = "1frgnirrl795m8xydngrbn73np5gwgs7wymr9j81d0gz4gzpry8j";
};
propagatedBuildInputs = [ jre ] ;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "mruby";
version = "2.0.1";
version = "2.1.0";
src = fetchFromGitHub {
owner = "mruby";
repo = "mruby";
rev = version;
sha256 = "1zm2d5kj9fnfx8ifj8ysrrr838ipwmvz35byzjhprakrg64911p9";
sha256 = "1y072c7dh9jf8xwy7kia6cb4dkpspq4zf24ssn7zm5f46p4waxni";
};
nativeBuildInputs = [ ruby bison ];

View File

@ -1,18 +1,18 @@
{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl,
{ stdenv, fetchFromGitHub, llvm, makeWrapper, pcre2, coreutils, which, libressl, libxml2,
cc ? stdenv.cc, lto ? !stdenv.isDarwin }:
stdenv.mkDerivation ( rec {
pname = "ponyc";
version = "0.32.0";
version = "0.33.0";
src = fetchFromGitHub {
owner = "ponylang";
repo = pname;
rev = version;
sha256 = "07ai5lr0zdrcdmfjxsypp33fpj8lnak7y5177s7qd19163z0ia20";
sha256 = "0a0sw902nrayg0s1zrkhfpvrmdqw19nif67hsv0ijrckcq37bjcz";
};
buildInputs = [ llvm makeWrapper which ];
buildInputs = [ llvm makeWrapper which libxml2 ];
propagatedBuildInputs = [ cc ];
# Disable problematic networking tests

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "pony-stable";
version = "0.2.1";
version = "0.2.2";
src = fetchFromGitHub {
owner = "ponylang";
repo = "pony-stable";
rev = version;
sha256 = "1wiinw35bp3zpq9kx61x2zvid7ln00jrw052ah8801s0d9dbwrdr";
sha256 = "0nzvsqvl315brp3yb4j5kl82xnkmib4jk416jjc7yrz4k3jgr278";
};
buildInputs = [ ponyc ];

View File

@ -10,6 +10,7 @@ import ./default.nix {
bootstrapHashes = {
i686-unknown-linux-gnu = "74510e0e52a55e65a9f716673c2cda4d2bd427e2453541c6993c77c3ec04acf9";
x86_64-unknown-linux-gnu = "cb573229bfd32928177c3835fdeb62d52da64806b844bc1095c6225b0665a1cb";
arm-unknown-linux-gnueabihf = "272739fbb23cf6c2040c1813af9c8c7f386cac37d9de638f22a1816eb96bc0ae";
armv7-unknown-linux-gnueabihf = "5b87b877f0ed20c6a09ce26e7a15d8c61b26b62484b97e78a51099d0efefec98";
aarch64-unknown-linux-gnu = "263ef98fa3a6b2911b56f89c06615cdebf6ef676eb9b2493ad1539602f79b6ba";
i686-apple-darwin = "e45d0c4d882fc6c404ffa6fe790294f4ea96384a2b48804adbf723f3635477a8";

View File

@ -10,6 +10,7 @@ import ./default.nix {
bootstrapHashes = {
i686-unknown-linux-gnu = "41aed8a350e24a0cac1444ed99b3dd24a90bc581dd88cb420c6e547d6b5f57af";
x86_64-unknown-linux-gnu = "adda26b3f0609dbfbdc2019da4a20101879b9db2134fae322a4e863a069ec221";
arm-unknown-linux-gnueabihf = "0603a3d3d16ae8f3b3b117eb699e8f3ef7532a6f6d3c29d13e7d4614fc3c9e7a";
armv7-unknown-linux-gnueabihf = "8b1bf1680a61a643d6b5c7a3b1a1ce88448652756395e20ba5846739cbd085c4";
aarch64-unknown-linux-gnu = "06afd6d525326cea95c3aa658aaa8542eab26f44235565bb16913ac9d12b7bda";
i686-apple-darwin = "cdbf2807774bed350a3af6f41d7f7dd7ceff28777cde310c3ba90033188eb2f8";

View File

@ -1,24 +1,11 @@
{ stdenv, fetchurl, callPackage, version, hashes }:
{ stdenv, fetchurl, rust, callPackage, version, hashes }:
let
platform =
if stdenv.hostPlatform.system == "i686-linux"
then "i686-unknown-linux-gnu"
else if stdenv.hostPlatform.system == "x86_64-linux"
then "x86_64-unknown-linux-gnu"
else if stdenv.hostPlatform.system == "armv7l-linux"
then "armv7-unknown-linux-gnueabihf"
else if stdenv.hostPlatform.system == "aarch64-linux"
then "aarch64-unknown-linux-gnu"
else if stdenv.hostPlatform.system == "i686-darwin"
then "i686-apple-darwin"
else if stdenv.hostPlatform.system == "x86_64-darwin"
then "x86_64-apple-darwin"
else throw "missing bootstrap url for platform ${stdenv.hostPlatform.system}";
platform = rust.toRustTarget stdenv.hostPlatform;
src = fetchurl {
url = "https://static.rust-lang.org/dist/rust-${version}-${platform}.tar.gz";
sha256 = hashes.${platform};
sha256 = hashes.${platform} or (throw "missing bootstrap url for platform ${platform}");
};
in callPackage ./binary.nix

View File

@ -11,6 +11,14 @@
, llvmPackages_5
, pkgsBuildTarget, pkgsBuildBuild
}: rec {
toRustTarget = platform: with platform.parsed; let
cpu_ = {
"armv7a" = "armv7";
"armv7l" = "armv7";
"armv6l" = "arm";
}.${cpu.name} or cpu.name;
in "${cpu_}-${vendor.name}-${kernel.name}${lib.optionalString (abi.name != "unknown") "-${abi.name}"}";
makeRustPlatform = { rustc, cargo, ... }: {
rust = {
inherit rustc cargo;

View File

@ -10,6 +10,7 @@ set -euo pipefail
PLATFORMS=(
i686-unknown-linux-gnu
x86_64-unknown-linux-gnu
arm-unknown-linux-gnueabihf
armv7-unknown-linux-gnueabihf
aarch64-unknown-linux-gnu
i686-apple-darwin

View File

@ -1,6 +1,6 @@
{ stdenv, removeReferencesTo, pkgsBuildBuild, pkgsBuildHost, pkgsBuildTarget
, fetchurl, file, python2
, llvm_9, darwin, git, cmake, rustPlatform
, llvm_9, darwin, git, cmake, rust, rustPlatform
, pkgconfig, openssl
, which, libffi
, withBundledLLVM ? false
@ -53,9 +53,9 @@ in stdenv.mkDerivation rec {
# We need rust to build rust. If we don't provide it, configure will try to download it.
# Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py
configureFlags = let
setBuild = "--set=target.${stdenv.buildPlatform.config}";
setHost = "--set=target.${stdenv.hostPlatform.config}";
setTarget = "--set=target.${stdenv.targetPlatform.config}";
setBuild = "--set=target.${rust.toRustTarget stdenv.buildPlatform}";
setHost = "--set=target.${rust.toRustTarget stdenv.hostPlatform}";
setTarget = "--set=target.${rust.toRustTarget stdenv.targetPlatform}";
ccForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}cc";
cxxForBuild = "${pkgsBuildBuild.targetPackages.stdenv.cc}/bin/${pkgsBuildBuild.targetPackages.stdenv.cc.targetPrefix}c++";
ccForHost = "${pkgsBuildHost.targetPackages.stdenv.cc}/bin/${pkgsBuildHost.targetPackages.stdenv.cc.targetPrefix}cc";
@ -68,9 +68,9 @@ in stdenv.mkDerivation rec {
"--set=build.cargo=${rustPlatform.rust.cargo}/bin/cargo"
"--enable-rpath"
"--enable-vendor"
"--build=${stdenv.buildPlatform.config}"
"--host=${stdenv.hostPlatform.config}"
"--target=${stdenv.targetPlatform.config}"
"--build=${rust.toRustTarget stdenv.buildPlatform}"
"--host=${rust.toRustTarget stdenv.hostPlatform}"
"--target=${rust.toRustTarget stdenv.targetPlatform}"
"${setBuild}.cc=${ccForBuild}"
"${setHost}.cc=${ccForHost}"

View File

@ -10,13 +10,13 @@ let
in
stdenv.mkDerivation rec {
pname = "souffle";
version = "1.6.1";
version = "1.7.0";
src = fetchFromGitHub {
owner = "souffle-lang";
repo = "souffle";
rev = version;
sha256 = "004c5iicjnlzn1yz1k7a28s4xdqx00016rr870drdq2z30mxfgz8";
sha256 = "0q6cwfy3pwmaw3j1hhfk1ivcf03ijyvchyf92wdgrpj6q626kcpj";
};
nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];

View File

@ -511,7 +511,9 @@ self: super: {
else dontCheck super.tasty-discover);
# generic-deriving bound is too tight
aeson = doJailbreak super.aeson;
# aeson 1.4.6.0 needs Diff 0.4.0 to do tests but nixpkgs is still at 0.3.4
# https://github.com/bos/aeson/issues/740
aeson = dontCheck (doJailbreak super.aeson);
# containers >=0.4 && <0.6 is too tight
# https://github.com/RaphaelJ/friday/issues/34
@ -1183,18 +1185,6 @@ self: super: {
# test suite failure: https://github.com/jgm/pandoc/issues/5582
pandoc = dontCheck super.pandoc;
# The latest release version is ancient. You really need this tool from git.
haskell-ci = generateOptparseApplicativeCompletion "haskell-ci"
(addBuildDepend (overrideSrc (dontCheck super.haskell-ci) {
version = "20190814-git";
src = pkgs.fetchFromGitHub {
owner = "haskell-CI";
repo = "haskell-ci";
rev = "70918d80b6fd43aca7e4d00ba0d2ea116b666556";
sha256 = "0bzp959qy74zmqq75f60rcixpjbvvyrb5a8zp2nyql3nm9vxzy5k";
};
}) (with self; [temporary lattices Cabal_3_0_0_0]));
# Fix build with attr-2.4.48 (see #53716)
xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
@ -1251,7 +1241,7 @@ self: super: {
});
# The LTS-14.x version of their dependencies are too old.
cabal-plan = super.cabal-plan.override { optparse-applicative = self.optparse-applicative_0_15_1_0; };
cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_0; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; });
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
# Version bounds for http-client are too strict:
@ -1318,4 +1308,10 @@ self: super: {
# Needs the corresponding version of haskell-src-exts.
haskell-src-exts-simple = super.haskell-src-exts-simple.override { haskell-src-exts = self.haskell-src-exts_1_22_0; };
# https://github.com/Daniel-Diaz/HaTeX/issues/144
HaTeX = dontCheck super.HaTeX;
# https://github.com/kazu-yamamoto/dns/issues/150
dns = dontCheck super.dns;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -69,20 +69,29 @@ self: super: {
snap-server = doJailbreak super.snap-server;
# use latest version to fix the build
doctemplates = self.doctemplates_0_7_2;
generics-sop = self.generics-sop_0_5_0_0;
hackage-db = self.hackage-db_2_1_0;
haddock-library = self.haddock-library_1_8_0;
HsYAML = self.HsYAML_0_2_1_0;
lens = self.lens_4_18_1;
memory = self.memory_0_15_0;
microlens = self.microlens_0_4_11_2;
optparse-applicative = self.optparse-applicative_0_15_1_0;
pandoc = self.pandoc_2_8_0_1;
pandoc-types = self.pandoc-types_1_20;
primitive = dontCheck super.primitive_0_7_0_0; # evaluating the test suite gives an infinite recursion
regex-base = self.regex-base_0_94_0_0;
regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
regex-posix = self.regex-posix_0_96_0_0;
regex-tdfa = self.regex-tdfa_1_3_0;
shelly = self.shelly_1_9_0;
skylighting = self.skylighting_0_8_3;
skylighting-core = self.skylighting-core_0_8_3;
sop-core = self.sop-core_0_5_0_0;
texmath = self.texmath_0_12;
tls = self.tls_1_5_2;
trifecta = self.trifecta_2_1;
xmonad-contrib = self.xmonad-contrib_0_16;
# These packages don't work and need patching and/or an update.

View File

@ -43,7 +43,7 @@ core-packages:
- ghcjs-base-0
default-package-overrides:
# LTS Haskell 14.14
# LTS Haskell 14.16
- abstract-deque ==0.3
- abstract-deque-tests ==0.3
- abstract-par ==0.3.3
@ -55,7 +55,7 @@ default-package-overrides:
- adjunctions ==4.4
- adler32 ==0.1.2.0
- advent-of-code-api ==0.1.2.3
- aeson ==1.4.5.0
- aeson ==1.4.6.0
- aeson-attoparsec ==0.0.0
- aeson-better-errors ==0.9.1.0
- aeson-casing ==0.2.0.0
@ -120,7 +120,7 @@ default-package-overrides:
- async-timer ==0.2.0.0
- atom-basic ==0.2.5
- atomic-primops ==0.8.3
- atomic-write ==0.2.0.6
- atomic-write ==0.2.0.7
- attoparsec ==0.13.2.3
- attoparsec-base64 ==0.0.0
- attoparsec-binary ==0.2
@ -131,7 +131,7 @@ default-package-overrides:
- attoparsec-uri ==0.0.7
- audacity ==0.0.2
- aur ==6.2.0.1
- authenticate ==1.3.4
- authenticate ==1.3.5
- authenticate-oauth ==1.6.0.1
- auto ==0.4.3.1
- autoexporter ==1.1.15
@ -142,7 +142,7 @@ default-package-overrides:
- avro ==0.4.5.4
- avwx ==0.3.0.2
- aws-cloudfront-signed-cookies ==0.2.0.1
- aws-lambda-haskell-runtime ==2.0.1
- aws-lambda-haskell-runtime ==2.0.2
- backprop ==0.2.6.3
- bank-holidays-england ==0.2.0.2
- barbies ==1.1.3.0
@ -279,7 +279,7 @@ default-package-overrides:
- casing ==0.1.4.1
- cassava ==0.5.2.0
- cassava-conduit ==0.5.1
- cassava-megaparsec ==2.0.0
- cassava-megaparsec ==2.0.1
- cassava-records ==0.1.0.4
- cast ==0.1.0.2
- caster ==0.0.3.0
@ -311,7 +311,7 @@ default-package-overrides:
- chiphunk ==0.1.2.1
- choice ==0.2.2
- chronologique ==0.3.1.1
- chronos ==1.0.8
- chronos ==1.0.9
- chronos-bench ==0.2.0.2
- chunked-data ==0.3.1
- cipher-aes ==0.2.11
@ -326,7 +326,7 @@ default-package-overrides:
- classy-prelude ==1.5.0
- classy-prelude-conduit ==1.5.0
- classy-prelude-yesod ==1.5.0
- clay ==0.13.1
- clay ==0.13.2
- clientsession ==0.9.1.2
- Clipboard ==2.3.2.0
- clock ==0.8
@ -336,7 +336,7 @@ default-package-overrides:
- clr-marshal ==0.2.0.0
- clumpiness ==0.17.0.2
- cmark ==0.6
- cmark-gfm ==0.2.0
- cmark-gfm ==0.2.1
- cmdargs ==0.10.20
- codec ==0.2.1
- codec-beam ==0.2.0
@ -388,7 +388,7 @@ default-package-overrides:
- connection ==0.3.1
- connection-pool ==0.2.2
- console-style ==0.0.2.1
- constraint ==0.1.3.0
- constraint ==0.1.4.0
- constraints ==0.10.1
- contravariant ==1.5.2
- contravariant-extras ==0.3.5
@ -397,9 +397,9 @@ default-package-overrides:
- control-monad-free ==0.6.2
- control-monad-omega ==0.3.2
- convertible ==1.1.1.0
- cookie ==0.4.4
- core-data ==0.2.1.0
- core-text ==0.2.2.1
- cookie ==0.4.5
- core-data ==0.2.1.4
- core-text ==0.2.2.4
- countable ==1.0
- country ==0.1.6
- courier ==0.1.1.5
@ -408,7 +408,7 @@ default-package-overrides:
- cprng-aes ==0.6.1
- cpu ==0.1.2
- cpuinfo ==0.1.0.1
- cql ==4.0.1
- cql ==4.0.2
- cql-io ==1.1.1
- crackNum ==2.3
- crc32c ==0.0.0
@ -519,14 +519,14 @@ default-package-overrides:
- dhall-bash ==1.0.21
- dhall-json ==1.3.0
- diagrams ==1.4
- diagrams-contrib ==1.4.3
- diagrams-contrib ==1.4.4
- diagrams-core ==1.4.2
- diagrams-lib ==1.4.3
- diagrams-postscript ==1.4.1
- diagrams-rasterific ==1.4.1.1
- diagrams-solve ==0.1.1
- diagrams-svg ==1.4.2
- di-core ==1.0.3
- di-core ==1.0.4
- dictionary-sharing ==0.1.0.0
- Diff ==0.3.4
- digest ==0.0.1.2
@ -544,7 +544,7 @@ default-package-overrides:
- dlist ==0.8.0.7
- dlist-instances ==0.1.1.1
- dlist-nonempty ==0.1.1
- dns ==4.0.0
- dns ==4.0.1
- dockerfile ==0.2.0
- docopt ==0.7.0.5
- doctemplates ==0.2.2.1
@ -555,7 +555,7 @@ default-package-overrides:
- do-list ==1.0.1
- dom-parser ==3.1.0
- do-notation ==0.1.0.2
- dotenv ==0.8.0.2
- dotenv ==0.8.0.4
- dotgen ==0.4.2
- dotnet-timespan ==0.0.1.0
- double-conversion ==2.0.2.0
@ -664,7 +664,7 @@ default-package-overrides:
- filecache ==0.4.1
- file-embed ==0.0.11
- file-embed-lzma ==0
- filelock ==0.1.1.3
- filelock ==0.1.1.4
- filemanip ==0.3.6.3
- file-modules ==0.1.2.4
- filepattern ==0.1.1
@ -734,7 +734,7 @@ default-package-overrides:
- gauge ==0.2.5
- gc ==0.0.3
- gd ==3000.7.3
- gdp ==0.0.0.2
- gdp ==0.0.3.0
- general-games ==1.1.1
- generic-arbitrary ==0.1.0
- generic-data ==0.7.0.0
@ -847,7 +847,7 @@ default-package-overrides:
- hackage-db ==2.0.1
- hackage-security ==0.5.3.0
- haddock-library ==1.7.0
- hadolint ==1.17.2
- hadolint ==1.17.3
- half ==0.3
- hamilton ==0.1.0.3
- hamtsolo ==1.0.3
@ -885,7 +885,7 @@ default-package-overrides:
- haxl ==2.1.2.0
- hbeanstalk ==0.2.4
- HCodecs ==0.5.1
- hdaemonize ==0.5.5
- hdaemonize ==0.5.6
- HDBC ==2.4.0.3
- HDBC-mysql ==0.7.1.0
- HDBC-session ==0.1.2.0
@ -929,7 +929,7 @@ default-package-overrides:
- hmpfr ==0.4.4
- hoauth2 ==1.8.9
- Hoed ==0.5.1
- hOpenPGP ==2.8
- hOpenPGP ==2.8.4
- hopenpgp-tools ==0.21.3
- hopfli ==0.2.2.1
- hosc ==0.17
@ -1007,7 +1007,7 @@ default-package-overrides:
- htoml ==1.0.0.3
- http2 ==1.6.5
- HTTP ==4000.3.14
- http-api-data ==0.4.1
- http-api-data ==0.4.1.1
- http-client ==0.6.4
- http-client-tls ==0.3.5.3
- http-common ==0.8.2.0
@ -1047,7 +1047,7 @@ default-package-overrides:
- hw-mquery ==0.2.0.2
- hw-packed-vector ==0.0.0.3
- hw-parser ==0.1.0.2
- hw-prim ==0.6.2.38
- hw-prim ==0.6.2.39
- hw-rankselect ==0.13.0.0
- hw-rankselect-base ==0.3.2.3
- hw-simd ==0.1.1.5
@ -1086,7 +1086,6 @@ default-package-overrides:
- indents ==0.5.0.1
- indexed ==0.1.3
- indexed-list-literals ==0.2.1.2
- indexed-profunctors ==0.1
- infer-license ==0.2.0
- inflections ==0.4.0.4
- influxdb ==1.7.1.1
@ -1096,7 +1095,7 @@ default-package-overrides:
- inline-c-cpp ==0.3.0.3
- inline-r ==0.10.2
- inliterate ==0.1.0
- insert-ordered-containers ==0.2.3
- insert-ordered-containers ==0.2.2
- inspection-testing ==0.4.2.2
- instance-control ==0.1.2.0
- int-cast ==0.2.0.0
@ -1141,7 +1140,7 @@ default-package-overrides:
- ixset-typed ==0.4.0.1
- ix-shapable ==0.1.0
- jack ==0.7.1.4
- jose ==0.8.1.0
- jose ==0.8.2.0
- jose-jwt ==0.8.0
- js-dgtable ==0.5.2
- js-flot ==0.8.3
@ -1253,7 +1252,7 @@ default-package-overrides:
- log-domain ==0.12
- logfloat ==0.13.3.3
- logger-thread ==0.1.0.2
- logging-effect ==1.3.7
- logging-effect ==1.3.8
- logging-facade ==0.3.0
- logging-facade-syslog ==1
- logict ==0.7.0.2
@ -1280,7 +1279,7 @@ default-package-overrides:
- markdown-unlit ==0.5.0
- markov-chain ==0.0.3.4
- massiv ==0.4.3.0
- massiv-io ==0.1.7.0
- massiv-io ==0.1.9.0
- massiv-test ==0.1.1
- mathexpr ==0.3.0.0
- math-functions ==0.3.3.0
@ -1352,7 +1351,7 @@ default-package-overrides:
- monad-logger ==0.3.30
- monad-logger-json ==0.1.0.0
- monad-logger-prefix ==0.1.11
- monad-logger-syslog ==0.1.4.0
- monad-logger-syslog ==0.1.5.0
- monad-loops ==0.4.3
- monad-memo ==0.5.1
- monad-metrics ==0.2.1.4
@ -1432,7 +1431,7 @@ default-package-overrides:
- network-house ==0.1.0.2
- network-info ==0.2.0.10
- network-ip ==0.3.0.3
- network-messagepack-rpc ==0.1.1.4
- network-messagepack-rpc ==0.1.2.0
- network-multicast ==0.3.2
- network-simple ==0.4.5
- network-simple-tls ==0.3.2
@ -1448,10 +1447,9 @@ default-package-overrides:
- nonce ==1.0.7
- nondeterminism ==1.4
- non-empty ==0.3.2
- nonempty-containers ==0.3.2.0
- nonempty-containers ==0.3.1.0
- nonemptymap ==0.0.6.0
- non-empty-sequence ==0.2.0.2
- nonempty-vector ==0.2.0.1
- non-empty-sequence ==0.2.0.4
- non-negative ==0.1.2
- not-gloss ==0.7.7.0
- no-value ==1.0.0.0
@ -1461,7 +1459,7 @@ default-package-overrides:
- numbers ==3000.2.0.2
- numeric-extras ==0.1
- numeric-prelude ==0.4.3.1
- numhask ==0.3.0.0
- numhask ==0.3.1
- NumInstances ==1.4
- numtype-dk ==0.5.0.2
- nuxeo ==0.3.2
@ -1495,8 +1493,6 @@ default-package-overrides:
- open-witness ==0.4.0.1
- operational ==0.2.3.5
- operational-class ==0.3.0.0
- optics-core ==0.2
- optics-extra ==0.2
- optional-args ==1.0.2
- options ==1.2.1.1
- optparse-applicative ==0.14.3.0
@ -1548,7 +1544,7 @@ default-package-overrides:
- pcf-font-embed ==0.1.2.0
- pcg-random ==0.1.3.6
- pcre-heavy ==1.0.0.2
- pcre-light ==0.4.0.4
- pcre-light ==0.4.1.0
- pcre-utils ==0.1.8.1.1
- pdfinfo ==1.5.4
- peano ==0.1.0.1
@ -1651,7 +1647,7 @@ default-package-overrides:
- primitive ==0.6.4.0
- primitive-extras ==0.7.1.1
- prim-uniq ==0.1.0.1
- probability ==0.2.5.2
- probability ==0.2.6
- process-extras ==0.7.4
- product-isomorphic ==0.0.3.3
- product-profunctors ==0.10.0.0
@ -1909,7 +1905,7 @@ default-package-overrides:
- sexpr-parser ==0.1.1.2
- SHA ==1.6.4.4
- shake-language-c ==0.12.0
- shakespeare ==2.0.22
- shakespeare ==2.0.23
- shared-memory ==0.2.0.0
- shell-conduit ==4.7.0
- shell-escape ==0.2.0
@ -1953,7 +1949,7 @@ default-package-overrides:
- smallcheck-series ==0.6.1
- smoothie ==0.4.2.9
- snap-blaze ==0.2.1.5
- snap-core ==1.0.4.0
- snap-core ==1.0.4.1
- snap-server ==1.1.1.1
- snowflake ==0.1.1.1
- soap ==0.2.3.6
@ -2226,7 +2222,7 @@ default-package-overrides:
- type-operators ==0.2.0.0
- typerep-map ==0.3.2
- type-spec ==0.4.0.0
- tz ==0.1.3.2
- tz ==0.1.3.3
- tzdata ==0.1.20190325.0
- ua-parser ==0.7.5.1
- ucam-webauth ==0.1.0.0
@ -2355,7 +2351,7 @@ default-package-overrides:
- webex-teams-api ==0.2.0.0
- webex-teams-conduit ==0.2.0.0
- webex-teams-pipes ==0.2.0.0
- web-routes ==0.27.14.2
- web-routes ==0.27.14.3
- web-routes-hsp ==0.24.6.1
- web-routes-wai ==0.24.3.1
- webrtc-vad ==0.1.0.3
@ -2437,7 +2433,7 @@ default-package-overrides:
- yesod-auth ==1.6.8
- yesod-auth-hashdb ==1.7.1.1
- yesod-auth-oauth2 ==0.6.1.2
- yesod-bin ==1.6.0.3
- yesod-bin ==1.6.0.4
- yesod-core ==1.6.16.1
- yesod-csp ==0.2.5.0
- yesod-eventsource ==1.6.0
@ -2452,7 +2448,7 @@ default-package-overrides:
- yesod-recaptcha2 ==0.3.0
- yesod-sitemap ==1.6.0
- yesod-static ==1.6.0.1
- yesod-test ==1.6.7
- yesod-test ==1.6.8
- yesod-text-markdown ==0.1.10
- yesod-websockets ==0.3.0.2
- yes-precure5-command ==5.5.3
@ -2548,7 +2544,6 @@ package-maintainers:
- funcmp
- git-annex
- hackage-db
- haskell-ci
- hledger
- hledger-interest
- hledger-ui
@ -2594,6 +2589,7 @@ package-maintainers:
cdepillabout:
- pretty-simple
- purescript
- spago
- termonad
unsupported-platforms:
@ -2855,6 +2851,7 @@ broken-packages:
- alerta
- alex-meta
- alex-prelude
- alex-tools
- alfred
- alg
- alga
@ -2937,6 +2934,7 @@ broken-packages:
- apecs-stm
- apelsin
- api-builder
- api-rpc-factom
- api-rpc-pegnet
- api-tools
- api-yoti
@ -2998,6 +2996,7 @@ broken-packages:
- array-chunks
- array-forth
- array-primops
- arrayfire
- arraylist
- ArrayRef
- arrow-improve
@ -3264,6 +3263,7 @@ broken-packages:
- biofasta
- biofastq
- biohazard
- BioHMM
- bioinformatics-toolkit
- biophd
- biopsl
@ -3273,6 +3273,7 @@ broken-packages:
- bird
- BirdPP
- bisect-binary
- bishbosh
- bit-array
- bit-stream
- bitcoin-hs
@ -3388,6 +3389,7 @@ broken-packages:
- buffer
- buffer-builder-aeson
- BufferedSocket
- buffet
- buffon
- bugzilla
- build
@ -3446,11 +3448,13 @@ broken-packages:
- cabal-ghc-dynflags
- cabal-ghci
- cabal-graphdeps
- cabal-helper
- Cabal-ide-backend
- cabal-info
- cabal-install-bundle
- cabal-install-ghc72
- cabal-install-ghc74
- cabal-install-parsers
- cabal-meta
- cabal-mon
- cabal-nirvana
@ -3492,7 +3496,9 @@ broken-packages:
- calculator
- caldims
- caledon
- calenderweek
- call
- call-alloy
- call-haskell-from-anything
- camfort
- campfire
@ -3685,6 +3691,7 @@ broken-packages:
- cloud-haskell
- cloud-seeder
- cloudfront-signer
- cloudi
- clr-inline
- clua
- cluss
@ -3713,6 +3720,8 @@ broken-packages:
- co-log-sys
- Coadjute
- coalpit
- cobot-io
- cobot-tools
- code-builder
- codec-beam
- codec-libevent
@ -3764,6 +3773,7 @@ broken-packages:
- compact-socket
- compact-string
- compact-string-fix
- compact-word-vectors
- Compactable
- compdata-dags
- competition
@ -3827,6 +3837,7 @@ broken-packages:
- conkin
- conlogger
- connection-string
- connections
- Conscript
- consistent
- const-math-ghc-plugin
@ -4177,6 +4188,7 @@ broken-packages:
- dgim
- dgs
- dhall-check
- dhall-fly
- dhall-lsp-server
- dhall-nix
- dhall-to-cabal
@ -4355,6 +4367,7 @@ broken-packages:
- dtd-text
- dtw
- dual
- duet
- Dung
- duplo
- Dust
@ -4430,6 +4443,7 @@ broken-packages:
- email
- email-header
- email-postmark
- email-validator
- emailparse
- embeddock
- embeddock-example
@ -4542,6 +4556,7 @@ broken-packages:
- exif
- exinst-deepseq
- exinst-hashable
- exist-instances
- exists
- exitcode
- expand
@ -4571,6 +4586,7 @@ broken-packages:
- f-ree-hack-cheats-free-v-bucks-generator
- Facebook-Password-Hacker-Online-Latest-Version
- faceted
- factory
- Facts
- factual-api
- fadno
@ -4665,6 +4681,7 @@ broken-packages:
- FilePather
- filepather
- Files
- filestore
- FileSystem
- filesystem-conduit
- filesystem-enumerator
@ -4687,6 +4704,7 @@ broken-packages:
- first-and-last
- firstify
- FirstOrderTheory
- fishfood
- fit
- fits-parse
- fitsio
@ -4757,6 +4775,7 @@ broken-packages:
- Forestry
- forger
- ForkableT
- forma
- formal
- FormalGrammars
- format
@ -4862,6 +4881,10 @@ broken-packages:
- funnyprint
- funpat
- funsat
- fused-effects-exceptions
- fused-effects-lens
- fused-effects-random
- fused-effects-resumable
- fusion
- futhark
- futun
@ -4875,6 +4898,7 @@ broken-packages:
- g2q
- g4ip
- gact
- galois-fft
- game-probability
- gameclock
- gamgee
@ -4957,6 +4981,7 @@ broken-packages:
- getflag
- GGg
- ggtsTC
- gh-labeler
- ghc-core-smallstep
- ghc-datasize
- ghc-dump-tree
@ -5289,7 +5314,6 @@ broken-packages:
- hakyll-dir-list
- hakyll-favicon
- hakyll-filestore
- hakyll-images
- hakyll-ogmarkup
- hakyll-R
- hakyll-sass
@ -5412,6 +5436,7 @@ broken-packages:
- haskell-bitmex-client
- haskell-bitmex-rest
- haskell-brainfuck
- haskell-ci
- haskell-cnc
- haskell-coffee
- haskell-compression
@ -5505,6 +5530,7 @@ broken-packages:
- haskmon
- haskoin
- haskoin-bitcoind
- haskoin-core
- haskoin-crypto
- haskoin-node
- haskoin-protocol
@ -5634,6 +5660,7 @@ broken-packages:
- hedgehog-classes
- hedgehog-gen-json
- hedgehog-generic
- hedgehog-golden
- Hedi
- hedis-config
- hedis-pile
@ -5889,6 +5916,7 @@ broken-packages:
- hoovie
- hopencc
- hopencl
- hOpenPGP
- hopenpgp-tools
- hopfield
- hoppy-docs
@ -5946,6 +5974,9 @@ broken-packages:
- hR
- hranker
- HRay
- hreq-client
- hreq-conduit
- hreq-core
- Hricket
- hricket
- hriemann
@ -6167,6 +6198,7 @@ broken-packages:
- http-streams
- http-wget
- http2-client-grpc
- http2-grpc-proto3-wire
- https-everywhere-rules
- https-everywhere-rules-raw
- httpspec
@ -6561,6 +6593,7 @@ broken-packages:
- JYU-Utils
- kademlia
- kafka-client
- kafka-client-sync
- kaleidoscope
- Kalman
- kalman
@ -7066,6 +7099,9 @@ broken-packages:
- marxup
- masakazu-bot
- MASMGen
- massiv
- massiv-io
- massiv-test
- master-plan
- matchable-th
- matchers
@ -7208,6 +7244,7 @@ broken-packages:
- mm2
- mmsyn2
- mmsyn4
- mmsyn6ukr
- mmtf
- mmtl
- mmtl-base
@ -7293,6 +7330,7 @@ broken-packages:
- monoids
- monopati
- monte-carlo
- months
- monzo
- moo
- moonshine
@ -7301,11 +7339,14 @@ broken-packages:
- morley
- morley-prelude
- morph
- morpheus-graphql-cli
- morphisms-functors
- morphisms-functors-inventory
- morphisms-objects
- morte
- mosaico-lib
- moto
- moto-postgresql
- mount
- movie-monad
- mp
@ -7524,6 +7565,7 @@ broken-packages:
- nirum
- nitro
- nixfromnpm
- nixpkgs-update
- nkjp
- nlp-scores
- nlp-scores-scripts
@ -7549,6 +7591,7 @@ broken-packages:
- NoSlow
- not-gloss-examples
- notcpp
- notifications-tray-icon
- notmuch-haskell
- notmuch-web
- now-haskell
@ -7574,6 +7617,7 @@ broken-packages:
- numhask-histogram
- numhask-prelude
- numhask-range
- numhask-space
- numhask-test
- Nussinov78
- Nutri
@ -7679,6 +7723,7 @@ broken-packages:
- orgstat
- origami
- orizentic
- ormolu
- OrPatterns
- osc
- oscpacking
@ -7714,12 +7759,13 @@ broken-packages:
- pairing
- pam
- panda
- pandoc-citeproc-preamble
- pandoc-crossref
- pandoc-include
- pandoc-include-code
- pandoc-japanese-filters
- pandoc-lens
- pandoc-markdown-ghci-filter
- pandoc-placetable
- pandoc-plantuml-diagrams
- pandoc-pyplot
- pandoc-unlit
@ -7885,6 +7931,7 @@ broken-packages:
- piet
- pig
- pinchot
- pine
- ping
- pinpon
- Pipe
@ -7959,6 +8006,7 @@ broken-packages:
- pocket-dns
- point-octree
- pointfree-fancy
- pointful
- pointless-lenses
- pointless-rewrite
- pokemon-go-protobuf-types
@ -8092,6 +8140,7 @@ broken-packages:
- product
- prof2dot
- prof2pretty
- profunctor-optics
- progress
- progress-meter
- progressbar
@ -8115,6 +8164,7 @@ broken-packages:
- proteome
- proto-lens-combinators
- proto-lens-descriptors
- proto-lens-jsonpb
- proto3-suite
- protobuf-native
- protocol-buffers-descriptor-fork
@ -8226,6 +8276,7 @@ broken-packages:
- quiver-instances
- quiver-interleave
- quiver-sort
- quokka
- quoridor-hs
- qux
- R-pandoc
@ -8357,6 +8408,7 @@ broken-packages:
- reformat
- refresht
- refurb
- reg-alloc
- regex-deriv
- regex-dfa
- regex-generator
@ -8484,6 +8536,7 @@ broken-packages:
- riff
- ring-buffer
- ring-buffers
- rings
- riot
- risc386
- riscv-isa
@ -8620,6 +8673,7 @@ broken-packages:
- scenegraph
- schedevr
- schedule-planner
- scheduler
- schedyield
- schemas
- schematic
@ -8896,6 +8950,7 @@ broken-packages:
- singleton-dict
- singleton-typelits
- singnal
- singular-factory
- sink
- siphon
- siren-json
@ -9044,6 +9099,7 @@ broken-packages:
- sorted
- sorting
- sorty
- souffle-haskell
- sound-collage
- sounddelay
- soundgen
@ -9114,6 +9170,7 @@ broken-packages:
- sqlvalue-list
- sqsd-local
- squeal-postgresql
- squeeze
- sr-extra
- srcinst
- sscan
@ -9124,6 +9181,7 @@ broken-packages:
- sssp
- sstable
- SSTG
- st2
- stable-heap
- stable-maps
- stable-marriage
@ -9382,6 +9440,7 @@ broken-packages:
- tasty-laws
- tasty-lens
- tasty-stats
- tasty-tap
- Taxonomy
- TaxonomyTools
- TBC
@ -9696,6 +9755,7 @@ broken-packages:
- twilio
- twill
- twine
- twirp
- twitter
- twitter-conduit
- twitter-enumerator
@ -10059,6 +10119,7 @@ broken-packages:
- websockets-simple
- websockets-simple-extra
- webwire
- weekdaze
- weighted
- weighted-regexp
- welshy
@ -10230,6 +10291,7 @@ broken-packages:
- yam-servant
- yam-transaction-odbc
- yam-web
- yaml-combinators
- yaml-pretty-extras
- yaml-rpc
- yaml-rpc-scotty

View File

@ -636,4 +636,60 @@ self: super: builtins.intersectAttrs super {
# need it during the build itself, too.
cairo = addBuildTool super.cairo self.buildHaskellPackages.gtk2hs-buildtools;
pango = disableHardening (addBuildTool super.pango self.buildHaskellPackages.gtk2hs-buildtools) ["fortify"];
spago =
let
# Spago basically compiles with LTS-14, but it requires a newer version
# of directory. This is to work around a bug only present on windows, so
# we can safely jailbreak spago and use the older directory package from
# LTS-14.
spagoWithOverrides = doJailbreak (super.spago.override {
# spago requires the latest version of dhall.
directory = self.dhall_1_27_0;
});
docsSearchAppJsFile = pkgs.fetchurl {
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/docs-search-app.js";
sha256 = "11721x455qzh40vzfmralaynn9v8b5wix86r107hhs08vhryjib2";
};
purescriptDocsSearchFile = pkgs.fetchurl {
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/purescript-docs-search";
sha256 = "16p1fmdvpwz1yswav8qjsd26c9airb22xncqw1rjnbd8lcpqx0p5";
};
spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
postUnpack = (drv.postUnpack or "") + ''
# The source for spago is pulled directly from GitHub. It uses a
# package.yaml file with hpack, not a .cabal file. In the package.yaml file,
# it uses defaults from the master branch of the hspec repo. It will try to
# fetch these at build-time (but it will fail if running in the sandbox).
#
# The following line modifies the package.yaml to not pull in
# defaults from the hspec repo.
substituteInPlace "$sourceRoot/package.yaml" --replace 'defaults: hspec/hspec@master' ""
# Spago includes the following two files directly into the binary
# with Template Haskell. They are fetched at build-time from the
# `purescript-docs-search` repo above. If they cannot be fetched at
# build-time, they are pulled in from the `templates/` directory in
# the spago source.
#
# However, they are not actually available in the spago source, so they
# need to fetched with nix and put in the correct place.
# https://github.com/spacchetti/spago/issues/510
cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
'';
});
# Haddock generation is broken for spago.
# https://github.com/spacchetti/spago/issues/511
spagoWithoutHaddocks = dontHaddock spagoFixHpack;
# Because of the problem above with pulling in hspec defaults to the
# package.yaml file, the tests are disabled.
spagoWithoutChecks = dontCheck spagoWithoutHaddocks;
in
spagoWithoutChecks;
}

File diff suppressed because it is too large Load Diff

View File

@ -13,4 +13,7 @@ self: super: {
# https://github.com/channable/vaultenv/issues/1
vaultenv = self.callPackage ../tools/haskell/vaultenv { };
# spago is not released to Hackage.
# https://github.com/spacchetti/spago/issues/512
spago = self.callPackage ../tools/purescript/spago { };
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "janet";
version = "1.4.0";
version = "1.5.1";
src = fetchFromGitHub {
owner = "janet-lang";
repo = pname;
rev = "v${version}";
sha256 = "0xszmgw5nl5b6gd3344h1mic1c1a3hj7nivp4d9hqzzh131qvbn5";
sha256 = "13b4haaanlgi8qpwwvf59zf7qsw8p0zdqv7xdxjjyid5yww7jmm2";
};
nativeBuildInputs = [ meson ninja ];

View File

@ -19,11 +19,11 @@
stdenv.mkDerivation rec {
pname = "gjs";
version = "1.58.1";
version = "1.58.3";
src = fetchurl {
url = "mirror://gnome/sources/gjs/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1xf68rbagkflb9yi3visfw8cbxqlzd717y8jakgw0y6whzm1dpxl";
sha256 = "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya";
};
outputs = [ "out" "dev" "installedTests" ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn2, libunistring, gobject-introspection }:
stdenv.mkDerivation rec {
version = "3.2.3";
version = "3.2.5";
pname = "gmime";
src = fetchurl {
url = "mirror://gnome/sources/gmime/3.2/${pname}-${version}.tar.xz";
sha256 = "04bk7rqs5slpvlvqf11i6s37s8b2xn6acls8smyl9asjnpp7a23a";
sha256 = "0ndsg1z1kq4w4caascydvialpyn4rfbjdn7xclzbzhw53x85cxgv";
};
outputs = [ "out" "dev" ];

View File

@ -41,11 +41,11 @@
stdenv.mkDerivation rec {
pname = "gvfs";
version = "1.42.1";
version = "1.42.2";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0c3pqc8qc2pn08by43rkkmk725k3cqmw7qyhfqgng0qx98dhf1lx";
sha256 = "0jgrbid8a61hgh05wl8c4f4638x7dffd5vip02jmladxfdszjymm";
};
postPatch = ''

View File

@ -1,19 +1,18 @@
# TODO: Resolve the issues with the Mono bindings.
{ stdenv, fetchurl, lib, file
{ stdenv, fetchurl, fetchpatch, lib, file
, pkgconfig, autoconf
, glib, dbus-glib, gtkVersion ? "3"
, gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
, gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
, python2Packages, gobject-introspection, vala
, vala, gobject-introspection
, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
}:
with lib;
let
inherit (python2Packages) python pygobject2 pygtk;
in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
in "libappindicator-${postfix}-${version}";
version = "${versionMajor}.${versionMinor}";
@ -25,7 +24,7 @@ in stdenv.mkDerivation rec {
sha256 = "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m";
};
nativeBuildInputs = [ pkgconfig autoconf ];
nativeBuildInputs = [ pkgconfig autoconf vala gobject-introspection ];
propagatedBuildInputs =
if gtkVersion == "2"
@ -34,14 +33,20 @@ in stdenv.mkDerivation rec {
buildInputs = [
glib dbus-glib
python pygobject2 pygtk gobject-introspection vala
] ++ (if gtkVersion == "2"
then [ libindicator-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
else [ libindicator-gtk3 ]);
patches = [
# Remove python2 from libappindicator.
(fetchpatch {
name = "no-python.patch";
url = "https://src.fedoraproject.org/rpms/libappindicator/raw/8508f7a52437679fd95a79b4630373f08315f189/f/nopython.patch";
sha256 = "18b1xzvwsbhhfpbzf5zragij4g79pa04y1dk6v5ci1wsjvii725s";
})
];
postPatch = ''
substituteInPlace configure.ac \
--replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
autoconf
for f in {configure,ltmain.sh,m4/libtool.m4}; do
substituteInPlace $f \
@ -64,7 +69,7 @@ in stdenv.mkDerivation rec {
doCheck = false; # generates shebangs in check phase, too lazy to fix
installFlags = [
"sysconfdir=\${out}/etc"
"sysconfdir=${placeholder "out"}/etc"
"localstatedir=\${TMPDIR}"
];

View File

@ -1,16 +1,19 @@
{ stdenv, lib, fetchurl }:
{ stdenv, lib, fetchurl, cmake, perl }:
stdenv.mkDerivation {
name = "libcerf-1.5";
stdenv.mkDerivation rec {
pname = "libcerf";
version = "1.13";
src = fetchurl {
url = "http://apps.jcns.fz-juelich.de/src/libcerf/libcerf-1.5.tgz";
sha256 = "11jwr8ql4a9kmv04ycgwk4dsqnlv4l65a8aa0x1i3y7zwx3w2vg3";
url = "https://jugit.fz-juelich.de/mlz/libcerf/-/archive/v${version}/libcerf-v${version}.tar.gz";
sha256 = "01d3fr4qa0080xdgp66mjbsa884qivn9y83p7rdyz2l3my0rysg4";
};
nativeBuildInputs = [ cmake perl ];
meta = with lib; {
description = "Complex error (erf), Dawson, Faddeeva, and Voigt function library";
homepage = http://apps.jcns.fz-juelich.de/doku/sc/libcerf;
homepage = https://jugit.fz-juelich.de/mlz/libcerf;
license = licenses.mit;
maintainers = with maintainers; [ orivej ];
platforms = platforms.all;

View File

@ -9,11 +9,11 @@
stdenv.mkDerivation rec {
pname = "libfilezilla";
version = "0.18.2";
version = "0.19.1";
src = fetchurl {
url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
sha256 = "1j9da9xi2k4nw97m14mpp7h39rh03br0gmjj9ff819l6nhlnkn20";
sha256 = "0cjscv68nnqivzba94xapx1c970j1jbdbm0h3g2ym9i0hgnyyhha";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -7,7 +7,7 @@
, json_c
, libtool
, pkgconfig
, python2
, python3
}:
stdenv.mkDerivation rec {
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
intltool
libtool
pkgconfig
python2
python3
];
buildInputs = [
@ -43,6 +43,10 @@ stdenv.mkDerivation rec {
doCheck = true;
postPatch = ''
sed 's|python2|python|' -i autogen.sh
'';
preConfigure = "./autogen.sh";
meta = with stdenv.lib; {

View File

@ -1,18 +1,20 @@
{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
{ stdenv, fetchFromGitHub, cmake, libusb1, ninja, pkgconfig }:
stdenv.mkDerivation rec {
pname = "librealsense";
version = "2.25.0";
version = "2.29.0";
outputs = [ "out" "dev" ];
src = fetchFromGitHub {
owner = "IntelRealSense";
repo = "librealsense";
repo = pname;
rev = "v${version}";
sha256 = "029qps0bbck0m2xj0mb5g3pgkk7a1zq8wcilfkvpx72sn7039xvw";
sha256 = "0wrg1c4fcd5ky96hmnczg9izfgd0yxls8ghxxzrdvgdlg269f443";
};
buildInputs = [
libusb
libusb1
];
nativeBuildInputs = [
@ -25,9 +27,9 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "A cross-platform library for Intel® RealSense depth cameras (D400 series and the SR300)";
homepage = https://github.com/IntelRealSense/librealsense;
homepage = "https://github.com/IntelRealSense/librealsense";
license = licenses.asl20;
maintainers = with maintainers; [ brian-dawn ];
platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@ -1,41 +1,43 @@
{stdenv, fetchurl, fetchpatch,
libtool, libjpeg, openssl, zlib, libgcrypt, autoreconfHook, pkgconfig, libpng,
systemd
{ stdenv, fetchzip, fetchpatch, cmake
, libjpeg, openssl, zlib, libgcrypt, libpng
, systemd
}:
let
s = # Generated upstream information
rec {
baseName="libvncserver";
version="0.9.11";
name="${baseName}-${version}";
url="https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
sha256="15189n09r1pg2nqrpgxqrcvad89cdcrca9gx6qhm6akjf81n6g8r";
pname = "libvncserver";
version = "0.9.12";
url = "https://github.com/LibVNC/libvncserver/archive/LibVNCServer-${version}.tar.gz";
sha256 = "1226hb179l914919f5nm2mlf8rhaarqbf48aa649p4rwmghyx9vm"; # unpacked archive checksum
};
in
stdenv.mkDerivation {
inherit (s) name version;
src = fetchurl {
inherit (s) pname version;
src = fetchzip {
inherit (s) url sha256;
};
patches = [
# CVE-2018-7225. Remove with the next release
(fetchpatch {
url = https://salsa.debian.org/debian/libvncserver/raw/master/debian/patches/CVE-2018-7225.patch;
sha256 = "1hj1lzxsrdmzzl061vg0ncdpvfmvvkrpk8q12mp70qvszcqa7ja3";
name = "CVE-2018-20750.patch";
url = "https://github.com/LibVNC/libvncserver/commit/09e8fc02f59f16e2583b34fe1a270c238bd9ffec.patch";
sha256 = "004h50786nvjl3y3yazpsi2b767vc9gqrwm1ralj3zgy47kwfhqm";
})
(fetchpatch {
name = "CVE-2019-15681.patch";
url = "https://github.com/LibVNC/libvncserver/commit/d01e1bb4246323ba6fcee3b82ef1faa9b1dac82a.patch";
sha256 = "0hf0ss7all2m50z2kan4mck51ws44yim4ymn8p0d991y465y6l9s";
})
];
preConfigure = ''
sed -e 's@/usr/include/linux@${stdenv.cc.libc}/include/linux@g' -i configure
'';
nativeBuildInputs = [ pkgconfig autoreconfHook ];
nativeBuildInputs = [ cmake ];
buildInputs = [
libtool libjpeg openssl libgcrypt libpng
libjpeg openssl libgcrypt libpng
] ++ stdenv.lib.optional stdenv.isLinux systemd;
propagatedBuildInputs = [ zlib ];
meta = {
inherit (s) version;
description = "VNC server library";
description = "VNC server library";
homepage = "https://libvnc.github.io/";
license = stdenv.lib.licenses.gpl2Plus ;
maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.unix;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "nlohmann_json";
version = "3.7.0";
version = "3.7.3";
src = fetchFromGitHub {
owner = "nlohmann";
repo = "json";
rev = "v${version}";
sha256 = "0v7xih4zjixxxfvkfbs7a8j9qcvpwlsv4vrkbyns3hc7b44nb8ap";
sha256 = "04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w";
};
nativeBuildInputs = [ cmake ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, cmake, pkgconfig }:
stdenv.mkDerivation rec {
name = "nss_wrapper-1.1.6";
name = "nss_wrapper-1.1.7";
src = fetchurl {
url = "mirror://samba/cwrap/${name}.tar.gz";
sha256 = "1hijnwabj4nh0m0a913pq07iqq0bw8qb2zxcv73zbnsaay7pa55h";
sha256 = "1pa7gakprkxblxdqbcy2242lk924gvzdgfr5648wb7cslksm7hbq";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "nuspell";
version = "2.3.0";
version = "3.0.0";
src = fetchFromGitHub {
owner = "nuspell";
repo = "nuspell";
rev = "v${version}";
sha256 = "0n5cajrp1fhk8p54ch3akkd9nl8b9c6wwf25980dhagcdys3vab3";
sha256 = "1cyvvf5f92a777qgh00ja43z43j5nhc9dw5l3wvw9j6j9bqc4i8p";
};
nativeBuildInputs = [ cmake pkgconfig ronn ];

View File

@ -1,47 +0,0 @@
{ stdenv, fetchurl, fetchFromGitHub, cmake, catch, python, eigen }:
stdenv.mkDerivation rec {
pname = "pybind";
version = "2.2.4";
src = fetchFromGitHub {
owner = "pybind";
repo = "pybind11";
rev = "v${version}";
sha256 = "0pa79ymcasv8br5ifbx7878id5py2jpjac3i20cqxr6gs9l6ivlv";
};
nativeBuildInputs = [ cmake ];
checkInputs = with python.pkgs; [ catch eigen pytest numpy scipy ];
# Disable test_cmake_build test, as it fails in sandbox
# https://github.com/pybind/pybind11/issues/1355
patches = [
./no_test_cmake_build.patch
(fetchurl { # Remove on bump to v2.2.5
name = "pytest_namespace_to_configure.patch";
url = "https://github.com/pybind/pybind11/commit/e7ef34f23f194cfa40bdbf967c6d34712261a4ee.patch";
sha256 = "1dhv6p0b5fxzxc8j3sfy8kvfmdshczk22xfxh6bk0cfnfdy9iqrq";
})
];
doCheck = true;
cmakeFlags = [
"-DPYTHON_EXECUTABLE=${python.interpreter}"
"-DPYBIND11_TEST=${if doCheck then "ON" else "OFF"}"
];
meta = {
homepage = https://github.com/pybind/pybind11;
description = "Seamless operability between C++11 and Python";
longDescription = ''
Pybind11 is a lightweight header-only library that exposes
C++ types in Python and vice versa, mainly to create Python
bindings of existing C++ code.
'';
platforms = with stdenv.lib.platforms; unix;
license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
};
}

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