Merge branch 'master' into staging
There were some conflicts in python modules, commented at #28314.
This commit is contained in:
commit
2858c41823
@ -2,115 +2,204 @@
|
||||
|
||||
## User Guide
|
||||
|
||||
Several versions of Python are available on Nix as well as a high amount of
|
||||
packages. The default interpreter is CPython 2.7.
|
||||
|
||||
### Using Python
|
||||
|
||||
#### Overview
|
||||
|
||||
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
|
||||
the default PyPy interpreter.
|
||||
|
||||
Python is used a lot, and in different ways. This affects also how it is
|
||||
packaged. In the case of Python on Nix, an important distinction is made between
|
||||
whether the package is considered primarily an application, or whether it should
|
||||
be used as a library, i.e., of primary interest are the modules in
|
||||
`site-packages` that should be importable.
|
||||
|
||||
In the Nixpkgs tree Python applications can be found throughout, depending on
|
||||
what they do, and are called from the main package set. Python libraries,
|
||||
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`.
|
||||
The main package set contains aliases to these package sets, e.g.
|
||||
`pythonPackages` refers to `python.pkgs` and `python35Packages` to
|
||||
`python35.pkgs`.
|
||||
|
||||
#### Installing Python and packages
|
||||
|
||||
It is important to make a distinction between Python packages that are
|
||||
used as libraries, and applications that are written in Python.
|
||||
The Nix and NixOS manuals explain how packages are generally installed. In the
|
||||
case of Python and Nix, it is important to make a distinction between whether the
|
||||
package is considered an application or a library.
|
||||
|
||||
Applications on Nix are installed typically into your user
|
||||
Applications on Nix are typically installed into your user
|
||||
profile imperatively using `nix-env -i`, and on NixOS declaratively by adding the
|
||||
package name to `environment.systemPackages` in `/etc/nixos/configuration.nix`.
|
||||
Dependencies such as libraries are automatically installed and should not be
|
||||
installed explicitly.
|
||||
|
||||
The same goes for Python applications and libraries. Python applications can be
|
||||
installed in your profile, but Python libraries you would like to use to develop
|
||||
cannot. If you do install libraries in your profile, then you will end up with
|
||||
import errors.
|
||||
installed in your profile. But Python libraries you would like to use for
|
||||
development cannot be installed, at least not individually, because they won't
|
||||
be able to find each other resulting in import errors. Instead, it is possible
|
||||
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.
|
||||
|
||||
#### Python environments using `nix-shell`
|
||||
In the following examples we create an environment with Python 3.5, `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.
|
||||
|
||||
The recommended method for creating Python environments for development is with
|
||||
`nix-shell`. Executing
|
||||
##### Environment defined in separate `.nix` file
|
||||
|
||||
```sh
|
||||
$ nix-shell -p python35Packages.numpy python35Packages.toolz
|
||||
Create a file, e.g. `build.nix`, with the following expression
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
python35.withPackages (ps: with ps; [ numpy toolz ])
|
||||
```
|
||||
and install it in your profile with
|
||||
```shell
|
||||
nix-env -if build.nix
|
||||
```
|
||||
Now you can use the Python interpreter, as well as the extra packages (`numpy`,
|
||||
`toolz`) that you added to the environment.
|
||||
|
||||
##### Environment defined in `~/.config/nixpkgs/config.nix`
|
||||
|
||||
If you prefer to, you could also add the environment as a package override to the Nixpkgs set, e.g.
|
||||
using `config.nix`,
|
||||
```nix
|
||||
{ # ...
|
||||
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
myEnv = python35.withPackages (ps: with ps; [ numpy toolz ]);
|
||||
};
|
||||
}
|
||||
```
|
||||
and install it in your profile with
|
||||
```shell
|
||||
nix-env -iA nixpkgs.myEnv
|
||||
```
|
||||
The environment is is installed by referring to the attribute, and considering
|
||||
the `nixpkgs` channel was used.
|
||||
|
||||
##### Environment defined in `/etc/nixos/configuration.nix`
|
||||
|
||||
For the sake of completeness, here's another example how to install the environment system-wide.
|
||||
|
||||
```nix
|
||||
{ # ...
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(python35.withPackages(ps: with ps; [ numpy toolz ]))
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
opens a Nix shell which has available the requested packages and dependencies.
|
||||
Now you can launch the Python interpreter (which is itself a dependency)
|
||||
#### Temporary Python environment with `nix-shell`
|
||||
|
||||
The examples in the previous section showed how to install a Python environment
|
||||
into a profile. For development you may need to use multiple environments.
|
||||
`nix-shell` gives the possibility to temporarily load another environment, akin
|
||||
to `virtualenv`.
|
||||
|
||||
There are two methods for loading a shell with Python packages. The first and 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 ])'
|
||||
```
|
||||
opens a shell from which you can launch the interpreter
|
||||
```sh
|
||||
[nix-shell:~] python3
|
||||
```
|
||||
The other method, which is not recommended, does not create an environment and requires you to list the packages directly,
|
||||
|
||||
If the packages were not available yet in the Nix store, Nix would download or
|
||||
build them automatically. A convenient option with `nix-shell` is the `--run`
|
||||
option, with which you can execute a command in the `nix-shell`. Let's say we
|
||||
want the above environment and directly run the Python interpreter
|
||||
```sh
|
||||
$ nix-shell -p python35.pkgs.numpy python35.pkgs.toolz
|
||||
```
|
||||
Again, it is possible to launch the interpreter from the shell.
|
||||
The Python interpreter has the attribute `pkgs` which contains all Python libraries for 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`
|
||||
and `toolz`, like before, in an environment. Consider a `shell.nix` file
|
||||
with
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
python35.withPackages (ps: [ps.numpy ps.toolz])
|
||||
```
|
||||
Executing `nix-shell` gives you again a Nix shell from which you can run Python.
|
||||
|
||||
What's happening here?
|
||||
|
||||
1. We begin with importing the Nix Packages collections. `import <nixpkgs>` 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.
|
||||
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` from the package set.
|
||||
|
||||
##### Execute command with `--run`
|
||||
A convenient option with `nix-shell` is the `--run`
|
||||
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"
|
||||
```
|
||||
|
||||
This way you can use the `--run` option also to directly run a script
|
||||
|
||||
or run a script
|
||||
```sh
|
||||
$ nix-shell -p python35Packages.numpy python35Packages.toolz --run "python3 myscript.py"
|
||||
```
|
||||
|
||||
In fact, for this specific use case there is a more convenient method. You can
|
||||
##### `nix-shell` as shebang
|
||||
In fact, for the second use case, there is a more convenient method. You can
|
||||
add a [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) to your script
|
||||
specifying which dependencies Nix shell needs. With the following shebang, you
|
||||
can use `nix-shell myscript.py` and it will make available all dependencies and
|
||||
specifying which dependencies `nix-shell` needs. With the following shebang, you
|
||||
can just execute `./myscript.py`, and it will make available all dependencies and
|
||||
run the script in the `python3` shell.
|
||||
|
||||
```py
|
||||
#! /usr/bin/env nix-shell
|
||||
#! nix-shell -i python3 -p python3Packages.numpy
|
||||
#! nix-shell -i 'python3.withPackages(ps: [ps.numpy])'
|
||||
|
||||
import numpy
|
||||
|
||||
print(numpy.__version__)
|
||||
```
|
||||
|
||||
Likely you do not want to type your dependencies each and every time. What you
|
||||
can do is write a simple Nix expression which sets up an environment for you,
|
||||
requiring you only to type `nix-shell`. Say we want to have Python 3.5, `numpy`
|
||||
and `toolz`, like before, in an environment. With a `shell.nix` file
|
||||
containing
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
(pkgs.python35.withPackages (ps: [ps.numpy ps.toolz])).env
|
||||
```
|
||||
executing `nix-shell` gives you again a Nix shell from which you can run Python.
|
||||
|
||||
What's happening here?
|
||||
|
||||
1. We begin with importing the Nix Packages collections. `import <nixpkgs>` import the `<nixpkgs>` function, `{}` calls it and the `with` statement brings all attributes of `nixpkgs` in the local scope. Therefore we can now use `pkgs`.
|
||||
2. Then we create a Python 3.5 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` from the package set.
|
||||
4. And finally, for in interactive use we return the environment by using the `env` attribute.
|
||||
|
||||
### Developing with Python
|
||||
|
||||
Now that you know how to get a working Python environment with Nix, it is time
|
||||
to go forward and start actually developing with Python. We will first have a
|
||||
look at how Python packages are packaged on Nix. Then, we will look at how you
|
||||
can use development mode with your code.
|
||||
|
||||
Now that you know how to get a working Python environment on Nix, it is time to go forward and start actually developing with Python.
|
||||
We will first have a look at how Python packages are packaged on Nix. Then, we will look how you can use development mode with your code.
|
||||
#### Packaging a library
|
||||
|
||||
#### Python packaging on Nix
|
||||
|
||||
On Nix all packages are built by functions. The main function in Nix for building Python packages is [`buildPythonPackage`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/python/build-python-package.nix).
|
||||
Let's see how we would build the `toolz` package. According to [`python-packages.nix`](https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/python-packages.nix) `toolz` is build using
|
||||
With Nix all packages are built by functions. The main function in Nix for
|
||||
building Python libraries is `buildPythonPackage`. Let's see how we can build the
|
||||
`toolz` package.
|
||||
|
||||
```nix
|
||||
{ # ...
|
||||
|
||||
toolz = buildPythonPackage rec {
|
||||
name = "toolz-${version}";
|
||||
pname = "toolz";
|
||||
version = "0.7.4";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "http://github.com/pytoolz/toolz/";
|
||||
description = "List processing tools and functional utilities";
|
||||
@ -122,63 +211,37 @@ Let's see how we would build the `toolz` package. According to [`python-packages
|
||||
```
|
||||
|
||||
What happens here? The function `buildPythonPackage` is called and as argument
|
||||
it accepts a set. In this case the set is a recursive set ([`rec`](http://nixos.org/nix/manual/#sec-constructs)).
|
||||
One of the arguments is the name of the package, which consists of a basename
|
||||
(generally following the name on PyPi) and a version. Another argument, `src`
|
||||
specifies the source, which in this case is fetched from an url. `fetchurl` not
|
||||
only downloads the target file, but also validates its hash. Furthermore, we
|
||||
specify some (optional) [meta information](http://nixos.org/nixpkgs/manual/#chap-meta).
|
||||
|
||||
The output of the function is a derivation, which is an attribute with the name
|
||||
`toolz` of the set `pythonPackages`. Actually, sets are created for all interpreter versions,
|
||||
so e.g. `python27Packages`, `python35Packages` and `pypyPackages`.
|
||||
it accepts a set. In this case the set is a recursive set, `rec`. One of the
|
||||
arguments is the name of the package, which consists of a basename (generally
|
||||
following the name on PyPi) and a version. Another argument, `src` specifies the
|
||||
source, which in this case is fetched from PyPI using the helper function
|
||||
`fetchPypi`. The argument `doCheck` is used to set whether tests should be run
|
||||
when building the package. Furthermore, we specify some (optional) meta
|
||||
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.
|
||||
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. If you
|
||||
create a `shell.nix` file with the following contents
|
||||
you will want to test a Nix expression outside of the Nixpkgs tree.
|
||||
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
pkgs.python35Packages.buildPythonPackage rec {
|
||||
name = "toolz-${version}";
|
||||
version = "0.8.0";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
|
||||
sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
homepage = "http://github.com/pytoolz/toolz/";
|
||||
description = "List processing tools and functional utilities";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ fridh ];
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
and then execute `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
|
||||
for which Python version we want to build a package.
|
||||
|
||||
The above example considered only a single package. Generally you will want to use multiple packages.
|
||||
If we create a `shell.nix` file with the following contents
|
||||
The following expression creates a derivation for the `toolz` package,
|
||||
and adds it along with a `numpy` package to a Python environment.
|
||||
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
( let
|
||||
toolz = pkgs.python35Packages.buildPythonPackage rec {
|
||||
name = "toolz-${version}";
|
||||
version = "0.8.0";
|
||||
my_toolz = python35.pkgs.buildPythonPackage rec {
|
||||
pname = "toolz";
|
||||
version = "0.7.4";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "mirror://pypi/t/toolz/toolz-${version}.tar.gz";
|
||||
sha256 = "e8451af61face57b7c5d09e71c0d27b8005f001ead56e9fdf470417e5cc6d479";
|
||||
src = python35.pkgs.fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "43c2c9e5e7a16b6c88ba3088a9bfc82f7db8e13378be7c78d6c14a5f8ed05afd";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
@ -189,24 +252,24 @@ with import <nixpkgs> {};
|
||||
};
|
||||
};
|
||||
|
||||
in pkgs.python35.withPackages (ps: [ps.numpy toolz])
|
||||
in python35.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
|
||||
for which Python version we want to build a package.
|
||||
|
||||
and again execute `nix-shell`, then we get a Python 3.5 environment with our
|
||||
locally defined package as well as `numpy` which is build according to the
|
||||
definition in Nixpkgs. What did we do here? Well, we took the Nix expression
|
||||
that we used earlier to build a Python environment, and said that we wanted to
|
||||
include our own version of `toolz`. To introduce our own package in the scope of
|
||||
`withPackages` we used a
|
||||
[`let`](http://nixos.org/nix/manual/#sec-constructs) expression.
|
||||
You can see that we used `ps.numpy` to select numpy from the nixpkgs package set (`ps`).
|
||||
But we do not take `toolz` from the nixpkgs package set this time.
|
||||
Instead, `toolz` will resolve to our local definition that we introduced with `let`.
|
||||
So, what did we do here? Well, we took the Nix expression that we used earlier
|
||||
to build a Python environment, and said that we wanted to include our own
|
||||
version of `toolz`, named `my_toolz`. To introduce our own package in the scope
|
||||
of `withPackages` we used a `let` expression. You can see that we used
|
||||
`ps.numpy` to select numpy from the nixpkgs package set (`ps`). We did not take
|
||||
`toolz` from the Nixpkgs package set this time, but instead took our own version
|
||||
that we introduced with the `let` expression.
|
||||
|
||||
### Handling dependencies
|
||||
#### Handling dependencies
|
||||
|
||||
Our example, `toolz`, doesn't have any dependencies on other Python
|
||||
Our example, `toolz`, does not have any dependencies on other Python
|
||||
packages or system libraries. According to the manual, `buildPythonPackage`
|
||||
uses the arguments `buildInputs` and `propagatedBuildInputs` to specify dependencies. If something is
|
||||
exclusively a build-time dependency, then the dependency should be included as a
|
||||
@ -713,63 +776,6 @@ Both are also exported in `nix-shell`.
|
||||
|
||||
## FAQ
|
||||
|
||||
### How can I install a working Python environment?
|
||||
|
||||
As explained in the user's guide installing individual Python packages
|
||||
imperatively with `nix-env -i` or declaratively in `environment.systemPackages`
|
||||
is not supported. However, it is possible to install a Python environment with packages (`python.buildEnv`).
|
||||
|
||||
In the following examples we create an environment with Python 3.5, `numpy` and `ipython`.
|
||||
As you might imagine there is one limitation here, and that's you can install
|
||||
only one environment at a time. You will notice the complaints about collisions
|
||||
when you try to install a second environment.
|
||||
|
||||
#### Environment defined in separate `.nix` file
|
||||
|
||||
Create a file, e.g. `build.nix`, with the following expression
|
||||
```nix
|
||||
with import <nixpkgs> {};
|
||||
|
||||
pkgs.python35.withPackages (ps: with ps; [ numpy ipython ])
|
||||
```
|
||||
and install it in your profile with
|
||||
```shell
|
||||
nix-env -if build.nix
|
||||
```
|
||||
Now you can use the Python interpreter, as well as the extra packages that you added to the environment.
|
||||
|
||||
#### Environment defined in `~/.config/nixpkgs/config.nix`
|
||||
|
||||
If you prefer to, you could also add the environment as a package override to the Nixpkgs set.
|
||||
```nix
|
||||
{ # ...
|
||||
|
||||
packageOverrides = pkgs: with pkgs; {
|
||||
myEnv = python35.withPackages (ps: with ps; [ numpy ipython ]);
|
||||
};
|
||||
}
|
||||
```
|
||||
and install it in your profile with
|
||||
```shell
|
||||
nix-env -iA nixpkgs.myEnv
|
||||
```
|
||||
|
||||
We're installing using the attribute path and assume the channels is named `nixpkgs`.
|
||||
Note that I'm using the attribute path here.
|
||||
|
||||
#### Environment defined in `/etc/nixos/configuration.nix`
|
||||
|
||||
For the sake of completeness, here's another example how to install the environment system-wide.
|
||||
|
||||
```nix
|
||||
{ # ...
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
(python35.withPackages(ps: with ps; [ numpy ipython ]))
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
### How to solve circular dependencies?
|
||||
|
||||
Consider the packages `A` and `B` that depend on each other. When packaging `B`,
|
||||
|
@ -97,6 +97,7 @@
|
||||
canndrew = "Andrew Cann <shum@canndrew.org>";
|
||||
carlsverre = "Carl Sverre <accounts@carlsverre.com>";
|
||||
casey = "Casey Rodarmor <casey@rodarmor.net>";
|
||||
caugner = "Claas Augner <nixos@caugner.de>";
|
||||
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
|
||||
cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
|
||||
changlinli = "Changlin Li <mail@changlinli.com>";
|
||||
@ -215,6 +216,7 @@
|
||||
garrison = "Jim Garrison <jim@garrison.cc>";
|
||||
gavin = "Gavin Rogers <gavin@praxeology.co.uk>";
|
||||
gebner = "Gabriel Ebner <gebner@gebner.org>";
|
||||
geistesk = "Alvar Penning <post@0x21.biz>";
|
||||
georgewhewell = "George Whewell <georgerw@gmail.com>";
|
||||
gilligan = "Tobias Pflug <tobias.pflug@gmail.com>";
|
||||
giogadi = "Luis G. Torres <lgtorres42@gmail.com>";
|
||||
@ -578,6 +580,7 @@
|
||||
thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
|
||||
timbertson = "Tim Cuthbertson <tim@gfxmonk.net>";
|
||||
titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
|
||||
tnias = "Philipp Bartsch <phil@grmr.de>";
|
||||
tohl = "Tomas Hlavaty <tom@logand.com>";
|
||||
tokudan = "Daniel Frank <git@danielfrank.net>";
|
||||
tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
|
||||
|
@ -1,2 +1,2 @@
|
||||
# Expose the minimum required version for evaluating Nixpkgs
|
||||
"1.10"
|
||||
"1.11"
|
||||
|
@ -31,18 +31,21 @@ EVAL_FILE = {
|
||||
|
||||
|
||||
def get_maintainers(attr_name):
|
||||
nixname = attr_name.split('.')
|
||||
meta_json = subprocess.check_output([
|
||||
'nix-instantiate',
|
||||
'--eval',
|
||||
'--strict',
|
||||
'-A',
|
||||
'.'.join(nixname[1:]) + '.meta',
|
||||
EVAL_FILE[nixname[0]],
|
||||
'--json'])
|
||||
meta = json.loads(meta_json)
|
||||
if meta.get('maintainers'):
|
||||
return [MAINTAINERS[name] for name in meta['maintainers'] if MAINTAINERS.get(name)]
|
||||
try:
|
||||
nixname = attr_name.split('.')
|
||||
meta_json = subprocess.check_output([
|
||||
'nix-instantiate',
|
||||
'--eval',
|
||||
'--strict',
|
||||
'-A',
|
||||
'.'.join(nixname[1:]) + '.meta',
|
||||
EVAL_FILE[nixname[0]],
|
||||
'--json'])
|
||||
meta = json.loads(meta_json)
|
||||
if meta.get('maintainers'):
|
||||
return [MAINTAINERS[name] for name in meta['maintainers'] if MAINTAINERS.get(name)]
|
||||
except:
|
||||
return []
|
||||
|
||||
|
||||
@click.command()
|
||||
|
61
nixos/modules/hardware/raid/hpsa.nix
Normal file
61
nixos/modules/hardware/raid/hpsa.nix
Normal file
@ -0,0 +1,61 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
hpssacli = pkgs.stdenv.mkDerivation rec {
|
||||
name = "hpssacli-${version}";
|
||||
version = "2.40-13.0";
|
||||
|
||||
src = pkgs.fetchurl {
|
||||
url = "http://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/${name}_amd64.deb";
|
||||
sha256 = "11w7fwk93lmfw0yya4jpjwdmgjimqxx6412sqa166g1pz4jil4sw";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgs.dpkg ];
|
||||
|
||||
unpackPhase = "dpkg -x $src ./";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/doc $out/share/man
|
||||
mv opt/hp/hpssacli/bld/{hpssascripting,hprmstr,hpssacli} $out/bin/
|
||||
mv opt/hp/hpssacli/bld/*.{license,txt} $out/share/doc/
|
||||
mv usr/man $out/share/
|
||||
|
||||
for file in $out/bin/*; do
|
||||
chmod +w $file
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath ${lib.makeLibraryPath [ pkgs.stdenv.cc.cc ]} \
|
||||
$file
|
||||
done
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "HP Smart Array CLI";
|
||||
homepage = http://downloads.linux.hpe.com/SDR/downloads/MCP/Ubuntu/pool/non-free/;
|
||||
license = licenses.unfreeRedistributable;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ volth ];
|
||||
};
|
||||
};
|
||||
in {
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
hardware.raid.HPSmartArray = {
|
||||
enable = mkEnableOption "HP Smart Array kernel modules and CLI utility";
|
||||
};
|
||||
};
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf config.hardware.raid.HPSmartArray.enable {
|
||||
|
||||
boot.initrd.kernelModules = [ "sg" ]; /* hpssacli wants it */
|
||||
boot.initrd.availableKernelModules = [ "hpsa" ];
|
||||
|
||||
environment.systemPackages = [ hpssacli ];
|
||||
};
|
||||
}
|
@ -43,6 +43,7 @@
|
||||
./hardware/nitrokey.nix
|
||||
./hardware/opengl.nix
|
||||
./hardware/pcmcia.nix
|
||||
./hardware/raid/hpsa.nix
|
||||
./hardware/usb-wwan.nix
|
||||
./hardware/video/amdgpu.nix
|
||||
./hardware/video/amdgpu-pro.nix
|
||||
@ -269,6 +270,7 @@
|
||||
./services/mail/rspamd.nix
|
||||
./services/mail/rmilter.nix
|
||||
./services/mail/nullmailer.nix
|
||||
./services/misc/airsonic.nix
|
||||
./services/misc/apache-kafka.nix
|
||||
./services/misc/autofs.nix
|
||||
./services/misc/autorandr.nix
|
||||
@ -562,6 +564,7 @@
|
||||
./services/security/tor.nix
|
||||
./services/security/torify.nix
|
||||
./services/security/torsocks.nix
|
||||
./services/security/usbguard.nix
|
||||
./services/security/vault.nix
|
||||
./services/system/cgmanager.nix
|
||||
./services/system/cloud-init.nix
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
@ -14,11 +14,16 @@ with lib;
|
||||
(mkRenamedOptionModule [ "networking" "enableRT73Firmware" ] [ "networking" "enableRalinkFirmware" ])
|
||||
|
||||
(mkRenamedOptionModule [ "services" "cadvisor" "host" ] [ "services" "cadvisor" "listenAddress" ])
|
||||
(mkChangedOptionModule [ "services" "printing" "gutenprint" ] [ "services" "printing" "drivers" ]
|
||||
(config:
|
||||
let enabled = getAttrFromPath [ "services" "printing" "gutenprint" ] config;
|
||||
in if enabled then [ pkgs.gutenprint ] else [ ]))
|
||||
(mkRenamedOptionModule [ "services" "elasticsearch" "host" ] [ "services" "elasticsearch" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "graphite" "api" "host" ] [ "services" "graphite" "api" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "graphite" "web" "host" ] [ "services" "graphite" "web" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "i2pd" "extIp" ] [ "services" "i2pd" "address" ])
|
||||
(mkRenamedOptionModule [ "services" "kibana" "host" ] [ "services" "kibana" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "logstash" "address" ] [ "services" "logstash" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "mpd" "network" "host" ] [ "services" "mpd" "network" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "neo4j" "host" ] [ "services" "neo4j" "listenAddress" ])
|
||||
(mkRenamedOptionModule [ "services" "shout" "host" ] [ "services" "shout" "listenAddress" ])
|
||||
|
117
nixos/modules/services/misc/airsonic.nix
Normal file
117
nixos/modules/services/misc/airsonic.nix
Normal file
@ -0,0 +1,117 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.airsonic;
|
||||
in {
|
||||
options = {
|
||||
|
||||
services.airsonic = {
|
||||
enable = mkEnableOption "Airsonic, the Free and Open Source media streaming server (fork of Subsonic and Libresonic)";
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "airsonic";
|
||||
description = "User account under which airsonic runs.";
|
||||
};
|
||||
|
||||
home = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/airsonic";
|
||||
description = ''
|
||||
The directory where Airsonic will create files.
|
||||
Make sure it is writable.
|
||||
'';
|
||||
};
|
||||
|
||||
listenAddress = mkOption {
|
||||
type = types.string;
|
||||
default = "127.0.0.1";
|
||||
description = ''
|
||||
The host name or IP address on which to bind Airsonic.
|
||||
Only relevant if you have multiple network interfaces and want
|
||||
to make Airsonic available on only one of them. The default value
|
||||
will bind Airsonic to all available network interfaces.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.int;
|
||||
default = 4040;
|
||||
description = ''
|
||||
The port on which Airsonic will listen for
|
||||
incoming HTTP traffic. Set to 0 to disable.
|
||||
'';
|
||||
};
|
||||
|
||||
contextPath = mkOption {
|
||||
type = types.path;
|
||||
default = "/";
|
||||
description = ''
|
||||
The context path, i.e., the last part of the Airsonic
|
||||
URL. Typically '/' or '/airsonic'. Default '/'
|
||||
'';
|
||||
};
|
||||
|
||||
maxMemory = mkOption {
|
||||
type = types.int;
|
||||
default = 100;
|
||||
description = ''
|
||||
The memory limit (max Java heap size) in megabytes.
|
||||
Default: 100
|
||||
'';
|
||||
};
|
||||
|
||||
transcoders = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ "${pkgs.ffmpeg.bin}/bin/ffmpeg" ];
|
||||
defaultText= [ "\${pkgs.ffmpeg.bin}/bin/ffmpeg" ];
|
||||
description = ''
|
||||
List of paths to transcoder executables that should be accessible
|
||||
from Airsonic. Symlinks will be created to each executable inside
|
||||
${cfg.home}/transcoders.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.airsonic = {
|
||||
description = "Airsonic Media Server";
|
||||
after = [ "local-fs.target" "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
# Install transcoders.
|
||||
rm -rf ${cfg.home}/transcode
|
||||
mkdir -p ${cfg.home}/transcode
|
||||
for exe in ${toString cfg.transcoders}; do
|
||||
ln -sf "$exe" ${cfg.home}/transcode
|
||||
done
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = ''
|
||||
${pkgs.jre}/bin/java -Xmx${toString cfg.maxMemory}m \
|
||||
-Dairsonic.home=${cfg.home} \
|
||||
-Dserver.address=${cfg.listenAddress} \
|
||||
-Dserver.port=${toString cfg.port} \
|
||||
-Dairsonic.contextPath=${cfg.contextPath} \
|
||||
-Djava.awt.headless=true \
|
||||
-verbose:gc \
|
||||
-jar ${pkgs.airsonic}/webapps/airsonic.war
|
||||
'';
|
||||
Restart = "always";
|
||||
User = "airsonic";
|
||||
UMask = "0022";
|
||||
};
|
||||
};
|
||||
|
||||
users.extraUsers.airsonic = {
|
||||
description = "Airsonic service user";
|
||||
name = cfg.user;
|
||||
home = cfg.home;
|
||||
createHome = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -28,15 +28,15 @@ let
|
||||
};
|
||||
|
||||
mkKeyedEndpointOpt = name: addr: port: keyFile:
|
||||
(mkEndpointOpt name addr port) // {
|
||||
keys = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
File to persist ${lib.toUpper name} keys.
|
||||
'';
|
||||
(mkEndpointOpt name addr port) // {
|
||||
keys = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
File to persist ${lib.toUpper name} keys.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
commonTunOpts = let
|
||||
i2cpOpts = {
|
||||
@ -59,7 +59,7 @@ let
|
||||
description = "Number of ElGamal/AES tags to send.";
|
||||
default = 40;
|
||||
};
|
||||
destination = mkOption {
|
||||
destination = mkOption {
|
||||
type = types.str;
|
||||
description = "Remote endpoint, I2P hostname or b32.i2p address.";
|
||||
};
|
||||
@ -70,88 +70,91 @@ let
|
||||
};
|
||||
} // mkEndpointOpt name "127.0.0.1" 0;
|
||||
|
||||
i2pdConf = pkgs.writeText "i2pd.conf"
|
||||
''
|
||||
ipv4 = ${boolToString cfg.enableIPv4}
|
||||
ipv6 = ${boolToString cfg.enableIPv6}
|
||||
notransit = ${boolToString cfg.notransit}
|
||||
floodfill = ${boolToString cfg.floodfill}
|
||||
netid = ${toString cfg.netid}
|
||||
${if isNull cfg.bandwidth then "" else "bandwidth = ${toString cfg.bandwidth}" }
|
||||
${if isNull cfg.port then "" else "port = ${toString cfg.port}"}
|
||||
i2pdConf = pkgs.writeText "i2pd.conf" ''
|
||||
# DO NOT EDIT -- this file has been generated automatically.
|
||||
loglevel = ${cfg.logLevel}
|
||||
|
||||
[limits]
|
||||
transittunnels = ${toString cfg.limits.transittunnels}
|
||||
ipv4 = ${boolToString cfg.enableIPv4}
|
||||
ipv6 = ${boolToString cfg.enableIPv6}
|
||||
notransit = ${boolToString cfg.notransit}
|
||||
floodfill = ${boolToString cfg.floodfill}
|
||||
netid = ${toString cfg.netid}
|
||||
${if isNull cfg.bandwidth then "" else "bandwidth = ${toString cfg.bandwidth}" }
|
||||
${if isNull cfg.port then "" else "port = ${toString cfg.port}"}
|
||||
|
||||
[upnp]
|
||||
enabled = ${boolToString cfg.upnp.enable}
|
||||
name = ${cfg.upnp.name}
|
||||
[limits]
|
||||
transittunnels = ${toString cfg.limits.transittunnels}
|
||||
|
||||
[precomputation]
|
||||
elgamal = ${boolToString cfg.precomputation.elgamal}
|
||||
[upnp]
|
||||
enabled = ${boolToString cfg.upnp.enable}
|
||||
name = ${cfg.upnp.name}
|
||||
|
||||
[reseed]
|
||||
verify = ${boolToString cfg.reseed.verify}
|
||||
file = ${cfg.reseed.file}
|
||||
urls = ${builtins.concatStringsSep "," cfg.reseed.urls}
|
||||
[precomputation]
|
||||
elgamal = ${boolToString cfg.precomputation.elgamal}
|
||||
|
||||
[addressbook]
|
||||
defaulturl = ${cfg.addressbook.defaulturl}
|
||||
subscriptions = ${builtins.concatStringsSep "," cfg.addressbook.subscriptions}
|
||||
${flip concatMapStrings
|
||||
[reseed]
|
||||
verify = ${boolToString cfg.reseed.verify}
|
||||
file = ${cfg.reseed.file}
|
||||
urls = ${builtins.concatStringsSep "," cfg.reseed.urls}
|
||||
|
||||
[addressbook]
|
||||
defaulturl = ${cfg.addressbook.defaulturl}
|
||||
subscriptions = ${builtins.concatStringsSep "," cfg.addressbook.subscriptions}
|
||||
|
||||
${flip concatMapStrings
|
||||
(collect (proto: proto ? port && proto ? address && proto ? name) cfg.proto)
|
||||
(proto: let portStr = toString proto.port; in
|
||||
''
|
||||
[${proto.name}]
|
||||
enabled = ${boolToString proto.enable}
|
||||
address = ${proto.address}
|
||||
port = ${toString proto.port}
|
||||
${if proto ? keys then "keys = ${proto.keys}" else ""}
|
||||
${if proto ? auth then "auth = ${boolToString proto.auth}" else ""}
|
||||
${if proto ? user then "user = ${proto.user}" else ""}
|
||||
${if proto ? pass then "pass = ${proto.pass}" else ""}
|
||||
${if proto ? outproxy then "outproxy = ${proto.outproxy}" else ""}
|
||||
${if proto ? outproxyPort then "outproxyport = ${toString proto.outproxyPort}" else ""}
|
||||
'')
|
||||
}
|
||||
(proto: let portStr = toString proto.port; in ''
|
||||
[${proto.name}]
|
||||
enabled = ${boolToString proto.enable}
|
||||
address = ${proto.address}
|
||||
port = ${toString proto.port}
|
||||
${if proto ? keys then "keys = ${proto.keys}" else ""}
|
||||
${if proto ? auth then "auth = ${boolToString proto.auth}" else ""}
|
||||
${if proto ? user then "user = ${proto.user}" else ""}
|
||||
${if proto ? pass then "pass = ${proto.pass}" else ""}
|
||||
${if proto ? outproxy then "outproxy = ${proto.outproxy}" else ""}
|
||||
${if proto ? outproxyPort then "outproxyport = ${toString proto.outproxyPort}" else ""}
|
||||
'')
|
||||
}
|
||||
'';
|
||||
|
||||
i2pdTunnelConf = pkgs.writeText "i2pd-tunnels.conf" ''
|
||||
${flip concatMapStrings
|
||||
(collect (tun: tun ? port && tun ? destination) cfg.outTunnels)
|
||||
(tun: let portStr = toString tun.port; in ''
|
||||
[${tun.name}]
|
||||
type = client
|
||||
destination = ${tun.destination}
|
||||
keys = ${tun.keys}
|
||||
address = ${tun.address}
|
||||
port = ${toString tun.port}
|
||||
inbound.length = ${toString tun.inbound.length}
|
||||
outbound.length = ${toString tun.outbound.length}
|
||||
inbound.quantity = ${toString tun.inbound.quantity}
|
||||
outbound.quantity = ${toString tun.outbound.quantity}
|
||||
crypto.tagsToSend = ${toString tun.crypto.tagsToSend}
|
||||
'')
|
||||
}
|
||||
${flip concatMapStrings
|
||||
(collect (tun: tun ? port && tun ? host) cfg.inTunnels)
|
||||
(tun: let portStr = toString tun.port; in ''
|
||||
[${tun.name}]
|
||||
type = server
|
||||
destination = ${tun.destination}
|
||||
keys = ${tun.keys}
|
||||
host = ${tun.address}
|
||||
port = ${tun.port}
|
||||
inport = ${tun.inPort}
|
||||
accesslist = ${builtins.concatStringsSep "," tun.accessList}
|
||||
'')
|
||||
}
|
||||
# DO NOT EDIT -- this file has been generated automatically.
|
||||
${flip concatMapStrings
|
||||
(collect (tun: tun ? port && tun ? destination) cfg.outTunnels)
|
||||
(tun: let portStr = toString tun.port; in ''
|
||||
[${tun.name}]
|
||||
type = client
|
||||
destination = ${tun.destination}
|
||||
keys = ${tun.keys}
|
||||
address = ${tun.address}
|
||||
port = ${toString tun.port}
|
||||
inbound.length = ${toString tun.inbound.length}
|
||||
outbound.length = ${toString tun.outbound.length}
|
||||
inbound.quantity = ${toString tun.inbound.quantity}
|
||||
outbound.quantity = ${toString tun.outbound.quantity}
|
||||
crypto.tagsToSend = ${toString tun.crypto.tagsToSend}
|
||||
'')
|
||||
}
|
||||
${flip concatMapStrings
|
||||
(collect (tun: tun ? port && tun ? host) cfg.inTunnels)
|
||||
(tun: let portStr = toString tun.port; in ''
|
||||
[${tun.name}]
|
||||
type = server
|
||||
destination = ${tun.destination}
|
||||
keys = ${tun.keys}
|
||||
host = ${tun.address}
|
||||
port = ${tun.port}
|
||||
inport = ${tun.inPort}
|
||||
accesslist = ${builtins.concatStringsSep "," tun.accessList}
|
||||
'')
|
||||
}
|
||||
'';
|
||||
|
||||
i2pdSh = pkgs.writeScriptBin "i2pd" ''
|
||||
#!/bin/sh
|
||||
${pkgs.i2pd}/bin/i2pd \
|
||||
${if isNull cfg.extIp then "" else "--host="+cfg.extIp} \
|
||||
exec ${pkgs.i2pd}/bin/i2pd \
|
||||
${if isNull cfg.address then "" else "--host="+cfg.address} \
|
||||
--conf=${i2pdConf} \
|
||||
--tunconf=${i2pdTunnelConf}
|
||||
'';
|
||||
@ -176,11 +179,23 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
extIp = mkOption {
|
||||
logLevel = mkOption {
|
||||
type = types.enum ["debug" "info" "warn" "error"];
|
||||
default = "error";
|
||||
description = ''
|
||||
The log level. <command>i2pd</command> defaults to "info"
|
||||
but that generates copious amounts of log messages.
|
||||
|
||||
We default to "error" which is similar to the default log
|
||||
level of <command>tor</command>.
|
||||
'';
|
||||
};
|
||||
|
||||
address = mkOption {
|
||||
type = with types; nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
Your external IP.
|
||||
Your external IP or hostname.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -213,7 +228,7 @@ in
|
||||
default = null;
|
||||
description = ''
|
||||
Set a router bandwidth limit integer in KBps.
|
||||
If not set, i2pd defaults to 32KBps.
|
||||
If not set, <command>i2pd</command> defaults to 32KBps.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -261,9 +276,14 @@ in
|
||||
|
||||
precomputation.elgamal = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
default = true;
|
||||
description = ''
|
||||
Use ElGamal precomputated tables.
|
||||
Whenever to use precomputated tables for ElGamal.
|
||||
<command>i2pd</command> defaults to <literal>false</literal>
|
||||
to save 64M of memory (and looses some performance).
|
||||
|
||||
We default to <literal>true</literal> as that is what most
|
||||
users want anyway.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -353,7 +373,7 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
proto.httpProxy = mkKeyedEndpointOpt "httpproxy" "127.0.0.1" 4446 "";
|
||||
proto.httpProxy = mkKeyedEndpointOpt "httpproxy" "127.0.0.1" 4444 "";
|
||||
proto.socksProxy = (mkKeyedEndpointOpt "socksproxy" "127.0.0.1" 4447 "")
|
||||
// {
|
||||
outproxy = mkOption {
|
||||
|
@ -28,16 +28,11 @@ in
|
||||
users.extraGroups._lldpd = {};
|
||||
|
||||
environment.systemPackages = [ pkgs.lldpd ];
|
||||
systemd.packages = [ pkgs.lldpd ];
|
||||
|
||||
systemd.services.lldpd = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
requires = [ "network.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.lldpd}/bin/lldpd -d ${concatStringsSep " " cfg.extraArgs}";
|
||||
PrivateTmp = true;
|
||||
PrivateDevices = true;
|
||||
};
|
||||
environment.LLDPD_OPTIONS = concatStringsSep " " cfg.extraArgs;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
|
||||
inherit (pkgs) cups cups-pk-helper cups-filters gutenprint;
|
||||
inherit (pkgs) cups cups-pk-helper cups-filters;
|
||||
|
||||
cfg = config.services.printing;
|
||||
|
||||
@ -35,7 +35,6 @@ let
|
||||
name = "cups-progs";
|
||||
paths =
|
||||
[ cups.out additionalBackends cups-filters pkgs.ghostscript ]
|
||||
++ optional cfg.gutenprint gutenprint
|
||||
++ cfg.drivers;
|
||||
pathsToLink = [ "/lib" "/share/cups" "/bin" ];
|
||||
postBuild = cfg.bindirCmds;
|
||||
@ -97,12 +96,15 @@ let
|
||||
(writeConf "client.conf" cfg.clientConf)
|
||||
(writeConf "snmp.conf" cfg.snmpConf)
|
||||
] ++ optional avahiEnabled browsedFile
|
||||
++ optional cfg.gutenprint gutenprint
|
||||
++ cfg.drivers;
|
||||
pathsToLink = [ "/etc/cups" ];
|
||||
ignoreCollisions = true;
|
||||
};
|
||||
|
||||
filterGutenprint = pkgs: filter (pkg: pkg.meta.isGutenprint or false == true) pkgs;
|
||||
containsGutenprint = pkgs: length (filterGutenprint pkgs) > 0;
|
||||
getGutenprint = pkgs: head (filterGutenprint pkgs);
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@ -224,23 +226,17 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
gutenprint = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to enable Gutenprint drivers for CUPS. This includes auto-updating
|
||||
Gutenprint PPD files.
|
||||
'';
|
||||
};
|
||||
|
||||
drivers = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [];
|
||||
example = literalExample "[ pkgs.splix ]";
|
||||
example = literalExample "[ pkgs.gutenprint pkgs.hplip pkgs.splix ]";
|
||||
description = ''
|
||||
CUPS drivers to use. Drivers provided by CUPS, cups-filters, Ghostscript
|
||||
and Samba are added unconditionally. For adding Gutenprint, see
|
||||
<literal>gutenprint</literal>.
|
||||
CUPS drivers to use. Drivers provided by CUPS, cups-filters,
|
||||
Ghostscript and Samba are added unconditionally. If this list contains
|
||||
Gutenprint (i.e. a derivation with
|
||||
<literal>meta.isGutenprint = true</literal>) the PPD files in
|
||||
<filename>/var/lib/cups/ppd</filename> will be updated automatically
|
||||
to avoid errors due to incompatible versions.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -318,9 +314,9 @@ in
|
||||
[ ! -e /var/lib/cups/path ] && \
|
||||
ln -s ${bindir} /var/lib/cups/path
|
||||
|
||||
${optionalString cfg.gutenprint ''
|
||||
${optionalString (containsGutenprint cfg.drivers) ''
|
||||
if [ -d /var/lib/cups/ppd ]; then
|
||||
${gutenprint}/bin/cups-genppdupdate -p /var/lib/cups/ppd
|
||||
${getGutenprint cfg.drivers}/bin/cups-genppdupdate -p /var/lib/cups/ppd
|
||||
fi
|
||||
''}
|
||||
'';
|
||||
|
200
nixos/modules/services/security/usbguard.nix
Normal file
200
nixos/modules/services/security/usbguard.nix
Normal file
@ -0,0 +1,200 @@
|
||||
{config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.usbguard;
|
||||
|
||||
# valid policy options
|
||||
policy = (types.enum [ "allow" "block" "reject" "keep" "apply-policy" ]);
|
||||
|
||||
# decide what file to use for rules
|
||||
ruleFile = if cfg.rules != null then pkgs.writeText "usbguard-rules" cfg.rules else cfg.ruleFile;
|
||||
|
||||
daemonConf = ''
|
||||
# generated by nixos/modules/services/security/usbguard.nix
|
||||
RuleFile=${ruleFile}
|
||||
ImplicitPolicyTarget=${cfg.implictPolicyTarget}
|
||||
PresentDevicePolicy=${cfg.presentDevicePolicy}
|
||||
PresentControllerPolicy=${cfg.presentControllerPolicy}
|
||||
InsertedDevicePolicy=${cfg.insertedDevicePolicy}
|
||||
RestoreControllerDeviceState=${if cfg.restoreControllerDeviceState then "true" else "false"}
|
||||
# this does not seem useful for endusers to change
|
||||
DeviceManagerBackend=uevent
|
||||
IPCAllowedUsers=${concatStringsSep " " cfg.IPCAllowedUsers}
|
||||
IPCAllowedGroups=${concatStringsSep " " cfg.IPCAllowedGroups}
|
||||
IPCAccessControlFiles=${cfg.IPCAccessControlFiles}
|
||||
DeviceRulesWithPort=${if cfg.deviceRulesWithPort then "true" else "false"}
|
||||
AuditFilePath=${cfg.auditFilePath}
|
||||
'';
|
||||
|
||||
daemonConfFile = pkgs.writeText "usbguard-daemon-conf" daemonConf;
|
||||
|
||||
in {
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
services.usbguard = {
|
||||
enable = mkEnableOption "USBGuard daemon";
|
||||
|
||||
ruleFile = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/usbguard/rules.conf";
|
||||
description = ''
|
||||
The USBGuard daemon will use this file to load the policy rule set
|
||||
from it and to write new rules received via the IPC interface.
|
||||
|
||||
Running the command <literal>usbguard generate-policy</literal> as
|
||||
root will generate a config for your currently plugged in devices.
|
||||
For a in depth guide consult the official documentation.
|
||||
|
||||
Setting the <literal>rules</literal> option will ignore the
|
||||
<literal>ruleFile</literal> option.
|
||||
'';
|
||||
};
|
||||
|
||||
rules = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
example = ''
|
||||
allow with-interface equals { 08:*:* }
|
||||
'';
|
||||
description = ''
|
||||
The USBGuard daemon will load this policy rule set. Modifying it via
|
||||
the IPC interface won't work if you use this option, since the
|
||||
contents of this option will be written into the nix-store it will be
|
||||
read-only.
|
||||
|
||||
You can still use <literal> usbguard generate-policy</literal> to
|
||||
generate rules, but you would have to insert them here.
|
||||
|
||||
Setting the <literal>rules</literal> option will ignore the
|
||||
<literal>ruleFile</literal> option.
|
||||
'';
|
||||
};
|
||||
|
||||
implictPolicyTarget = mkOption {
|
||||
type = policy;
|
||||
default = "block";
|
||||
description = ''
|
||||
How to treat USB devices that don't match any rule in the policy.
|
||||
Target should be one of allow, block or reject (logically remove the
|
||||
device node from the system).
|
||||
'';
|
||||
};
|
||||
|
||||
presentDevicePolicy = mkOption {
|
||||
type = policy;
|
||||
default = "apply-policy";
|
||||
description = ''
|
||||
How to treat USB devices that are already connected when the daemon
|
||||
starts. Policy should be one of allow, block, reject, keep (keep
|
||||
whatever state the device is currently in) or apply-policy (evaluate
|
||||
the rule set for every present device).
|
||||
'';
|
||||
};
|
||||
|
||||
presentControllerPolicy = mkOption {
|
||||
type = policy;
|
||||
default = "keep";
|
||||
description = ''
|
||||
How to treat USB controller devices that are already connected when
|
||||
the daemon starts. One of allow, block, reject, keep or apply-policy.
|
||||
'';
|
||||
};
|
||||
|
||||
insertedDevicePolicy = mkOption {
|
||||
type = policy;
|
||||
default = "apply-policy";
|
||||
description = ''
|
||||
How to treat USB devices that are already connected after the daemon
|
||||
starts. One of block, reject, apply-policy.
|
||||
'';
|
||||
};
|
||||
|
||||
restoreControllerDeviceState = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
The USBGuard daemon modifies some attributes of controller
|
||||
devices like the default authorization state of new child device
|
||||
instances. Using this setting, you can controll whether the daemon
|
||||
will try to restore the attribute values to the state before
|
||||
modificaton on shutdown.
|
||||
'';
|
||||
};
|
||||
|
||||
IPCAllowedUsers = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "root" ];
|
||||
example = [ "root" "yourusername" ];
|
||||
description = ''
|
||||
A list of usernames that the daemon will accept IPC connections from.
|
||||
'';
|
||||
};
|
||||
|
||||
IPCAllowedGroups = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "wheel" ];
|
||||
description = ''
|
||||
A list of groupnames that the daemon will accept IPC connections
|
||||
from.
|
||||
'';
|
||||
};
|
||||
|
||||
IPCAccessControlFiles = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/lib/usbguard/IPCAccessControl.d/";
|
||||
description = ''
|
||||
The files at this location will be interpreted by the daemon as IPC
|
||||
access control definition files. See the IPC ACCESS CONTROL section
|
||||
in <citerefentry><refentrytitle>usbguard-daemon.conf</refentrytitle>
|
||||
<manvolnum>5</manvolnum></citerefentry> for more details.
|
||||
'';
|
||||
};
|
||||
|
||||
deviceRulesWithPort = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Generate device specific rules including the "via-port" attribute.
|
||||
'';
|
||||
};
|
||||
|
||||
auditFilePath = mkOption {
|
||||
type = types.path;
|
||||
default = "/var/log/usbguard/usbguard-audit.log";
|
||||
description = ''
|
||||
USBGuard audit events log file path.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = [ pkgs.usbguard ];
|
||||
|
||||
systemd.services.usbguard = {
|
||||
description = "USBGuard daemon";
|
||||
|
||||
wantedBy = [ "basic.target" ];
|
||||
wants = [ "systemd-udevd.service" "local-fs.target" ];
|
||||
|
||||
# make sure an empty rule file and required directories exist
|
||||
preStart = ''mkdir -p $(dirname "${cfg.ruleFile}") "${cfg.IPCAccessControlFiles}" && ([ -f "${cfg.ruleFile}" ] || touch ${cfg.ruleFile})'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = ''${pkgs.usbguard}/bin/usbguard-daemon -d -k -c ${daemonConfFile}'';
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -150,7 +150,8 @@ in {
|
||||
PrivateDevices = true;
|
||||
ProtectSystem = "full";
|
||||
ProtectHome = true;
|
||||
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
|
||||
# XXX: We need AF_NETLINK to make the sendmail SUID binary from postfix work
|
||||
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6 AF_NETLINK";
|
||||
Type = "notify";
|
||||
ExecStart = "${cfg.phpPackage}/bin/php-fpm -y ${cfgFile} -c ${phpIni}";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -USR2 $MAINPID";
|
||||
|
@ -102,7 +102,7 @@ in {
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = with pkgs; [ libvirt netcat-openbsd ];
|
||||
environment.systemPackages = with pkgs; [ libvirt netcat-openbsd qemu_kvm ];
|
||||
|
||||
boot.kernelModules = [ "tun" ];
|
||||
|
||||
|
@ -3,13 +3,13 @@
|
||||
, perl, DigestSHA, MusicBrainz, MusicBrainzDiscID
|
||||
, makeWrapper }:
|
||||
|
||||
let version = "2.7.2";
|
||||
let version = "2.8.1";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "abcde-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://abcde.einval.com/download/abcde-${version}.tar.gz";
|
||||
sha256 = "1pakpi41k8yd780mfp0snhia6mmwjwxk9lcrq6gynimch8b8hfda";
|
||||
sha256 = "0f9bjs0phk23vry7gvh0cll9vl6kmc1y4fwwh762scfdvpbp3774";
|
||||
};
|
||||
|
||||
# FIXME: This package does not support `distmp3', `eject', etc.
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, boost, cmake, chromaprint, gettext, gst_all_1, liblastfm
|
||||
, qt4, taglib, fftw, glew, qjson, sqlite, libgpod, libplist, usbmuxd, libmtp
|
||||
, libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, protobuf
|
||||
, libpulseaudio, gvfs, libcdio, libechonest, libspotify, pcre, projectm, protobuf
|
||||
, qca2, pkgconfig, sparsehash, config, makeWrapper, runCommand, gst_plugins }:
|
||||
|
||||
let
|
||||
@ -26,9 +26,10 @@ let
|
||||
./clementine-spotify-blob-remove-from-build.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cmake
|
||||
chromaprint
|
||||
fftw
|
||||
gettext
|
||||
@ -40,7 +41,7 @@ let
|
||||
liblastfm
|
||||
libpulseaudio
|
||||
pcre
|
||||
pkgconfig
|
||||
projectm
|
||||
protobuf
|
||||
qca2
|
||||
qjson
|
||||
@ -55,7 +56,10 @@ let
|
||||
|
||||
free = stdenv.mkDerivation {
|
||||
name = "clementine-free-${version}";
|
||||
inherit patches src buildInputs;
|
||||
inherit src patches nativeBuildInputs buildInputs;
|
||||
|
||||
cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
postPatch = ''
|
||||
sed -i src/CMakeLists.txt \
|
||||
@ -76,7 +80,7 @@ let
|
||||
blob = stdenv.mkDerivation {
|
||||
name = "clementine-blob-${version}";
|
||||
# Use the same patches and sources as Clementine
|
||||
inherit src;
|
||||
inherit src nativeBuildInputs;
|
||||
|
||||
patches = [
|
||||
./clementine-spotify-blob.patch
|
||||
@ -114,15 +118,13 @@ runCommand "clementine-${version}"
|
||||
dontPatchELF = true;
|
||||
dontStrip = true;
|
||||
meta = {
|
||||
homepage = http://www.clementine-player.org;
|
||||
description = "A multiplatform music player"
|
||||
+ " (" + (optionalString withSpotify "with Spotify, ")
|
||||
+ "with gstreamer plugins: "
|
||||
+ concatStrings (intersperse ", " (map (x: x.name) gst_plugins))
|
||||
+ ")";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.ttuegel ];
|
||||
inherit (free.meta) homepage platforms maintainers;
|
||||
};
|
||||
}
|
||||
''
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "drumkv1-${version}";
|
||||
version = "0.8.1";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/drumkv1/${name}.tar.gz";
|
||||
sha256 = "0l6kjb1q9vslwy56836a0c65mf8z8ycam5vzz3k4qvd8g74bs1zq";
|
||||
sha256 = "0qqpklzy4wgw9jy0v2810j06712q90bwc69fp7da82536ba058a9";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools ];
|
||||
|
@ -4,7 +4,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.4.0";
|
||||
version = "4.4.1";
|
||||
|
||||
deps = [
|
||||
alsaLib
|
||||
@ -46,7 +46,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/releases/download/v${version}/google-play-music-desktop-player_${version}_amd64.deb";
|
||||
sha256 = "01a52rsp0a9k47mm3wqnhnmlnd7fw6xmdrn882msldijjgwsq5cc";
|
||||
sha256 = "0jqgawgij6jxf3zy3glviqj6s34mq7d756syg2c7kk1gkqkwgdpw";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
@ -12,11 +12,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "guitarix-${version}";
|
||||
version = "0.35.3";
|
||||
version = "0.35.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.xz";
|
||||
sha256 = "0pvw4ijkq6lcn45vrif9b4mqmgzi0qg1dp5b33kb5zan6n1aci4j";
|
||||
sha256 = "0ffvfnvhj6vz73zsrpi88hs69ys4zskm847zf825dl2r39n9nn41";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gettext intltool wrapGAppsHook pkgconfig python2 ];
|
||||
|
@ -67,10 +67,6 @@ stdenv.mkDerivation rec {
|
||||
export CMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH:$(echo "${jamomacore}/jamoma/share/cmake/Jamoma")"
|
||||
'';
|
||||
|
||||
preBuild = ''
|
||||
ninja
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cmake --build . --target install
|
||||
'';
|
||||
|
23
pkgs/applications/audio/padthv1/default.nix
Normal file
23
pkgs/applications/audio/padthv1/default.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libjack2, alsaLib, libsndfile, liblo, lv2, qt5, fftw }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "padthv1-${version}";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/padthv1/${name}.tar.gz";
|
||||
sha256 = "1p6wfgh90h7gj1j3hlvwik3zj07xamkxbya85va2lsj6fkkkk20r";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib libsndfile liblo lv2 qt5.qtbase qt5.qttools fftw ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "polyphonic additive synthesizer";
|
||||
homepage = http://padthv1.sourceforge.net/;
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.magnetophon ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, cmake
|
||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake
|
||||
, glew, ftgl, ttf_bitstream_vera
|
||||
, withQt ? true, qt4
|
||||
, withLibvisual ? false, libvisual, SDL
|
||||
@ -24,7 +24,13 @@ stdenv.mkDerivation {
|
||||
sha256 = "1vh6jk68a0jdb6qwppb6f8cbgmhnv2ba3bcavzfd6sq06gq08cji";
|
||||
};
|
||||
|
||||
patch_gcc6 = fetchpatch {
|
||||
url = https://raw.githubusercontent.com/gentoo/gentoo/45abd63abc6644b6e177c057b5b42d894dbf8e29/media-libs/libprojectm/files/libprojectm-2.1.0-fix-c++14.patch;
|
||||
sha256 = "1i50scxv1jlqvb3jm3sql89a7wqckxhlpvnhz20vvmm1kii6lrsn";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
patch -d src/libprojectM -p1 -i "$patch_gcc6"
|
||||
sed -i 's:''${LIBVISUAL_PLUGINSDIR}:''${CMAKE_INSTALL_PREFIX}/lib/libvisual-0.4:' \
|
||||
src/projectM-libvisual/CMakeLists.txt
|
||||
'';
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "samplv1-${version}";
|
||||
version = "0.8.0";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/samplv1/${name}.tar.gz";
|
||||
sha256 = "0j3hkmd9q0bw9b7nk9cssqywlrishkd1n790a9vq6gh3pdc5sf3r";
|
||||
sha256 = "107p2xsj066q2bil0xcgqrrn7lawp02wzf7qmlajcbnd79jhsi6i";
|
||||
};
|
||||
|
||||
buildInputs = [ libjack2 alsaLib liblo libsndfile lv2 qt5.qtbase qt5.qttools];
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "synthv1-${version}";
|
||||
version = "0.8.0";
|
||||
version = "0.8.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/synthv1/${name}.tar.gz";
|
||||
sha256 = "155pfyhr6d35ciw95pbxlqy7751cmij8j5d849rvblqbjzyzb5qx";
|
||||
sha256 = "0awk2zx0xa6vl6ah24zz0k2mwsx50hh5g1rh32mp790fp4x7l5s8";
|
||||
};
|
||||
|
||||
buildInputs = [ qt5.qtbase qt5.qttools libjack2 alsaLib liblo lv2 ];
|
||||
|
@ -6,11 +6,11 @@ assert stdenv ? glibc;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "yoshimi-${version}";
|
||||
version = "1.5.0";
|
||||
version = "1.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/yoshimi/${name}.tar.bz2";
|
||||
sha256 = "10s1i18xlmvqfrnr0zn2mj2b28i7p62dlqzzzkmpaapqj1gsgpz5";
|
||||
sha256 = "0sns35pyw2f74xrv1fxiyf9g9415kvh2rrbdjd60hsiv584nlari";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -27,9 +27,9 @@ in rec {
|
||||
|
||||
preview = mkStudio rec {
|
||||
pname = "android-studio-preview";
|
||||
version = "3.0.0.11"; # "Android Studio 3.0 Beta 3"
|
||||
build = "171.4294784";
|
||||
sha256Hash = "11m939hpwnrrz0grnc1x1ff19yjnwzx5w1dzaw9hpm8ylx692mrf";
|
||||
version = "3.0.0.10"; # "Android Studio 3.0 Beta 2"
|
||||
build = "171.4263559";
|
||||
sha256Hash = "0bya69qa50s6dbvlzb198b5w6ixs21y6b56v3v1xjb3kndf9y44w";
|
||||
|
||||
meta = stable.meta // {
|
||||
description = "The Official IDE for Android (preview version)";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "atom-${version}";
|
||||
version = "1.19.2";
|
||||
version = "1.19.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
|
||||
sha256 = "0bfhcxhjsa7p35s5dz3zjxm4wc802m3k137p04l9anr3v5hrgqmb";
|
||||
sha256 = "0cms0zgxlzrm0sdqm97qdvrmvjcdcrbqi3bw66xabgx365pkry7z";
|
||||
name = "${name}.deb";
|
||||
};
|
||||
|
||||
|
@ -320,15 +320,15 @@ in
|
||||
|
||||
phpstorm = buildPhpStorm rec {
|
||||
name = "phpstorm-${version}";
|
||||
version = "2017.1.4";
|
||||
version = "2017.2.1"; /* updated by script */
|
||||
description = "Professional IDE for Web and PHP developers";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||
sha256 = "0zrbcziznz6dwh56snr27752xcsnl2gsxzi6jiraplkd92f2xlaf";
|
||||
sha256 = "2f1af9ef6e9cda25a809a19a25f2d4fbaef00edf9d1d5a195572ab5e04e71e5e"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-phpstorm";
|
||||
update-channel = "PS2017.1";
|
||||
update-channel = "PS2017.2";
|
||||
};
|
||||
|
||||
phpstorm10 = buildPhpStorm rec {
|
||||
|
@ -10,6 +10,7 @@ let
|
||||
if stdenv.system == "i686-linux" then "i686"
|
||||
else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
|
||||
else if stdenv.system == "armv7l-linux" then "armv7l"
|
||||
else if stdenv.system == "aarch64-linux" then "aarch64"
|
||||
else throw "ImageMagick is not supported on this platform.";
|
||||
|
||||
cfg = {
|
||||
|
@ -10,6 +10,7 @@ let
|
||||
if stdenv.system == "i686-linux" then "i686"
|
||||
else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
|
||||
else if stdenv.system == "armv7l-linux" then "armv7l"
|
||||
else if stdenv.system == "aarch64-linux" then "aarch64"
|
||||
else throw "ImageMagick is not supported on this platform.";
|
||||
|
||||
cfg = {
|
||||
|
@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
cmakeFlags = "-G Ninja";
|
||||
buildPhase = "ninja";
|
||||
installPhase = ''
|
||||
ninja install
|
||||
cd ..
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
assert stdenv.system == "x86_64-linux";
|
||||
|
||||
let version = "2017-SP1"; in
|
||||
let version = "2017-SP2"; in
|
||||
stdenv.mkDerivation {
|
||||
name = "draftsight-${version}";
|
||||
|
||||
@ -56,7 +56,7 @@ stdenv.mkDerivation {
|
||||
src = requireFile {
|
||||
name = "draftSight.deb";
|
||||
url = "https://www.3ds.com/?eID=3ds_brand_download&uid=41&pidDown=13426&L=0";
|
||||
sha256 = "0s7b74685r0961kd59hxpdp9s5yhvzx8307imsxm66f99s8rswdv";
|
||||
sha256 = "04i3dqza6y4p2059pqg5inp3qzr5jmiqplzzk7h1a6gh380v1rbr";
|
||||
};
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath [ gcc.cc mesa xdg_utils
|
||||
|
@ -2,7 +2,7 @@
|
||||
mkDerivation, lib, kdepimTeam,
|
||||
extra-cmake-modules, kdoctools,
|
||||
akonadi, akonadi-contacts, calendarsupport, kcalcore, kcompletion,
|
||||
kconfigwidgets, kcontacts, kdbusaddons, kitemmodels, kpimtextedit,
|
||||
kconfigwidgets, kcontacts, kdbusaddons, kitemmodels, kpimtextedit, libkdepim,
|
||||
ktextwidgets, kxmlgui, messagelib, qtbase,
|
||||
}:
|
||||
|
||||
@ -16,6 +16,6 @@ mkDerivation {
|
||||
buildInputs = [
|
||||
akonadi akonadi-contacts calendarsupport kcalcore kcompletion kconfigwidgets
|
||||
kcontacts kdbusaddons kitemmodels kpimtextedit ktextwidgets kxmlgui
|
||||
messagelib qtbase
|
||||
messagelib qtbase libkdepim
|
||||
];
|
||||
}
|
||||
|
@ -44,17 +44,6 @@ Index: grantleetheme-17.04.0/src/grantleetheme.cpp
|
||||
loader->setTheme(dirName);
|
||||
|
||||
if (!sEngine) {
|
||||
@@ -102,9 +105,7 @@ QString ThemePrivate::errorTemplate(cons
|
||||
Grantlee::Context ctx = createContext();
|
||||
ctx.insert(QStringLiteral("error"), reason);
|
||||
ctx.insert(QStringLiteral("templateName"), origTemplateName);
|
||||
- const QString errorString = failedTemplate
|
||||
- ? failedTemplate->errorString()
|
||||
- : QStringLiteral("(null template)");
|
||||
+ const QString errorString = failedTemplate->errorString();
|
||||
ctx.insert(QStringLiteral("errorMessage"), errorString);
|
||||
return tpl->render(&ctx);
|
||||
}
|
||||
@@ -122,7 +123,7 @@ Theme::Theme(const QString &themePath, c
|
||||
KConfigGroup group(&config, QStringLiteral("Desktop Entry"));
|
||||
if (group.isValid()) {
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff --git a/src/grantleetheme.cpp b/src/grantleetheme.cpp
|
||||
index b86fc3a..8af72f4 100644
|
||||
--- a/src/grantleetheme.cpp
|
||||
+++ b/src/grantleetheme.cpp
|
||||
@@ -102,7 +102,10 @@ QString ThemePrivate::errorTemplate(const QString &reason,
|
||||
Grantlee::Context ctx = createContext();
|
||||
ctx.insert(QStringLiteral("error"), reason);
|
||||
ctx.insert(QStringLiteral("templateName"), origTemplateName);
|
||||
- ctx.insert(QStringLiteral("errorMessage"), failedTemplate->errorString());
|
||||
+ const QString errorString = failedTemplate
|
||||
+ ? failedTemplate->errorString()
|
||||
+ : QStringLiteral("(null template)");
|
||||
+ ctx.insert(QStringLiteral("errorMessage"), errorString);
|
||||
return tpl->render(&ctx);
|
||||
}
|
||||
|
||||
@@ -208,7 +211,7 @@ QString Theme::render(const QString &templateName, const QVariantHash &data, con
|
||||
}
|
||||
|
||||
Grantlee::Template tpl = d->loader->loadByName(templateName, ThemePrivate::sEngine);
|
||||
- if (tpl->error()) {
|
||||
+ if (!tpl || tpl->error()) {
|
||||
return d->errorTemplate(i18n("Template parsing error"), templateName, tpl);
|
||||
}
|
||||
|
@ -1,2 +1 @@
|
||||
grantleetheme_check_null.patch
|
||||
grantlee-merge-theme-dirs.patch
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ mkDerivation, lib
|
||||
, extra-cmake-modules, kdoctools, makeWrapper
|
||||
, extra-cmake-modules, kdoctools, makeWrapper, shared_mime_info
|
||||
, qtwebkit
|
||||
, libkcddb, karchive, kcmutils, kfilemetadata, knewstuff, knotifyconfig, solid, kxmlgui
|
||||
, flac, lame, libmad, libmpcdec, libvorbis
|
||||
, libsamplerate, libsndfile, taglib
|
||||
, cdparanoia, cdrdao, cdrtools, dvdplusrwtools, libburn, libdvdcss, libdvdread, vcdimager
|
||||
, ffmpeg, libmusicbrainz2, normalize, sox, transcode, shared_mime_info, kinit
|
||||
, ffmpeg, libmusicbrainz3, normalize, sox, transcode, kinit
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -15,7 +15,7 @@ mkDerivation {
|
||||
maintainers = with maintainers; [ sander phreedom ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper shared_mime_info ];
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools makeWrapper ];
|
||||
propagatedBuildInputs = [
|
||||
# qt
|
||||
qtwebkit
|
||||
@ -28,7 +28,7 @@ mkDerivation {
|
||||
# cd/dvd
|
||||
cdparanoia libdvdcss libdvdread
|
||||
# others
|
||||
ffmpeg libmusicbrainz2 shared_mime_info
|
||||
ffmpeg libmusicbrainz3 shared_mime_info
|
||||
];
|
||||
propagatedUserEnvPkgs = [ (lib.getBin kinit) ];
|
||||
postFixup =
|
||||
|
@ -5,7 +5,7 @@
|
||||
akonadi, akonadi-calendar, akonadi-contacts, akonadi-mime, akonadi-notes,
|
||||
kalarmcal, kcalutils, kcontacts, kdav, kdelibs4support, kidentitymanagement,
|
||||
kimap, kmailtransport, kmbox, kmime, knotifications, knotifyconfig,
|
||||
qtwebengine,
|
||||
pimcommon, qtwebengine,
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -19,6 +19,7 @@ mkDerivation {
|
||||
akonadi akonadi-calendar akonadi-contacts akonadi-mime akonadi-notes
|
||||
kalarmcal kcalutils kcontacts kdav kdelibs4support kidentitymanagement kimap
|
||||
kmailtransport kmbox kmime knotifications knotifyconfig qtwebengine
|
||||
pimcommon
|
||||
];
|
||||
# Attempts to build some files before dependencies have been generated
|
||||
enableParallelBuilding = false;
|
||||
|
@ -2,7 +2,7 @@
|
||||
mkDerivation, lib, kdepimTeam,
|
||||
extra-cmake-modules, kdoctools,
|
||||
akonadi-search, kbookmarks, kcalutils, kcmutils, kcompletion, kconfig,
|
||||
kconfigwidgets, kcoreaddons, kdelibs4support, kdepim-apps-libs,
|
||||
kconfigwidgets, kcoreaddons, kdelibs4support, kdepim-apps-libs, libkdepim,
|
||||
kdepim-runtime, kguiaddons, ki18n, kiconthemes, kinit, kio, kldap,
|
||||
kmail-account-wizard, kmailtransport, knotifications, knotifyconfig,
|
||||
kontactinterface, kparts, kpty, kservice, ktextwidgets, ktnef, kwallet,
|
||||
@ -20,7 +20,7 @@ mkDerivation {
|
||||
buildInputs = [
|
||||
akonadi-search kbookmarks kcalutils kcmutils kcompletion kconfig
|
||||
kconfigwidgets kcoreaddons kdelibs4support kdepim-apps-libs kguiaddons ki18n
|
||||
kiconthemes kinit kio kldap kmail-account-wizard kmailtransport
|
||||
kiconthemes kinit kio kldap kmail-account-wizard kmailtransport libkdepim
|
||||
knotifications knotifyconfig kontactinterface kparts kpty kservice
|
||||
ktextwidgets ktnef kwidgetsaddons kwindowsystem kxmlgui libgravatar
|
||||
libksieve mailcommon messagelib pim-sieve-editor qtscript qtwebengine
|
||||
|
@ -4,7 +4,7 @@
|
||||
qtwebengine,
|
||||
kcmutils, kcrash, kdbusaddons, kwindowsystem,
|
||||
akonadi, grantleetheme, kdepim-apps-libs, kontactinterface, kpimtextedit,
|
||||
mailcommon,
|
||||
mailcommon, libkdepim
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -18,6 +18,6 @@ mkDerivation {
|
||||
qtwebengine
|
||||
kcmutils kcrash kdbusaddons kwindowsystem
|
||||
akonadi grantleetheme kdepim-apps-libs kontactinterface kpimtextedit
|
||||
mailcommon
|
||||
mailcommon libkdepim
|
||||
];
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
extra-cmake-modules, kdoctools,
|
||||
akonadi, akonadi-mime, karchive, kcodecs, kcompletion, kconfigwidgets,
|
||||
kdbusaddons, kdesignerplugin, kiconthemes, kio, kitemmodels, kldap,
|
||||
kmailtransport, kwindowsystem, mailimporter, messagelib, phonon,
|
||||
kmailtransport, kwindowsystem, mailimporter, messagelib, phonon, libkdepim
|
||||
}:
|
||||
|
||||
mkDerivation {
|
||||
@ -16,7 +16,7 @@ mkDerivation {
|
||||
buildInputs = [
|
||||
akonadi akonadi-mime karchive kcodecs kcompletion kconfigwidgets kdbusaddons
|
||||
kdesignerplugin kiconthemes kio kitemmodels kldap kmailtransport
|
||||
kwindowsystem mailimporter messagelib phonon
|
||||
kwindowsystem mailimporter messagelib phonon libkdepim
|
||||
];
|
||||
outputs = [ "out" "dev" ];
|
||||
}
|
||||
|
30
pkgs/applications/misc/et/default.nix
Normal file
30
pkgs/applications/misc/et/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, libnotify, gdk_pixbuf }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "et-${version}";
|
||||
version = "2017-03-04";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "geistesk";
|
||||
repo = "et";
|
||||
rev = "151e9b6bc0d2d4f45bda8ced740ee99d0f2012f6";
|
||||
sha256 = "1a1jdnzmal05k506bbvzlwsj2f3kql6l5xc1gdabm79y6vaf4r7s";
|
||||
};
|
||||
|
||||
buildInputs = [ libnotify gdk_pixbuf ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp et $out/bin
|
||||
cp et-status.sh $out/bin/et-status
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Minimal libnotify-based (egg) timer for GNU/Linux";
|
||||
homepage = https://github.com/geistesk/et;
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ geistesk ];
|
||||
};
|
||||
}
|
@ -16,11 +16,13 @@ stdenv.mkDerivation {
|
||||
|
||||
makeFlags = "INSTALLDIR=$(out)";
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-Wno-error=narrowing" ]; # since gcc-6
|
||||
|
||||
patchPhase = ''
|
||||
# don't try to use ccache
|
||||
substituteInPlace makefiles/arch/desktop.mk \
|
||||
--replace "CCACHE = " "# CCACHE = "
|
||||
|
||||
|
||||
substituteInPlace fbreader/desktop/Makefile \
|
||||
--replace "/usr/share" "$out/share"
|
||||
'';
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, qt4, qmake4Hook, gnuradio, boost, gnuradio-osmosdr
|
||||
{ stdenv, fetchFromGitHub, cmake, qtbase, qtsvg, gnuradio, boost, gnuradio-osmosdr
|
||||
# drivers (optional):
|
||||
, rtl-sdr, hackrf
|
||||
, pulseaudioSupport ? true, libpulseaudio
|
||||
@ -8,29 +8,25 @@ assert pulseaudioSupport -> libpulseaudio != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gqrx-${version}";
|
||||
version = "2.5.3";
|
||||
version = "2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "csete";
|
||||
repo = "gqrx";
|
||||
rev = "v${version}";
|
||||
sha256 = "02pavd1kc0gsnrl18bfa01r2f3j4j05zly4a8zwss9yrsgf8432x";
|
||||
sha256 = "1dslb8l8ggj6vf9257c2bj0z8z1wy9c6sr2zksp5jdgf8m4j71im";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake4Hook ];
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [
|
||||
qt4 gnuradio boost gnuradio-osmosdr rtl-sdr hackrf
|
||||
qtbase qtsvg gnuradio boost gnuradio-osmosdr rtl-sdr hackrf
|
||||
] ++ stdenv.lib.optionals pulseaudioSupport [ libpulseaudio ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/applications"
|
||||
mkdir -p "$out/share/icons"
|
||||
|
||||
cp gqrx.desktop "$out/share/applications/"
|
||||
cp resources/icons/gqrx.svg "$out/share/icons/"
|
||||
install -vD $src/gqrx.desktop -t "$out/share/applications/"
|
||||
install -vD $src/resources/icons/gqrx.svg -t "$out/share/icons/"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
|
||||
, python2 , stdenv, xcbproto, xcbutil, xcbutilimage, xcbutilrenderutil
|
||||
, xcbutilwm, xcbutilxrm
|
||||
, xcbutilwm, xcbutilxrm, fetchpatch
|
||||
|
||||
# optional packages-- override the variables ending in 'Support' to enable or
|
||||
# disable modules
|
||||
@ -32,13 +32,21 @@ stdenv.mkDerivation rec {
|
||||
description = "A fast and easy-to-use tool for creatin status bars.";
|
||||
longDescription = ''
|
||||
Polybar aims to help users build beautiful and highly customizable
|
||||
status bars for their desktop environment, without the need of
|
||||
status bars for their desktop environment, without the need of
|
||||
having a black belt in shell scripting.
|
||||
'';
|
||||
'';
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.afldcr ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
# This patch should be removed with next stable release.
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "polybar-remove-curlbuild.patch";
|
||||
url = "https://github.com/jaagr/polybar/commit/d35abc7620c8f06618b4708d9a969dfa2f309e96.patch";
|
||||
sha256 = "14xr65vsjvd51hzg9linj09w0nnixgn26dh9lqxy25bxachcyzxy";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
cairo libXdmcp libpthreadstubs libxcb pcre python2 xcbproto xcbutil
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "postage-${version}";
|
||||
version = "3.2.17";
|
||||
version = "3.2.18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "workflowproducts";
|
||||
repo = "postage";
|
||||
rev = "eV${version}";
|
||||
sha256 = "1c9ss5vx8s05cgw68z7y224qq8z8kz8rxfgcayd2ny200kqyn5bl";
|
||||
sha256 = "1kdg8pw2vxwkxw3b6dim4s740s60j3iyrh96524wi3lqkkq98krn";
|
||||
};
|
||||
|
||||
buildInputs = [ postgresql openssl ];
|
||||
|
@ -4,22 +4,22 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "styx-${version}";
|
||||
version = "0.6.0";
|
||||
version = "0.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "styx-static";
|
||||
repo = "styx";
|
||||
rev = "v${version}";
|
||||
sha256 = "1dl6zmic8bv17f3ib8by66c2fj7izlnv9dh2cfa2m0ipkxk930vk";
|
||||
sha256 = "044zpj92w96csaddf1qnnc2w2w9iq4b7rzlqqsqnd1s0a87lm1qd";
|
||||
};
|
||||
|
||||
setSourceRoot = "cd styx-*/src; export sourceRoot=`pwd`";
|
||||
|
||||
server = "${caddy.bin}/bin/caddy";
|
||||
linkcheck = "${linkchecker}/bin/linkchecker";
|
||||
|
||||
nativeBuildInputs = [ asciidoctor ];
|
||||
|
||||
outputs = [ "out" "lib" "themes" ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
file
|
||||
lessc
|
||||
@ -30,39 +30,42 @@ stdenv.mkDerivation rec {
|
||||
(python27.withPackages (ps: [ ps.parsimonious ]))
|
||||
];
|
||||
|
||||
outputs = [ "out" "lib" ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
install -D -m 777 styx.sh $out/bin/styx
|
||||
install -D -m 777 src/styx.sh $out/bin/styx
|
||||
|
||||
mkdir -p $out/share/styx
|
||||
cp -r scaffold $out/share/styx
|
||||
cp -r nix $out/share/styx
|
||||
mkdir -p $out/share/styx-src
|
||||
cp -r ./* $out/share/styx-src
|
||||
|
||||
mkdir -p $out/share/doc/styx
|
||||
asciidoctor doc/index.adoc -o $out/share/doc/styx/index.html
|
||||
asciidoctor doc/styx-themes.adoc -o $out/share/doc/styx/styx-themes.html
|
||||
asciidoctor doc/library.adoc -o $out/share/doc/styx/library.html
|
||||
cp -r doc/highlight $out/share/doc/styx/
|
||||
cp -r doc/imgs $out/share/doc/styx/
|
||||
cp -r tools $out/share
|
||||
asciidoctor src/doc/index.adoc -o $out/share/doc/styx/index.html
|
||||
asciidoctor src/doc/styx-themes.adoc -o $out/share/doc/styx/styx-themes.html
|
||||
asciidoctor src/doc/library.adoc -o $out/share/doc/styx/library.html
|
||||
cp -r src/doc/highlight $out/share/doc/styx/
|
||||
cp -r src/doc/imgs $out/share/doc/styx/
|
||||
|
||||
substituteAllInPlace $out/bin/styx
|
||||
substituteAllInPlace $out/share/doc/styx/index.html
|
||||
substituteAllInPlace $out/share/doc/styx/styx-themes.html
|
||||
substituteAllInPlace $out/share/doc/styx/library.html
|
||||
|
||||
mkdir -p $out/share/styx/scaffold
|
||||
cp -r src/scaffold $out/share/styx
|
||||
cp -r src/tools $out/share/styx
|
||||
|
||||
mkdir $lib
|
||||
cp -r lib/* $lib
|
||||
cp -r src/lib/* $lib
|
||||
|
||||
mkdir $themes
|
||||
cp -r themes/* $themes
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Nix based static site generator";
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
homepage = https://styx-static.github.io/styx-site/;
|
||||
description = "Nix based static site generator";
|
||||
maintainers = with maintainers; [ ericsagnes ];
|
||||
homepage = https://styx-static.github.io/styx-site/;
|
||||
downloadPage = https://github.com/styx-static/styx/;
|
||||
platforms = platforms.all;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.all;
|
||||
license = licenses.mit;
|
||||
};
|
||||
}
|
||||
|
@ -1,104 +0,0 @@
|
||||
{ fetchFromGitHub, stdenv }:
|
||||
|
||||
let
|
||||
|
||||
mkThemeDrv = args: stdenv.mkDerivation {
|
||||
name = "styx-theme-${args.themeName}-${args.version}";
|
||||
|
||||
src = fetchFromGitHub ({
|
||||
owner = "styx-static";
|
||||
repo = "styx-theme-${args.themeName}";
|
||||
} // args.src);
|
||||
|
||||
installPhase = ''
|
||||
mkdir $out
|
||||
cp -r * $out/
|
||||
'';
|
||||
|
||||
preferLocalBuild = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
maintainer = with maintainers; [ ericsagnes ];
|
||||
description = "${args.themeName} theme for styx";
|
||||
platforms = platforms.all;
|
||||
} // args.meta;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
agency = mkThemeDrv rec {
|
||||
themeName = "agency";
|
||||
version = "0.6.0";
|
||||
src = {
|
||||
rev = "v${version}";
|
||||
sha256 = "1i9bajzgmxd3ffvgic6wwnqijsgkfr2mfdijkgw9yf3bxcdq5cb6";
|
||||
};
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
longDescription = ''
|
||||
Agency Theme is a one page portfolio for companies and freelancers.
|
||||
This theme features several content sections, a responsive portfolio
|
||||
grid with hover effects, full page portfolio item modals, a timeline,
|
||||
and a contact form.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
generic-templates = mkThemeDrv rec {
|
||||
themeName = "generic-templates";
|
||||
version = "0.6.0";
|
||||
src = {
|
||||
rev = "v${version}";
|
||||
sha256 = "0wr2687pffczn0sns1xvqxr2gpf5v9j64zbj6q9f7km6bq0zpiiy";
|
||||
};
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
};
|
||||
};
|
||||
|
||||
hyde = mkThemeDrv rec {
|
||||
themeName = "hyde";
|
||||
version = "0.6.0";
|
||||
src = {
|
||||
rev = "v${version}";
|
||||
sha256 = "0yca76p297ymxd049fkcpw8bca5b9yvv36707z31jbijriy50zxb";
|
||||
};
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
longDescription = ''
|
||||
Port of the Jekyll Hyde theme to styx; Hyde is a brazen two-column
|
||||
Styx theme that pairs a prominent sidebar with uncomplicated content.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
orbit = mkThemeDrv rec {
|
||||
themeName = "orbit";
|
||||
version = "0.6.0";
|
||||
src = {
|
||||
rev = "v${version}";
|
||||
sha256 = "0qdx1r7dcycr5hzl9ix70pl4xf0426ghpi1lgh61zdpdhcch0xfi";
|
||||
};
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.cc-by-30;
|
||||
longDescription = ''
|
||||
Orbit is a free resume/CV template designed for developers.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
showcase = mkThemeDrv rec {
|
||||
themeName = "showcase";
|
||||
version = "0.6.0";
|
||||
src = {
|
||||
rev = "v${version}";
|
||||
sha256 = "1jfhw49yag8l1zr69l01y1p4p88waig3xv3b6c3mfxc8jrchp7pb";
|
||||
};
|
||||
meta = {
|
||||
license = stdenv.lib.licenses.mit;
|
||||
longDescription = ''
|
||||
Theme that show most of styx functionalities with a basic design.
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
@ -16,9 +16,15 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./openssl-1.1.patch ];
|
||||
|
||||
patch_gcc6 = fetchpatch {
|
||||
url = https://raw.githubusercontent.com/gentoo/gentoo/20e2bff3697ebf5f291e9907b34aae3074a36b53/dev-cpp/gmock/files/gmock-1.7.0-gcc6.patch;
|
||||
sha256 = "0j3f381x1lf8qci9pfv6mliggl8qs2w05v5lw3rs3gn7aibg174d";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
${unzip}/bin/unzip -d ext/gmock-1.6.0 ext/gmock-1.6.0.zip
|
||||
${unzip}/bin/unzip -d ext/gtest-1.6.0 ext/gtest-1.6.0.zip
|
||||
patch -d ext/gmock-1.6.0 -p1 -i ${patch_gcc6}
|
||||
''
|
||||
# We have XRRNotifyEvent (libXrandr), but with the upstream CMakeLists.txt
|
||||
# it's not able to find it (it's trying to search the store path of libX11
|
||||
|
@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
|
||||
postInstall = ''
|
||||
mkdir -p "$out/share/bash-completion/completions"
|
||||
ln -s "../../doc/task/scripts/bash/task.sh" "$out/share/bash-completion/completions/"
|
||||
mkdir -p "$out/etc/fish/completions"
|
||||
ln -s "../../../share/doc/task/scripts/fish/task.fish" "$out/etc/fish/completions/"
|
||||
mkdir -p "$out/share/fish/vendor_completions.d"
|
||||
ln -s "../../../share/doc/task/scripts/fish/task.fish" "$out/share/fish/vendor_completions.d/"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -1,24 +1,28 @@
|
||||
{ enableGUI ? true, enablePDFtoPPM ? true, useT1Lib ? false
|
||||
, stdenv, fetchurl, zlib, libpng, xlibsWrapper ? null, motif ? null, freetype ? null, t1lib ? null
|
||||
, base14Fonts ? null
|
||||
, stdenv, fetchurl, zlib, libpng, freetype ? null, t1lib ? null
|
||||
, cmake, qtbase ? null
|
||||
}:
|
||||
|
||||
assert enableGUI -> xlibsWrapper != null && motif != null && freetype != null;
|
||||
assert enableGUI -> qtbase != null && freetype != null;
|
||||
assert enablePDFtoPPM -> freetype != null;
|
||||
assert useT1Lib -> t1lib != null;
|
||||
|
||||
assert !useT1Lib; # t1lib has multiple unpatched security vulnerabilities
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xpdf-3.04";
|
||||
name = "xpdf-4.00";
|
||||
|
||||
src = fetchurl {
|
||||
url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.04.tar.gz;
|
||||
sha256 = "1rbp54mr3z2x3a3a1qmz8byzygzi223vckfam9ib5g1sfds0qf8i";
|
||||
src = fetchurl {
|
||||
url = http://www.xpdfreader.com/dl/xpdf-4.00.tar.gz;
|
||||
sha256 = "1mhn89738vjva14xr5gblc2zrdgzmpqbbjdflqdmpqv647294ggz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
cmakeFlags = ["-DSYSTEM_XPDFRC=/etc/xpdfrc" "-DA4_PAPER=ON"];
|
||||
|
||||
buildInputs = [ zlib libpng ] ++
|
||||
stdenv.lib.optionals enableGUI [xlibsWrapper motif] ++
|
||||
stdenv.lib.optional enableGUI qtbase ++
|
||||
stdenv.lib.optional useT1Lib t1lib ++
|
||||
stdenv.lib.optional enablePDFtoPPM freetype;
|
||||
|
||||
@ -27,14 +31,6 @@ stdenv.mkDerivation {
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
configureFlags = "--enable-a4-paper";
|
||||
|
||||
postInstall = stdenv.lib.optionalString (base14Fonts != null) ''
|
||||
substituteInPlace $out/etc/xpdfrc \
|
||||
--replace /usr/local/share/ghostscript/fonts ${base14Fonts} \
|
||||
--replace '#fontFile' fontFile
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.foolabs.com/xpdf/;
|
||||
description = "Viewer for Portable Document Format (PDF) files";
|
||||
|
@ -3,11 +3,11 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xterm-327";
|
||||
name = "xterm-330";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://invisible-island.net/xterm/${name}.tgz";
|
||||
sha256 = "02qmfr1y24y5vq6kddksw84b8gxalc96n9wwaj7i8hmk6mn2zyv6";
|
||||
url = "http://invisible-mirror.net/archives/xterm/${name}.tgz";
|
||||
sha256 = "1psnfmqd23v9gxj8a98nzrgvymrk0p1whwqi92gy15bbkzrgkvks";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -6,10 +6,10 @@ rec {
|
||||
|
||||
firefox = common rec {
|
||||
pname = "firefox";
|
||||
version = "55.0.2";
|
||||
version = "55.0.3";
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
|
||||
sha512 = "a27722cb5840aac89752fea0880a7e093e84b50dc78a36dc8c4bd493ffda10fa61446007f680bfe65db7a0debe4c21e6f0bf9f0de9876bba067abdda6fed7be4";
|
||||
sha512 = "3cacc87b97871f3a8c5e97c17ef7025079cb5c81f32377d9402cdad45815ac6c4c4762c79187f1e477910161c2377c42d41de62a50b6741d5d7c1cd70e8c6416";
|
||||
};
|
||||
|
||||
patches = lib.optional stdenv.isi686 (fetchpatch {
|
||||
|
@ -14,10 +14,10 @@ let
|
||||
# instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
|
||||
# currently https://storage.googleapis.com/minikube/k8s_releases.json
|
||||
|
||||
localkube-version = "1.7.0";
|
||||
localkube-version = "1.7.3";
|
||||
localkube-binary = fetchurl {
|
||||
url = "https://storage.googleapis.com/minikube/k8sReleases/v${localkube-version}/localkube-linux-amd64";
|
||||
sha256 = "1pp5bi0bpxxzrshvkv47hqs20jfx3gp1i1p3pw1rvzm5n1fn2q1a";
|
||||
sha256 = "1ay11321kg3waxzi9d885pr08hz97a8ajwk31kbfxlm3x5bk3jii";
|
||||
};
|
||||
in buildGoPackage rec {
|
||||
pname = "minikube";
|
||||
|
@ -3,14 +3,14 @@
|
||||
, glib_networking }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.5.1";
|
||||
version = "1.6";
|
||||
name = "corebird-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "baedert";
|
||||
repo = "corebird";
|
||||
rev = version;
|
||||
sha256 = "1qajb4xms3vsfm5sg91z9ka0nrzgfi0fjgjxqm7snhkfgxlkph7w";
|
||||
sha256 = "1bxjlamdy5d2j3xdahmxf6lwc7f6xdfxbzi712ppvh1dwggw654v";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ automake autoconf libtool pkgconfig wrapGAppsHook ];
|
||||
|
||||
buildInputs = [
|
||||
gtk3 json_glib sqlite libsoup gettext vala_0_32 gnome3.rest gnome3.dconf gnome3.gspell glib_networking
|
||||
gtk3 json_glib sqlite libsoup gettext vala_0_32 gnome3.dconf gnome3.gspell glib_networking
|
||||
] ++ (with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good (gst-plugins-bad.override { gtkSupport = true; }) gst-libav ]);
|
||||
|
||||
meta = {
|
||||
|
@ -1,20 +1,21 @@
|
||||
{stdenv, fetchurl, cmake, flex, bison, openssl, libpcap, perl, zlib, file, curl
|
||||
, geoip, gperftools, python }:
|
||||
, geoip, gperftools, python, swig }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bro-2.5";
|
||||
name = "bro-2.5.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.bro.org/downloads/${name}.tar.gz";
|
||||
sha256 = "10603lwhwsmh08m5rgknbspbhd4lis71qv7z8ixacgv6sf8a40hm";
|
||||
sha256 = "04cmm0vs8q31mgaq3pxybjk834py3ji16qp4qcir7vjbhq1fav1c";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake flex bison openssl libpcap perl zlib file curl geoip gperftools python ];
|
||||
nativeBuildInputs = [ cmake flex bison file ];
|
||||
buildInputs = [ openssl libpcap perl zlib curl geoip gperftools python swig ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Powerful network analysis framework that is much different from the typical IDS you may know";
|
||||
description = "Powerful network analysis framework much different from a typical IDS";
|
||||
homepage = https://www.bro.org/;
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ pSub ];
|
||||
|
@ -25,21 +25,21 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,opt,share/pixmaps}
|
||||
mv * $out/opt
|
||||
mkdir -p $out/{bin,opt/discord,share/pixmaps}
|
||||
mv * $out/opt/discord
|
||||
|
||||
# Copying how adobe-reader does it,
|
||||
# see pkgs/applications/misc/adobe-reader/builder.sh
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "$out/opt:$libPath" \
|
||||
$out/opt/Discord
|
||||
--set-rpath "$out/opt/discord:$libPath" \
|
||||
$out/opt/discord/Discord
|
||||
|
||||
paxmark m $out/opt/Discord
|
||||
paxmark m $out/opt/discord/Discord
|
||||
|
||||
wrapProgram $out/opt/Discord --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:${libcxx}/lib:${systemd.lib}/lib:${libpulseaudio}/lib"
|
||||
wrapProgram $out/opt/discord/Discord --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:${libcxx}/lib:${systemd.lib}/lib:${libpulseaudio}/lib"
|
||||
|
||||
ln -s $out/opt/Discord $out/bin/
|
||||
ln -s $out/opt/discord.png $out/share/pixmaps
|
||||
ln -s $out/opt/discord/Discord $out/bin/
|
||||
ln -s $out/opt/discord/discord.png $out/share/pixmaps
|
||||
|
||||
ln -s "${desktopItem}/share/applications" $out/share/
|
||||
'';
|
||||
|
@ -0,0 +1,25 @@
|
||||
{ stdenv, fetchurl, fetchpatch }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name= "riot-web-${version}";
|
||||
version = "0.12.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vector-im/riot-web/releases/download/v${version}/riot-v${version}.tar.gz";
|
||||
sha256 = "0zyddpnng1vjli12hn1hd0w99g6sfsk80dn2ll5h9276nc677pnh";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/
|
||||
cp -R . $out/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A glossy Matrix collaboration client for the web";
|
||||
homepage = http://riot.im/;
|
||||
maintainers = with stdenv.lib.maintainers; [ bachp ];
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
hydraPlatforms = [];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ mkDerivation, lib, fetchFromGitHub, fetchgit, pkgconfig, gyp, cmake
|
||||
{ mkDerivation, lib, fetchgit, pkgconfig, gyp, cmake
|
||||
, qtbase, qtimageformats
|
||||
, breakpad, gtk3, libappindicator-gtk3, dee
|
||||
, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio
|
||||
@ -7,19 +7,20 @@
|
||||
|
||||
mkDerivation rec {
|
||||
name = "telegram-desktop-${version}";
|
||||
version = "1.1.7";
|
||||
version = "1.1.19";
|
||||
|
||||
# Submodules
|
||||
src = fetchgit {
|
||||
url = "https://github.com/telegramdesktop/tdesktop";
|
||||
rev = "refs/tags/v${version}";
|
||||
sha256 = "0y0nc8d4vlhsmzayy26zdxc5jaiwcv0rb2s1v5fwnnx71gf89m2w";
|
||||
url = "git://github.com/telegramdesktop/tdesktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "1zpl71k2lq861k89yp6nzkm4jm6szxrzigmmbxx63rh4v03di3b6";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
tgaur = fetchgit {
|
||||
url = "https://aur.archlinux.org/telegram-desktop-systemqt.git";
|
||||
rev = "83af81905de7fc5dc9fbea8f5318d56fa8a6efc6";
|
||||
sha256 = "0v7g7y5cmxzp2yrcj6ylwzxlzr9yrqs2badzplm7sg012nc69yf9";
|
||||
rev = "a4ba392309116003bc2b75c1c4c12dc733168d6f";
|
||||
sha256 = "1n0yar8pm050770x36kjr4iap773xjigfbnrk289b51i5vijwhsv";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
28
pkgs/applications/networking/nextcloud-client/default.nix
Normal file
28
pkgs/applications/networking/nextcloud-client/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ stdenv, fetchgit, cmake, pkgconfig, qtbase, qtwebkit, qtkeychain, sqlite }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "nextcloud-client-${version}";
|
||||
version = "2.3.2";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://github.com/nextcloud/client_theming.git";
|
||||
rev = "1ee750d1aeaaefc899629e85c311594603e9ac1b";
|
||||
sha256 = "0dxyng8a7cg78z8yngiqypsb44lf5c6vkabvkfch0cl0cqmarc1a";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig cmake ];
|
||||
buildInputs = [ qtbase qtwebkit qtkeychain sqlite ];
|
||||
|
||||
preConfigure = ''
|
||||
cmakeFlagsArray+=("-UCMAKE_INSTALL_LIBDIR" "-DOEM_THEME_DIR=$(realpath ./nextcloudtheme)" "../client")
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Nextcloud themed desktop client";
|
||||
homepage = https://nextcloud.com;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ caugner ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, jre }:
|
||||
{ stdenv, fetchurl, jre, makeWrapper }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
@ -11,20 +11,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "01nq1vwkqdidmprlnz5d3c5412r6igv689barv64dmb9m6iqg53z";
|
||||
};
|
||||
|
||||
inherit jre;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
jar=$(ls */*.jar)
|
||||
|
||||
mkdir -p $out/share/java
|
||||
mv $jar $out/share/java
|
||||
|
||||
mkdir -p $out/bin
|
||||
cat > $out/bin/frostwire <<EOF
|
||||
#! $SHELL -e
|
||||
exec $out/share/java/frostwire
|
||||
EOF
|
||||
chmod +x $out/bin/frostwire
|
||||
mv $(ls */*.jar) $out/share/java
|
||||
|
||||
makeWrapper $out/share/java/frostwire $out/bin/frostwire \
|
||||
--prefix PATH : ${jre}/bin/
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -14,13 +14,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "freerdp-git-${version}";
|
||||
version = "20170502";
|
||||
version = "20170724";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FreeRDP";
|
||||
repo = "FreeRDP";
|
||||
rev = "8569102c3a011602de3a1cdf69f7c69adbb864ee";
|
||||
sha256 = "0m61aiy8l3ybnk2d2kjmpp9ql31zfs63gjixyj9x95jd4m507j67";
|
||||
rev = "2.0.0-rc0";
|
||||
sha256 = "0ngwdy0lfv2k59z1z8yq1wj5zbhqigpyfqbgh38m9p35yzh33lv1";
|
||||
};
|
||||
|
||||
# outputs = [ "bin" "out" "dev" ];
|
||||
|
@ -1,21 +1,45 @@
|
||||
{ stdenv, fetchurl, automoc4, cmake, perl, pkgconfig
|
||||
, kdelibs4, kdepimlibs, boost, baloo }:
|
||||
{
|
||||
stdenv,
|
||||
fetchurl, fetchpatch,
|
||||
extra-cmake-modules,
|
||||
qtbase, boost,
|
||||
akonadi-calendar, akonadi-notes, akonadi-search, kidentitymanagement, kontactinterface, kldap,
|
||||
krunner, kwallet
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "zanshin-0.3.1";
|
||||
pname = "zanshin";
|
||||
version = "0.4.1";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://files.kde.org/zanshin/${name}.tar.bz2";
|
||||
sha256 = "1ck2ncz8i816d6d1gcsdrh6agd2zri24swgz3bhn8vzbk4215yzl";
|
||||
url = "https://files.kde.org/${pname}/${name}.tar.bz2";
|
||||
sha256 = "1llqm4w4mhmdirgrmbgwrpqyn47phwggjdghf164k3qw0bi806as";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "zanshin-fix-qt59-build.patch";
|
||||
url = "https://phabricator.kde.org/R4:77ad64872f69ad9f7abe3aa8e103a12b95e100a4?diff=1";
|
||||
sha256 = "0p497gqd3jmhbmqzh46zp6zwf6j1q77a9jp0in49xhgc2kj5ar7x";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ kdelibs4 kdepimlibs boost baloo ];
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "GTD for KDE";
|
||||
maintainers = [ ];
|
||||
inherit (kdelibs4.meta) platforms;
|
||||
buildInputs = [
|
||||
qtbase boost
|
||||
akonadi-calendar akonadi-notes akonadi-search kidentitymanagement kontactinterface kldap
|
||||
krunner kwallet
|
||||
];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A powerful yet simple application to manage your day to day actions, getting your mind like water";
|
||||
homepage = https://zanshin.kde.org/;
|
||||
maintainers = with maintainers; [ zraexy ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl2Plus;
|
||||
};
|
||||
}
|
||||
|
@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
|
||||
cd src
|
||||
'';
|
||||
|
||||
cmakeFlags = [ "-GNinja" ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/linja --prefix PATH : $out/bin:${ninja}/bin
|
||||
'';
|
||||
|
@ -1,6 +1,6 @@
|
||||
{stdenv, fetchurl, gmp, cmake, python}:
|
||||
|
||||
let version = "0.1.3";
|
||||
let version = "0.1.4";
|
||||
in
|
||||
|
||||
stdenv.mkDerivation {
|
||||
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/SRI-CSL/libpoly/archive/v${version}.tar.gz";
|
||||
sha256 = "0nd90585imnznyp04vg6a5ixxkd3bavhv1437397aj2k3dfc0y2k";
|
||||
sha256 = "16x1pk2a3pcb5a0dzyw28ccjwkhmbsck4hy80ss7kx0dd7qgpi7j";
|
||||
};
|
||||
|
||||
buildInputs = [ cmake gmp python ];
|
||||
|
@ -2,12 +2,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "yices-${version}";
|
||||
version = "2.5.2";
|
||||
version = "2.5.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://yices.csl.sri.com/cgi-bin/yices2-newnewdownload.cgi?file=${name}-src.tar.gz&accept=I+Agree";
|
||||
url = "https://github.com/SRI-CSL/yices2/archive/Yices-${version}.tar.gz";
|
||||
name = "${name}-src.tar.gz";
|
||||
sha256 = "18mjnwg0pwc0fx4f99l7hxsi10mb5skkzk0k1m3xv5kx3qfnghs0";
|
||||
sha256 = "0a3zzbvmgyiljzqn6xmc037gismm779p696jywk09j2pqbvp52ac";
|
||||
};
|
||||
|
||||
patchPhase = ''patchShebangs tests/regress/check.sh'';
|
||||
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
# only installing the libyices.so.2.5.1 file.
|
||||
installPhase = ''
|
||||
make install LDCONFIG=true
|
||||
(cd $out/lib && ln -s -f libyices.so.2.5.2 libyices.so.2.5)
|
||||
(cd $out/lib && ln -s -f libyices.so.2.5.3 libyices.so.2.5)
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
maintainers = with stdenv.lib.maintainers; [ wscott thoughtpolice ];
|
||||
broken = true; # seems to fail on recent glibc versions
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "git-open-${version}";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paulirish";
|
||||
repo = "git-open";
|
||||
rev = "v${version}";
|
||||
sha256 = "005am4phf7j4ybc9k1hqsxjb7gv2i56a3axrza866pwwx1ayrhpq";
|
||||
sha256 = "1klj41vqgyyigqzi6s1ykz9vd8wvaq3skin63pi989dlsjf7igyr";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
@ -1,12 +1,13 @@
|
||||
{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio
|
||||
, gnugrep, gnused, gawk, coreutils # needed at runtime by git-filter-branch etc
|
||||
, gzip, openssh
|
||||
, gzip, openssh, pcre2
|
||||
, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45
|
||||
, libxslt, tcl, tk, makeWrapper, libiconv
|
||||
, svnSupport, subversionClient, perlLibs, smtpPerlLibs, gitwebPerlLibs
|
||||
, guiSupport
|
||||
, withManual ? true
|
||||
, pythonSupport ? true
|
||||
, withpcre2 ? true
|
||||
, sendEmailSupport
|
||||
, darwin
|
||||
}:
|
||||
@ -44,6 +45,7 @@ stdenv.mkDerivation {
|
||||
++ stdenv.lib.optionals withManual [ asciidoc texinfo xmlto docbook2x
|
||||
docbook_xsl docbook_xml_dtd_45 libxslt ]
|
||||
++ stdenv.lib.optionals guiSupport [tcl tk]
|
||||
++ stdenv.lib.optionals withpcre2 [ pcre2 ]
|
||||
++ stdenv.lib.optionals stdenv.isDarwin [ darwin.Security ];
|
||||
|
||||
|
||||
@ -70,7 +72,9 @@ stdenv.mkDerivation {
|
||||
# so that `SPARSE_FLAGS' corresponds to the current architecture...
|
||||
#doCheck = true;
|
||||
|
||||
installFlags = "NO_INSTALL_HARDLINKS=1";
|
||||
installFlags = "NO_INSTALL_HARDLINKS=1"
|
||||
+ (if withpcre2 then " USE_LIBPCRE2=1" else "");
|
||||
|
||||
|
||||
preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/bin
|
||||
|
@ -1,24 +1,24 @@
|
||||
{ stdenv, fetchurl, rustPlatform, perl, darwin }:
|
||||
{ stdenv, fetchurl, rustPlatform, darwin }:
|
||||
|
||||
with rustPlatform;
|
||||
|
||||
buildRustPackage rec {
|
||||
name = "pijul-${version}";
|
||||
version = "0.6.0";
|
||||
version = "0.7.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pijul.org/releases/${name}.tar.gz";
|
||||
sha256 = "a6b066b49b25d1083320c5ab23941deee795e1fcbe1faa951e95189fd594cdb3";
|
||||
sha256 = "08cffv6nfp1iv9m2qhr9hggy9kg8xp07p8kqkjypfsdsb983vz5n";
|
||||
};
|
||||
|
||||
sourceRoot = "pijul";
|
||||
sourceRoot = "${name}/pijul";
|
||||
|
||||
buildInputs = stdenv.lib.optionals stdenv.isDarwin
|
||||
(with darwin.apple_sdk.frameworks; [ Security ]);
|
||||
|
||||
doCheck = false;
|
||||
|
||||
depsSha256 = "0raim0ahqg6fkidb6picfzircdzwdbsdmmv8in70r5hw770bv67r";
|
||||
depsSha256 = "1qzzpnkyw1bn5fnj06c80f7985v1q0rqcphrrrkpbi33lg5mzgbv";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A distributed version control system";
|
||||
|
@ -10,13 +10,13 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mkvtoolnix-${version}";
|
||||
version = "14.0.0";
|
||||
version = "15.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mbunkus";
|
||||
repo = "mkvtoolnix";
|
||||
rev = "release-${version}";
|
||||
sha256 = "1ygc2qrd074vz2yw4iqml5ir31kkvkv7pz3hcfy423p9s06xi1k2";
|
||||
sha256 = "06n0hbp484zpsjvnzp6p0nzzssym3illxdicn3y1jf8gy971rxi0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
|
||||
|
@ -3,11 +3,11 @@
|
||||
let
|
||||
pythonEnv = python3.withPackages (ps: with ps; [ pyqt5 sip ]);
|
||||
in stdenv.mkDerivation {
|
||||
name = "qarte-3.2.0+158";
|
||||
name = "qarte-3.10.0+188";
|
||||
src = fetchbzr {
|
||||
url = http://bazaar.launchpad.net/~vincent-vandevyvre/qarte/qarte-3;
|
||||
rev = "158";
|
||||
sha256 = "0nj9yxylz1nz0hdjm0jzrq2l3dgfdqkafwxnzydp6qv6261w564n";
|
||||
rev = "188";
|
||||
sha256 = "06xpkjgm5ci5gfkza9f44m8l4jj32gfmr65cqs4x0j2ihrc6b4r9";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper pythonEnv ];
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, qmake, qtscript }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "smplayer-17.7.0";
|
||||
name = "smplayer-17.8.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/smplayer/${name}.tar.bz2";
|
||||
sha256 = "1g35h8xqs2bdwjdibzgs1ab2z2lmwgj8h53a7vqydv3j3crxx9wk";
|
||||
sha256 = "0sm7zf7nvcjlx8fvzfnlrs7rr0c549j7r60j68lv898vp6yhwybh";
|
||||
};
|
||||
|
||||
buildInputs = [ qtscript ];
|
||||
|
@ -27,7 +27,7 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
|
||||
export OUTPUT_FD=$fd
|
||||
|
||||
for file in \
|
||||
"${edk2.src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg};
|
||||
"${edk2.src}"/{UefiCpuPkg,MdeModulePkg,IntelFrameworkModulePkg,PcAtChipsetPkg,FatBinPkg,EdkShellBinPkg,MdePkg,ShellPkg,OptionRomPkg,IntelFrameworkPkg,FatPkg,CryptoPkg,SourceLevelDebugPkg};
|
||||
do
|
||||
ln -sv "$file" .
|
||||
done
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
name = "distribution-${version}";
|
||||
version = "2.6.0";
|
||||
version = "2.6.2";
|
||||
rev = "v${version}";
|
||||
|
||||
goPackagePath = "github.com/docker/distribution";
|
||||
@ -11,7 +11,7 @@ buildGoPackage rec {
|
||||
owner = "docker";
|
||||
repo = "distribution";
|
||||
inherit rev;
|
||||
sha256 = "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6";
|
||||
sha256 = "0nj4xd72mik4pj8g065cqb0yjmgpj5ppsqf2k5ibz9f68c39c00b";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
@ -3,22 +3,22 @@
|
||||
, freetype, fontconfig, pkgconfig, gdk_pixbuf
|
||||
, mkfontdir, libX11, libXft, libXext, libXinerama
|
||||
, libXrandr, libICE, libSM, libXpm, libXdmcp, libxcb
|
||||
, libpthreadstubs }:
|
||||
, libpthreadstubs, pcre }:
|
||||
|
||||
with stdenv.lib;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "icewm-${version}";
|
||||
version = "1.3.12";
|
||||
version = "1.4.2";
|
||||
|
||||
buildInputs =
|
||||
[ cmake gettext libjpeg libtiff libungif libpng imlib expat
|
||||
freetype fontconfig pkgconfig gdk_pixbuf mkfontdir libX11
|
||||
libXft libXext libXinerama libXrandr libICE libSM libXpm
|
||||
libXdmcp libxcb libpthreadstubs ];
|
||||
libXdmcp libxcb libpthreadstubs pcre ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bbidulock/icewm/archive/${version}.tar.gz";
|
||||
sha256 = "0cmjnf0yvafwg73qy5wq7ghiknpn1jf1978c1yj7yabyn07zxq77";
|
||||
sha256 = "05chzjjnb4n4j05ld2gmhhr07c887qb4j9inwg9izhvml51af1bw";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchzip }:
|
||||
|
||||
let
|
||||
version = "1.13.1";
|
||||
version = "1.13.3";
|
||||
in fetchzip rec {
|
||||
name = "iosevka-${version}";
|
||||
|
||||
@ -12,7 +12,7 @@ in fetchzip rec {
|
||||
unzip -j $downloadedFile \*.ttc -d $out/share/fonts/iosevka
|
||||
'';
|
||||
|
||||
sha256 = "0w35jkvfnzn4clm3010wv13sil2yj6pxffx40apjp7yhh19c4sw7";
|
||||
sha256 = "0103rjxcp2sis42xp7fh7g8i03h5snvs8n78lgsf79g8ssw0p9d4";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = https://be5invis.github.io/Iosevka/;
|
||||
|
@ -1,16 +1,15 @@
|
||||
{ stdenv, fetchgit }:
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "wireless-regdb-${version}";
|
||||
version = "2016-06-10";
|
||||
version = "2017.03.07";
|
||||
|
||||
src = fetchgit {
|
||||
sha256 = "0im9likzpziircl96pql2jpyl8pfcqc5v0wgqy705j4ga5sx8pmn";
|
||||
url = https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git;
|
||||
rev = "refs/tags/master-${version}";
|
||||
src = fetchurl {
|
||||
url = "https://www.kernel.org/pub/software/network/wireless-regdb/${name}.tar.xz";
|
||||
sha256 = "1f9mcp78sdd4sci6v32vxfcl1rfjpv205jisz1p93kkfnaisy7ip";
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "installPhase" ];
|
||||
dontBuild = true;
|
||||
|
||||
makeFlags = [
|
||||
"DESTDIR=$(out)"
|
||||
@ -22,6 +21,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://wireless.kernel.org/en/developers/Regulatory/;
|
||||
license = licenses.isc;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ nckx ];
|
||||
maintainers = with maintainers; [ nckx fpletz ];
|
||||
};
|
||||
}
|
||||
|
@ -2,7 +2,6 @@
|
||||
rec {
|
||||
#### CORE EFL
|
||||
efl = callPackage ./efl.nix { openjpeg = pkgs.openjpeg_1; };
|
||||
efl_1_19 = callPackage ./efl.nix { eflVersion = "1.19.1"; openjpeg = pkgs.openjpeg_1; };
|
||||
|
||||
#### WINDOW MANAGER
|
||||
enlightenment = callPackage ./enlightenment.nix { };
|
||||
@ -11,5 +10,5 @@ rec {
|
||||
econnman = callPackage ./econnman.nix { };
|
||||
terminology = callPackage ./terminology.nix { };
|
||||
rage = callPackage ./rage.nix { };
|
||||
ephoto = callPackage ./ephoto.nix { efl = efl_1_19; };
|
||||
ephoto = callPackage ./ephoto.nix { };
|
||||
}
|
||||
|
@ -4,35 +4,30 @@
|
||||
, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg
|
||||
, dbus_libs, alsaLib, poppler, ghostscript, libraw, libspectre, xineLib, libwebp
|
||||
, curl, libinput, systemd, writeText
|
||||
# Support more than one version because for now ephoto does not work with efl-1.20.x
|
||||
, eflVersion ? "1.20.2"
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "efl-${version}";
|
||||
version = eflVersion;
|
||||
version = "1.20.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
|
||||
sha256 = {
|
||||
"1.19.1" = "0fndwraca9rg0bz3al4isdprvyw56szr88qiyvglb4j8ygsylscc";
|
||||
"1.20.2" = "0zll6k4xbbdsxqg53g8jddgv889g5m1xh20i03iz5a52y2bcnh55";
|
||||
}.${version};
|
||||
sha256 = "0zll6k4xbbdsxqg53g8jddgv889g5m1xh20i03iz5a52y2bcnh55";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ openssl zlib lz4 freetype fontconfig fribidi SDL2 SDL mesa
|
||||
buildInputs = [ openssl zlib lz4 freetype fontconfig SDL mesa
|
||||
giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto
|
||||
xorg.libX11 udev utillinux systemd ];
|
||||
xorg.libX11 udev systemd ];
|
||||
|
||||
propagatedBuildInputs = [ libxkbcommon python27Packages.dbus-python dbus libjpeg xorg.libXcomposite
|
||||
xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext
|
||||
bullet xorg.libXScrnSaver xorg.libXrender xorg.libXfixes xorg.libXrandr
|
||||
xorg.libxkbfile xorg.libxcb xorg.xcbutilkeysyms openjpeg doxygen expat luajit
|
||||
harfbuzz jbig2dec librsvg dbus_libs alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
|
||||
libinput ];
|
||||
libinput utillinux fribidi SDL2 ];
|
||||
|
||||
# ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
|
||||
configureFlags = [
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, pkgconfig, efl, xcbutilkeysyms, libXrandr, libXdmcp,
|
||||
libxcb, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap,
|
||||
mesa_glu, xkeyboard_config }:
|
||||
mesa_glu, xkeyboard_config, pcre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "enlightenment-${version}";
|
||||
@ -11,22 +11,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0w5f3707hyfc20i6xqh4jlr5p2yhy1z794061mjsz2rp4w00qmpb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) ];
|
||||
|
||||
buildInputs = [
|
||||
efl libXdmcp libxcb xcbutilkeysyms libXrandr libffi pam alsaLib
|
||||
luajit bzip2 libpthreadstubs gdbm
|
||||
luajit bzip2 libpthreadstubs gdbm pcre
|
||||
] ++
|
||||
stdenv.lib.optionals stdenv.isLinux [ libcap ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${efl}/include/ecore-imf-1"
|
||||
"-I${efl}/include/emile-1"
|
||||
"-I${efl}/include/eo-1"
|
||||
"-I${efl}/include/ethumb-1"
|
||||
"-I${efl}/include/ethumb-client-1"
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export USER_SESSION_DIR=$prefix/lib/systemd/user
|
||||
|
||||
|
@ -1,29 +1,17 @@
|
||||
{ stdenv, fetchurl, pkgconfig, efl, curl, makeWrapper }:
|
||||
{ stdenv, fetchurl, pkgconfig, efl, pcre, curl, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "ephoto-${version}";
|
||||
version = "1.0";
|
||||
version = "1.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.smhouston.us/stuff/${name}.tar.gz";
|
||||
sha256 = "0l6zrk22fap6pylmzxwp6nycy8l5wdc7jza890h4zrwmpfag8w31";
|
||||
sha256 = "09kraa5zz45728h2dw1ssh23b87j01bkfzf977m48y1r507sy3vb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||
nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
|
||||
|
||||
buildInputs = [ efl curl ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${efl}/include/ecore-con-1"
|
||||
"-I${efl}/include/ecore-evas-1"
|
||||
"-I${efl}/include/ecore-imf-1"
|
||||
"-I${efl}/include/ecore-input-1"
|
||||
"-I${efl}/include/eet-1"
|
||||
"-I${efl}/include/eldbus-1"
|
||||
"-I${efl}/include/emile-1"
|
||||
"-I${efl}/include/ethumb-1"
|
||||
"-I${efl}/include/ethumb-client-1"
|
||||
];
|
||||
buildInputs = [ efl pcre curl ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/ephoto --prefix LD_LIBRARY_PATH : ${curl.out}/lib
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, pkgconfig, efl, gst_all_1, curl, wrapGAppsHook }:
|
||||
{ stdenv, fetchurl, pkgconfig, efl, gst_all_1, pcre, curl, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rage-${version}";
|
||||
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig
|
||||
(pkgconfig.override { vanilla = true; })
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
@ -21,24 +21,10 @@ stdenv.mkDerivation rec {
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-libav
|
||||
pcre
|
||||
curl
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${efl}/include/ecore-con-1"
|
||||
"-I${efl}/include/ecore-evas-1"
|
||||
"-I${efl}/include/ecore-file-1"
|
||||
"-I${efl}/include/ecore-imf-1"
|
||||
"-I${efl}/include/ecore-input-1"
|
||||
"-I${efl}/include/eet-1"
|
||||
"-I${efl}/include/efreet-1"
|
||||
"-I${efl}/include/eldbus-1"
|
||||
"-I${efl}/include/emile-1"
|
||||
"-I${efl}/include/eo-1"
|
||||
"-I${efl}/include/ethumb-1"
|
||||
"-I${efl}/include/ethumb-client-1"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/rage --prefix LD_LIBRARY_PATH : ${curl.out}/lib
|
||||
'';
|
||||
|
@ -1,26 +1,17 @@
|
||||
{ stdenv, fetchurl, pkgconfig, efl, curl, makeWrapper }:
|
||||
{ stdenv, fetchurl, pkgconfig, efl, pcre, curl, makeWrapper }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "terminology-${version}";
|
||||
version = "1.0.0";
|
||||
version = "1.1.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
|
||||
sha256 = "1x4j2q4qqj10ckbka0zaq2r2zm66ff1x791kp8slv1ff7fw45vdz";
|
||||
sha256 = "13rl1k22yf8qrpzdm5nh6ij641fibadr2ww1r7rnz7mbhzj3d4gb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig makeWrapper ];
|
||||
nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) makeWrapper ];
|
||||
|
||||
buildInputs = [ efl curl ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
"-I${efl}/include/ecore-con-1"
|
||||
"-I${efl}/include/eldbus-1"
|
||||
"-I${efl}/include/elocation-1"
|
||||
"-I${efl}/include/emile-1"
|
||||
"-I${efl}/include/eo-1"
|
||||
"-I${efl}/include/ethumb-1"
|
||||
];
|
||||
buildInputs = [ efl pcre curl ];
|
||||
|
||||
postInstall = ''
|
||||
for f in $out/bin/*; do
|
||||
|
@ -30,6 +30,8 @@ kde {
|
||||
--replace /usr/share/X11 ${xkeyboard_config}/etc/X11
|
||||
'';
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; # gcc-6
|
||||
|
||||
enableParallelBuilding = false; # frequent problems on Hydra
|
||||
|
||||
meta = {
|
||||
|
@ -34,7 +34,7 @@ in stdenv.mkDerivation {
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildPhase = ''
|
||||
while IFS= read -r -d $'\0' i; do
|
||||
while IFS= read -r -d ''$'\0' i; do
|
||||
substituteInPlace "$i" --replace /opt/MaXX $out/opt/MaXX
|
||||
done < <(find "." -type f -exec grep -Iq /opt/MaXX {} \; -and -print0)
|
||||
|
||||
@ -57,7 +57,7 @@ in stdenv.mkDerivation {
|
||||
--prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" \
|
||||
--prefix PATH : ${stdenv.lib.makeBinPath runtime_deps}
|
||||
|
||||
while IFS= read -r -d $'\0' i; do
|
||||
while IFS= read -r -d ''$'\0' i; do
|
||||
if isELF "$i"; then
|
||||
bin=`patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$i"; echo $?`
|
||||
patchelf --set-rpath "${stdenv.lib.makeLibraryPath deps}" "$i"
|
||||
|
@ -2,11 +2,11 @@
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
pname = "abcl";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
# or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
|
||||
src = fetchurl {
|
||||
url = "https://common-lisp.net/project/armedbear/releases/${version}/${pname}-src-${version}.tar.gz";
|
||||
sha256 = "1y4nixm1459ch6226ikdilcsf91c2rg1d82cqqmcn24kfjl1m62i";
|
||||
sha256 = "1hhvcg050nfpjbdmskc1cv2j38qi6qfl77a61b5cxx576kbff3lj";
|
||||
};
|
||||
configurePhase = ''
|
||||
mkdir nix-tools
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchgit, libuuid, python2, iasl }:
|
||||
{ stdenv, fetchFromGitHub, libuuid, python2, iasl }:
|
||||
|
||||
let
|
||||
pythonEnv = python2.withPackages(ps: [ps.tkinter]);
|
||||
@ -13,10 +13,11 @@ else
|
||||
edk2 = stdenv.mkDerivation {
|
||||
name = "edk2-2014-12-10";
|
||||
|
||||
src = fetchgit {
|
||||
url = git://github.com/tianocore/edk2;
|
||||
rev = "684a565a04";
|
||||
sha256 = "0s9ywb8w7xzlnmm4kwzykxkrdaw53b7pky121cc9wjkllzqwyxrb";
|
||||
src = fetchFromGitHub {
|
||||
owner = "tianocore";
|
||||
repo = "edk2";
|
||||
rev = "vUDK2017";
|
||||
sha256 = "0sswa028644yr8fbl8j6rhrdm717fj29h4dys3ygklmjhss90a2g";
|
||||
};
|
||||
|
||||
buildInputs = [ libuuid pythonEnv];
|
||||
|
@ -1,19 +0,0 @@
|
||||
diff --git a/rts/LinkerInternals.h b/rts/LinkerInternals.h
|
||||
--- a/rts/LinkerInternals.h
|
||||
+++ b/rts/LinkerInternals.h
|
||||
@@ -303,4 +303,14 @@
|
||||
# define OBJFORMAT_MACHO
|
||||
#endif
|
||||
|
||||
+/* In order to simplify control flow a bit, some references to mmap-related
|
||||
+ definitions are blocked off by a C-level if statement rather than a CPP-level
|
||||
+ #if statement. Since those are dead branches when !RTS_LINKER_USE_MMAP, we
|
||||
+ just stub out the relevant symbols here
|
||||
+*/
|
||||
+#if !RTS_LINKER_USE_MMAP
|
||||
+#define munmap(x,y) /* nothing */
|
||||
+#define MAP_ANONYMOUS 0
|
||||
+#endif
|
||||
+
|
||||
#endif /* LINKERINTERNALS_H */
|
||||
|
@ -1,22 +0,0 @@
|
||||
diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c
|
||||
--- a/rts/sm/Storage.c
|
||||
+++ b/rts/sm/Storage.c
|
||||
@@ -1314,7 +1314,7 @@
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
#if (defined(arm_HOST_ARCH) || defined(aarch64_HOST_ARCH)) && defined(ios_HOST_OS)
|
||||
-void sys_icache_invalidate(void *start, size_t len);
|
||||
+#include <libkern/OSCacheControl.h>
|
||||
#endif
|
||||
|
||||
/* On ARM and other platforms, we need to flush the cache after
|
||||
@@ -1327,7 +1327,7 @@
|
||||
(void)exec_addr;
|
||||
#elif (defined(arm_HOST_ARCH) || defined(aarch64_HOST_ARCH)) && defined(ios_HOST_OS)
|
||||
/* On iOS we need to use the special 'sys_icache_invalidate' call. */
|
||||
- sys_icache_invalidate(exec_addr, ((unsigned char*)exec_addr)+len);
|
||||
+ sys_icache_invalidate(exec_addr, len);
|
||||
#elif defined(__GNUC__)
|
||||
/* For all other platforms, fall back to a libgcc builtin. */
|
||||
unsigned char* begin = (unsigned char*)exec_addr;
|
||||
|
@ -1,158 +0,0 @@
|
||||
diff --git a/includes/rts/OSThreads.h b/includes/rts/OSThreads.h
|
||||
--- a/includes/rts/OSThreads.h
|
||||
+++ b/includes/rts/OSThreads.h
|
||||
@@ -15,7 +15,12 @@
|
||||
#ifndef RTS_OSTHREADS_H
|
||||
#define RTS_OSTHREADS_H
|
||||
|
||||
-#if defined(THREADED_RTS) /* to near the end */
|
||||
+#if defined(HAVE_PTHREAD_H) && !defined(mingw32_HOST_OS)
|
||||
+#define BUILD_OSTHREAD_POSIX
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+#if defined(THREADED_RTS) || defined(BUILD_OSTHREAD_POSIX) /* to near end */
|
||||
|
||||
#if defined(HAVE_PTHREAD_H) && !defined(mingw32_HOST_OS)
|
||||
|
||||
@@ -205,13 +210,25 @@
|
||||
void releaseThreadNode (void);
|
||||
#endif // !CMINUSMINUS
|
||||
|
||||
-#else
|
||||
+#endif /* defined(THREADED_RTS) || defined(BUILD_OSTHREAD_POSIX) */
|
||||
+
|
||||
+#ifndef THREADED_RTS
|
||||
+
|
||||
+#ifdef ACQUIRE_LOCK
|
||||
+// If we have pthreads, we pull in the threading primitives even when the RTS
|
||||
+// isn't threaded, but we expect these macros to be noops on non-threaded RTS.
|
||||
+
|
||||
+#undef ACQUIRE_LOCK
|
||||
+#undef RELEASE_LOCK
|
||||
+#undef ASSERT_LOCK_HELD
|
||||
+
|
||||
+#endif
|
||||
|
||||
#define ACQUIRE_LOCK(l)
|
||||
#define RELEASE_LOCK(l)
|
||||
#define ASSERT_LOCK_HELD(l)
|
||||
|
||||
-#endif /* defined(THREADED_RTS) */
|
||||
+#endif
|
||||
|
||||
#ifndef CMINUSMINUS
|
||||
//
|
||||
diff --git a/rts/posix/OSThreads.c b/rts/posix/OSThreads.c
|
||||
--- a/rts/posix/OSThreads.c
|
||||
+++ b/rts/posix/OSThreads.c
|
||||
@@ -35,7 +35,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#if defined(THREADED_RTS)
|
||||
+#if defined(THREADED_RTS) || defined(BUILD_OSTHREAD_POSIX)
|
||||
#include "RtsUtils.h"
|
||||
#include "Task.h"
|
||||
|
||||
@@ -225,47 +225,6 @@
|
||||
return NULL;
|
||||
}
|
||||
|
||||
-int
|
||||
-forkOS_createThread ( HsStablePtr entry )
|
||||
-{
|
||||
- pthread_t tid;
|
||||
- int result = pthread_create(&tid, NULL,
|
||||
- forkOS_createThreadWrapper, (void*)entry);
|
||||
- if(!result)
|
||||
- pthread_detach(tid);
|
||||
- return result;
|
||||
-}
|
||||
-
|
||||
-void freeThreadingResources (void) { /* nothing */ }
|
||||
-
|
||||
-uint32_t
|
||||
-getNumberOfProcessors (void)
|
||||
-{
|
||||
- static uint32_t nproc = 0;
|
||||
-
|
||||
- if (nproc == 0) {
|
||||
-#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
|
||||
- nproc = sysconf(_SC_NPROCESSORS_ONLN);
|
||||
-#elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_CONF)
|
||||
- nproc = sysconf(_SC_NPROCESSORS_CONF);
|
||||
-#elif defined(darwin_HOST_OS)
|
||||
- size_t size = sizeof(uint32_t);
|
||||
- if(sysctlbyname("hw.logicalcpu",&nproc,&size,NULL,0) != 0) {
|
||||
- if(sysctlbyname("hw.ncpu",&nproc,&size,NULL,0) != 0)
|
||||
- nproc = 1;
|
||||
- }
|
||||
-#elif defined(freebsd_HOST_OS)
|
||||
- size_t size = sizeof(uint32_t);
|
||||
- if(sysctlbyname("hw.ncpu",&nproc,&size,NULL,0) != 0)
|
||||
- nproc = 1;
|
||||
-#else
|
||||
- nproc = 1;
|
||||
-#endif
|
||||
- }
|
||||
-
|
||||
- return nproc;
|
||||
-}
|
||||
-
|
||||
#if defined(HAVE_SCHED_H) && defined(HAVE_SCHED_SETAFFINITY)
|
||||
// Schedules the thread to run on CPU n of m. m may be less than the
|
||||
// number of physical CPUs, in which case, the thread will be allowed
|
||||
@@ -353,6 +312,51 @@
|
||||
pthread_kill(id, SIGPIPE);
|
||||
}
|
||||
|
||||
+#endif /* defined(THREADED_RTS) || defined(BUILD_OSTHREAD_POSIX) */
|
||||
+
|
||||
+#if defined(THREADED_RTS)
|
||||
+
|
||||
+int
|
||||
+forkOS_createThread ( HsStablePtr entry )
|
||||
+{
|
||||
+ pthread_t tid;
|
||||
+ int result = pthread_create(&tid, NULL,
|
||||
+ forkOS_createThreadWrapper, (void*)entry);
|
||||
+ if(!result)
|
||||
+ pthread_detach(tid);
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+void freeThreadingResources (void) { /* nothing */ }
|
||||
+
|
||||
+uint32_t
|
||||
+getNumberOfProcessors (void)
|
||||
+{
|
||||
+ static uint32_t nproc = 0;
|
||||
+
|
||||
+ if (nproc == 0) {
|
||||
+#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
|
||||
+ nproc = sysconf(_SC_NPROCESSORS_ONLN);
|
||||
+#elif defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_CONF)
|
||||
+ nproc = sysconf(_SC_NPROCESSORS_CONF);
|
||||
+#elif defined(darwin_HOST_OS)
|
||||
+ size_t size = sizeof(uint32_t);
|
||||
+ if(sysctlbyname("hw.logicalcpu",&nproc,&size,NULL,0) != 0) {
|
||||
+ if(sysctlbyname("hw.ncpu",&nproc,&size,NULL,0) != 0)
|
||||
+ nproc = 1;
|
||||
+ }
|
||||
+#elif defined(freebsd_HOST_OS)
|
||||
+ size_t size = sizeof(uint32_t);
|
||||
+ if(sysctlbyname("hw.ncpu",&nproc,&size,NULL,0) != 0)
|
||||
+ nproc = 1;
|
||||
+#else
|
||||
+ nproc = 1;
|
||||
+#endif
|
||||
+ }
|
||||
+
|
||||
+ return nproc;
|
||||
+}
|
||||
+
|
||||
#else /* !defined(THREADED_RTS) */
|
||||
|
||||
int
|
||||
|
@ -1,17 +0,0 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -437,7 +437,11 @@
|
||||
else
|
||||
CrossCompilePrefix=""
|
||||
fi
|
||||
-TargetPlatformFull="${TargetPlatform}"
|
||||
+# Despite its similarity in name to TargetPlatform, TargetPlatformFull is used
|
||||
+# in calls to subproject configure scripts and thus must be set to the autoconf
|
||||
+# triple, not the normalized GHC triple that TargetPlatform is set to.
|
||||
+# It may be better to just do away with the GHC triples all together.
|
||||
+TargetPlatformFull="${target}"
|
||||
AC_SUBST(CrossCompiling)
|
||||
AC_SUBST(CrossCompilePrefix)
|
||||
AC_SUBST(TargetPlatformFull)
|
||||
|
@ -1,28 +0,0 @@
|
||||
{stdenv, lib, fetchurl, dmd}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "rdmd-2.067.0";
|
||||
|
||||
buildInputs = [ dmd ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/D-Programming-Language/tools/archive/v2.067.0.tar.gz";
|
||||
sha256 = "2702ecda0427c675084d9b688449bc8c8392fd73e30257d79e2488640d5a9982";
|
||||
};
|
||||
|
||||
buildPhase = ''
|
||||
dmd rdmd.d
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp rdmd $out/bin/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Wrapper for D language compiler";
|
||||
homepage = http://dlang.org/rdmd.html;
|
||||
license = lib.licenses.boost;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
@ -37,7 +37,7 @@ core-packages:
|
||||
- ghcjs-base-0
|
||||
|
||||
default-package-overrides:
|
||||
# LTS Haskell 9.1
|
||||
# LTS Haskell 9.2
|
||||
- abstract-deque ==0.3
|
||||
- abstract-deque-tests ==0.3
|
||||
- abstract-par ==0.3.3
|
||||
@ -364,7 +364,7 @@ default-package-overrides:
|
||||
- check-email ==1.0.2
|
||||
- checkers ==0.4.7
|
||||
- chell ==0.4.0.1
|
||||
- choice ==0.2.1
|
||||
- choice ==0.2.2
|
||||
- chunked-data ==0.3.0
|
||||
- cipher-aes ==0.2.11
|
||||
- cipher-aes128 ==0.7.0.3
|
||||
@ -411,6 +411,8 @@ default-package-overrides:
|
||||
- comonads-fd ==4.0
|
||||
- compactmap ==0.1.4.2.1
|
||||
- compensated ==0.7.2
|
||||
- composable-associations ==0.1.0.0
|
||||
- composable-associations-aeson ==0.1.0.0
|
||||
- composition ==1.0.2.1
|
||||
- composition-extra ==2.0.0
|
||||
- concise ==0.1.0.0
|
||||
@ -457,7 +459,7 @@ default-package-overrides:
|
||||
- crypto-api-tests ==0.3
|
||||
- crypto-cipher-tests ==0.0.11
|
||||
- crypto-cipher-types ==0.0.9
|
||||
- crypto-enigma ==0.0.2.8
|
||||
- crypto-enigma ==0.0.2.9
|
||||
- crypto-pubkey-types ==0.4.3
|
||||
- crypto-random ==0.0.9
|
||||
- crypto-random-api ==0.2.0
|
||||
@ -523,7 +525,7 @@ default-package-overrides:
|
||||
- Decimal ==0.4.2
|
||||
- declarative ==0.5.1
|
||||
- deepseq-generics ==0.2.0.0
|
||||
- dejafu ==0.7.1.1
|
||||
- dejafu ==0.7.1.2
|
||||
- dependent-map ==0.2.4.0
|
||||
- dependent-sum ==0.4
|
||||
- derive ==2.6.3
|
||||
@ -534,7 +536,7 @@ default-package-overrides:
|
||||
- diagrams-cairo ==1.4
|
||||
- diagrams-canvas ==1.4
|
||||
- diagrams-contrib ==1.4.1
|
||||
- diagrams-core ==1.4
|
||||
- diagrams-core ==1.4.0.1
|
||||
- diagrams-gtk ==1.4
|
||||
- diagrams-html5 ==1.4
|
||||
- diagrams-lib ==1.4.1.2
|
||||
@ -559,7 +561,7 @@ default-package-overrides:
|
||||
- disposable ==0.2.0.4
|
||||
- distance ==0.1.0.0
|
||||
- distributed-closure ==0.3.4.0
|
||||
- distributed-static ==0.3.5.0
|
||||
- distributed-static ==0.3.7
|
||||
- distribution ==1.1.1.0
|
||||
- distributive ==0.5.3
|
||||
- diversity ==0.8.0.2
|
||||
@ -666,7 +668,7 @@ default-package-overrides:
|
||||
- exp-pairs ==0.1.5.2
|
||||
- expiring-cache-map ==0.0.6.1
|
||||
- explicit-exception ==0.1.9
|
||||
- extensible ==0.4.3
|
||||
- extensible ==0.4.4
|
||||
- extensible-effects ==1.11.1.0
|
||||
- extensible-exceptions ==0.1.1.4
|
||||
- extra ==1.5.3
|
||||
@ -764,7 +766,7 @@ default-package-overrides:
|
||||
- ghc-syb-utils ==0.2.3.2
|
||||
- ghc-tcplugins-extra ==0.2.1
|
||||
- ghc-typelits-extra ==0.2.3
|
||||
- ghc-typelits-knownnat ==0.3
|
||||
- ghc-typelits-knownnat ==0.3.1
|
||||
- ghc-typelits-natnormalise ==0.5.3
|
||||
- ghcid ==0.6.6
|
||||
- ghcjs-base-stub ==0.1.0.2
|
||||
@ -776,7 +778,7 @@ default-package-overrides:
|
||||
- gi-gdkpixbuf ==2.0.14
|
||||
- gi-gio ==2.0.14
|
||||
- gi-glib ==2.0.14
|
||||
- gi-gobject ==2.0.14
|
||||
- gi-gobject ==2.0.15
|
||||
- gi-gtk ==3.0.17
|
||||
- gi-javascriptcore ==3.0.14
|
||||
- gi-pango ==1.0.15
|
||||
@ -1008,11 +1010,12 @@ default-package-overrides:
|
||||
- hbeanstalk ==0.2.4
|
||||
- Hclip ==3.0.0.4
|
||||
- HCodecs ==0.5
|
||||
- hcwiid ==0.0.6.1
|
||||
- hdaemonize ==0.5.4
|
||||
- HDBC ==2.4.0.1
|
||||
- HDBC ==2.4.0.2
|
||||
- HDBC-mysql ==0.7.1.0
|
||||
- HDBC-session ==0.1.1.1
|
||||
- hdevtools ==0.1.5.0
|
||||
- hdevtools ==0.1.6.0
|
||||
- hdocs ==0.5.2.1
|
||||
- heap ==1.0.3
|
||||
- heaps ==0.3.5
|
||||
@ -1122,6 +1125,7 @@ default-package-overrides:
|
||||
- hstatistics ==0.3
|
||||
- hstatsd ==0.1
|
||||
- HStringTemplate ==0.8.6
|
||||
- HSvm ==0.1.0.3.22
|
||||
- hsx-jmacro ==7.3.8
|
||||
- hsx2hs ==0.14.1.1
|
||||
- hsyslog ==5.0.1
|
||||
@ -1141,7 +1145,7 @@ default-package-overrides:
|
||||
- http-date ==0.0.6.1
|
||||
- http-link-header ==1.0.3
|
||||
- http-media ==0.6.4
|
||||
- http-reverse-proxy ==0.4.4
|
||||
- http-reverse-proxy ==0.4.5
|
||||
- http-streams ==0.8.5.3
|
||||
- http-types ==0.9.1
|
||||
- http2 ==1.6.3
|
||||
@ -1155,12 +1159,12 @@ default-package-overrides:
|
||||
- hw-bits ==0.5.0.3
|
||||
- hw-diagnostics ==0.0.0.5
|
||||
- hw-excess ==0.1.0.1
|
||||
- hw-int ==0.0.0.1
|
||||
- hw-parser ==0.0.0.2
|
||||
- hw-prim ==0.4.0.3
|
||||
- hw-int ==0.0.0.3
|
||||
- hw-parser ==0.0.0.3
|
||||
- hw-prim ==0.4.0.5
|
||||
- hw-rankselect ==0.8.0.2
|
||||
- hw-rankselect-base ==0.2.0.1
|
||||
- hw-string-parse ==0.0.0.3
|
||||
- hw-rankselect-base ==0.2.0.2
|
||||
- hw-string-parse ==0.0.0.4
|
||||
- hw-succinct ==0.1.0.1
|
||||
- hweblib ==0.6.3
|
||||
- hworker ==0.1.0.1
|
||||
@ -1227,7 +1231,7 @@ default-package-overrides:
|
||||
- ip6addr ==0.5.3
|
||||
- iproute ==1.7.1
|
||||
- IPv6Addr ==1.0.1
|
||||
- IPv6DB ==0.2.1
|
||||
- IPv6DB ==0.2.2
|
||||
- irc ==0.6.1.0
|
||||
- irc-client ==0.4.4.4
|
||||
- irc-conduit ==0.2.2.3
|
||||
@ -1258,7 +1262,7 @@ default-package-overrides:
|
||||
- json-rpc-generic ==0.2.1.2
|
||||
- json-schema ==0.7.4.1
|
||||
- json-stream ==0.4.1.3
|
||||
- JuicyPixels ==3.2.8.2
|
||||
- JuicyPixels ==3.2.8.3
|
||||
- JuicyPixels-extra ==0.2.1
|
||||
- JuicyPixels-scale-dct ==0.1.1.2
|
||||
- jvm ==0.2.2
|
||||
@ -1298,7 +1302,7 @@ default-package-overrides:
|
||||
- lattices ==1.5.0
|
||||
- lazyio ==0.1.0.4
|
||||
- lca ==0.3
|
||||
- leancheck ==0.6.4
|
||||
- leancheck ==0.6.5
|
||||
- leapseconds-announced ==2017
|
||||
- lens ==4.15.4
|
||||
- lens-action ==0.2.2
|
||||
@ -1416,7 +1420,7 @@ default-package-overrides:
|
||||
- mime-mail ==0.4.14
|
||||
- mime-mail-ses ==0.3.2.3
|
||||
- mime-types ==0.1.0.7
|
||||
- minio-hs ==0.3.0
|
||||
- minio-hs ==0.3.1
|
||||
- mintty ==0.1.1
|
||||
- miso ==0.4.0.0
|
||||
- missing-foreign ==0.1.1
|
||||
@ -1463,7 +1467,7 @@ default-package-overrides:
|
||||
- monoid-subclasses ==0.4.4
|
||||
- monoid-transformer ==0.0.3
|
||||
- monoidal-containers ==0.3.0.2
|
||||
- morte ==1.6.9
|
||||
- morte ==1.6.10
|
||||
- mountpoints ==1.0.2
|
||||
- mstate ==0.2.7
|
||||
- mtl ==2.2.1
|
||||
@ -1516,10 +1520,10 @@ default-package-overrides:
|
||||
- network-transport-composed ==0.2.0.1
|
||||
- network-transport-inmemory ==0.5.2
|
||||
- network-transport-tcp ==0.5.1
|
||||
- network-transport-tests ==0.2.3.0
|
||||
- network-transport-tests ==0.2.4.1
|
||||
- network-uri ==2.6.1.0
|
||||
- newtype ==0.2
|
||||
- newtype-generics ==0.5
|
||||
- newtype-generics ==0.5.1
|
||||
- next-ref ==0.1.0.2
|
||||
- nfc ==0.1.0
|
||||
- nicify-lib ==1.0.1
|
||||
@ -1587,7 +1591,7 @@ default-package-overrides:
|
||||
- pager ==0.1.1.0
|
||||
- pagerduty ==0.0.8
|
||||
- pagination ==0.2.1
|
||||
- palette ==0.1.0.4
|
||||
- palette ==0.1.0.5
|
||||
- pandoc ==1.19.2.1
|
||||
- pandoc-citeproc ==0.10.5.1
|
||||
- pandoc-types ==1.17.0.5
|
||||
@ -1783,7 +1787,7 @@ default-package-overrides:
|
||||
- raw-strings-qq ==1.1
|
||||
- rawfilepath ==0.2.4
|
||||
- rawstring-qm ==0.2.3.0
|
||||
- rdf ==0.1.0.1
|
||||
- rdf ==0.1.0.2
|
||||
- rdtsc ==1.3.0.1
|
||||
- reactive-banana ==1.1.0.1
|
||||
- read-editor ==0.1.0.2
|
||||
@ -1861,7 +1865,7 @@ default-package-overrides:
|
||||
- safe ==0.3.15
|
||||
- safe-exceptions ==0.1.6.0
|
||||
- safe-exceptions-checked ==0.1.0
|
||||
- safecopy ==0.9.3.2
|
||||
- safecopy ==0.9.3.3
|
||||
- safeio ==0.0.3.0
|
||||
- SafeSemaphore ==0.10.1
|
||||
- sample-frame ==0.0.3
|
||||
@ -1873,11 +1877,12 @@ default-package-overrides:
|
||||
- scalpel ==0.5.1
|
||||
- scalpel-core ==0.5.1
|
||||
- scanner ==0.2
|
||||
- schematic ==0.1.4.0
|
||||
- schematic ==0.1.6.0
|
||||
- scientific ==0.3.5.1
|
||||
- scotty ==0.11.0
|
||||
- scrape-changes ==0.1.0.5
|
||||
- scrypt ==0.5.0
|
||||
- SDL ==0.6.5.1
|
||||
- sdl2 ==2.2.0
|
||||
- sdl2-gfx ==0.2
|
||||
- sdl2-image ==2.0.0
|
||||
@ -1932,7 +1937,7 @@ default-package-overrides:
|
||||
- SHA ==1.6.4.2
|
||||
- shake ==0.15.11
|
||||
- shake-language-c ==0.10.1
|
||||
- shakespeare ==2.0.13
|
||||
- shakespeare ==2.0.14
|
||||
- shell-conduit ==4.6.1
|
||||
- shelly ==1.6.8.3
|
||||
- shikensu ==0.3.7
|
||||
@ -2013,7 +2018,7 @@ default-package-overrides:
|
||||
- stateref ==0.3
|
||||
- statestack ==0.2.0.5
|
||||
- StateVar ==1.1.0.4
|
||||
- stateWriter ==0.2.8.2
|
||||
- stateWriter ==0.2.9
|
||||
- static-canvas ==0.2.0.3
|
||||
- statistics ==0.13.3.0
|
||||
- stemmer ==0.5.2
|
||||
@ -2064,7 +2069,7 @@ default-package-overrides:
|
||||
- superrecord ==0.3.0.0
|
||||
- svg-builder ==0.1.0.2
|
||||
- svg-tree ==0.6.2
|
||||
- SVGFonts ==1.6.0.1
|
||||
- SVGFonts ==1.6.0.2
|
||||
- swagger ==0.3.0
|
||||
- swagger2 ==2.1.4.1
|
||||
- syb ==0.7
|
||||
@ -2214,7 +2219,7 @@ default-package-overrides:
|
||||
- tries ==0.0.4.2
|
||||
- trifecta ==1.6.2.1
|
||||
- triplesec ==0.1.2.0
|
||||
- true-name ==0.1.0.2
|
||||
- true-name ==0.1.0.3
|
||||
- tsv2csv ==0.1.0.2
|
||||
- ttrie ==0.1.2.1
|
||||
- tttool ==1.7.0.3
|
||||
@ -2223,7 +2228,7 @@ default-package-overrides:
|
||||
- tuples-homogenous-h98 ==0.1.1.0
|
||||
- turtle ==1.3.6
|
||||
- turtle-options ==0.1.0.4
|
||||
- twitter-conduit ==0.2.2.1
|
||||
- twitter-conduit ==0.2.2.2
|
||||
- twitter-feed ==0.2.0.11
|
||||
- twitter-types ==0.7.2.2
|
||||
- twitter-types-lens ==0.7.2
|
||||
@ -2239,7 +2244,7 @@ default-package-overrides:
|
||||
- type-operators ==0.1.0.4
|
||||
- type-spec ==0.3.0.1
|
||||
- TypeCompose ==0.9.12
|
||||
- typed-process ==0.1.0.0
|
||||
- typed-process ==0.1.0.1
|
||||
- typelits-witnesses ==0.2.3.0
|
||||
- typography-geometry ==1.0.0.1
|
||||
- tz ==0.1.3.0
|
||||
@ -2447,11 +2452,11 @@ default-package-overrides:
|
||||
- yackage ==0.8.1
|
||||
- yahoo-finance-api ==0.2.0.2
|
||||
- yaml ==0.8.23.3
|
||||
- Yampa ==0.10.6
|
||||
- Yampa ==0.10.6.1
|
||||
- YampaSynth ==0.2
|
||||
- yes-precure5-command ==5.5.3
|
||||
- yesod ==1.4.5
|
||||
- yesod-auth ==1.4.17.2
|
||||
- yesod-auth ==1.4.17.3
|
||||
- yesod-auth-account ==1.4.3
|
||||
- yesod-auth-basic ==0.1.0.2
|
||||
- yesod-auth-fb ==1.8.1
|
||||
@ -2461,7 +2466,7 @@ default-package-overrides:
|
||||
- yesod-default ==1.2.0
|
||||
- yesod-eventsource ==1.4.1
|
||||
- yesod-fb ==0.4.0
|
||||
- yesod-form ==1.4.13
|
||||
- yesod-form ==1.4.15
|
||||
- yesod-form-bootstrap4 ==0.1.0.1
|
||||
- yesod-form-richtext ==0.1.0.2
|
||||
- yesod-gitrepo ==0.2.1.0
|
||||
@ -2657,6 +2662,8 @@ dont-distribute-packages:
|
||||
ccelerate-cuda: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
cublas: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
cufft: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
cusolver: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
cusparse: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
gloss-raster-accelerate: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
libnvvm: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
nvvm: [ i686-linux, x86_64-linux, x86_64-darwin ]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -33,11 +33,11 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "racket-${version}";
|
||||
version = "6.9";
|
||||
version = "6.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
|
||||
sha256 = "1cd218ee2ba1dc683de858a866c6666eb72a11adee8d1df6cdd59c5c5a47b714";
|
||||
sha256 = "1mqnyj3bawad12dygsb11f2dbnkjp7q6d7ra714rqyw8mxix5ws0";
|
||||
};
|
||||
|
||||
FONTCONFIG_FILE = fontsConf;
|
||||
@ -47,13 +47,14 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ fontconfig libffi libtool makeWrapper sqlite ];
|
||||
|
||||
preConfigure = ''
|
||||
unset AR
|
||||
substituteInPlace src/configure --replace /usr/bin/uname ${coreutils}/bin/uname
|
||||
mkdir src/build
|
||||
cd src/build
|
||||
'';
|
||||
|
||||
shared = if stdenv.isDarwin then "dylib" else "shared";
|
||||
configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" ]
|
||||
configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" ]
|
||||
++ stdenv.lib.optional disableDocs [ "--disable-docs" ]
|
||||
++ stdenv.lib.optional stdenv.isDarwin [ "--enable-xonx" ];
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
{ stdenv, lib, fetchurl, SDL2, libogg, libvorbis, smpeg, flac, enableNativeMidi ? false, fluidsynth ? null }:
|
||||
{ stdenv, lib, fetchurl, autoreconfHook, pkgconfig, which
|
||||
, SDL2, libogg, libvorbis, smpeg2, flac, libmodplug
|
||||
, enableNativeMidi ? false, fluidsynth ? null }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "SDL2_mixer-${version}";
|
||||
@ -9,9 +11,14 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0pv9jzjpcjlbiaybvwrb4avmv46qk7iqxlnqrd2dfj82c4mgc92s";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg flac ];
|
||||
nativeBuildInputs = [ autoreconfHook pkgconfig which ];
|
||||
|
||||
configureFlags = [ "--disable-music-ogg-shared" ] ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl";
|
||||
propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg2 flac libmodplug ];
|
||||
|
||||
patches = [ ./libmodplug.patch ];
|
||||
|
||||
configureFlags = [ "--disable-music-ogg-shared" ]
|
||||
++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "SDL multi-channel audio mixer library";
|
||||
|
13
pkgs/development/libraries/SDL2_mixer/libmodplug.patch
Normal file
13
pkgs/development/libraries/SDL2_mixer/libmodplug.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/configure.in b/configure.in
|
||||
index d511646..77dc3fe 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -258,7 +258,7 @@ if test x$enable_music_mod = xyes -a x$enable_music_mod_modplug = xyes; then
|
||||
have_libmodplug_lib=yes
|
||||
], [dnl
|
||||
AC_CHECK_HEADER([libmodplug/modplug.h], [have_libmodplug_hdr=yes])
|
||||
- AC_CHECK_LIB([modplug], [have_libmodplug_lib=yes])
|
||||
+ AC_CHECK_LIB([modplug], [ModPlug_Load], [have_libmodplug_lib=yes])
|
||||
])
|
||||
|
||||
if test x$have_libmodplug_hdr = xyes -a x$have_libmodplug_lib = xyes; then
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, alsaLib, portaudio, portmidi, libsndfile, cmake, libxml2, ninja }:
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, alsaLib, portaudio, portmidi, libsndfile, cmake, libxml2 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.0-beta.1";
|
||||
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1hb9b6qc18rsvzvixgllknn756m6zwcn22c79rdibbyz1bhrcnln";
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig alsaLib portaudio portmidi libsndfile cmake libxml2 ninja ];
|
||||
buildInputs = [ pkgconfig alsaLib portaudio portmidi libsndfile cmake libxml2 ];
|
||||
|
||||
meta = {
|
||||
description = "A C++ platform for building dynamic and reflexive systems with an emphasis on audio and media";
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user