Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2020-05-10 09:45:44 +02:00
commit 4ddd080d19
132 changed files with 936 additions and 344 deletions

View File

@ -9,7 +9,7 @@
Several versions of the Python interpreter are available on Nix, as well as a Several versions of the Python interpreter are available on Nix, as well as a
high amount of packages. The attribute `python` refers to the default high amount of packages. The attribute `python` refers to the default
interpreter, which is currently CPython 2.7. It is also possible to refer to interpreter, which is currently CPython 2.7. It is also possible to refer to
specific versions, e.g. `python35` refers to CPython 3.5, and `pypy` refers to specific versions, e.g. `python38` refers to CPython 3.8, and `pypy` refers to
the default PyPy interpreter. the default PyPy interpreter.
Python is used a lot, and in different ways. This affects also how it is Python is used a lot, and in different ways. This affects also how it is
@ -25,10 +25,10 @@ however, are in separate sets, with one set per interpreter version.
The interpreters have several common attributes. One of these attributes is The interpreters have several common attributes. One of these attributes is
`pkgs`, which is a package set of Python libraries for this specific `pkgs`, which is a package set of Python libraries for this specific
interpreter. E.g., the `toolz` package corresponding to the default interpreter interpreter. E.g., the `toolz` package corresponding to the default interpreter
is `python.pkgs.toolz`, and the CPython 3.5 version is `python35.pkgs.toolz`. is `python.pkgs.toolz`, and the CPython 3.8 version is `python38.pkgs.toolz`.
The main package set contains aliases to these package sets, e.g. The main package set contains aliases to these package sets, e.g.
`pythonPackages` refers to `python.pkgs` and `python35Packages` to `pythonPackages` refers to `python.pkgs` and `python38Packages` to
`python35.pkgs`. `python38.pkgs`.
#### Installing Python and packages #### Installing Python and packages
@ -50,7 +50,7 @@ to create an environment with `python.buildEnv` or `python.withPackages` where
the interpreter and other executables are able to find each other and all of the the interpreter and other executables are able to find each other and all of the
modules. modules.
In the following examples we create an environment with Python 3.5, `numpy` and In the following examples we create an environment with Python 3.8, `numpy` and
`toolz`. As you may imagine, there is one limitation here, and that's that `toolz`. As you may imagine, there is one limitation here, and that's that
you can install only one environment at a time. You will notice the complaints you can install only one environment at a time. You will notice the complaints
about collisions when you try to install a second environment. about collisions when you try to install a second environment.
@ -61,7 +61,7 @@ Create a file, e.g. `build.nix`, with the following expression
```nix ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
python35.withPackages (ps: with ps; [ numpy toolz ]) python38.withPackages (ps: with ps; [ numpy toolz ])
``` ```
and install it in your profile with and install it in your profile with
```shell ```shell
@ -79,7 +79,7 @@ Nixpkgs set, e.g. using `config.nix`,
{ # ... { # ...
packageOverrides = pkgs: with pkgs; { packageOverrides = pkgs: with pkgs; {
myEnv = python35.withPackages (ps: with ps; [ numpy toolz ]); myEnv = python38.withPackages (ps: with ps; [ numpy toolz ]);
}; };
} }
``` ```
@ -101,7 +101,7 @@ environment system-wide.
{ # ... { # ...
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
(python35.withPackages(ps: with ps; [ numpy toolz ])) (python38.withPackages(ps: with ps; [ numpy toolz ]))
]; ];
} }
``` ```
@ -118,7 +118,7 @@ recommended method is to create an environment with `python.buildEnv` or
`python.withPackages` and load that. E.g. `python.withPackages` and load that. E.g.
```sh ```sh
$ nix-shell -p 'python35.withPackages(ps: with ps; [ numpy toolz ])' $ nix-shell -p 'python38.withPackages(ps: with ps; [ numpy toolz ])'
``` ```
opens a shell from which you can launch the interpreter opens a shell from which you can launch the interpreter
@ -131,7 +131,7 @@ The other method, which is not recommended, does not create an environment and
requires you to list the packages directly, requires you to list the packages directly,
```sh ```sh
$ nix-shell -p python35.pkgs.numpy python35.pkgs.toolz $ nix-shell -p python38.pkgs.numpy python38.pkgs.toolz
``` ```
Again, it is possible to launch the interpreter from the shell. The Python Again, it is possible to launch the interpreter from the shell. The Python
@ -140,14 +140,14 @@ that specific interpreter.
##### Load environment from `.nix` expression ##### Load environment from `.nix` expression
As explained in the Nix manual, `nix-shell` can also load an As explained in the Nix manual, `nix-shell` can also load an
expression from a `.nix` file. Say we want to have Python 3.5, `numpy` expression from a `.nix` file. Say we want to have Python 3.8, `numpy`
and `toolz`, like before, in an environment. Consider a `shell.nix` file and `toolz`, like before, in an environment. Consider a `shell.nix` file
with with
```nix ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
(python35.withPackages (ps: [ps.numpy ps.toolz])).env (python38.withPackages (ps: [ps.numpy ps.toolz])).env
``` ```
Executing `nix-shell` gives you again a Nix shell from which you can run Python. Executing `nix-shell` gives you again a Nix shell from which you can run Python.
@ -158,7 +158,7 @@ What's happening here?
imports the `<nixpkgs>` function, `{}` calls it and the `with` statement imports the `<nixpkgs>` function, `{}` calls it and the `with` statement
brings all attributes of `nixpkgs` in the local scope. These attributes form brings all attributes of `nixpkgs` in the local scope. These attributes form
the main package set. the main package set.
2. Then we create a Python 3.5 environment with the `withPackages` function. 2. Then we create a Python 3.8 environment with the `withPackages` function.
3. The `withPackages` function expects us to provide a function as an argument 3. The `withPackages` function expects us to provide a function as an argument
that takes the set of all python packages and returns a list of packages to that takes the set of all python packages and returns a list of packages to
include in the environment. Here, we select the packages `numpy` and `toolz` include in the environment. Here, we select the packages `numpy` and `toolz`
@ -170,7 +170,7 @@ To combine this with `mkShell` you can:
with import <nixpkgs> {}; with import <nixpkgs> {};
let let
pythonEnv = python35.withPackages (ps: [ pythonEnv = python38.withPackages (ps: [
ps.numpy ps.numpy
ps.toolz ps.toolz
]); ]);
@ -188,13 +188,13 @@ option, with which you can execute a command in the `nix-shell`. We can
e.g. directly open a Python shell e.g. directly open a Python shell
```sh ```sh
$ nix-shell -p python35Packages.numpy python35Packages.toolz --run "python3" $ nix-shell -p python38Packages.numpy python38Packages.toolz --run "python3"
``` ```
or run a script or run a script
```sh ```sh
$ nix-shell -p python35Packages.numpy python35Packages.toolz --run "python3 myscript.py" $ nix-shell -p python38Packages.numpy python38Packages.toolz --run "python3 myscript.py"
``` ```
##### `nix-shell` as shebang ##### `nix-shell` as shebang
@ -231,11 +231,11 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th
buildPythonPackage rec { buildPythonPackage rec {
pname = "toolz"; pname = "toolz";
version = "0.7.4"; version = "0.10.0";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
}; };
doCheck = false; doCheck = false;
@ -260,8 +260,8 @@ information. The output of the function is a derivation.
An expression for `toolz` can be found in the Nixpkgs repository. As explained An expression for `toolz` can be found in the Nixpkgs repository. As explained
in the introduction of this Python section, a derivation of `toolz` is available in the introduction of this Python section, a derivation of `toolz` is available
for each interpreter version, e.g. `python35.pkgs.toolz` refers to the `toolz` for each interpreter version, e.g. `python38.pkgs.toolz` refers to the `toolz`
derivation corresponding to the CPython 3.5 interpreter. derivation corresponding to the CPython 3.8 interpreter.
The above example works when you're directly working on The above example works when you're directly working on
`pkgs/top-level/python-packages.nix` in the Nixpkgs repository. Often though, `pkgs/top-level/python-packages.nix` in the Nixpkgs repository. Often though,
you will want to test a Nix expression outside of the Nixpkgs tree. you will want to test a Nix expression outside of the Nixpkgs tree.
@ -273,13 +273,13 @@ and adds it along with a `numpy` package to a Python environment.
with import <nixpkgs> {}; with import <nixpkgs> {};
( let ( let
my_toolz = python35.pkgs.buildPythonPackage rec { my_toolz = python38.pkgs.buildPythonPackage rec {
pname = "toolz"; pname = "toolz";
version = "0.7.4"; version = "0.10.0";
src = python35.pkgs.fetchPypi { src = python38.pkgs.fetchPypi {
inherit pname version; inherit pname version;
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd"; sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
}; };
doCheck = false; doCheck = false;
@ -290,12 +290,12 @@ with import <nixpkgs> {};
}; };
}; };
in python35.withPackages (ps: [ps.numpy my_toolz]) in python38.withPackages (ps: [ps.numpy my_toolz])
).env ).env
``` ```
Executing `nix-shell` will result in an environment in which you can use Executing `nix-shell` will result in an environment in which you can use
Python 3.5 and the `toolz` package. As you can see we had to explicitly mention Python 3.8 and the `toolz` package. As you can see we had to explicitly mention
for which Python version we want to build a package. for which Python version we want to build a package.
So, what did we do here? Well, we took the Nix expression that we used earlier So, what did we do here? Well, we took the Nix expression that we used earlier
@ -435,7 +435,7 @@ If we create a `shell.nix` file which calls `buildPythonPackage`, and if `src`
is a local source, and if the local source has a `setup.py`, then development is a local source, and if the local source has a `setup.py`, then development
mode is activated. mode is activated.
In the following example we create a simple environment that has a Python 3.5 In the following example we create a simple environment that has a Python 3.8
version of our package in it, as well as its dependencies and other packages we version of our package in it, as well as its dependencies and other packages we
like to have in the environment, all specified with `propagatedBuildInputs`. like to have in the environment, all specified with `propagatedBuildInputs`.
Indeed, we can just add any package we like to have in our environment to Indeed, we can just add any package we like to have in our environment to
@ -443,7 +443,7 @@ Indeed, we can just add any package we like to have in our environment to
```nix ```nix
with import <nixpkgs> {}; with import <nixpkgs> {};
with python35Packages; with python38Packages;
buildPythonPackage rec { buildPythonPackage rec {
name = "mypackage"; name = "mypackage";
@ -505,9 +505,9 @@ with import <nixpkgs> {};
( let ( let
toolz = callPackage /path/to/toolz/release.nix { toolz = callPackage /path/to/toolz/release.nix {
buildPythonPackage = python35Packages.buildPythonPackage; buildPythonPackage = python38Packages.buildPythonPackage;
}; };
in python35.withPackages (ps: [ ps.numpy toolz ]) in python38.withPackages (ps: [ ps.numpy toolz ])
).env ).env
``` ```
@ -515,8 +515,8 @@ Important to remember is that the Python version for which the package is made
depends on the `python` derivation that is passed to `buildPythonPackage`. Nix depends on the `python` derivation that is passed to `buildPythonPackage`. Nix
tries to automatically pass arguments when possible, which is why generally you tries to automatically pass arguments when possible, which is why generally you
don't explicitly define which `python` derivation should be used. In the above don't explicitly define which `python` derivation should be used. In the above
example we use `buildPythonPackage` that is part of the set `python35Packages`, example we use `buildPythonPackage` that is part of the set `python38Packages`,
and in this case the `python35` interpreter is automatically used. and in this case the `python38` interpreter is automatically used.
## Reference ## Reference
@ -662,7 +662,7 @@ following are specific to `buildPythonPackage`:
variables which will be available when the binary is run. For example, variables which will be available when the binary is run. For example,
`makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`. `makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`.
* `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this * `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this
defaults to `"python3.5-"` for Python 3.5, etc., and in case of applications defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications
to `""`. to `""`.
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages * `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`). in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`).
@ -960,7 +960,7 @@ has security implications and is relevant for those using Python in a
When the environment variable `DETERMINISTIC_BUILD` is set, all bytecode will When the environment variable `DETERMINISTIC_BUILD` is set, all bytecode will
have timestamp 1. The `buildPythonPackage` function sets `DETERMINISTIC_BUILD=1` have timestamp 1. The `buildPythonPackage` function sets `DETERMINISTIC_BUILD=1`
and [PYTHONHASHSEED=0](https://docs.python.org/3.5/using/cmdline.html#envvar-PYTHONHASHSEED). and [PYTHONHASHSEED=0](https://docs.python.org/3.8/using/cmdline.html#envvar-PYTHONHASHSEED).
Both are also exported in `nix-shell`. Both are also exported in `nix-shell`.
@ -1014,7 +1014,7 @@ with import <nixpkgs> {};
packageOverrides = self: super: { packageOverrides = self: super: {
pandas = super.pandas.overridePythonAttrs(old: {name="foo";}); pandas = super.pandas.overridePythonAttrs(old: {name="foo";});
}; };
in pkgs.python35.override {inherit packageOverrides;}; in pkgs.python38.override {inherit packageOverrides;};
in python.withPackages(ps: [ps.pandas])).env in python.withPackages(ps: [ps.pandas])).env
``` ```
@ -1036,7 +1036,7 @@ with import <nixpkgs> {};
packageOverrides = self: super: { packageOverrides = self: super: {
scipy = super.scipy_0_17; scipy = super.scipy_0_17;
}; };
in (pkgs.python35.override {inherit packageOverrides;}).withPackages (ps: [ps.blaze]) in (pkgs.python38.override {inherit packageOverrides;}).withPackages (ps: [ps.blaze])
).env ).env
``` ```
@ -1049,12 +1049,12 @@ If you want the whole of Nixpkgs to use your modifications, then you can use
```nix ```nix
let let
pkgs = import <nixpkgs> {}; pkgs = import <nixpkgs> {};
newpkgs = import pkgs.path { overlays = [ (pkgsself: pkgssuper: { newpkgs = import pkgs.path { overlays = [ (self: super: {
python27 = let python38 = let
packageOverrides = self: super: { packageOverrides = python-self: python-super: {
numpy = super.numpy_1_10; numpy = python-super.numpy_1_18.3;
}; };
in pkgssuper.python27.override {inherit packageOverrides;}; in super.python38.override {inherit packageOverrides;};
} ) ]; }; } ) ]; };
in newpkgs.inkscape in newpkgs.inkscape
``` ```

View File

@ -1662,6 +1662,12 @@
} }
]; ];
}; };
cyplo = {
email = "nixos@cyplo.dev";
github = "cyplo";
githubId = 217899;
name = "Cyryl Płotnicki";
};
d-goldin = { d-goldin = {
email = "dgoldin+github@protonmail.ch"; email = "dgoldin+github@protonmail.ch";
github = "d-goldin"; github = "d-goldin";
@ -7624,12 +7630,6 @@
githubId = 1141680; githubId = 1141680;
name = "Thane Gill"; name = "Thane Gill";
}; };
the-kenny = {
email = "moritz@tarn-vedra.de";
github = "the-kenny";
githubId = 31167;
name = "Moritz Ulrich";
};
thedavidmeister = { thedavidmeister = {
email = "thedavidmeister@gmail.com"; email = "thedavidmeister@gmail.com";
github = "thedavidmeister"; github = "thedavidmeister";

View File

@ -0,0 +1,43 @@
{ maintainer }:
# based on update.nix
# nix-build build.nix --argstr maintainer <yourname>
let
pkgs = import ./../../default.nix {};
maintainer_ = pkgs.lib.maintainers.${maintainer};
packagesWith = cond: return: set:
(pkgs.lib.flatten
(pkgs.lib.mapAttrsToList
(name: pkg:
let
result = builtins.tryEval
(
if pkgs.lib.isDerivation pkg && cond name pkg
then [ (return name pkg) ]
else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false
then packagesWith cond return pkg
else [ ]
);
in
if result.success then result.value
else [ ]
)
set
)
);
in
packagesWith
(name: pkg:
(
if builtins.hasAttr "maintainers" pkg.meta
then (
if builtins.isList pkg.meta.maintainers
then builtins.elem maintainer_ pkg.meta.maintainers
else maintainer_ == pkg.meta.maintainers
)
else false
)
)
(name: pkg: pkg)
pkgs

View File

@ -37,7 +37,7 @@ in
# If there is any package configured in modulePackages, we generate the # If there is any package configured in modulePackages, we generate the
# loaders.cache based on that and set the environment variable # loaders.cache based on that and set the environment variable
# GDK_PIXBUF_MODULE_FILE to point to it. # GDK_PIXBUF_MODULE_FILE to point to it.
config = mkIf (cfg.modulePackages != [] || pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform) { config = mkIf (cfg.modulePackages != []) {
environment.variables = { environment.variables = {
GDK_PIXBUF_MODULE_FILE = "${loadersCache}"; GDK_PIXBUF_MODULE_FILE = "${loadersCache}";
}; };

View File

@ -60,6 +60,5 @@ stdenv.mkDerivation rec {
homepage = "http://audacityteam.org/"; homepage = "http://audacityteam.org/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = intersectLists platforms.linux platforms.x86; # fails on ARM platforms = intersectLists platforms.linux platforms.x86; # fails on ARM
maintainers = with maintainers; [ the-kenny ];
}; };
} }

View File

@ -1,23 +1,41 @@
{ lib, stdenv, fetchFromGitHub, autoreconfHook, { stdenv
fltk, jansson, rtmidi, libsamplerate, libsndfile, , fetchFromGitHub
jack2, alsaLib, libpulseaudio, , autoreconfHook
libXpm, libXinerama, libXcursor }: , fltk
, jansson
, rtmidi
, libsamplerate
, libsndfile
, jack2
, alsaLib
, libpulseaudio
, libXpm
, libXinerama
, libXcursor
, catch2
, nlohmann_json
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "giada"; pname = "giada";
version = "0.16.1"; version = "0.16.2.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "monocasual"; owner = "monocasual";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0b3lhjs6myml5r5saky15523sbc3qr43r9rh047vhsiafmqdvfq1"; sha256 = "0rpg5qmw3b76xcra869shb8fwk5wfzpzw216n96hxa5s6k69cm0p";
}; };
configureFlags = [ "--target=linux" ]; configureFlags = [
"--target=linux"
"--enable-system-catch"
];
nativeBuildInputs = [ nativeBuildInputs = [
autoreconfHook autoreconfHook
]; ];
buildInputs = [ buildInputs = [
fltk fltk
libsndfile libsndfile
@ -30,9 +48,16 @@ stdenv.mkDerivation rec {
libpulseaudio libpulseaudio
libXinerama libXinerama
libXcursor libXcursor
catch2
nlohmann_json
]; ];
meta = with lib; { postPatch = ''
sed -i 's:"deps/json/single_include/nlohmann/json\.hpp":<nlohmann/json.hpp>:' \
src/core/{conf,init,midiMapConf,patch}.cpp
'';
meta = with stdenv.lib; {
description = "A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians"; description = "A free, minimal, hardcore audio tool for DJs, live performers and electronic musicians";
homepage = "https://giadamusic.com/"; homepage = "https://giadamusic.com/";
license = licenses.gpl3; license = licenses.gpl3;

View File

@ -16,6 +16,5 @@ stdenv.mkDerivation rec {
homepage = "http://streamripper.sourceforge.net/"; homepage = "http://streamripper.sourceforge.net/";
description = "Application that lets you record streaming mp3 to your hard drive"; description = "Application that lets you record streaming mp3 to your hard drive";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ the-kenny ];
}; };
} }

View File

@ -5,7 +5,7 @@
with stdenv.lib; with stdenv.lib;
let let
version = "0.19.0.1"; version = "0.19.1";
majorMinorVersion = versions.majorMinor version; majorMinorVersion = versions.majorMinor version;
desktop = fetchurl { desktop = fetchurl {
@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
"https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz" "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
]; ];
sha256 = "7ac9f972249a0a16ed01352ca2a199a5448fe87a4ea74923404a40b4086de284"; sha256 = "f2591d555b8e8c2e1bd780e40d53a91e165d8b3c7e0391ae2d24a0c0f23a7cc0";
}; };
nativeBuildInputs = nativeBuildInputs =
@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
parties. Users hold the crypto keys to their own money and transact directly parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending. with each other, with the help of a P2P network to check for double-spending.
''; '';
homepage = "http://www.bitcoin.org/"; homepage = "https://bitcoin.org/";
maintainers = with maintainers; [ roconnor AndersonTorres ]; maintainers = with maintainers; [ roconnor AndersonTorres ];
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -123,7 +123,7 @@ stdenv.mkDerivation rec {
description = "The extensible, customizable GNU text editor"; description = "The extensible, customizable GNU text editor";
homepage = "https://www.gnu.org/software/emacs/"; homepage = "https://www.gnu.org/software/emacs/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ lovek323 peti the-kenny jwiegley ]; maintainers = with maintainers; [ lovek323 peti jwiegley ];
platforms = platforms.all; platforms = platforms.all;
longDescription = '' longDescription = ''

View File

@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
description = "The extensible, customizable GNU text editor"; description = "The extensible, customizable GNU text editor";
homepage = "https://www.gnu.org/software/emacs/"; homepage = "https://www.gnu.org/software/emacs/";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ lovek323 peti the-kenny jwiegley adisbladis ]; maintainers = with maintainers; [ lovek323 peti jwiegley adisbladis ];
platforms = platforms.all; platforms = platforms.all;
longDescription = '' longDescription = ''

View File

@ -84,6 +84,5 @@ stdenv.mkDerivation {
description = "A software suite to create, edit, compose, or convert bitmap images"; description = "A software suite to create, edit, compose, or convert bitmap images";
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ the-kenny ];
}; };
} }

View File

@ -99,7 +99,6 @@ stdenv.mkDerivation {
homepage = "http://www.imagemagick.org/"; homepage = "http://www.imagemagick.org/";
description = "A software suite to create, edit, compose, or convert bitmap images"; description = "A software suite to create, edit, compose, or convert bitmap images";
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ the-kenny ];
license = licenses.asl20; license = licenses.asl20;
}; };
} }

View File

@ -126,7 +126,6 @@ mkDerivation rec {
description = "Photo Management Program"; description = "Photo Management Program";
license = licenses.gpl2; license = licenses.gpl2;
homepage = "https://www.digikam.org"; homepage = "https://www.digikam.org";
maintainers = with maintainers; [ the-kenny ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -80,7 +80,6 @@ mkDerivation rec {
homepage = "http://openscad.org/"; homepage = "http://openscad.org/";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; maintainers = with stdenv.lib.maintainers; [ bjornfor raskin gebner ];
[ bjornfor raskin the-kenny gebner ];
}; };
} }

View File

@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
description = "RAW converter and digital photo processing software"; description = "RAW converter and digital photo processing software";
homepage = "http://www.rawtherapee.com/"; homepage = "http://www.rawtherapee.com/";
license = stdenv.lib.licenses.gpl3Plus; license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ jcumming mahe the-kenny ]; maintainers = with stdenv.lib.maintainers; [ jcumming mahe ];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;
}; };
} }

View File

@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
configurePhase = ""; configurePhase = "";
buildPhase = ""; buildPhase = "";
patches = [ ./numpy-cast.patch ]; patches = [ ./numpy-cast.patch ];
installPhase = '' installPhase = ''
@ -69,6 +69,5 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/daid/Cura"; homepage = "https://github.com/daid/Cura";
license = licenses.agpl3; license = licenses.agpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -25,6 +25,5 @@ stdenv.mkDerivation {
homepage = "https://github.com/Ultimaker/CuraEngine"; homepage = "https://github.com/Ultimaker/CuraEngine";
license = licenses.agpl3; license = licenses.agpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -39,6 +39,5 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/wb2osz/direwolf/"; homepage = "https://github.com/wb2osz/direwolf/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = [ maintainers.the-kenny ];
}; };
} }

View File

@ -1,4 +1,5 @@
{ fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, { fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, qemu, unzip, zip,
coreutils, gnugrep, which, gnused, e2fsprogs, autoPatchelfHook, gptfdisk,
python36Packages, qt5, runtimeShell, stdenv, utillinux, wrapQtAppsHook }: python36Packages, qt5, runtimeShell, stdenv, utillinux, wrapQtAppsHook }:
# Note: Multibootusb is tricky to maintain. It relies on the # Note: Multibootusb is tricky to maintain. It relies on the
@ -19,17 +20,30 @@ python36Packages.buildPythonApplication rec {
nativeBuildInputs = [ nativeBuildInputs = [
wrapQtAppsHook wrapQtAppsHook
autoPatchelfHook
unzip
zip
];
runTimeDeps = [
coreutils
gnugrep
which
parted
utillinux
qemu
p7zip
gnused
mtools
procps
e2fsprogs
gptfdisk
]; ];
buildInputs = [ buildInputs = [
libxcb libxcb
mtools
p7zip
parted
procps
python36Packages.python python36Packages.python
qt5.full qt5.full
utillinux
]; ];
src = fetchFromGitHub { src = fetchFromGitHub {
@ -52,6 +66,20 @@ python36Packages.buildPythonApplication rec {
python36Packages.six python36Packages.six
]; ];
# multibootusb ships zips with various versions of syslinux, we need to patchelf them
postPatch = ''
for zip in $(find . -name "*.zip"); do
zip=$(readlink -f $zip)
target="$(mktemp -d)"
pushd $target
unzip $zip
rm $zip
autoPatchelf .
zip -r $zip *
popd
done
'';
postInstall = '' postInstall = ''
# This script doesn't work and it doesn't add much anyway # This script doesn't work and it doesn't add much anyway
rm $out/bin/multibootusb-pkexec rm $out/bin/multibootusb-pkexec
@ -69,6 +97,9 @@ python36Packages.buildPythonApplication rec {
# Then, add the installed scripts/ directory to the python path # Then, add the installed scripts/ directory to the python path
--prefix "PYTHONPATH" ":" "$out/lib/${python36Packages.python.libPrefix}/site-packages" --prefix "PYTHONPATH" ":" "$out/lib/${python36Packages.python.libPrefix}/site-packages"
# Add some runtime dependencies
--prefix "PATH" ":" "${stdenv.lib.makeBinPath runTimeDeps}"
# Finally, move to directory that contains data # Finally, move to directory that contains data
--run "cd $out/share/${pname}" --run "cd $out/share/${pname}"
) )

View File

@ -74,6 +74,7 @@ in stdenv.mkDerivation rec {
Comment=PDF viewer Comment=PDF viewer
Exec=$bin/bin/mupdf-x11 %f Exec=$bin/bin/mupdf-x11 %f
Terminal=false Terminal=false
MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
EOF EOF
''; '';

View File

@ -85,6 +85,6 @@ stdenv.mkDerivation rec {
homepage = "https://slic3r.org/"; homepage = "https://slic3r.org/";
license = licenses.agpl3; license = licenses.agpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ bjornfor the-kenny ]; maintainers = with maintainers; [ bjornfor ];
}; };
} }

View File

@ -64,7 +64,6 @@ stdenv.mkDerivation {
homepage = "https://www.dropbox.com"; homepage = "https://www.dropbox.com";
description = "Command line client for the dropbox daemon"; description = "Command line client for the dropbox daemon";
license = stdenv.lib.licenses.gpl3Plus; license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
# NOTE: Dropbox itself only works on linux, so this is ok. # NOTE: Dropbox itself only works on linux, so this is ok.
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };

View File

@ -2,14 +2,14 @@
buildGoModule rec { buildGoModule rec {
pname = "ipfs"; pname = "ipfs";
version = "0.5.0"; version = "0.5.1";
rev = "v${version}"; rev = "v${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ipfs"; owner = "ipfs";
repo = "go-ipfs"; repo = "go-ipfs";
inherit rev; inherit rev;
sha256 = "0dbyvs49wyqj46c8hvz0fr4vpgfrdj1h8blniwzjf0jabgvw8nik"; sha256 = "11l55hlbixv1i25d3n216pkrwgcgac99fa88lyy3dailvminqxw7";
}; };
postPatch = '' postPatch = ''
@ -23,7 +23,7 @@ buildGoModule rec {
passthru.tests.ipfs = nixosTests.ipfs; passthru.tests.ipfs = nixosTests.ipfs;
modSha256 = "00xgsvpl47miy6paxl8yn6p76h6ssccackh50z0l4r5s7wcc25q8"; modSha256 = "13mpva3r6r2amw08g0bdggbxn933jjimngkvzgq1q5dksp4mivfk";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A global, versioned, peer-to-peer filesystem"; description = "A global, versioned, peer-to-peer filesystem";

View File

@ -78,7 +78,7 @@ let
on https://nixos.org/nixpkgs/manual/#sec-weechat . on https://nixos.org/nixpkgs/manual/#sec-weechat .
''; '';
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ lovek323 the-kenny lheckemann ma27 ]; maintainers = with stdenv.lib.maintainers; [ lovek323 lheckemann ma27 ];
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };
} }

View File

@ -91,6 +91,6 @@ stdenv.mkDerivation rec {
homepage = "http://www.mutt.org"; homepage = "http://www.mutt.org";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ the-kenny rnhmjoj ]; maintainers = with maintainers; [ rnhmjoj ];
}; };
} }

View File

@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
description = "Mail indexer"; description = "Mail indexer";
homepage = "https://notmuchmail.org/"; homepage = "https://notmuchmail.org/";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ flokli puckipedia the-kenny ]; maintainers = with maintainers; [ flokli puckipedia ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
''; '';
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ the-kenny jwiegley ]; maintainers = with maintainers; [ jwiegley ];
}; };
} }

View File

@ -20,6 +20,5 @@ python2.pkgs.buildPythonApplication rec {
homepage = "https://chirp.danplanet.com/"; homepage = "https://chirp.danplanet.com/";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.the-kenny ];
}; };
} }

View File

@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR"; homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ bjornfor the-kenny ]; maintainers = with maintainers; [ bjornfor ];
}; };
} }

View File

@ -43,6 +43,6 @@ mkDerivation rec {
# it's currently unknown which version of the BSD license that is. # it's currently unknown which version of the BSD license that is.
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.linux; # should work on Darwin / macOS too platforms = platforms.linux; # should work on Darwin / macOS too
maintainers = with maintainers; [ bjornfor the-kenny fpletz ]; maintainers = with maintainers; [ bjornfor fpletz ];
}; };
} }

View File

@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
homepage = "http://greatscottgadgets.com/hackrf/"; homepage = "http://greatscottgadgets.com/hackrf/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ sjmackenzie the-kenny ]; maintainers = with maintainers; [ sjmackenzie ];
}; };
} }

View File

@ -39,6 +39,5 @@ stdenv.mkDerivation {
homepage = "https://github.com/EliasOenal/multimon-ng"; homepage = "https://github.com/EliasOenal/multimon-ng";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ the-kenny ];
}; };
} }

View File

@ -1,18 +1,18 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, libminc, bicpl, itk, fftwFloat, gsl }: { stdenv, fetchFromGitHub, cmake, pkgconfig, libminc, bicpl, itk4, fftwFloat, gsl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "EZminc"; pname = "EZminc";
name = "${pname}-unstable-2019-07-25"; name = "${pname}-unstable-2019-03-12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "BIC-MNI"; owner = "BIC-MNI";
repo = pname; repo = pname;
rev = "9591edd5389a5bda2c1f606816c7cdb35c065adf"; rev = "5e3333ee356f914d34d66d33ea8df809c7f7fa51";
sha256 = "02k87qbpx0f48l2lbcjmlqx82py684z3sfi29va5icfg3hjd6j7b"; sha256 = "0wy8cppf5xpgfqvgb3mqs1cjh81n6qzkk6zxv29wvng8nar9wsy4";
}; };
nativeBuildInputs = [ cmake pkgconfig ]; nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ itk libminc bicpl fftwFloat gsl ]; buildInputs = [ itk4 libminc bicpl fftwFloat gsl ];
cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/"
"-DEZMINC_BUILD_TOOLS=TRUE" "-DEZMINC_BUILD_TOOLS=TRUE"

View File

@ -1,35 +1,27 @@
{ stdenv, fetchurl, fetchpatch, openssl, zlib, asciidoc, libxml2, libxslt { stdenv, fetchurl, openssl, zlib, asciidoc, libxml2, libxslt
, docbook_xsl, pkgconfig, luajit , docbook_xsl, pkgconfig, luajit
, coreutils, gnused, groff, docutils , coreutils, gnused, groff, docutils
, gzip, bzip2, xz , gzip, bzip2, lzip, xz, zstd
, python, wrapPython, pygments, markdown , python, wrapPython, pygments, markdown
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cgit"; pname = "cgit";
version = "1.2.1"; version = "1.2.3";
src = fetchurl { src = fetchurl {
url = "https://git.zx2c4.com/cgit/snapshot/${pname}-${version}.tar.xz"; url = "https://git.zx2c4.com/cgit/snapshot/${pname}-${version}.tar.xz";
sha256 = "1gw2j5xc5qdx2hwiwkr8h6kgya7v9d9ff9j32ga1dys0cca7qm1w"; sha256 = "193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss";
}; };
# cgit is tightly coupled with git and needs a git source tree to build. # cgit is tightly coupled with git and needs a git source tree to build.
# IMPORTANT: Remember to check which git version cgit needs on every version # IMPORTANT: Remember to check which git version cgit needs on every version
# bump (look for "GIT_VER" in the top-level Makefile). # bump (look for "GIT_VER" in the top-level Makefile).
gitSrc = fetchurl { gitSrc = fetchurl {
url = "mirror://kernel/software/scm/git/git-2.18.0.tar.xz"; url = "mirror://kernel/software/scm/git/git-2.25.1.tar.xz";
sha256 = "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b"; sha256 = "09lzwa183nblr6l8ib35g2xrjf9wm9yhk3szfvyzkwivdv69c9r2";
}; };
patches = [
(fetchpatch {
name = "prevent-dos-limit-path-length.patch";
url = "https://git.zx2c4.com/cgit/patch/?id=54c407a74a35d4ee9ffae94cc5bc9096c9f7f54a";
sha256 = "1qlbpqsc293lmc9hzwf1j4jr5qlv8cm1r249v3yij5s4wki1595j";
})
];
nativeBuildInputs = [ pkgconfig ] ++ [ python wrapPython ]; nativeBuildInputs = [ pkgconfig ] ++ [ python wrapPython ];
buildInputs = [ buildInputs = [
openssl zlib asciidoc libxml2 libxslt docbook_xsl luajit openssl zlib asciidoc libxml2 libxslt docbook_xsl luajit
@ -39,7 +31,9 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \ sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \
-e 's|"bzip2"|"${bzip2.bin}/bin/bzip2"|' \ -e 's|"bzip2"|"${bzip2.bin}/bin/bzip2"|' \
-e 's|"lzip"|"${lzip}/bin/lzip"|' \
-e 's|"xz"|"${xz.bin}/bin/xz"|' \ -e 's|"xz"|"${xz.bin}/bin/xz"|' \
-e 's|"zstd"|"${zstd}/bin/zstd"|' \
-i ui-snapshot.c -i ui-snapshot.c
substituteInPlace filters/html-converters/man2html \ substituteInPlace filters/html-converters/man2html \

View File

@ -343,6 +343,6 @@ stdenv.mkDerivation {
''; '';
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens globin ]; maintainers = with stdenv.lib.maintainers; [ peti wmertens globin ];
}; };
} }

View File

@ -37,7 +37,7 @@ buildGoPackage rec {
description = "Command-line wrapper for git that makes you better at GitHub"; description = "Command-line wrapper for git that makes you better at GitHub";
license = licenses.mit; license = licenses.mit;
homepage = "https://hub.github.com/"; homepage = "https://hub.github.com/";
maintainers = with maintainers; [ the-kenny globin ]; maintainers = with maintainers; [ globin ];
platforms = with platforms; unix; platforms = with platforms; unix;
}; };
} }

View File

@ -30,7 +30,6 @@ stdenv.mkDerivation {
description = "A patch manager implemented on top of Git"; description = "A patch manager implemented on top of Git";
homepage = "http://procode.org/stgit/"; homepage = "http://procode.org/stgit/";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ the-kenny ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -34,8 +34,6 @@ stdenv.mkDerivation {
homepage = "https://github.com/nirvdrum/svn2git"; homepage = "https://github.com/nirvdrum/svn2git";
description = "Tool for importing Subversion repositories into git"; description = "Tool for importing Subversion repositories into git";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
maintainers = [ stdenv.lib.maintainers.the-kenny ];
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };
} }

View File

@ -2,13 +2,13 @@
buildGoPackage rec { buildGoPackage rec {
pname = "git-lfs"; pname = "git-lfs";
version = "2.10.0"; version = "2.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "git-lfs"; owner = "git-lfs";
repo = "git-lfs"; repo = "git-lfs";
sha256 = "1y5ryk0iz5g5sqaw79ml6fr5kvjgzcah481pk5qmnb2ipb1xlng9"; sha256 = "05qd96bn2cl7gn5qarbcv6scdpj28qiwdfzalamqk5jjiidpmng5";
}; };
goPackagePath = "github.com/git-lfs/git-lfs"; goPackagePath = "github.com/git-lfs/git-lfs";

View File

@ -1,5 +1,6 @@
{ stdenv, buildGoPackage, fetchurl, makeWrapper { stdenv, buildGoPackage, fetchurl, makeWrapper
, git, bash, gzip, openssh, pam , git, bash, gzip, openssh, pam
, fetchpatch
, sqliteSupport ? true , sqliteSupport ? true
, pamSupport ? true , pamSupport ? true
}: }:
@ -8,11 +9,11 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
pname = "gitea"; pname = "gitea";
version = "1.11.4"; version = "1.11.5";
src = fetchurl { src = fetchurl {
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz"; url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
sha256 = "18k6kcdq0ijpzgay2aq1w95qkgfvrn1dgh4cxyj9c4i0pwb3ar7f"; sha256 = "0iqxwg53wjwi4vpq2h6fwmniazsi4cf68fcjrs459qbz4d6x8xa9";
}; };
unpackPhase = '' unpackPhase = ''
@ -22,7 +23,13 @@ buildGoPackage rec {
sourceRoot = "source"; sourceRoot = "source";
patches = [ ./static-root-path.patch ]; patches = [
./static-root-path.patch
(fetchpatch {
url = "https://github.com/go-gitea/gitea/commit/1830d0ed5f4a67e3360ecbb55933b5540b6affce.patch";
sha256 = "163531pcki28qfs56l64vv4xxaavxgksf038da1sn21j5l2jm81i";
})
];
postPatch = '' postPatch = ''
patchShebangs . patchShebangs .

View File

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, utillinux }: { lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, utillinux }:
with lib; with lib;
@ -18,7 +18,7 @@ buildGoPackage rec {
goPackagePath = "github.com/containerd/containerd"; goPackagePath = "github.com/containerd/containerd";
outputs = [ "out" "man" ]; outputs = [ "out" "man" ];
nativeBuildInputs = [ go-md2man utillinux ]; nativeBuildInputs = [ go-md2man installShellFiles utillinux ];
buildInputs = [ btrfs-progs ]; buildInputs = [ btrfs-progs ];
@ -39,14 +39,7 @@ buildGoPackage rec {
done done
make man make man
manRoot="$man/share/man" installManPage man/*.[1-9]
mkdir -p "$manRoot"
for manFile in man/*; do
manName="$(basename "$manFile")" # "docker-build.1"
number="$(echo $manName | rev | cut -d'.' -f1 | rev)"
mkdir -p "$manRoot/man$number"
gzip -c "$manFile" > "$manRoot/man$number/$manName.gz"
done
''; '';
meta = { meta = {

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, removeReferencesTo, pkgconfig { stdenv, lib, fetchFromGitHub, makeWrapper, removeReferencesTo, installShellFiles, pkgconfig
, go-md2man, go, containerd, runc, docker-proxy, tini, libtool , go-md2man, go, containerd, runc, docker-proxy, tini, libtool
, sqlite, iproute, lvm2, systemd , sqlite, iproute, lvm2, systemd
, btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs, git , btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs, git
@ -78,7 +78,7 @@ rec {
sha256 = sha256; sha256 = sha256;
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ installShellFiles pkgconfig ];
buildInputs = [ buildInputs = [
makeWrapper removeReferencesTo go-md2man go libtool makeWrapper removeReferencesTo go-md2man go libtool
] ++ optionals (stdenv.isLinux) [ ] ++ optionals (stdenv.isLinux) [
@ -147,9 +147,9 @@ rec {
--prefix PATH : "$out/libexec/docker:$extraPath" --prefix PATH : "$out/libexec/docker:$extraPath"
# completion (cli) # completion (cli)
install -Dm644 ./components/cli/contrib/completion/bash/docker $out/share/bash-completion/completions/docker installShellCompletion --bash ./components/cli/contrib/completion/bash/docker
install -Dm644 ./components/cli/contrib/completion/fish/docker.fish $out/share/fish/vendor_completions.d/docker.fish installShellCompletion --fish ./components/cli/contrib/completion/fish/docker.fish
install -Dm644 ./components/cli/contrib/completion/zsh/_docker $out/share/zsh/site-functions/_docker installShellCompletion --zsh ./components/cli/contrib/completion/zsh/_docker
# Include contributed man pages (cli) # Include contributed man pages (cli)
# Generate man pages from cobra commands # Generate man pages from cobra commands
@ -163,16 +163,7 @@ rec {
echo "Generate legacy manpages" echo "Generate legacy manpages"
./man/md2man-all.sh -q ./man/md2man-all.sh -q
manRoot="$man/share/man" installManPage man/*/*.[1-9]
mkdir -p "$manRoot"
for manDir in ./man/man?; do
manBase="$(basename "$manDir")" # "man1"
for manFile in "$manDir"/*; do
manName="$(basename "$manFile")" # "docker-build.1"
mkdir -p "$manRoot/$manBase"
gzip -c "$manFile" > "$manRoot/$manBase/$manName.gz"
done
done
''; '';
preFixup = '' preFixup = ''

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv }: { fetchurl, stdenv }:
let let
version = "0.20.0"; version = "0.21.1";
suffix = { suffix = {
x86_64-linux = "x86_64"; x86_64-linux = "x86_64";
@ -15,13 +15,13 @@ let
}; };
firecracker-bin = fetchbin "firecracker" { firecracker-bin = fetchbin "firecracker" {
x86_64-linux = "073pp4q5dnyr126k8k7qdkqclqx18hj12app4gj2is0413gia8z9"; x86_64-linux = "0g4fja3bz1fsyz8vj99199yblkn46ygf33ldwd1ssw8f957vbwnb";
aarch64-linux = "1w5f522imq5dnjrdidnrq7jlwcdrsiz32shv9bh66dhy336sd8qw"; aarch64-linux = "1qyppcxnh7f42fs4px5rvkk6lza57h2sq9naskvqn5zy4vsvq89s";
}; };
jailer-bin = fetchbin "jailer" { jailer-bin = fetchbin "jailer" {
x86_64-linux = "0falk6y9y0pimgav1yg6ydn6wsslz0my01qd9by8ipk3f3776531"; x86_64-linux = "0x89pfmqci9d3i9fi9b9zm94yr2v7pq7kp3drlb952jkdfj0njyk";
aarch64-linux = "1j4x4p4zz1ydvpzbbmxszyqv28qbl4v3hiwdj2f67f1jn1cv9l7z"; aarch64-linux = "03fx9sk88jm23wqm8fraqd1ccfhbqvc310mkfv1f5p2ykhq2ahrk";
}; };
in in

View File

@ -39,7 +39,7 @@ buildGoPackage rec {
installPhase = '' installPhase = ''
install -Dm755 runc $out/bin/runc install -Dm755 runc $out/bin/runc
installManPage man/*/* installManPage man/*/*.[1-9]
''; '';
meta = with lib; { meta = with lib; {

View File

@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
homepage = "https://herbstluftwm.org/"; homepage = "https://herbstluftwm.org/";
license = stdenv.lib.licenses.bsd2; license = stdenv.lib.licenses.bsd2;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -97,7 +97,6 @@ stdenv.mkDerivation {
description = "A tiling window manager for X11"; description = "A tiling window manager for X11";
homepage = "https://github.com/stumpwm/"; homepage = "https://github.com/stumpwm/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ the-kenny ];
platforms = platforms.linux; platforms = platforms.linux;
broken = true; # 2018-04-11 broken = true; # 2018-04-11
}; };

View File

@ -1,7 +1,7 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "1.047"; version = "1.051";
in in
fetchzip { fetchzip {
name = "recursive-${version}"; name = "recursive-${version}";
@ -14,7 +14,7 @@ fetchzip {
unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2 unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
''; '';
sha256 = "0v50m6hiv19f7i4idi987j1six6493y6hj3r9djifg075v9adxx9"; sha256 = "1cqlljbzvrxamswcqx8jbr61q4kji7yil5ic1mh60x4yfsk9x5wn";
meta = with lib; { meta = with lib; {
homepage = "https://recursive.design/"; homepage = "https://recursive.design/";

View File

@ -1,14 +1,14 @@
{ stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }: { stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "matcha"; pname = "matcha-gtk-theme";
version = "2020-04-08"; version = "2020-05-09";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vinceliuice"; owner = "vinceliuice";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0gmdscw9gv19k80ciai6zziih2nccr5snz5na48gr4k5rhq9mzqx"; sha256 = "0fp3ijynyvncy2byjjyba573p81x2pl2hdzv17mg40r8d5mjlkww";
}; };
buildInputs = [ gdk-pixbuf librsvg ]; buildInputs = [ gdk-pixbuf librsvg ];
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A stylish Design theme for GTK based desktop environments"; description = "A stylish flat Design theme for GTK based desktop environments";
homepage = "https://vinceliuice.github.io/theme-matcha"; homepage = "https://vinceliuice.github.io/theme-matcha";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.unix; platforms = platforms.unix;

View File

@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ]; makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
uuid = "arc-menu@linxgem33.com";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Gnome shell extension designed to replace the standard menu found in Gnome 3"; description = "Gnome shell extension designed to replace the standard menu found in Gnome 3";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;

View File

@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
"INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"
]; ];
uuid = "dash-to-dock@micxgx.gmail.com";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A dock for the Gnome Shell"; description = "A dock for the Gnome Shell";
homepage = "https://micheleg.github.io/dash-to-dock/"; homepage = "https://micheleg.github.io/dash-to-dock/";

View File

@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
uuid = "dash-to-panel@jderose9.github.com";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An icon taskbar for Gnome Shell"; description = "An icon taskbar for Gnome Shell";
license = licenses.gpl2; license = licenses.gpl2;

View File

@ -73,6 +73,8 @@ stdenv.mkDerivation rec {
done done
''; '';
uuid = "gsconnect@andyholmes.github.io";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "KDE Connect implementation for Gnome Shell"; description = "KDE Connect implementation for Gnome Shell";
homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki"; homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki";

View File

@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ]; makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
uuid = "no-title-bar@franglais125.gmail.com";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Integrates maximized windows with the top panel"; description = "Integrates maximized windows with the top panel";
homepage = "https://github.com/franglais125/no-title-bar"; homepage = "https://github.com/franglais125/no-title-bar";

View File

@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
mv *.js metadata.json dbus.xml schemas locale "$extensions_dir" mv *.js metadata.json dbus.xml schemas locale "$extensions_dir"
''; '';
uuid = "pidgin@muffinmad";
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension"; homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension";
description = "Make Pidgin IM conversations appear in the Gnome Shell message tray"; description = "Make Pidgin IM conversations appear in the Gnome Shell message tray";

View File

@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ]; makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ];
uuid = "TopIcons@phocean.net";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Brings all icons back to the top panel, so that it's easier to keep track of apps running in the backround"; description = "Brings all icons back to the top panel, so that it's easier to keep track of apps running in the backround";
license = licenses.gpl2; license = licenses.gpl2;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-shell-extension-window-is-ready-remover"; pname = "gnome-shell-extension-window-is-ready-remover";
version = "unstable-2020-03-25"; version = "1.02";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nunofarruca"; owner = "nunofarruca";
repo = "WindowIsReady_Remover"; repo = "WindowIsReady_Remover";
rev = "a9f9b3a060a6ba8eec71332f39dc2569b6e93761"; rev = "v${version}";
sha256 = "0l6cg9kz2plbvsqhgwfajknzw9yv3mg9gxdbsk147gbh2arnp6v3"; sha256 = "1xaf95gn0if44avvkjxyf8fl29y28idn9shnrks0m9k67jcwv8ns";
}; };
uuid = "windowIsReady_Remover@nunofarruca@gmail.com"; uuid = "windowIsReady_Remover@nunofarruca@gmail.com";
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "GNOME Shell extension removing window is ready notification"; description = "GNOME Shell extension removing window is ready notification";
homepage = "https://github.com/nunofarruca/WindowIsReady_Remover"; homepage = "https://github.com/nunofarruca/WindowIsReady_Remover";
license = licenses.unfree; license = licenses.asl20;
}; };
} }

View File

@ -40,7 +40,7 @@ python2Packages.buildPythonApplication rec {
description = "Command line toolkit for working with Arduino hardware"; description = "Command line toolkit for working with Arduino hardware";
homepage = "http://inotool.org/"; homepage = "http://inotool.org/";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ antono the-kenny ]; maintainers = with stdenv.lib.maintainers; [ antono ];
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
homepage = "http://avra.sourceforge.net/"; homepage = "http://avra.sourceforge.net/";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ the-kenny ];
}; };
} }

View File

@ -63,7 +63,7 @@ stdenv.mkDerivation {
meta = { meta = {
homepage = "http://www.call-cc.org/"; homepage = "http://www.call-cc.org/";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ]; maintainers = with stdenv.lib.maintainers; [ corngood ];
platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
description = "A portable compiler for the Scheme programming language"; description = "A portable compiler for the Scheme programming language";
longDescription = '' longDescription = ''

View File

@ -22,6 +22,6 @@ eggDerivation {
homepage = "https://github.com/the-kenny/egg2nix"; homepage = "https://github.com/the-kenny/egg2nix";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ]; maintainers = with stdenv.lib.maintainers; [ corngood ];
}; };
} }

View File

@ -45,7 +45,7 @@ stdenv.mkDerivation {
meta = { meta = {
homepage = "http://www.call-cc.org/"; homepage = "http://www.call-cc.org/";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ]; maintainers = with stdenv.lib.maintainers; [ corngood ];
platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix platforms = stdenv.lib.platforms.linux; # Maybe other non-darwin Unix
description = "A portable compiler for the Scheme programming language"; description = "A portable compiler for the Scheme programming language";
longDescription = '' longDescription = ''

View File

@ -24,6 +24,6 @@ eggDerivation {
homepage = "https://github.com/the-kenny/egg2nix"; homepage = "https://github.com/the-kenny/egg2nix";
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ]; maintainers = with stdenv.lib.maintainers; [ corngood ];
}; };
} }

View File

@ -0,0 +1,285 @@
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
, langC ? true, langCC ? true, langFortran ? false
, langAda ? false
, langObjC ? stdenv.targetPlatform.isDarwin
, langObjCpp ? stdenv.targetPlatform.isDarwin
, langGo ? false
, profiledCompiler ? false
, staticCompiler ? false
, enableShared ? true
, enableLTO ? true
, texinfo ? null
, perl ? null # optional, for texi2pod (then pod2man)
, gmp, mpfr, libmpc, gettext, which
, libelf # optional, for link-time optimizations (LTO)
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null
, gnatboot ? null
, enableMultilib ? false
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
, name ? "gcc"
, libcCross ? null
, threadsCross ? null # for MinGW
, crossStageStatic ? false
, # Strip kills static libs of other archs (hence no cross)
stripped ? stdenv.hostPlatform == stdenv.buildPlatform
&& stdenv.targetPlatform == stdenv.hostPlatform
, gnused ? null
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
, buildPackages
}:
# LTO needs libelf and zlib.
assert libelf != null -> zlib != null;
# Make sure we get GNU sed.
assert stdenv.hostPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
# threadsCross is just for MinGW
assert threadsCross != null -> stdenv.targetPlatform.isWindows;
with stdenv.lib;
with builtins;
let majorVersion = "10";
version = "${majorVersion}.1.0";
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
patches =
optional (targetPlatform != hostPlatform) ../libstdc++-target.patch
++ optional noSysDirs ../no-sys-dirs.patch
/* ++ optional (hostPlatform != buildPlatform) (fetchpatch { # XXX: Refine when this should be applied
url = "https://git.busybox.net/buildroot/plain/package/gcc/${version}/0900-remove-selftests.patch?id=11271540bfe6adafbc133caf6b5b902a816f5f02";
sha256 = ""; # TODO: uncomment and check hash when available.
}) */
++ optional langAda ../gnat-cflags.patch
++ optional langFortran ../gfortran-driving.patch
++ optional (targetPlatform.libc == "musl" && targetPlatform.isPower) ../ppc-musl.patch
++ optional (!crossStageStatic && targetPlatform.isMinGW) (fetchpatch {
url = "https://raw.githubusercontent.com/lhmouse/MINGW-packages/${import ../common/mfcgthreads-patches-repo.nix}/mingw-w64-gcc-git/9000-gcc-${majorVersion}-branch-Added-mcf-thread-model-support-from-mcfgthread.patch";
sha256 = "1in5kvcknlpi9z1vvjw6jfmwy8k12zvbqlqfnq84qpm99r0rh00a";
});
/* Cross-gcc settings (build == host != target) */
crossMingw = targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt";
stageNameAddon = if crossStageStatic then "stage-static" else "stage-final";
crossNameAddon = optionalString (targetPlatform != hostPlatform) "${targetPlatform.config}-${stageNameAddon}-";
in
stdenv.mkDerivation ({
pname = "${crossNameAddon}${name}${if stripped then "" else "-debug"}";
inherit version;
builder = ../builder.sh;
src = fetchurl {
url = "mirror://gcc/releases/gcc-${version}/gcc-${version}.tar.xz";
sha256 = "b6898a23844b656f1b68691c5c012036c2e694ac4b53a8918d4712ad876e7ea2";
};
inherit patches;
outputs = [ "out" "lib" "man" "info" ];
setOutputFlags = false;
NIX_NO_SELF_RPATH = true;
libc_dev = stdenv.cc.libc_dev;
hardeningDisable = [ "format" "pie" ];
# This should kill all the stdinc frameworks that gcc and friends like to
# insert into default search paths.
prePatch = stdenv.lib.optionalString hostPlatform.isDarwin ''
substituteInPlace gcc/config/darwin-c.c \
--replace 'if (stdinc)' 'if (0)'
substituteInPlace libgcc/config/t-slibgcc-darwin \
--replace "-install_name @shlib_slibdir@/\$(SHLIB_INSTALL_NAME)" "-install_name $lib/lib/\$(SHLIB_INSTALL_NAME)"
substituteInPlace libgfortran/configure \
--replace "-install_name \\\$rpath/\\\$soname" "-install_name $lib/lib/\\\$soname"
'';
postPatch = ''
configureScripts=$(find . -name configure)
for configureScript in $configureScripts; do
patchShebangs $configureScript
done
'' + (
if targetPlatform != hostPlatform || stdenv.cc.libc != null then
# On NixOS, use the right path to the dynamic linker instead of
# `/lib/ld*.so'.
let
libc = if libcCross != null then libcCross else stdenv.cc.libc;
in
(
'' echo "fixing the \`GLIBC_DYNAMIC_LINKER', \`UCLIBC_DYNAMIC_LINKER', and \`MUSL_DYNAMIC_LINKER' macros..."
for header in "gcc/config/"*-gnu.h "gcc/config/"*"/"*.h
do
grep -q _DYNAMIC_LINKER "$header" || continue
echo " fixing \`$header'..."
sed -i "$header" \
-e 's|define[[:blank:]]*\([UCG]\+\)LIBC_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define \1LIBC_DYNAMIC_LINKER\2 "${libc.out}\3"|g' \
-e 's|define[[:blank:]]*MUSL_DYNAMIC_LINKER\([0-9]*\)[[:blank:]]"\([^\"]\+\)"$|define MUSL_DYNAMIC_LINKER\1 "${libc.out}\2"|g'
done
''
+ stdenv.lib.optionalString (targetPlatform.libc == "musl")
''
sed -i gcc/config/linux.h -e '1i#undef LOCAL_INCLUDE_DIR'
''
)
else "")
+ stdenv.lib.optionalString targetPlatform.isAvr ''
makeFlagsArray+=(
'LIMITS_H_TEST=false'
)
'';
inherit noSysDirs staticCompiler crossStageStatic
libcCross crossMingw;
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl);
# For building runtime libs
depsBuildTarget =
if hostPlatform == buildPlatform then [
targetPackages.stdenv.cc.bintools # newly-built gcc will be used
] else assert targetPlatform == hostPlatform; [ # build != host == target
stdenv.cc
];
buildInputs = [
gmp mpfr libmpc libelf
targetPackages.stdenv.cc.bintools # For linking code at run-time
] ++ (optional (isl != null) isl)
++ (optional (zlib != null) zlib)
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional langAda gnatboot)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
preConfigure = import ../common/pre-configure.nix {
inherit (stdenv) lib;
inherit version hostPlatform gnatboot langAda langGo;
};
dontDisableStatic = true;
# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ] ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
configureFlags = import ../common/configure-flags.nix {
inherit
stdenv
targetPackages
crossStageStatic libcCross
version
gmp mpfr libmpc libelf isl
enableLTO
enableMultilib
enablePlugin
enableShared
langC
langCC
langFortran
langAda
langGo
langObjC
langObjCpp
;
};
targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
buildFlags = optional
(targetPlatform == hostPlatform && hostPlatform == buildPlatform)
(if profiledCompiler then "profiledbootstrap" else "bootstrap");
dontStrip = !stripped;
installTargets = optional stripped "install-strip";
# https://gcc.gnu.org/install/specific.html#x86-64-x-solaris210
${if hostPlatform.system == "x86_64-solaris" then "CC" else null} = "gcc -m64";
# Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find the
# library headers and binaries, regarless of the language being compiled.
#
# Likewise, the LTO code doesn't find zlib.
#
# Cross-compiling, we need gcc not to read ./specs in order to build the g++
# compiler (after the specs for the cross-gcc are created). Having
# LIBRARY_PATH= makes gcc read the specs from ., and the build breaks.
CPATH = optionals (targetPlatform == hostPlatform) (makeSearchPathOutput "dev" "include" ([]
++ optional (zlib != null) zlib
));
LIBRARY_PATH = optionals (targetPlatform == hostPlatform) (makeLibraryPath (optional (zlib != null) zlib));
inherit
(import ../common/extra-target-flags.nix {
inherit stdenv crossStageStatic libcCross threadsCross;
})
EXTRA_TARGET_FLAGS
EXTRA_TARGET_LDFLAGS
;
passthru = {
inherit langC langCC langObjC langObjCpp langAda langFortran langGo version;
isGNU = true;
};
enableParallelBuilding = true;
inherit enableMultilib;
inherit (stdenv) is64bit;
meta = {
homepage = "https://gcc.gnu.org/";
license = stdenv.lib.licenses.gpl3Plus; # runtime support libraries are typically LGPLv3+
description = "GNU Compiler Collection, version ${version}"
+ (if stripped then "" else " (with debugging info)");
longDescription = ''
The GNU Compiler Collection includes compiler front ends for C, C++,
Objective-C, Fortran, OpenMP for C/C++/Fortran, and Ada, as well as
libraries for these languages (libstdc++, libgomp,...).
GCC development is a part of the GNU Project, aiming to improve the
compiler used in the GNU system including the GNU/Linux variant.
'';
maintainers = with stdenv.lib.maintainers; [ synthetica ];
platforms =
stdenv.lib.platforms.linux ++
stdenv.lib.platforms.freebsd ++
stdenv.lib.platforms.illumos ++
stdenv.lib.platforms.darwin;
};
}
// optionalAttrs (targetPlatform != hostPlatform && targetPlatform.libc == "msvcrt" && crossStageStatic) {
makeFlags = [ "all-gcc" "all-target-libgcc" ];
installTargets = "install-gcc install-target-libgcc";
}
// optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
)

View File

@ -25,6 +25,5 @@ stdenv.mkDerivation {
homepage = "https://www.gnu.org/software/gforth/"; homepage = "https://www.gnu.org/software/gforth/";
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
description = "An open-source COBOL compiler"; description = "An open-source COBOL compiler";
homepage = "https://sourceforge.net/projects/open-cobol/"; homepage = "https://sourceforge.net/projects/open-cobol/";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ ericsagnes the-kenny ]; maintainers = with maintainers; [ ericsagnes ];
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
}; };
} }

View File

@ -1,15 +1,62 @@
{ stdenvNoCC, fetchurl, qemu, expect, writeScript, ncurses }: { stdenvNoCC, fetchurl, qemu, expect, writeScript, writeScriptBin, ncurses, bash, coreutils }:
let let
# We execute the installer in qemu-user, because otherwise the # We execute all OpenWatcom binaries in qemu-user, because otherwise
# installer fails to open itself due to a failed stat() call. This # some binaries (most notably the installer itself and wlib) fail to
# seems like an incompatibility of new Linux kernels to run this # use the stat() systemcall. The failure mode is that it returns
# ancient binary. # EOVERFLOW for completely legitimate requests. This seems like an
performInstall = writeScript "perform-ow-install" '' # incompatibility of new Linux kernels to run this ancient binary.
wrapLegacyBinary = writeScript "wrapLegacyBinary" ''
#!${bash}/bin/bash
set -eu
if [ $# -ne 2 ]; then
echo "Usage: $0 unwrapped-binary wrapped-binary"
exit 1
fi
IN="$(${coreutils}/bin/realpath $1)"
OUT="$2"
ARGV0="$(basename $2)"
cat > "$OUT" <<EOF
#!${bash}/bin/bash
TERMINFO=${ncurses}/share/terminfo TERM=vt100 exec ${qemu}/bin/qemu-i386 -0 $ARGV0 $IN "\$@"
EOF
chmod +x "$OUT"
'';
wrapInPlace = writeScriptBin "wrapInPlace" ''
#!${bash}/bin/bash
set -eu
if [ $# -ne 1 ]; then
echo "Usage: $0 unwrapped-binary"
exit 1
fi
TARGET="$1"
mv "$TARGET" "$TARGET-unwrapped"
chmod +x "$TARGET-unwrapped"
exec ${wrapLegacyBinary} "$TARGET-unwrapped" "$TARGET"
'';
# Do a scripted installation of OpenWatcom with its original installer.
#
# If maintaining this expect script turns out to be too much of a
# hassle, we can switch to just using `unzip' on the installer and
# the correct file permissions manually.
performInstall = writeScriptBin "performInstall" ''
#!${expect}/bin/expect -f #!${expect}/bin/expect -f
spawn env TERMINFO=${ncurses}/share/terminfo TERM=vt100 ${qemu}/bin/qemu-i386 [lindex $argv 0] spawn [lindex $argv 0]
# Wait for button saying "I agree" with escape sequences. # Wait for button saying "I agree" with escape sequences.
expect "gree" expect "gree"
@ -46,15 +93,23 @@ stdenvNoCC.mkDerivation rec {
sha256 = "1wzkvc6ija0cjj5mcyjng5b7hnnc5axidz030c0jh05pgvi4nj7p"; sha256 = "1wzkvc6ija0cjj5mcyjng5b7hnnc5axidz030c0jh05pgvi4nj7p";
}; };
nativeBuildInputs = [ wrapInPlace performInstall ];
dontUnpack = true; dontUnpack = true;
dontBuild = true;
dontConfigure = true; dontConfigure = true;
installPhase = '' buildPhase = ''
cp ${src} install-bin cp ${src} install-bin-unwrapped
chmod +x install-bin wrapInPlace install-bin-unwrapped
'';
${performInstall} install-bin installPhase = ''
performInstall ./install-bin-unwrapped
for e in $(find $out/binl -type f -executable); do
echo "Wrapping $e"
wrapInPlace "$e"
done
''; '';
meta = with stdenvNoCC.lib; { meta = with stdenvNoCC.lib; {

View File

@ -73,6 +73,6 @@ in
license = licenses.epl10; license = licenses.epl10;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ the-kenny havvy couchemar ankhers filalex77 ]; maintainers = with maintainers; [ havvy couchemar ankhers filalex77 ];
}; };
}) })

View File

@ -122,7 +122,7 @@ in stdenv.mkDerivation ({
''; '';
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ the-kenny sjmackenzie couchemar gleber ]; maintainers = with maintainers; [ sjmackenzie couchemar gleber ];
license = licenses.asl20; license = licenses.asl20;
} // meta); } // meta);
} }

View File

@ -113,7 +113,9 @@ let
unwrapped = php; unwrapped = php;
tests = nixosTests.php; tests = nixosTests.php;
inherit (php-packages) packages extensions; inherit (php-packages) packages extensions;
inherit (php) meta; meta = php.meta // {
outputsToInstall = [ "out" ];
};
}; };
paths = [ php ]; paths = [ php ];
postBuild = '' postBuild = ''

View File

@ -6,7 +6,6 @@ stdenv.mkDerivation {
meta = { meta = {
homepage = "http://s48.org/"; homepage = "http://s48.org/";
description = "Scheme 48"; description = "Scheme 48";
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
platforms = with stdenv.lib.platforms; unix; platforms = with stdenv.lib.platforms; unix;
license = stdenv.lib.licenses.bsd3; license = stdenv.lib.licenses.bsd3;
}; };

View File

@ -1,14 +1,15 @@
{ stdenv, fetchFromGitHub, cmake, libX11, libuuid, xz, vtk, darwin }: { stdenv, fetchFromGitHub, cmake, makeWrapper
, pkgconfig, libX11, libuuid, xz, vtk, Cocoa }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "itk"; pname = "itk";
version = "5.0.1"; version = "5.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "InsightSoftwareConsortium"; owner = "InsightSoftwareConsortium";
repo = "ITK"; repo = "ITK";
rev = "v${version}"; rev = "v${version}";
sha256 = "0dcjsn5frjnrphfgw8alnd2ahrvicpx2a2ngb5ixaa9anaicz9z1"; sha256 = "0rvkp00xj1js60021jv2ydyl74wvbyb205gm9d7hf8gy2q456hgl";
}; };
cmakeFlags = [ cmakeFlags = [
@ -23,12 +24,16 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
nativeBuildInputs = [ cmake xz ]; nativeBuildInputs = [ cmake xz makeWrapper ];
buildInputs = [ libX11 libuuid vtk ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]; buildInputs = [ libX11 libuuid vtk ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
postInstall = ''
wrapProgram "$out/bin/h5c++" --prefix PATH ":" "${pkgconfig}/bin"
'';
meta = { meta = {
description = "Insight Segmentation and Registration Toolkit"; description = "Insight Segmentation and Registration Toolkit";
homepage = "http://www.itk.org/"; homepage = "https://www.itk.org/";
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
maintainers = with stdenv.lib.maintainers; [viric]; maintainers = with stdenv.lib.maintainers; [viric];
}; };

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, intltool }:
stdenv.mkDerivation rec {
pname = "pxlib";
version = "0.6.8";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
sha256 = "1yafwz4z5h30hqvk51wpgbjlmq9f2z2znvfim87ydrfrqfjmi6sz";
};
nativeBuildInputs = [ intltool ];
meta = with stdenv.lib; {
description = "Library to read and write Paradox files";
homepage = "http://pxlib.sourceforge.net/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.winpat ];
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, itk, python3 }: { stdenv, fetchFromGitHub, fetchpatch, cmake, itk, python3 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "elastix"; pname = "elastix";
@ -11,10 +11,24 @@ stdenv.mkDerivation rec {
sha256 = "1zrl7rz4lwsx88b2shnl985f3a97lmp4ksbd437h9y0hfjq8l0lj"; sha256 = "1zrl7rz4lwsx88b2shnl985f3a97lmp4ksbd437h9y0hfjq8l0lj";
}; };
patches = [
(fetchpatch {
name = "itk-5.1-compat.patch";
url = "https://github.com/SuperElastix/elastix/commit/402e9a26f22f805b8f2db00c00e59f75fa1783ad.patch";
sha256 = "1il6gc1lgy78i0w6gkkppr61nh6g0yjspbfk19hcz20778m5jhz9";
})
(fetchpatch {
name = "fix-osx-build.patch";
url = "https://github.com/SuperElastix/elastix/commit/52e1dc3928046f9fbb85d4b2ecd0d5175fa9695d.patch";
sha256 = "1hf7kgx1jv497pf0x5wj79sy1wncxcvhrkix9w086lcr8zwxvn9q";
})
];
nativeBuildInputs = [ cmake python3 ]; nativeBuildInputs = [ cmake python3 ];
buildInputs = [ itk ]; buildInputs = [ itk ];
doCheck = true; doCheck = !stdenv.isDarwin; # usual dynamic linker issues
preCheck = " preCheck = "
export LD_LIBRARY_PATH=$(pwd)/bin export LD_LIBRARY_PATH=$(pwd)/bin
@ -24,7 +38,7 @@ stdenv.mkDerivation rec {
homepage = "http://elastix.isi.uu.nl/"; homepage = "http://elastix.isi.uu.nl/";
description = "Image registration toolkit based on ITK"; description = "Image registration toolkit based on ITK";
maintainers = with maintainers; [ bcdarwin ]; maintainers = with maintainers; [ bcdarwin ];
platforms = platforms.linux; platforms = platforms.x86_64; # libitkpng linker issues with ITK 5.1
license = licenses.asl20; license = licenses.asl20;
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, cmake, git, swig, lua, itk, tcl, tk }: { stdenv, fetchFromGitHub, cmake, git, swig, lua, itk4, tcl, tk }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "simpleitk"; pname = "simpleitk";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ cmake git swig ]; nativeBuildInputs = [ cmake git swig ];
buildInputs = [ lua itk ]; buildInputs = [ lua itk4 ];
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_CXX_FLAGS='-Wno-attributes'" ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_CXX_FLAGS='-Wno-attributes'" ];

View File

@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
++ optional enablePython [ "-DVTK_WRAP_PYTHON:BOOL=ON" ]; ++ optional enablePython [ "-DVTK_WRAP_PYTHON:BOOL=ON" ];
postPatch = stdenv.lib.optionalString stdenv.isDarwin '' postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-7.0|' ./Parallel/Core/CMakeLists.txt sed -i 's|COMMAND vtkHashSource|COMMAND "DYLD_LIBRARY_PATH=''${VTK_BINARY_DIR}/lib" ''${VTK_BINARY_DIR}/bin/vtkHashSource-${majorVersion}|' ./Parallel/Core/CMakeLists.txt
sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/' ./ThirdParty/libxml2/vtklibxml2/xmlschemas.c
sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c
''; '';

View File

@ -1,13 +1,21 @@
{ stdenv, buildPythonPackage, fetchPypi, flask, events { stdenv
, pymongo, simplejson, cerberus, werkzeug }: , buildPythonPackage
, fetchPypi
, flask
, events
, pymongo
, simplejson
, cerberus
, setuptools
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "Eve"; pname = "Eve";
version = "1.0"; version = "1.1";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "ebde455e631b8eb9d38783eedfbd7e416b4477cce3d9988880eb3e477256a11e"; sha256 = "1a7i7x77p5wjqfzmgn30m9sz2mcz06k4qf5af6a45109lafcq0bv";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -16,13 +24,10 @@ buildPythonPackage rec {
flask flask
pymongo pymongo
simplejson simplejson
werkzeug setuptools
]; ];
postPatch = '' pythonImportsCheck = [ "eve" ];
substituteInPlace setup.py \
--replace "werkzeug==0.15.4" "werkzeug"
'';
# tests call a running mongodb instance # tests call a running mongodb instance
doCheck = false; doCheck = false;

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "Flask-WTF"; pname = "Flask-WTF";
version = "0.14.2"; version = "0.14.3";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0dncc5as2k61b28k8kal5yh3prmv7zya1jz7kvci7ximzmfda52x"; sha256 = "086pvg2x69n0nczcq7frknfjd8am1zdy8qqpva1sanwb02hf65yl";
}; };
propagatedBuildInputs = [ flask wtforms nose ]; propagatedBuildInputs = [ flask wtforms nose ];

View File

@ -2,6 +2,7 @@
, buildPythonPackage , buildPythonPackage
, fetchFromGitHub , fetchFromGitHub
, pytest , pytest
, matplotlib
, mock , mock
, pytorch , pytorch
, pynvml , pynvml
@ -11,24 +12,24 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "ignite"; pname = "ignite";
version = "0.2.1"; version = "0.3.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pytorch"; owner = "pytorch";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "15k6dd11yxn4923llcpmw4srl1by5ljhh7aw5pnkn4n4qpywh6cm"; sha256 = "0i863kxi1r1hspj19lhn6r8256vdazjcyvis0s33fgzrf7kxi08x";
}; };
checkInputs = [ pytest mock ]; checkInputs = [ pytest matplotlib mock ];
checkPhase = ''
pytest -k 'not visdom and not tensorboard and not mlflow and not polyaxon' tests/
'';
# these packages are not currently in nixpkgs
propagatedBuildInputs = [ pytorch scikitlearn tqdm pynvml ]; propagatedBuildInputs = [ pytorch scikitlearn tqdm pynvml ];
# Some packages are not in NixPkgs; other tests try to build distributed
# models, which doesn't work in the sandbox.
checkPhase = ''
pytest -k 'not visdom and not tensorboard and not mlflow and not polyaxon and not conftest and not engines and not distrib_' tests/
'';
meta = with lib; { meta = with lib; {
description = "High-level training library for PyTorch"; description = "High-level training library for PyTorch";
homepage = "https://pytorch.org/ignite"; homepage = "https://pytorch.org/ignite";

View File

@ -22,6 +22,5 @@ buildPythonPackage rec {
description = "Application that generates RSS feeds for podcast episodes from local audio files"; description = "Application that generates RSS feeds for podcast episodes from local audio files";
homepage = "https://github.com/jakubroztocil/podcats"; homepage = "https://github.com/jakubroztocil/podcats";
license = lib.licenses.bsd2; license = lib.licenses.bsd2;
maintainers = with lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -2,11 +2,11 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyroute2"; pname = "pyroute2";
version = "0.5.11"; version = "0.5.12";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1wjamijkg2pp9mgj5k4qw3jl2i3ajikkps0zp5c52wcxm3qmks85"; sha256 = "1lry042qsamdzyw6zpmdld0v14g6cl05jsr9qdb7h5wnahf80mq1";
}; };
# requires root priviledges # requires root priviledges

View File

@ -1,23 +1,25 @@
{ stdenv, fetchurl, fetchgit, buildPythonPackage, python, pythonOlder, { stdenv, lib, fetchFromGitHub, fetchpatch, buildPythonPackage, python,
cudaSupport ? false, cudatoolkit ? null, cudnn ? null, nccl ? null, magma ? null, cudaSupport ? false, cudatoolkit ? null, cudnn ? null, nccl ? null, magma ? null,
mklSupport ? false, mkl ? null, mklDnnSupport ? true, useSystemNccl ? true,
openMPISupport ? false, openmpi ? null, openMPISupport ? false, openmpi ? null,
buildNamedTensor ? false, buildDocs ? false,
buildBinaries ? false,
cudaArchList ? null, cudaArchList ? null,
fetchFromGitHub, lib, numpy, pyyaml, cffi, click, typing, cmake, hypothesis, numactl, numpy, pyyaml, cffi, click, typing, cmake, oneDNN, hypothesis, numactl, psutil,
linkFarm, symlinkJoin, linkFarm, symlinkJoin,
# virtual pkg that consistently instantiates blas across nixpkgs
# See https://github.com/NixOS/nixpkgs/pull/83888
blas,
# ninja (https://ninja-build.org) must be available to run C++ extensions tests, # ninja (https://ninja-build.org) must be available to run C++ extensions tests,
ninja, ninja,
# dependencies for torch.utils.tensorboard # dependencies for torch.utils.tensorboard
tensorboardSupport ? true, pillow, six, future, tensorflow-tensorboard, pillow, six, future, tensorflow-tensorboard, protobuf,
utillinux, which, isPy3k }: utillinux, which, isPy3k }:
assert !openMPISupport || openmpi != null; assert !openMPISupport || openmpi != null;
assert !tensorboardSupport || tensorflow-tensorboard != null;
# assert that everything needed for cuda is present and that the correct cuda versions are used # assert that everything needed for cuda is present and that the correct cuda versions are used
assert !cudaSupport || cudatoolkit != null; assert !cudaSupport || cudatoolkit != null;
@ -28,17 +30,11 @@ assert !cudaSupport || (let majorIs = lib.versions.major cudatoolkit.version;
let let
hasDependency = dep: pkg: lib.lists.any (inp: inp == dep) pkg.buildInputs; hasDependency = dep: pkg: lib.lists.any (inp: inp == dep) pkg.buildInputs;
matchesCudatoolkit = hasDependency cudatoolkit; matchesCudatoolkit = hasDependency cudatoolkit;
matchesMkl = hasDependency mkl;
in in
# confirm that cudatoolkits are sync'd across dependencies # confirm that cudatoolkits are sync'd across dependencies
assert !(openMPISupport && cudaSupport) || matchesCudatoolkit openmpi; assert !(openMPISupport && cudaSupport) || matchesCudatoolkit openmpi;
assert !cudaSupport || matchesCudatoolkit magma; assert !cudaSupport || matchesCudatoolkit magma;
# confirm that mkl is sync'd across dependencies
assert !mklSupport || mkl != null;
assert !(mklSupport && cudaSupport) || matchesMkl magma;
assert !mklSupport || (numpy.blasImplementation == "mkl" && numpy.blas == mkl);
let let
cudatoolkit_joined = symlinkJoin { cudatoolkit_joined = symlinkJoin {
name = "${cudatoolkit.name}-unsplit"; name = "${cudatoolkit.name}-unsplit";
@ -108,7 +104,7 @@ let
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH "; "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH ";
in buildPythonPackage rec { in buildPythonPackage rec {
version = "1.2.0"; version = "1.4.1";
pname = "pytorch"; pname = "pytorch";
disabled = !isPy3k; disabled = !isPy3k;
@ -122,11 +118,9 @@ in buildPythonPackage rec {
repo = "pytorch"; repo = "pytorch";
rev = "v${version}"; rev = "v${version}";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "1biyq2p48chakf2xw7hazzqmr5ps1nx475ql8vkmxjg5zaa071cz"; sha256 = "1aa1il4f98pswfj20cv27yfb91l1jcq4515i7mvq7sh5647yzwms";
}; };
dontUseCmakeConfigure = true;
preConfigure = lib.optionalString cudaSupport '' preConfigure = lib.optionalString cudaSupport ''
export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}" export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}"
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++ export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
@ -134,6 +128,44 @@ in buildPythonPackage rec {
export CUDNN_INCLUDE_DIR=${cudnn}/include export CUDNN_INCLUDE_DIR=${cudnn}/include
''; '';
patches = [
# Prevents a race condition which would be introduced by pull 30333.
# See https://github.com/pytorch/pytorch/issues/32277
# Can be removed >1.5.0.
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/pytorch/pytorch/pull/30332.patch";
sha256 = "1v9dwbhz3rdxcx6sz8y8j9n3bj6nqs78b1r8yg89yc15n6l4cqx2";
})
# Fixes errors with gcc-9 compilation. Cherry-picked on advice from ezyang.
# See https://github.com/pytorch/pytorch/issues/32277
# Can be removed >1.5.0.
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/pytorch/pytorch/pull/30333.patch";
sha256 = "139413fl37h2fnil0cv99a67mqqnsh02k74b92by1qyr6pcfyg3q";
})
];
# Use pytorch's custom configurations
dontUseCmakeConfigure = true;
BUILD_NAMEDTENSOR = true;
BUILD_DOCS = buildDocs;
USE_MKL = blas.implementation == "mkl";
# Unlike MKL, MKLDNN is FOSS, so we enable support for it by default. Note
# that this was renamed to dnnl and then renamed again to oneDNN upstream, but
# pytorch still calls it by the old name mkldnn.
USE_MKLDNN = mklDnnSupport;
USE_MKLDNN_CBLAS = mklDnnSupport;
preBuild = ''
export MAX_JOBS=$NIX_BUILD_CORES
${python.interpreter} setup.py build --cmake-only
${cmake}/bin/cmake build
'';
preFixup = '' preFixup = ''
function join_by { local IFS="$1"; shift; echo "$*"; } function join_by { local IFS="$1"; shift; echo "$*"; }
function strip2 { function strip2 {
@ -155,8 +187,7 @@ in buildPythonPackage rec {
PYTORCH_BUILD_VERSION = version; PYTORCH_BUILD_VERSION = version;
PYTORCH_BUILD_NUMBER = 0; PYTORCH_BUILD_NUMBER = 0;
BUILD_NAMEDTENSOR = buildNamedTensor; # experimental feature USE_SYSTEM_NCCL=useSystemNccl; # don't build pytorch's third_party NCCL
USE_SYSTEM_NCCL=true; # don't build pytorch's third_party NCCL
# Suppress a weird warning in mkl-dnn, part of ideep in pytorch # Suppress a weird warning in mkl-dnn, part of ideep in pytorch
# (upstream seems to have fixed this in the wrong place?) # (upstream seems to have fixed this in the wrong place?)
@ -165,7 +196,7 @@ in buildPythonPackage rec {
# #
# Also of interest: pytorch ignores CXXFLAGS uses CFLAGS for both C and C++: # Also of interest: pytorch ignores CXXFLAGS uses CFLAGS for both C and C++:
# https://github.com/pytorch/pytorch/blob/v1.2.0/setup.py#L17 # https://github.com/pytorch/pytorch/blob/v1.2.0/setup.py#L17
NIX_CFLAGS_COMPILE = lib.optionals (numpy.blas == mkl) [ "-Wno-error=array-bounds" ]; NIX_CFLAGS_COMPILE = lib.optionals (blas.implementation == "mkl") [ "-Wno-error=array-bounds" ];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -174,9 +205,8 @@ in buildPythonPackage rec {
ninja ninja
] ++ lib.optionals cudaSupport [ cudatoolkit_joined ]; ] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
buildInputs = [ buildInputs = [ blas blas.provider oneDNN ]
numpy.blas ++ lib.optionals cudaSupport [ cudnn magma nccl ]
] ++ lib.optionals cudaSupport [ cudnn magma nccl ]
++ lib.optionals stdenv.isLinux [ numactl ]; ++ lib.optionals stdenv.isLinux [ numactl ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -184,23 +214,37 @@ in buildPythonPackage rec {
click click
numpy numpy
pyyaml pyyaml
] ++ lib.optionals openMPISupport [ openmpi ] # the following are required for tensorboard support
++ lib.optional (pythonOlder "3.5") typing pillow six future tensorflow-tensorboard protobuf
++ lib.optionals tensorboardSupport [pillow six future tensorflow-tensorboard]; ] ++ lib.optionals openMPISupport [ openmpi ];
checkInputs = [ hypothesis ninja ]; checkInputs = [ hypothesis ninja psutil ];
doCheck = false; # tests take a long time for channel release, so doCheck should be overridden only when developing # Tests take a long time and may be flaky, so just sanity-check imports
checkPhase = "${cudaStubEnv}python test/run_test.py" doCheck = false;
+ " --exclude utils" # utils requires git, which is not allowed in the check phase pythonImportsCheck = [
"torch"
];
# Other tests which have been disabled in previous nix derivations of pytorch. checkPhase = with lib.versions; with lib.strings; concatStringsSep " " [
# --exclude dataloader sparse torch utils thd_distributed distributed cpp_extensions cudaStubEnv
; "${python.interpreter} test/run_test.py"
"--exclude"
(concatStringsSep " " [
"utils" # utils requires git, which is not allowed in the check phase
# "dataloader" # psutils correctly finds and triggers multiprocessing, but is too sandboxed to run -- resulting in numerous errors
# ^^^^^^^^^^^^ NOTE: while test_dataloader does return errors, these are acceptable errors and do not interfere with the build
# tensorboard has acceptable failures for pytorch 1.3.x due to dependencies on tensorboard-plugins
(optionalString (majorMinor version == "1.3" ) "tensorboard")
])
];
postInstall = '' postInstall = ''
mkdir $dev mkdir $dev
cp -r $out/${python.sitePackages}/torch/lib $dev/lib cp -r $out/${python.sitePackages}/torch/lib $dev/lib
cp -r $out/${python.sitePackages}/torch/include $dev/include cp -r $out/${python.sitePackages}/torch/include $dev/include
cp -r $out/${python.sitePackages}/torch/share $dev/share
''; '';
postFixup = stdenv.lib.optionalString stdenv.isDarwin '' postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
@ -233,6 +277,6 @@ in buildPythonPackage rec {
homepage = "https://pytorch.org/"; homepage = "https://pytorch.org/";
license = lib.licenses.bsd3; license = lib.licenses.bsd3;
platforms = with lib.platforms; linux ++ lib.optionals (!cudaSupport) darwin; platforms = with lib.platforms; linux ++ lib.optionals (!cudaSupport) darwin;
maintainers = with lib.maintainers; [ teh thoughtpolice stites tscholak ]; # tscholak esp. for darwin-related builds maintainers = with lib.maintainers; [ teh thoughtpolice tscholak ]; # tscholak esp. for darwin-related builds
}; };
} }

View File

@ -16,6 +16,5 @@ buildPythonPackage rec {
description = "The official Todoist Python API library"; description = "The official Todoist Python API library";
homepage = "https://todoist-python.readthedocs.io/en/latest/"; homepage = "https://todoist-python.readthedocs.io/en/latest/";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -48,6 +48,5 @@ stdenv.mkDerivation rec {
description = "Project automation for Clojure"; description = "Project automation for Clojure";
license = stdenv.lib.licenses.epl10; license = stdenv.lib.licenses.epl10;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -36,7 +36,6 @@ stdenv.mkDerivation {
''; '';
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.the-kenny ];
license = stdenv.lib.licenses.asl20; license = stdenv.lib.licenses.asl20;
}; };
} }

View File

@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
license = licenses.gpl2; license = licenses.gpl2;
description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader"; description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
homepage = "http://dfu-programmer.sourceforge.net/"; homepage = "http://dfu-programmer.sourceforge.net/";
maintainers = [ maintainers.the-kenny ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
homepage = "https://sourceforge.net/projects/stm32flash/"; homepage = "https://sourceforge.net/projects/stm32flash/";
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
platforms = platforms.all; # Should work on all platforms platforms = platforms.all; # Should work on all platforms
maintainers = with maintainers; [ the-kenny elitak ]; maintainers = with maintainers; [ elitak ];
}; };
} }

View File

@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
description = "Firmware uploader for the Teensy microcontroller boards"; description = "Firmware uploader for the Teensy microcontroller boards";
homepage = "https://www.pjrc.com/teensy/"; homepage = "https://www.pjrc.com/teensy/";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = with maintainers; [ the-kenny ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, pkgconfig, perl, perlPackages, pxlib }:
stdenv.mkDerivation rec {
pname = "pxview";
version = "0.2.5";
src = fetchurl {
url = "mirror://sourceforge/pxlib/${pname}_${version}.orig.tar.gz";
sha256 = "1kpdqs6lvnyj02v9fbz1s427yqhgrxp7zw63rzfgiwd4iqp75139";
};
buildInputs = [ pxlib perl ] ++ (with perlPackages; [ libxml_perl ]);
nativeBuildInputs = [ pkgconfig ];
configureFlags = [ "--with-pxlib=${pxlib.out}" ];
# https://sourceforge.net/p/pxlib/bugs/12/
LDFLAGS = "-lm";
hardeningDisable = [ "format" ];
meta = with stdenv.lib; {
description = "Program to convert Paradox databases";
homepage = "http://pxlib.sourceforge.net/pxview/";
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.winpat ];
};
}

View File

@ -20,7 +20,6 @@ buildGoPackage rec {
description = "websocket command line tool"; description = "websocket command line tool";
homepage = "https://github.com/hashrocket/ws"; homepage = "https://github.com/hashrocket/ws";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.the-kenny ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -195,6 +195,6 @@ buildPythonApplication rec {
license = licenses.agpl3Plus; license = licenses.agpl3Plus;
broken = stdenv.hostPlatform.isAarch64; broken = stdenv.hostPlatform.isAarch64;
platforms = platforms.mesaPlatforms; platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ oxij the-kenny Profpatsch enzime ]; maintainers = with maintainers; [ oxij Profpatsch enzime ];
}; };
} }

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "A model-airplane flight simulator"; description = "A model-airplane flight simulator";
maintainers = with stdenv.lib.maintainers; [ raskin the-kenny ]; maintainers = with stdenv.lib.maintainers; [ raskin ];
platforms = [ "i686-linux" "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" ];
license = stdenv.lib.licenses.gpl2; license = stdenv.lib.licenses.gpl2;
}; };

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tool to manage dwarves in a running game of Dwarf Fortress"; description = "Tool to manage dwarves in a running game of Dwarf Fortress";
maintainers = with maintainers; [ the-kenny abbradar bendlas numinit jonringer ]; maintainers = with maintainers; [ abbradar bendlas numinit jonringer ];
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix; platforms = platforms.unix;
homepage = "https://github.com/Dwarf-Therapist/Dwarf-Therapist"; homepage = "https://github.com/Dwarf-Therapist/Dwarf-Therapist";

View File

@ -96,6 +96,6 @@ stdenv.mkDerivation {
inherit homepage; inherit homepage;
license = licenses.unfreeRedistributable; license = licenses.unfreeRedistributable;
platforms = attrNames platforms; platforms = attrNames platforms;
maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar numinit shazow ]; maintainers = with maintainers; [ a1russell robbinch roconnor abbradar numinit shazow ];
}; };
} }

View File

@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Flight simulator"; description = "Flight simulator";
maintainers = with maintainers; [ raskin the-kenny ]; maintainers = with maintainers; [ raskin ];
platforms = platforms.linux; platforms = platforms.linux;
hydraPlatforms = []; # disabled from hydra because it's so big hydraPlatforms = []; # disabled from hydra because it's so big
license = licenses.gpl2; license = licenses.gpl2;

View File

@ -89,6 +89,6 @@ stdenv.mkDerivation rec {
homepage = "https://www.openttd.org/"; homepage = "https://www.openttd.org/";
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ jcumming the-kenny fpletz ]; maintainers = with maintainers; [ jcumming fpletz ];
}; };
} }

View File

@ -1,6 +1,6 @@
{ stdenv, fetchgit, qt5, box2d, which, cmake, gettext }: { stdenv, mkDerivation, fetchgit, qt5, box2d, which, cmake, gettext }:
stdenv.mkDerivation rec { mkDerivation rec {
pname = "tbe"; pname = "tbe";
version = "0.9.3.1"; version = "0.9.3.1";

View File

@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
description = "A script to install DLLs needed to work around problems in Wine"; description = "A script to install DLLs needed to work around problems in Wine";
license = stdenv.lib.licenses.lgpl21; license = stdenv.lib.licenses.lgpl21;
homepage = "https://github.com/Winetricks/winetricks"; homepage = "https://github.com/Winetricks/winetricks";
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
platforms = with stdenv.lib.platforms; linux; platforms = with stdenv.lib.platforms; linux;
}; };
} }

View File

@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.the-kenny ];
repositories.git = git; repositories.git = git;
}; };
} }

View File

@ -24,6 +24,5 @@ stdenv.mkDerivation {
description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus"; description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus";
license = stdenv.lib.licenses.mit; license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
}; };
} }

View File

@ -7,11 +7,11 @@ assert stdenv.lib.versionOlder kernel.version "5.6";
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wireguard"; pname = "wireguard";
version = "1.0.20200429"; version = "1.0.20200506";
src = fetchzip { src = fetchzip {
url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz"; url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz";
sha256 = "161srq06qa6ag2lycqz19mfms4ha2pmwn778jhvi96729rmivjkd"; sha256 = "05dphmcxm3lg860r5bj1b995avh43d1pap8p18p4ig4kv2r2g9nq";
}; };
hardeningDisable = [ "pic" ]; hardeningDisable = [ "pic" ];

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