Merge staging-next into staging
This commit is contained in:
commit
4ddd080d19
@ -9,7 +9,7 @@
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
`pkgs`, which is a package set of Python libraries for this specific
|
||||
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.
|
||||
`pythonPackages` refers to `python.pkgs` and `python35Packages` to
|
||||
`python35.pkgs`.
|
||||
`pythonPackages` refers to `python.pkgs` and `python38Packages` to
|
||||
`python38.pkgs`.
|
||||
|
||||
#### 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
|
||||
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
|
||||
you can install only one environment at a time. You will notice the complaints
|
||||
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
|
||||
with import <nixpkgs> {};
|
||||
|
||||
python35.withPackages (ps: with ps; [ numpy toolz ])
|
||||
python38.withPackages (ps: with ps; [ numpy toolz ])
|
||||
```
|
||||
and install it in your profile with
|
||||
```shell
|
||||
@ -79,7 +79,7 @@ Nixpkgs set, e.g. using `config.nix`,
|
||||
{ # ...
|
||||
|
||||
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; [
|
||||
(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.
|
||||
|
||||
```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
|
||||
@ -131,7 +131,7 @@ The other method, which is not recommended, does not create an environment and
|
||||
requires you to list the packages directly,
|
||||
|
||||
```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
|
||||
@ -140,14 +140,14 @@ that specific interpreter.
|
||||
|
||||
##### Load environment from `.nix` expression
|
||||
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
|
||||
with
|
||||
|
||||
```nix
|
||||
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.
|
||||
@ -158,7 +158,7 @@ What's happening here?
|
||||
imports the `<nixpkgs>` function, `{}` calls it and the `with` statement
|
||||
brings all attributes of `nixpkgs` in the local scope. These attributes form
|
||||
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
|
||||
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`
|
||||
@ -170,7 +170,7 @@ To combine this with `mkShell` you can:
|
||||
with import <nixpkgs> {};
|
||||
|
||||
let
|
||||
pythonEnv = python35.withPackages (ps: [
|
||||
pythonEnv = python38.withPackages (ps: [
|
||||
ps.numpy
|
||||
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
|
||||
|
||||
```sh
|
||||
$ nix-shell -p python35Packages.numpy python35Packages.toolz --run "python3"
|
||||
$ nix-shell -p python38Packages.numpy python38Packages.toolz --run "python3"
|
||||
```
|
||||
|
||||
or run a script
|
||||
|
||||
```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
|
||||
@ -231,11 +231,11 @@ building Python libraries is `buildPythonPackage`. Let's see how we can build th
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "toolz";
|
||||
version = "0.7.4";
|
||||
version = "0.10.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
|
||||
sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
|
||||
};
|
||||
|
||||
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
|
||||
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`
|
||||
derivation corresponding to the CPython 3.5 interpreter.
|
||||
for each interpreter version, e.g. `python38.pkgs.toolz` refers to the `toolz`
|
||||
derivation corresponding to the CPython 3.8 interpreter.
|
||||
The above example works when you're directly working on
|
||||
`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.
|
||||
@ -273,13 +273,13 @@ and adds it along with a `numpy` package to a Python environment.
|
||||
with import <nixpkgs> {};
|
||||
|
||||
( let
|
||||
my_toolz = python35.pkgs.buildPythonPackage rec {
|
||||
my_toolz = python38.pkgs.buildPythonPackage rec {
|
||||
pname = "toolz";
|
||||
version = "0.7.4";
|
||||
version = "0.10.0";
|
||||
|
||||
src = python35.pkgs.fetchPypi {
|
||||
src = python38.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
|
||||
sha256 = "08fdd5ef7c96480ad11c12d472de21acd32359996f69a5259299b540feba4560";
|
||||
};
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
@ -443,7 +443,7 @@ Indeed, we can just add any package we like to have in our environment to
|
||||
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
with python35Packages;
|
||||
with python38Packages;
|
||||
|
||||
buildPythonPackage rec {
|
||||
name = "mypackage";
|
||||
@ -505,9 +505,9 @@ with import <nixpkgs> {};
|
||||
|
||||
( let
|
||||
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
|
||||
```
|
||||
|
||||
@ -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
|
||||
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
|
||||
example we use `buildPythonPackage` that is part of the set `python35Packages`,
|
||||
and in this case the `python35` interpreter is automatically used.
|
||||
example we use `buildPythonPackage` that is part of the set `python38Packages`,
|
||||
and in this case the `python38` interpreter is automatically used.
|
||||
|
||||
## Reference
|
||||
|
||||
@ -662,7 +662,7 @@ following are specific to `buildPythonPackage`:
|
||||
variables which will be available when the binary is run. For example,
|
||||
`makeWrapperArgs = ["--set FOO BAR" "--set BAZ QUX"]`.
|
||||
* `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 `""`.
|
||||
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
|
||||
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
|
||||
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`.
|
||||
|
||||
|
||||
@ -1014,7 +1014,7 @@ with import <nixpkgs> {};
|
||||
packageOverrides = self: super: {
|
||||
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
|
||||
```
|
||||
@ -1036,7 +1036,7 @@ with import <nixpkgs> {};
|
||||
packageOverrides = self: super: {
|
||||
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
|
||||
```
|
||||
|
||||
@ -1049,12 +1049,12 @@ If you want the whole of Nixpkgs to use your modifications, then you can use
|
||||
```nix
|
||||
let
|
||||
pkgs = import <nixpkgs> {};
|
||||
newpkgs = import pkgs.path { overlays = [ (pkgsself: pkgssuper: {
|
||||
python27 = let
|
||||
packageOverrides = self: super: {
|
||||
numpy = super.numpy_1_10;
|
||||
newpkgs = import pkgs.path { overlays = [ (self: super: {
|
||||
python38 = let
|
||||
packageOverrides = python-self: python-super: {
|
||||
numpy = python-super.numpy_1_18.3;
|
||||
};
|
||||
in pkgssuper.python27.override {inherit packageOverrides;};
|
||||
in super.python38.override {inherit packageOverrides;};
|
||||
} ) ]; };
|
||||
in newpkgs.inkscape
|
||||
```
|
||||
|
@ -1662,6 +1662,12 @@
|
||||
}
|
||||
];
|
||||
};
|
||||
cyplo = {
|
||||
email = "nixos@cyplo.dev";
|
||||
github = "cyplo";
|
||||
githubId = 217899;
|
||||
name = "Cyryl Płotnicki";
|
||||
};
|
||||
d-goldin = {
|
||||
email = "dgoldin+github@protonmail.ch";
|
||||
github = "d-goldin";
|
||||
@ -7624,12 +7630,6 @@
|
||||
githubId = 1141680;
|
||||
name = "Thane Gill";
|
||||
};
|
||||
the-kenny = {
|
||||
email = "moritz@tarn-vedra.de";
|
||||
github = "the-kenny";
|
||||
githubId = 31167;
|
||||
name = "Moritz Ulrich";
|
||||
};
|
||||
thedavidmeister = {
|
||||
email = "thedavidmeister@gmail.com";
|
||||
github = "thedavidmeister";
|
||||
|
43
maintainers/scripts/build.nix
Normal file
43
maintainers/scripts/build.nix
Normal 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
|
@ -37,7 +37,7 @@ in
|
||||
# If there is any package configured in modulePackages, we generate the
|
||||
# loaders.cache based on that and set the environment variable
|
||||
# GDK_PIXBUF_MODULE_FILE to point to it.
|
||||
config = mkIf (cfg.modulePackages != [] || pkgs.stdenv.hostPlatform != pkgs.stdenv.buildPlatform) {
|
||||
config = mkIf (cfg.modulePackages != []) {
|
||||
environment.variables = {
|
||||
GDK_PIXBUF_MODULE_FILE = "${loadersCache}";
|
||||
};
|
||||
|
@ -60,6 +60,5 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://audacityteam.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = intersectLists platforms.linux platforms.x86; # fails on ARM
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -1,23 +1,41 @@
|
||||
{ lib, stdenv, fetchFromGitHub, autoreconfHook,
|
||||
fltk, jansson, rtmidi, libsamplerate, libsndfile,
|
||||
jack2, alsaLib, libpulseaudio,
|
||||
libXpm, libXinerama, libXcursor }:
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, fltk
|
||||
, jansson
|
||||
, rtmidi
|
||||
, libsamplerate
|
||||
, libsndfile
|
||||
, jack2
|
||||
, alsaLib
|
||||
, libpulseaudio
|
||||
, libXpm
|
||||
, libXinerama
|
||||
, libXcursor
|
||||
, catch2
|
||||
, nlohmann_json
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "giada";
|
||||
version = "0.16.1";
|
||||
version = "0.16.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "monocasual";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0b3lhjs6myml5r5saky15523sbc3qr43r9rh047vhsiafmqdvfq1";
|
||||
sha256 = "0rpg5qmw3b76xcra869shb8fwk5wfzpzw216n96hxa5s6k69cm0p";
|
||||
};
|
||||
|
||||
configureFlags = [ "--target=linux" ];
|
||||
configureFlags = [
|
||||
"--target=linux"
|
||||
"--enable-system-catch"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
fltk
|
||||
libsndfile
|
||||
@ -30,9 +48,16 @@ stdenv.mkDerivation rec {
|
||||
libpulseaudio
|
||||
libXinerama
|
||||
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";
|
||||
homepage = "https://giadamusic.com/";
|
||||
license = licenses.gpl3;
|
||||
|
@ -16,6 +16,5 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://streamripper.sourceforge.net/";
|
||||
description = "Application that lets you record streaming mp3 to your hard drive";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
version = "0.19.0.1";
|
||||
version = "0.19.1";
|
||||
majorMinorVersion = versions.majorMinor version;
|
||||
|
||||
desktop = fetchurl {
|
||||
@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
|
||||
urls = [ "https://bitcoincore.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 =
|
||||
@ -73,7 +73,7 @@ in stdenv.mkDerivation rec {
|
||||
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.
|
||||
'';
|
||||
homepage = "http://www.bitcoin.org/";
|
||||
homepage = "https://bitcoin.org/";
|
||||
maintainers = with maintainers; [ roconnor AndersonTorres ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
|
@ -123,7 +123,7 @@ stdenv.mkDerivation rec {
|
||||
description = "The extensible, customizable GNU text editor";
|
||||
homepage = "https://www.gnu.org/software/emacs/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ lovek323 peti the-kenny jwiegley ];
|
||||
maintainers = with maintainers; [ lovek323 peti jwiegley ];
|
||||
platforms = platforms.all;
|
||||
|
||||
longDescription = ''
|
||||
|
@ -139,7 +139,7 @@ stdenv.mkDerivation rec {
|
||||
description = "The extensible, customizable GNU text editor";
|
||||
homepage = "https://www.gnu.org/software/emacs/";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ lovek323 peti the-kenny jwiegley adisbladis ];
|
||||
maintainers = with maintainers; [ lovek323 peti jwiegley adisbladis ];
|
||||
platforms = platforms.all;
|
||||
|
||||
longDescription = ''
|
||||
|
@ -84,6 +84,5 @@ stdenv.mkDerivation {
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -99,7 +99,6 @@ stdenv.mkDerivation {
|
||||
homepage = "http://www.imagemagick.org/";
|
||||
description = "A software suite to create, edit, compose, or convert bitmap images";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
@ -126,7 +126,6 @@ mkDerivation rec {
|
||||
description = "Photo Management Program";
|
||||
license = licenses.gpl2;
|
||||
homepage = "https://www.digikam.org";
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -80,7 +80,6 @@ mkDerivation rec {
|
||||
homepage = "http://openscad.org/";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers;
|
||||
[ bjornfor raskin the-kenny gebner ];
|
||||
maintainers = with stdenv.lib.maintainers; [ bjornfor raskin gebner ];
|
||||
};
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
|
||||
description = "RAW converter and digital photo processing software";
|
||||
homepage = "http://www.rawtherapee.com/";
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configurePhase = "";
|
||||
buildPhase = "";
|
||||
|
||||
|
||||
patches = [ ./numpy-cast.patch ];
|
||||
|
||||
installPhase = ''
|
||||
@ -69,6 +69,5 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/daid/Cura";
|
||||
license = licenses.agpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -25,6 +25,5 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/Ultimaker/CuraEngine";
|
||||
license = licenses.agpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -39,6 +39,5 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://github.com/wb2osz/direwolf/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -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 }:
|
||||
|
||||
# Note: Multibootusb is tricky to maintain. It relies on the
|
||||
@ -19,17 +20,30 @@ python36Packages.buildPythonApplication rec {
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
autoPatchelfHook
|
||||
unzip
|
||||
zip
|
||||
];
|
||||
|
||||
runTimeDeps = [
|
||||
coreutils
|
||||
gnugrep
|
||||
which
|
||||
parted
|
||||
utillinux
|
||||
qemu
|
||||
p7zip
|
||||
gnused
|
||||
mtools
|
||||
procps
|
||||
e2fsprogs
|
||||
gptfdisk
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxcb
|
||||
mtools
|
||||
p7zip
|
||||
parted
|
||||
procps
|
||||
python36Packages.python
|
||||
qt5.full
|
||||
utillinux
|
||||
];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
@ -52,6 +66,20 @@ python36Packages.buildPythonApplication rec {
|
||||
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 = ''
|
||||
# This script doesn't work and it doesn't add much anyway
|
||||
rm $out/bin/multibootusb-pkexec
|
||||
@ -69,6 +97,9 @@ python36Packages.buildPythonApplication rec {
|
||||
# Then, add the installed scripts/ directory to the python path
|
||||
--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
|
||||
--run "cd $out/share/${pname}"
|
||||
)
|
||||
|
@ -74,6 +74,7 @@ in stdenv.mkDerivation rec {
|
||||
Comment=PDF viewer
|
||||
Exec=$bin/bin/mupdf-x11 %f
|
||||
Terminal=false
|
||||
MimeType=application/pdf;application/x-pdf;application/x-cbz;application/oxps;application/vnd.ms-xpsdocument;application/epub+zip
|
||||
EOF
|
||||
'';
|
||||
|
||||
|
@ -85,6 +85,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://slic3r.org/";
|
||||
license = licenses.agpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ bjornfor the-kenny ];
|
||||
maintainers = with maintainers; [ bjornfor ];
|
||||
};
|
||||
}
|
||||
|
@ -64,7 +64,6 @@ stdenv.mkDerivation {
|
||||
homepage = "https://www.dropbox.com";
|
||||
description = "Command line client for the dropbox daemon";
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
# NOTE: Dropbox itself only works on linux, so this is ok.
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "ipfs";
|
||||
version = "0.5.0";
|
||||
version = "0.5.1";
|
||||
rev = "v${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ipfs";
|
||||
repo = "go-ipfs";
|
||||
inherit rev;
|
||||
sha256 = "0dbyvs49wyqj46c8hvz0fr4vpgfrdj1h8blniwzjf0jabgvw8nik";
|
||||
sha256 = "11l55hlbixv1i25d3n216pkrwgcgac99fa88lyy3dailvminqxw7";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -23,7 +23,7 @@ buildGoModule rec {
|
||||
|
||||
passthru.tests.ipfs = nixosTests.ipfs;
|
||||
|
||||
modSha256 = "00xgsvpl47miy6paxl8yn6p76h6ssccackh50z0l4r5s7wcc25q8";
|
||||
modSha256 = "13mpva3r6r2amw08g0bdggbxn933jjimngkvzgq1q5dksp4mivfk";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A global, versioned, peer-to-peer filesystem";
|
||||
|
@ -78,7 +78,7 @@ let
|
||||
on https://nixos.org/nixpkgs/manual/#sec-weechat .
|
||||
'';
|
||||
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;
|
||||
};
|
||||
}
|
||||
|
@ -91,6 +91,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://www.mutt.org";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ the-kenny rnhmjoj ];
|
||||
maintainers = with maintainers; [ rnhmjoj ];
|
||||
};
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Mail indexer";
|
||||
homepage = "https://notmuchmail.org/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ flokli puckipedia the-kenny ];
|
||||
maintainers = with maintainers; [ flokli puckipedia ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -44,6 +44,6 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ the-kenny jwiegley ];
|
||||
maintainers = with maintainers; [ jwiegley ];
|
||||
};
|
||||
}
|
||||
|
@ -20,6 +20,5 @@ python2.pkgs.buildPythonApplication rec {
|
||||
homepage = "https://chirp.danplanet.com/";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://sdr.osmocom.org/trac/wiki/GrOsmoSDR";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
maintainers = with maintainers; [ bjornfor the-kenny ];
|
||||
maintainers = with maintainers; [ bjornfor ];
|
||||
};
|
||||
}
|
||||
|
@ -43,6 +43,6 @@ mkDerivation rec {
|
||||
# it's currently unknown which version of the BSD license that is.
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux; # should work on Darwin / macOS too
|
||||
maintainers = with maintainers; [ bjornfor the-kenny fpletz ];
|
||||
maintainers = with maintainers; [ bjornfor fpletz ];
|
||||
};
|
||||
}
|
||||
|
@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://greatscottgadgets.com/hackrf/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ sjmackenzie the-kenny ];
|
||||
maintainers = with maintainers; [ sjmackenzie ];
|
||||
};
|
||||
}
|
||||
|
@ -39,6 +39,5 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/EliasOenal/multimon-ng";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -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 {
|
||||
pname = "EZminc";
|
||||
name = "${pname}-unstable-2019-07-25";
|
||||
name = "${pname}-unstable-2019-03-12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "BIC-MNI";
|
||||
repo = pname;
|
||||
rev = "9591edd5389a5bda2c1f606816c7cdb35c065adf";
|
||||
sha256 = "02k87qbpx0f48l2lbcjmlqx82py684z3sfi29va5icfg3hjd6j7b";
|
||||
rev = "5e3333ee356f914d34d66d33ea8df809c7f7fa51";
|
||||
sha256 = "0wy8cppf5xpgfqvgb3mqs1cjh81n6qzkk6zxv29wvng8nar9wsy4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
buildInputs = [ itk libminc bicpl fftwFloat gsl ];
|
||||
buildInputs = [ itk4 libminc bicpl fftwFloat gsl ];
|
||||
|
||||
cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/"
|
||||
"-DEZMINC_BUILD_TOOLS=TRUE"
|
||||
|
@ -1,35 +1,27 @@
|
||||
{ stdenv, fetchurl, fetchpatch, openssl, zlib, asciidoc, libxml2, libxslt
|
||||
{ stdenv, fetchurl, openssl, zlib, asciidoc, libxml2, libxslt
|
||||
, docbook_xsl, pkgconfig, luajit
|
||||
, coreutils, gnused, groff, docutils
|
||||
, gzip, bzip2, xz
|
||||
, gzip, bzip2, lzip, xz, zstd
|
||||
, python, wrapPython, pygments, markdown
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cgit";
|
||||
version = "1.2.1";
|
||||
version = "1.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
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.
|
||||
# IMPORTANT: Remember to check which git version cgit needs on every version
|
||||
# bump (look for "GIT_VER" in the top-level Makefile).
|
||||
gitSrc = fetchurl {
|
||||
url = "mirror://kernel/software/scm/git/git-2.18.0.tar.xz";
|
||||
sha256 = "14hfwfkrci829a9316hnvkglnqqw1p03cw9k56p4fcb078wbwh4b";
|
||||
url = "mirror://kernel/software/scm/git/git-2.25.1.tar.xz";
|
||||
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 ];
|
||||
buildInputs = [
|
||||
openssl zlib asciidoc libxml2 libxslt docbook_xsl luajit
|
||||
@ -39,7 +31,9 @@ stdenv.mkDerivation rec {
|
||||
postPatch = ''
|
||||
sed -e 's|"gzip"|"${gzip}/bin/gzip"|' \
|
||||
-e 's|"bzip2"|"${bzip2.bin}/bin/bzip2"|' \
|
||||
-e 's|"lzip"|"${lzip}/bin/lzip"|' \
|
||||
-e 's|"xz"|"${xz.bin}/bin/xz"|' \
|
||||
-e 's|"zstd"|"${zstd}/bin/zstd"|' \
|
||||
-i ui-snapshot.c
|
||||
|
||||
substituteInPlace filters/html-converters/man2html \
|
||||
|
@ -343,6 +343,6 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = with stdenv.lib.maintainers; [ peti the-kenny wmertens globin ];
|
||||
maintainers = with stdenv.lib.maintainers; [ peti wmertens globin ];
|
||||
};
|
||||
}
|
||||
|
@ -37,7 +37,7 @@ buildGoPackage rec {
|
||||
description = "Command-line wrapper for git that makes you better at GitHub";
|
||||
license = licenses.mit;
|
||||
homepage = "https://hub.github.com/";
|
||||
maintainers = with maintainers; [ the-kenny globin ];
|
||||
maintainers = with maintainers; [ globin ];
|
||||
platforms = with platforms; unix;
|
||||
};
|
||||
}
|
||||
|
@ -30,7 +30,6 @@ stdenv.mkDerivation {
|
||||
description = "A patch manager implemented on top of Git";
|
||||
homepage = "http://procode.org/stgit/";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -34,8 +34,6 @@ stdenv.mkDerivation {
|
||||
homepage = "https://github.com/nirvdrum/svn2git";
|
||||
description = "Tool for importing Subversion repositories into git";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.the-kenny ];
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "git-lfs";
|
||||
version = "2.10.0";
|
||||
version = "2.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "git-lfs";
|
||||
repo = "git-lfs";
|
||||
sha256 = "1y5ryk0iz5g5sqaw79ml6fr5kvjgzcah481pk5qmnb2ipb1xlng9";
|
||||
sha256 = "05qd96bn2cl7gn5qarbcv6scdpj28qiwdfzalamqk5jjiidpmng5";
|
||||
};
|
||||
|
||||
goPackagePath = "github.com/git-lfs/git-lfs";
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ stdenv, buildGoPackage, fetchurl, makeWrapper
|
||||
, git, bash, gzip, openssh, pam
|
||||
, fetchpatch
|
||||
, sqliteSupport ? true
|
||||
, pamSupport ? true
|
||||
}:
|
||||
@ -8,11 +9,11 @@ with stdenv.lib;
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "gitea";
|
||||
version = "1.11.4";
|
||||
version = "1.11.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
|
||||
sha256 = "18k6kcdq0ijpzgay2aq1w95qkgfvrn1dgh4cxyj9c4i0pwb3ar7f";
|
||||
sha256 = "0iqxwg53wjwi4vpq2h6fwmniazsi4cf68fcjrs459qbz4d6x8xa9";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
@ -22,7 +23,13 @@ buildGoPackage rec {
|
||||
|
||||
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 = ''
|
||||
patchShebangs .
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, utillinux }:
|
||||
{ lib, fetchFromGitHub, buildGoPackage, btrfs-progs, go-md2man, installShellFiles, utillinux }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -18,7 +18,7 @@ buildGoPackage rec {
|
||||
goPackagePath = "github.com/containerd/containerd";
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
nativeBuildInputs = [ go-md2man utillinux ];
|
||||
nativeBuildInputs = [ go-md2man installShellFiles utillinux ];
|
||||
|
||||
buildInputs = [ btrfs-progs ];
|
||||
|
||||
@ -39,14 +39,7 @@ buildGoPackage rec {
|
||||
done
|
||||
|
||||
make man
|
||||
manRoot="$man/share/man"
|
||||
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
|
||||
installManPage man/*.[1-9]
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -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
|
||||
, sqlite, iproute, lvm2, systemd
|
||||
, btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs, git
|
||||
@ -78,7 +78,7 @@ rec {
|
||||
sha256 = sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ installShellFiles pkgconfig ];
|
||||
buildInputs = [
|
||||
makeWrapper removeReferencesTo go-md2man go libtool
|
||||
] ++ optionals (stdenv.isLinux) [
|
||||
@ -147,9 +147,9 @@ rec {
|
||||
--prefix PATH : "$out/libexec/docker:$extraPath"
|
||||
|
||||
# completion (cli)
|
||||
install -Dm644 ./components/cli/contrib/completion/bash/docker $out/share/bash-completion/completions/docker
|
||||
install -Dm644 ./components/cli/contrib/completion/fish/docker.fish $out/share/fish/vendor_completions.d/docker.fish
|
||||
install -Dm644 ./components/cli/contrib/completion/zsh/_docker $out/share/zsh/site-functions/_docker
|
||||
installShellCompletion --bash ./components/cli/contrib/completion/bash/docker
|
||||
installShellCompletion --fish ./components/cli/contrib/completion/fish/docker.fish
|
||||
installShellCompletion --zsh ./components/cli/contrib/completion/zsh/_docker
|
||||
|
||||
# Include contributed man pages (cli)
|
||||
# Generate man pages from cobra commands
|
||||
@ -163,16 +163,7 @@ rec {
|
||||
echo "Generate legacy manpages"
|
||||
./man/md2man-all.sh -q
|
||||
|
||||
manRoot="$man/share/man"
|
||||
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
|
||||
installManPage man/*/*.[1-9]
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ fetchurl, stdenv }:
|
||||
|
||||
let
|
||||
version = "0.20.0";
|
||||
version = "0.21.1";
|
||||
|
||||
suffix = {
|
||||
x86_64-linux = "x86_64";
|
||||
@ -15,13 +15,13 @@ let
|
||||
};
|
||||
|
||||
firecracker-bin = fetchbin "firecracker" {
|
||||
x86_64-linux = "073pp4q5dnyr126k8k7qdkqclqx18hj12app4gj2is0413gia8z9";
|
||||
aarch64-linux = "1w5f522imq5dnjrdidnrq7jlwcdrsiz32shv9bh66dhy336sd8qw";
|
||||
x86_64-linux = "0g4fja3bz1fsyz8vj99199yblkn46ygf33ldwd1ssw8f957vbwnb";
|
||||
aarch64-linux = "1qyppcxnh7f42fs4px5rvkk6lza57h2sq9naskvqn5zy4vsvq89s";
|
||||
};
|
||||
|
||||
jailer-bin = fetchbin "jailer" {
|
||||
x86_64-linux = "0falk6y9y0pimgav1yg6ydn6wsslz0my01qd9by8ipk3f3776531";
|
||||
aarch64-linux = "1j4x4p4zz1ydvpzbbmxszyqv28qbl4v3hiwdj2f67f1jn1cv9l7z";
|
||||
x86_64-linux = "0x89pfmqci9d3i9fi9b9zm94yr2v7pq7kp3drlb952jkdfj0njyk";
|
||||
aarch64-linux = "03fx9sk88jm23wqm8fraqd1ccfhbqvc310mkfv1f5p2ykhq2ahrk";
|
||||
};
|
||||
|
||||
in
|
||||
|
@ -39,7 +39,7 @@ buildGoPackage rec {
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 runc $out/bin/runc
|
||||
installManPage man/*/*
|
||||
installManPage man/*/*.[1-9]
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -43,6 +43,5 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://herbstluftwm.org/";
|
||||
license = stdenv.lib.licenses.bsd2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -97,7 +97,6 @@ stdenv.mkDerivation {
|
||||
description = "A tiling window manager for X11";
|
||||
homepage = "https://github.com/stumpwm/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
platforms = platforms.linux;
|
||||
broken = true; # 2018-04-11
|
||||
};
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "1.047";
|
||||
version = "1.051";
|
||||
in
|
||||
fetchzip {
|
||||
name = "recursive-${version}";
|
||||
@ -14,7 +14,7 @@ fetchzip {
|
||||
unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
|
||||
'';
|
||||
|
||||
sha256 = "0v50m6hiv19f7i4idi987j1six6493y6hj3r9djifg075v9adxx9";
|
||||
sha256 = "1cqlljbzvrxamswcqx8jbr61q4kji7yil5ic1mh60x4yfsk9x5wn";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://recursive.design/";
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchFromGitHub, gdk-pixbuf, librsvg, gtk-engine-murrine }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "matcha";
|
||||
version = "2020-04-08";
|
||||
pname = "matcha-gtk-theme";
|
||||
version = "2020-05-09";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0gmdscw9gv19k80ciai6zziih2nccr5snz5na48gr4k5rhq9mzqx";
|
||||
sha256 = "0fp3ijynyvncy2byjjyba573p81x2pl2hdzv17mg40r8d5mjlkww";
|
||||
};
|
||||
|
||||
buildInputs = [ gdk-pixbuf librsvg ];
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
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";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
|
@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions" ];
|
||||
|
||||
uuid = "arc-menu@linxgem33.com";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Gnome shell extension designed to replace the standard menu found in Gnome 3";
|
||||
license = licenses.gpl2Plus;
|
||||
|
@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||
"INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"
|
||||
];
|
||||
|
||||
uuid = "dash-to-dock@micxgx.gmail.com";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A dock for the Gnome Shell";
|
||||
homepage = "https://micheleg.github.io/dash-to-dock/";
|
||||
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
|
||||
|
||||
uuid = "dash-to-panel@jderose9.github.com";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "An icon taskbar for Gnome Shell";
|
||||
license = licenses.gpl2;
|
||||
|
@ -73,6 +73,8 @@ stdenv.mkDerivation rec {
|
||||
done
|
||||
'';
|
||||
|
||||
uuid = "gsconnect@andyholmes.github.io";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "KDE Connect implementation for Gnome Shell";
|
||||
homepage = "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki";
|
||||
|
@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
|
||||
|
||||
uuid = "no-title-bar@franglais125.gmail.com";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Integrates maximized windows with the top panel";
|
||||
homepage = "https://github.com/franglais125/no-title-bar";
|
||||
|
@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
|
||||
mv *.js metadata.json dbus.xml schemas locale "$extensions_dir"
|
||||
'';
|
||||
|
||||
uuid = "pidgin@muffinmad";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://github.com/muffinmad/pidgin-im-gnome-shell-extension";
|
||||
description = "Make Pidgin IM conversations appear in the Gnome Shell message tray";
|
||||
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ];
|
||||
|
||||
uuid = "TopIcons@phocean.net";
|
||||
|
||||
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";
|
||||
license = licenses.gpl2;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-window-is-ready-remover";
|
||||
version = "unstable-2020-03-25";
|
||||
version = "1.02";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nunofarruca";
|
||||
repo = "WindowIsReady_Remover";
|
||||
rev = "a9f9b3a060a6ba8eec71332f39dc2569b6e93761";
|
||||
sha256 = "0l6cg9kz2plbvsqhgwfajknzw9yv3mg9gxdbsk147gbh2arnp6v3";
|
||||
rev = "v${version}";
|
||||
sha256 = "1xaf95gn0if44avvkjxyf8fl29y28idn9shnrks0m9k67jcwv8ns";
|
||||
};
|
||||
|
||||
uuid = "windowIsReady_Remover@nunofarruca@gmail.com";
|
||||
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||
meta = with stdenv.lib; {
|
||||
description = "GNOME Shell extension removing window is ready notification";
|
||||
homepage = "https://github.com/nunofarruca/WindowIsReady_Remover";
|
||||
license = licenses.unfree;
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
@ -40,7 +40,7 @@ python2Packages.buildPythonApplication rec {
|
||||
description = "Command line toolkit for working with Arduino hardware";
|
||||
homepage = "http://inotool.org/";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ antono the-kenny ];
|
||||
maintainers = with stdenv.lib.maintainers; [ antono ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -24,6 +24,5 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://avra.sourceforge.net/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
homepage = "http://www.call-cc.org/";
|
||||
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
|
||||
description = "A portable compiler for the Scheme programming language";
|
||||
longDescription = ''
|
||||
|
@ -22,6 +22,6 @@ eggDerivation {
|
||||
homepage = "https://github.com/the-kenny/egg2nix";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
|
||||
maintainers = with stdenv.lib.maintainers; [ corngood ];
|
||||
};
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
homepage = "http://www.call-cc.org/";
|
||||
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
|
||||
description = "A portable compiler for the Scheme programming language";
|
||||
longDescription = ''
|
||||
|
@ -24,6 +24,6 @@ eggDerivation {
|
||||
homepage = "https://github.com/the-kenny/egg2nix";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny corngood ];
|
||||
maintainers = with stdenv.lib.maintainers; [ corngood ];
|
||||
};
|
||||
}
|
||||
|
285
pkgs/development/compilers/gcc/10/default.nix
Normal file
285
pkgs/development/compilers/gcc/10/default.nix
Normal 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; }
|
||||
)
|
@ -25,6 +25,5 @@ stdenv.mkDerivation {
|
||||
homepage = "https://www.gnu.org/software/gforth/";
|
||||
license = stdenv.lib.licenses.gpl3;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
|
||||
description = "An open-source COBOL compiler";
|
||||
homepage = "https://sourceforge.net/projects/open-cobol/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ ericsagnes the-kenny ];
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
};
|
||||
}
|
||||
|
@ -1,15 +1,62 @@
|
||||
{ stdenvNoCC, fetchurl, qemu, expect, writeScript, ncurses }:
|
||||
{ stdenvNoCC, fetchurl, qemu, expect, writeScript, writeScriptBin, ncurses, bash, coreutils }:
|
||||
|
||||
let
|
||||
|
||||
# We execute the installer in qemu-user, because otherwise the
|
||||
# installer fails to open itself due to a failed stat() call. This
|
||||
# seems like an incompatibility of new Linux kernels to run this
|
||||
# ancient binary.
|
||||
performInstall = writeScript "perform-ow-install" ''
|
||||
# We execute all OpenWatcom binaries in qemu-user, because otherwise
|
||||
# some binaries (most notably the installer itself and wlib) fail to
|
||||
# use the stat() systemcall. The failure mode is that it returns
|
||||
# EOVERFLOW for completely legitimate requests. This seems like an
|
||||
# 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
|
||||
|
||||
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.
|
||||
expect "gree"
|
||||
@ -46,15 +93,23 @@ stdenvNoCC.mkDerivation rec {
|
||||
sha256 = "1wzkvc6ija0cjj5mcyjng5b7hnnc5axidz030c0jh05pgvi4nj7p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapInPlace performInstall ];
|
||||
|
||||
dontUnpack = true;
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
installPhase = ''
|
||||
cp ${src} install-bin
|
||||
chmod +x install-bin
|
||||
buildPhase = ''
|
||||
cp ${src} install-bin-unwrapped
|
||||
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; {
|
||||
|
@ -73,6 +73,6 @@ in
|
||||
|
||||
license = licenses.epl10;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ the-kenny havvy couchemar ankhers filalex77 ];
|
||||
maintainers = with maintainers; [ havvy couchemar ankhers filalex77 ];
|
||||
};
|
||||
})
|
||||
|
@ -122,7 +122,7 @@ in stdenv.mkDerivation ({
|
||||
'';
|
||||
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ the-kenny sjmackenzie couchemar gleber ];
|
||||
maintainers = with maintainers; [ sjmackenzie couchemar gleber ];
|
||||
license = licenses.asl20;
|
||||
} // meta);
|
||||
}
|
||||
|
@ -113,7 +113,9 @@ let
|
||||
unwrapped = php;
|
||||
tests = nixosTests.php;
|
||||
inherit (php-packages) packages extensions;
|
||||
inherit (php) meta;
|
||||
meta = php.meta // {
|
||||
outputsToInstall = [ "out" ];
|
||||
};
|
||||
};
|
||||
paths = [ php ];
|
||||
postBuild = ''
|
||||
|
@ -6,7 +6,6 @@ stdenv.mkDerivation {
|
||||
meta = {
|
||||
homepage = "http://s48.org/";
|
||||
description = "Scheme 48";
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
platforms = with stdenv.lib.platforms; unix;
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
};
|
||||
|
@ -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 {
|
||||
pname = "itk";
|
||||
version = "5.0.1";
|
||||
version = "5.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "InsightSoftwareConsortium";
|
||||
repo = "ITK";
|
||||
rev = "v${version}";
|
||||
sha256 = "0dcjsn5frjnrphfgw8alnd2ahrvicpx2a2ngb5ixaa9anaicz9z1";
|
||||
sha256 = "0rvkp00xj1js60021jv2ydyl74wvbyb205gm9d7hf8gy2q456hgl";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
@ -23,12 +24,16 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
nativeBuildInputs = [ cmake xz ];
|
||||
buildInputs = [ libX11 libuuid vtk ] ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ];
|
||||
nativeBuildInputs = [ cmake xz makeWrapper ];
|
||||
buildInputs = [ libX11 libuuid vtk ] ++ stdenv.lib.optionals stdenv.isDarwin [ Cocoa ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram "$out/bin/h5c++" --prefix PATH ":" "${pkgconfig}/bin"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Insight Segmentation and Registration Toolkit";
|
||||
homepage = "http://www.itk.org/";
|
||||
homepage = "https://www.itk.org/";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = with stdenv.lib.maintainers; [viric];
|
||||
};
|
||||
|
20
pkgs/development/libraries/pxlib/default.nix
Normal file
20
pkgs/development/libraries/pxlib/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, itk, python3 }:
|
||||
{ stdenv, fetchFromGitHub, fetchpatch, cmake, itk, python3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "elastix";
|
||||
@ -11,10 +11,24 @@ stdenv.mkDerivation rec {
|
||||
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 ];
|
||||
buildInputs = [ itk ];
|
||||
|
||||
doCheck = true;
|
||||
doCheck = !stdenv.isDarwin; # usual dynamic linker issues
|
||||
|
||||
preCheck = "
|
||||
export LD_LIBRARY_PATH=$(pwd)/bin
|
||||
@ -24,7 +38,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = "http://elastix.isi.uu.nl/";
|
||||
description = "Image registration toolkit based on ITK";
|
||||
maintainers = with maintainers; [ bcdarwin ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.x86_64; # libitkpng linker issues with ITK 5.1
|
||||
license = licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
@ -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 {
|
||||
pname = "simpleitk";
|
||||
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake git swig ];
|
||||
buildInputs = [ lua itk ];
|
||||
buildInputs = [ lua itk4 ];
|
||||
|
||||
cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_CXX_FLAGS='-Wno-attributes'" ];
|
||||
|
||||
|
@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional enablePython [ "-DVTK_WRAP_PYTHON:BOOL=ON" ];
|
||||
|
||||
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)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c
|
||||
'';
|
||||
|
@ -1,13 +1,21 @@
|
||||
{ stdenv, buildPythonPackage, fetchPypi, flask, events
|
||||
, pymongo, simplejson, cerberus, werkzeug }:
|
||||
{ stdenv
|
||||
, buildPythonPackage
|
||||
, fetchPypi
|
||||
, flask
|
||||
, events
|
||||
, pymongo
|
||||
, simplejson
|
||||
, cerberus
|
||||
, setuptools
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "Eve";
|
||||
version = "1.0";
|
||||
version = "1.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "ebde455e631b8eb9d38783eedfbd7e416b4477cce3d9988880eb3e477256a11e";
|
||||
sha256 = "1a7i7x77p5wjqfzmgn30m9sz2mcz06k4qf5af6a45109lafcq0bv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -16,13 +24,10 @@ buildPythonPackage rec {
|
||||
flask
|
||||
pymongo
|
||||
simplejson
|
||||
werkzeug
|
||||
setuptools
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace "werkzeug==0.15.4" "werkzeug"
|
||||
'';
|
||||
pythonImportsCheck = [ "eve" ];
|
||||
|
||||
# tests call a running mongodb instance
|
||||
doCheck = false;
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "Flask-WTF";
|
||||
version = "0.14.2";
|
||||
version = "0.14.3";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "0dncc5as2k61b28k8kal5yh3prmv7zya1jz7kvci7ximzmfda52x";
|
||||
sha256 = "086pvg2x69n0nczcq7frknfjd8am1zdy8qqpva1sanwb02hf65yl";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ flask wtforms nose ];
|
||||
|
@ -2,6 +2,7 @@
|
||||
, buildPythonPackage
|
||||
, fetchFromGitHub
|
||||
, pytest
|
||||
, matplotlib
|
||||
, mock
|
||||
, pytorch
|
||||
, pynvml
|
||||
@ -11,24 +12,24 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ignite";
|
||||
version = "0.2.1";
|
||||
version = "0.3.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "pytorch";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "15k6dd11yxn4923llcpmw4srl1by5ljhh7aw5pnkn4n4qpywh6cm";
|
||||
sha256 = "0i863kxi1r1hspj19lhn6r8256vdazjcyvis0s33fgzrf7kxi08x";
|
||||
};
|
||||
|
||||
checkInputs = [ pytest mock ];
|
||||
|
||||
checkPhase = ''
|
||||
pytest -k 'not visdom and not tensorboard and not mlflow and not polyaxon' tests/
|
||||
'';
|
||||
# these packages are not currently in nixpkgs
|
||||
|
||||
checkInputs = [ pytest matplotlib mock ];
|
||||
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; {
|
||||
description = "High-level training library for PyTorch";
|
||||
homepage = "https://pytorch.org/ignite";
|
||||
|
@ -22,6 +22,5 @@ buildPythonPackage rec {
|
||||
description = "Application that generates RSS feeds for podcast episodes from local audio files";
|
||||
homepage = "https://github.com/jakubroztocil/podcats";
|
||||
license = lib.licenses.bsd2;
|
||||
maintainers = with lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyroute2";
|
||||
version = "0.5.11";
|
||||
version = "0.5.12";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "1wjamijkg2pp9mgj5k4qw3jl2i3ajikkps0zp5c52wcxm3qmks85";
|
||||
sha256 = "1lry042qsamdzyw6zpmdld0v14g6cl05jsr9qdb7h5wnahf80mq1";
|
||||
};
|
||||
|
||||
# requires root priviledges
|
||||
|
@ -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,
|
||||
mklSupport ? false, mkl ? null,
|
||||
mklDnnSupport ? true, useSystemNccl ? true,
|
||||
openMPISupport ? false, openmpi ? null,
|
||||
buildNamedTensor ? false,
|
||||
buildBinaries ? false,
|
||||
buildDocs ? false,
|
||||
cudaArchList ? null,
|
||||
fetchFromGitHub, lib, numpy, pyyaml, cffi, click, typing, cmake, hypothesis, numactl,
|
||||
numpy, pyyaml, cffi, click, typing, cmake, oneDNN, hypothesis, numactl, psutil,
|
||||
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,
|
||||
|
||||
# dependencies for torch.utils.tensorboard
|
||||
tensorboardSupport ? true, pillow, six, future, tensorflow-tensorboard,
|
||||
pillow, six, future, tensorflow-tensorboard, protobuf,
|
||||
|
||||
utillinux, which, isPy3k }:
|
||||
|
||||
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 !cudaSupport || cudatoolkit != null;
|
||||
@ -28,17 +30,11 @@ assert !cudaSupport || (let majorIs = lib.versions.major cudatoolkit.version;
|
||||
let
|
||||
hasDependency = dep: pkg: lib.lists.any (inp: inp == dep) pkg.buildInputs;
|
||||
matchesCudatoolkit = hasDependency cudatoolkit;
|
||||
matchesMkl = hasDependency mkl;
|
||||
in
|
||||
# confirm that cudatoolkits are sync'd across dependencies
|
||||
assert !(openMPISupport && cudaSupport) || matchesCudatoolkit openmpi;
|
||||
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
|
||||
cudatoolkit_joined = symlinkJoin {
|
||||
name = "${cudatoolkit.name}-unsplit";
|
||||
@ -108,7 +104,7 @@ let
|
||||
"LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH ";
|
||||
|
||||
in buildPythonPackage rec {
|
||||
version = "1.2.0";
|
||||
version = "1.4.1";
|
||||
pname = "pytorch";
|
||||
disabled = !isPy3k;
|
||||
|
||||
@ -122,11 +118,9 @@ in buildPythonPackage rec {
|
||||
repo = "pytorch";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "1biyq2p48chakf2xw7hazzqmr5ps1nx475ql8vkmxjg5zaa071cz";
|
||||
sha256 = "1aa1il4f98pswfj20cv27yfb91l1jcq4515i7mvq7sh5647yzwms";
|
||||
};
|
||||
|
||||
dontUseCmakeConfigure = true;
|
||||
|
||||
preConfigure = lib.optionalString cudaSupport ''
|
||||
export TORCH_CUDA_ARCH_LIST="${lib.strings.concatStringsSep ";" final_cudaArchList}"
|
||||
export CC=${cudatoolkit.cc}/bin/gcc CXX=${cudatoolkit.cc}/bin/g++
|
||||
@ -134,6 +128,44 @@ in buildPythonPackage rec {
|
||||
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 = ''
|
||||
function join_by { local IFS="$1"; shift; echo "$*"; }
|
||||
function strip2 {
|
||||
@ -155,8 +187,7 @@ in buildPythonPackage rec {
|
||||
PYTORCH_BUILD_VERSION = version;
|
||||
PYTORCH_BUILD_NUMBER = 0;
|
||||
|
||||
BUILD_NAMEDTENSOR = buildNamedTensor; # experimental feature
|
||||
USE_SYSTEM_NCCL=true; # don't build pytorch's third_party NCCL
|
||||
USE_SYSTEM_NCCL=useSystemNccl; # don't build pytorch's third_party NCCL
|
||||
|
||||
# Suppress a weird warning in mkl-dnn, part of ideep in pytorch
|
||||
# (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++:
|
||||
# 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 = [
|
||||
cmake
|
||||
@ -174,9 +205,8 @@ in buildPythonPackage rec {
|
||||
ninja
|
||||
] ++ lib.optionals cudaSupport [ cudatoolkit_joined ];
|
||||
|
||||
buildInputs = [
|
||||
numpy.blas
|
||||
] ++ lib.optionals cudaSupport [ cudnn magma nccl ]
|
||||
buildInputs = [ blas blas.provider oneDNN ]
|
||||
++ lib.optionals cudaSupport [ cudnn magma nccl ]
|
||||
++ lib.optionals stdenv.isLinux [ numactl ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
@ -184,23 +214,37 @@ in buildPythonPackage rec {
|
||||
click
|
||||
numpy
|
||||
pyyaml
|
||||
] ++ lib.optionals openMPISupport [ openmpi ]
|
||||
++ lib.optional (pythonOlder "3.5") typing
|
||||
++ lib.optionals tensorboardSupport [pillow six future tensorflow-tensorboard];
|
||||
# the following are required for tensorboard support
|
||||
pillow six future tensorflow-tensorboard protobuf
|
||||
] ++ 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
|
||||
checkPhase = "${cudaStubEnv}python test/run_test.py"
|
||||
+ " --exclude utils" # utils requires git, which is not allowed in the check phase
|
||||
# Tests take a long time and may be flaky, so just sanity-check imports
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [
|
||||
"torch"
|
||||
];
|
||||
|
||||
# Other tests which have been disabled in previous nix derivations of pytorch.
|
||||
# --exclude dataloader sparse torch utils thd_distributed distributed cpp_extensions
|
||||
;
|
||||
checkPhase = with lib.versions; with lib.strings; concatStringsSep " " [
|
||||
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 = ''
|
||||
mkdir $dev
|
||||
cp -r $out/${python.sitePackages}/torch/lib $dev/lib
|
||||
cp -r $out/${python.sitePackages}/torch/include $dev/include
|
||||
cp -r $out/${python.sitePackages}/torch/share $dev/share
|
||||
'';
|
||||
|
||||
postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
@ -233,6 +277,6 @@ in buildPythonPackage rec {
|
||||
homepage = "https://pytorch.org/";
|
||||
license = lib.licenses.bsd3;
|
||||
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
|
||||
};
|
||||
}
|
||||
|
@ -16,6 +16,5 @@ buildPythonPackage rec {
|
||||
description = "The official Todoist Python API library";
|
||||
homepage = "https://todoist-python.readthedocs.io/en/latest/";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -48,6 +48,5 @@ stdenv.mkDerivation rec {
|
||||
description = "Project automation for Clojure";
|
||||
license = stdenv.lib.licenses.epl10;
|
||||
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -36,7 +36,6 @@ stdenv.mkDerivation {
|
||||
'';
|
||||
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.the-kenny ];
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
};
|
||||
}
|
||||
|
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2;
|
||||
description = "A Device Firmware Update based USB programmer for Atmel chips with a USB bootloader";
|
||||
homepage = "http://dfu-programmer.sourceforge.net/";
|
||||
maintainers = [ maintainers.the-kenny ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://sourceforge.net/projects/stm32flash/";
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = platforms.all; # Should work on all platforms
|
||||
maintainers = with maintainers; [ the-kenny elitak ];
|
||||
maintainers = with maintainers; [ elitak ];
|
||||
};
|
||||
}
|
||||
|
@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
|
||||
description = "Firmware uploader for the Teensy microcontroller boards";
|
||||
homepage = "https://www.pjrc.com/teensy/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ the-kenny ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
27
pkgs/development/tools/pxview/default.nix
Normal file
27
pkgs/development/tools/pxview/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -20,7 +20,6 @@ buildGoPackage rec {
|
||||
description = "websocket command line tool";
|
||||
homepage = "https://github.com/hashrocket/ws";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.the-kenny ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -195,6 +195,6 @@ buildPythonApplication rec {
|
||||
license = licenses.agpl3Plus;
|
||||
broken = stdenv.hostPlatform.isAarch64;
|
||||
platforms = platforms.mesaPlatforms;
|
||||
maintainers = with maintainers; [ oxij the-kenny Profpatsch enzime ];
|
||||
maintainers = with maintainers; [ oxij Profpatsch enzime ];
|
||||
};
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = {
|
||||
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" ];
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
};
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
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;
|
||||
platforms = platforms.unix;
|
||||
homepage = "https://github.com/Dwarf-Therapist/Dwarf-Therapist";
|
||||
|
@ -96,6 +96,6 @@ stdenv.mkDerivation {
|
||||
inherit homepage;
|
||||
license = licenses.unfreeRedistributable;
|
||||
platforms = attrNames platforms;
|
||||
maintainers = with maintainers; [ a1russell robbinch roconnor the-kenny abbradar numinit shazow ];
|
||||
maintainers = with maintainers; [ a1russell robbinch roconnor abbradar numinit shazow ];
|
||||
};
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Flight simulator";
|
||||
maintainers = with maintainers; [ raskin the-kenny ];
|
||||
maintainers = with maintainers; [ raskin ];
|
||||
platforms = platforms.linux;
|
||||
hydraPlatforms = []; # disabled from hydra because it's so big
|
||||
license = licenses.gpl2;
|
||||
|
@ -89,6 +89,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = "https://www.openttd.org/";
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ jcumming the-kenny fpletz ];
|
||||
maintainers = with maintainers; [ jcumming fpletz ];
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
version = "0.9.3.1";
|
||||
|
||||
|
@ -26,7 +26,6 @@ stdenv.mkDerivation rec {
|
||||
description = "A script to install DLLs needed to work around problems in Wine";
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
homepage = "https://github.com/Winetricks/winetricks";
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -38,7 +38,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = [ stdenv.lib.maintainers.the-kenny ];
|
||||
repositories.git = git;
|
||||
};
|
||||
}
|
||||
|
@ -24,6 +24,5 @@ stdenv.mkDerivation {
|
||||
description = "A simple tool to automatically mount removable drives using UDisks2 and D-Bus";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
|
||||
};
|
||||
}
|
||||
|
@ -7,11 +7,11 @@ assert stdenv.lib.versionOlder kernel.version "5.6";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "wireguard";
|
||||
version = "1.0.20200429";
|
||||
version = "1.0.20200506";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://git.zx2c4.com/wireguard-linux-compat/snapshot/wireguard-linux-compat-${version}.tar.xz";
|
||||
sha256 = "161srq06qa6ag2lycqz19mfms4ha2pmwn778jhvi96729rmivjkd";
|
||||
sha256 = "05dphmcxm3lg860r5bj1b995avh43d1pap8p18p4ig4kv2r2g9nq";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "pic" ];
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user