Project import generated by Copybara.
GitOrigin-RevId: 9816b99e71c3504b0b4c1f8b2e004148460029d4
This commit is contained in:
parent
d419639f9c
commit
bb5b50588c
548 changed files with 10654 additions and 3714 deletions
|
@ -174,10 +174,13 @@ digraph {
|
||||||
"staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
|
"staging-next" -> master [color="#E85EB0"] [label="stabilization ends"] [fontcolor="#E85EB0"]
|
||||||
"staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
|
"staging" -> "staging-next" [color="#E85EB0"] [label="stabilization starts"] [fontcolor="#E85EB0"]
|
||||||
|
|
||||||
master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours/any time"] [fontcolor="#5F5EE8"]
|
master -> "staging-next" -> staging [color="#5F5EE8"] [label="every six hours (GitHub Action)"] [fontcolor="#5F5EE8"]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[This GitHub Action](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/merge-staging.yml) brings changes from `master` to `staging-next` and from `staging-next` to `staging` every 6 hours.
|
||||||
|
|
||||||
|
|
||||||
### Master branch {#submitting-changes-master-branch}
|
### Master branch {#submitting-changes-master-branch}
|
||||||
|
|
||||||
The `master` branch is the main development branch. It should only see non-breaking commits that do not cause mass rebuilds.
|
The `master` branch is the main development branch. It should only see non-breaking commits that do not cause mass rebuilds.
|
||||||
|
|
|
@ -1,77 +1,88 @@
|
||||||
# Qt {#sec-language-qt}
|
# Qt {#sec-language-qt}
|
||||||
|
|
||||||
This section describes the differences between Nix expressions for Qt libraries and applications and Nix expressions for other C++ software. Some knowledge of the latter is assumed.
|
Writing Nix expressions for Qt libraries and applications is largely similar as for other C++ software.
|
||||||
|
This section assumes some knowledge of the latter.
|
||||||
|
There are two problems that the Nixpkgs Qt infrastructure addresses,
|
||||||
|
which are not shared by other C++ software:
|
||||||
|
|
||||||
There are primarily two problems which the Qt infrastructure is designed to address: ensuring consistent versioning of all dependencies and finding dependencies at runtime.
|
1. There are usually multiple supported versions of Qt in Nixpkgs.
|
||||||
|
All of a package's dependencies must be built with the same version of Qt.
|
||||||
|
This is similar to the version constraints imposed on interpreted languages like Python.
|
||||||
|
2. Qt makes extensive use of runtime dependency detection.
|
||||||
|
Runtime dependencies are made into build dependencies through wrappers.
|
||||||
|
|
||||||
## Nix expression for a Qt package (default.nix) {#qt-default-nix}
|
## Nix expression for a Qt package (default.nix) {#qt-default-nix}
|
||||||
|
|
||||||
```{=docbook}
|
```{=docbook}
|
||||||
<programlisting>
|
<programlisting>
|
||||||
{ mkDerivation, qtbase }: <co xml:id='qt-default-nix-co-1' />
|
{ stdenv, lib, qtbase, wrapQtAppsHook }: <co xml:id='qt-default-nix-co-1' />
|
||||||
|
|
||||||
mkDerivation { <co xml:id='qt-default-nix-co-2' />
|
stdenv.mkDerivation {
|
||||||
pname = "myapp";
|
pname = "myapp";
|
||||||
version = "1.0";
|
version = "1.0";
|
||||||
|
|
||||||
buildInputs = [ qtbase ]; <co xml:id='qt-default-nix-co-3' />
|
buildInputs = [ qtbase ];
|
||||||
|
nativeBuildInputs = [ wrapQtAppsHook ]; <co xml:id='qt-default-nix-co-2' />
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
<calloutlist>
|
<calloutlist>
|
||||||
<callout arearefs='qt-default-nix-co-1'>
|
<callout arearefs='qt-default-nix-co-1'>
|
||||||
<para>
|
<para>
|
||||||
Import <literal>mkDerivation</literal> and Qt (such as <literal>qtbase</literal> modules directly. <emphasis>Do not</emphasis> import Qt package sets; the Qt versions of dependencies may not be coherent, causing build and runtime failures.
|
Import Qt modules directly, that is: <literal>qtbase</literal>, <literal>qtdeclarative</literal>, etc.
|
||||||
|
<emphasis>Do not</emphasis> import Qt package sets such as <literal>qt5</literal>
|
||||||
|
because the Qt versions of dependencies may not be coherent, causing build and runtime failures.
|
||||||
</para>
|
</para>
|
||||||
</callout>
|
</callout>
|
||||||
<callout arearefs='qt-default-nix-co-2'>
|
<callout arearefs='qt-default-nix-co-2'>
|
||||||
<para>
|
<para>
|
||||||
Use <literal>mkDerivation</literal> instead of <literal>stdenv.mkDerivation</literal>. <literal>mkDerivation</literal> is a wrapper around <literal>stdenv.mkDerivation</literal> which applies some Qt-specific settings. This deriver accepts the same arguments as <literal>stdenv.mkDerivation</literal>; refer to <xref linkend='chap-stdenv' /> for details.
|
All Qt packages must include <literal>wrapQtAppsHook</literal> in
|
||||||
</para>
|
<literal>nativeBuildInputs</literal>, or you must explicitly set
|
||||||
<para>
|
<literal>dontWrapQtApps</literal>.
|
||||||
To use another deriver instead of <literal>stdenv.mkDerivation</literal>, use <literal>mkDerivationWith</literal>:
|
</para>
|
||||||
<programlisting>
|
|
||||||
mkDerivationWith myDeriver {
|
|
||||||
# ...
|
|
||||||
}
|
|
||||||
</programlisting>
|
|
||||||
If you cannot use <literal>mkDerivationWith</literal>, please refer to <xref linkend='qt-runtime-dependencies' />.
|
|
||||||
</para>
|
|
||||||
</callout>
|
|
||||||
<callout arearefs='qt-default-nix-co-3'>
|
|
||||||
<para>
|
|
||||||
<literal>mkDerivation</literal> accepts the same arguments as <literal>stdenv.mkDerivation</literal>, such as <literal>buildInputs</literal>.
|
|
||||||
</para>
|
|
||||||
</callout>
|
</callout>
|
||||||
</calloutlist>
|
</calloutlist>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Locating runtime dependencies {#qt-runtime-dependencies}
|
## Locating runtime dependencies {#qt-runtime-dependencies}
|
||||||
Qt applications need to be wrapped to find runtime dependencies. If you cannot use `mkDerivation` or `mkDerivationWith` above, include `wrapQtAppsHook` in `nativeBuildInputs`:
|
|
||||||
|
Qt applications must be wrapped to find runtime dependencies.
|
||||||
|
Include `wrapQtAppsHook` in `nativeBuildInputs`:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
|
{ stdenv, wrapQtAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
# ...
|
# ...
|
||||||
|
|
||||||
nativeBuildInputs = [ wrapQtAppsHook ];
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
Entries added to `qtWrapperArgs` are used to modify the wrappers created by `wrapQtAppsHook`. The entries are passed as arguments to [wrapProgram executable makeWrapperArgs](#fun-wrapProgram).
|
|
||||||
|
Add entries to `qtWrapperArgs` are to modify the wrappers created by
|
||||||
|
`wrapQtAppsHook`:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
mkDerivation {
|
{ stdenv, wrapQtAppsHook }:
|
||||||
# ...
|
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
# ...
|
||||||
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ];
|
qtWrapperArgs = [ ''--prefix PATH : /path/to/bin'' ];
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Set `dontWrapQtApps` to stop applications from being wrapped automatically. It is required to wrap applications manually with `wrapQtApp`, using the syntax of [wrapProgram executable makeWrapperArgs](#fun-wrapProgram):
|
The entries are passed as arguments to [wrapProgram](#fun-wrapProgram).
|
||||||
|
|
||||||
|
Set `dontWrapQtApps` to stop applications from being wrapped automatically.
|
||||||
|
Wrap programs manually with `wrapQtApp`, using the syntax of
|
||||||
|
[wrapProgram](#fun-wrapProgram):
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
mkDerivation {
|
{ stdenv, lib, wrapQtAppsHook }:
|
||||||
# ...
|
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
# ...
|
||||||
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
dontWrapQtApps = true;
|
dontWrapQtApps = true;
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin
|
wrapQtApp "$out/bin/myapp" --prefix PATH : /path/to/bin
|
||||||
|
@ -79,21 +90,16 @@ mkDerivation {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
> Note: `wrapQtAppsHook` ignores files that are non-ELF executables. This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned. An example of when you'd always need to do this is with Python applications that use PyQT.
|
::: note
|
||||||
|
`wrapQtAppsHook` ignores files that are non-ELF executables.
|
||||||
|
This means that scripts won't be automatically wrapped so you'll need to manually wrap them as previously mentioned.
|
||||||
|
An example of when you'd always need to do this is with Python applications that use PyQt.
|
||||||
|
:::
|
||||||
|
|
||||||
Libraries are built with every available version of Qt. Use the `meta.broken` attribute to disable the package for unsupported Qt versions:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
mkDerivation {
|
|
||||||
# ...
|
|
||||||
|
|
||||||
# Disable this library with Qt < 5.9.0
|
|
||||||
meta.broken = builtins.compareVersions qtbase.version "5.9.0" < 0;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
## Adding a library to Nixpkgs
|
## Adding a library to Nixpkgs
|
||||||
Qt libraries are added to `qt5-packages.nix` and are made available for every Qt
|
Add Qt libraries to `qt5-packages.nix` to make them available for every
|
||||||
version supported.
|
supported Qt version.
|
||||||
|
|
||||||
### Example adding a Qt library {#qt-library-all-packages-nix}
|
### Example adding a Qt library {#qt-library-all-packages-nix}
|
||||||
|
|
||||||
The following represents the contents of `qt5-packages.nix`.
|
The following represents the contents of `qt5-packages.nix`.
|
||||||
|
@ -106,9 +112,23 @@ The following represents the contents of `qt5-packages.nix`.
|
||||||
# ...
|
# ...
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Libraries are built with every available version of Qt.
|
||||||
|
Use the `meta.broken` attribute to disable the package for unsupported Qt versions:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
{ stdenv, lib, qtbase }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
# ...
|
||||||
|
# Disable this library with Qt < 5.9.0
|
||||||
|
meta.broken = lib.versionOlder qtbase.version "5.9.0";
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Adding an application to Nixpkgs
|
## Adding an application to Nixpkgs
|
||||||
Applications that use Qt are also added to `qt5-packages.nix`. An alias is added
|
Add Qt applications to `qt5-packages.nix`. Add an alias to `all-packages.nix`
|
||||||
in the top-level `all-packages.nix` pointing to the package with the desired Qt5 version.
|
to select the Qt 5 version used for the application.
|
||||||
|
|
||||||
### Example adding a Qt application {#qt-application-all-packages-nix}
|
### Example adding a Qt application {#qt-application-all-packages-nix}
|
||||||
|
|
||||||
|
|
|
@ -2103,6 +2103,12 @@
|
||||||
email = "christoph.senjak@googlemail.com";
|
email = "christoph.senjak@googlemail.com";
|
||||||
name = "Christoph-Simon Senjak";
|
name = "Christoph-Simon Senjak";
|
||||||
};
|
};
|
||||||
|
davhau = {
|
||||||
|
email = "d.hauer.it@gmail.com";
|
||||||
|
name = "David Hauer";
|
||||||
|
github = "DavHau";
|
||||||
|
githubId = 42246742;
|
||||||
|
};
|
||||||
david-sawatzke = {
|
david-sawatzke = {
|
||||||
email = "d-nix@sawatzke.dev";
|
email = "d-nix@sawatzke.dev";
|
||||||
github = "david-sawatzke";
|
github = "david-sawatzke";
|
||||||
|
@ -5866,6 +5872,12 @@
|
||||||
githubId = 35892750;
|
githubId = 35892750;
|
||||||
name = "Maxine Aubrey";
|
name = "Maxine Aubrey";
|
||||||
};
|
};
|
||||||
|
maxhbr = {
|
||||||
|
email = "nixos@maxhbr.dev";
|
||||||
|
github = "maxhbr";
|
||||||
|
githubId = 1187050;
|
||||||
|
name = "Maximilian Huber";
|
||||||
|
};
|
||||||
maxxk = {
|
maxxk = {
|
||||||
email = "maxim.krivchikov@gmail.com";
|
email = "maxim.krivchikov@gmail.com";
|
||||||
github = "maxxk";
|
github = "maxxk";
|
||||||
|
|
|
@ -104,7 +104,7 @@ in
|
||||||
# will in fact load the configuration file at /etc/bluetooth/main.conf
|
# will in fact load the configuration file at /etc/bluetooth/main.conf
|
||||||
# so force it here to avoid any ambiguity and things suddenly breaking
|
# so force it here to avoid any ambiguity and things suddenly breaking
|
||||||
# if/when the bluez derivation is changed.
|
# if/when the bluez derivation is changed.
|
||||||
args = [ "-f /etc/bluetooth/main.conf" ]
|
args = [ "-f" "/etc/bluetooth/main.conf" ]
|
||||||
++ optional hasDisabledPlugins
|
++ optional hasDisabledPlugins
|
||||||
"--noplugin=${concatStringsSep "," cfg.disabledPlugins}";
|
"--noplugin=${concatStringsSep "," cfg.disabledPlugins}";
|
||||||
in
|
in
|
||||||
|
|
|
@ -270,7 +270,7 @@ in
|
||||||
drivers = mkOption {
|
drivers = mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.path;
|
||||||
default = [];
|
default = [];
|
||||||
example = literalExample "with pkgs; [ gutenprint hplip splix cups-googlecloudprint ]";
|
example = literalExample "with pkgs; [ gutenprint hplip splix ]";
|
||||||
description = ''
|
description = ''
|
||||||
CUPS drivers to use. Drivers provided by CUPS, cups-filters,
|
CUPS drivers to use. Drivers provided by CUPS, cups-filters,
|
||||||
Ghostscript and Samba are added unconditionally. If this list contains
|
Ghostscript and Samba are added unconditionally. If this list contains
|
||||||
|
|
|
@ -211,7 +211,7 @@ in
|
||||||
environment = let
|
environment = let
|
||||||
penv = python.buildEnv.override {
|
penv = python.buildEnv.override {
|
||||||
# setuptools: https://github.com/benoitc/gunicorn/issues/1716
|
# setuptools: https://github.com/benoitc/gunicorn/issues/1716
|
||||||
extraLibs = [ python.pkgs.gevent python.pkgs.setuptools pkg ];
|
extraLibs = [ python.pkgs.eventlet python.pkgs.setuptools pkg ];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
PYTHONPATH = "${dataDir}/${wikiIdent}/config:${penv}/${python.sitePackages}";
|
PYTHONPATH = "${dataDir}/${wikiIdent}/config:${penv}/${python.sitePackages}";
|
||||||
|
@ -233,7 +233,7 @@ in
|
||||||
ExecStart = ''${python.pkgs.gunicorn}/bin/gunicorn moin_wsgi \
|
ExecStart = ''${python.pkgs.gunicorn}/bin/gunicorn moin_wsgi \
|
||||||
--name gunicorn-${wikiIdent} \
|
--name gunicorn-${wikiIdent} \
|
||||||
--workers ${toString cfg.gunicorn.workers} \
|
--workers ${toString cfg.gunicorn.workers} \
|
||||||
--worker-class gevent \
|
--worker-class eventlet \
|
||||||
--bind unix:/run/moin/${wikiIdent}/gunicorn.sock
|
--bind unix:/run/moin/${wikiIdent}/gunicorn.sock
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -356,11 +356,11 @@ else {
|
||||||
if ($suffix eq ".jpg") {
|
if ($suffix eq ".jpg") {
|
||||||
$suffix = ".jpeg";
|
$suffix = ".jpeg";
|
||||||
}
|
}
|
||||||
if ($backgroundColor) {
|
if ($backgroundColor) {
|
||||||
$conf .= "
|
$conf .= "
|
||||||
background_color '$backgroundColor'
|
background_color '$backgroundColor'
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
copy $splashImage, "$bootPath/background$suffix" or die "cannot copy $splashImage to $bootPath: $!\n";
|
copy $splashImage, "$bootPath/background$suffix" or die "cannot copy $splashImage to $bootPath: $!\n";
|
||||||
$conf .= "
|
$conf .= "
|
||||||
insmod " . substr($suffix, 1) . "
|
insmod " . substr($suffix, 1) . "
|
||||||
|
|
|
@ -56,7 +56,7 @@ let
|
||||||
|
|
||||||
ykinfo -v 1>/dev/null 2>&1
|
ykinfo -v 1>/dev/null 2>&1
|
||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
echo -n "Waiting $secs seconds for Yubikey to appear..."
|
echo -n "Waiting $secs seconds for YubiKey to appear..."
|
||||||
local success=false
|
local success=false
|
||||||
for try in $(seq $secs); do
|
for try in $(seq $secs); do
|
||||||
echo -n .
|
echo -n .
|
||||||
|
@ -118,7 +118,7 @@ let
|
||||||
# Cryptsetup locking directory
|
# Cryptsetup locking directory
|
||||||
mkdir -p /run/cryptsetup
|
mkdir -p /run/cryptsetup
|
||||||
|
|
||||||
# For Yubikey salt storage
|
# For YubiKey salt storage
|
||||||
mkdir -p /crypt-storage
|
mkdir -p /crypt-storage
|
||||||
|
|
||||||
${optionalString luks.gpgSupport ''
|
${optionalString luks.gpgSupport ''
|
||||||
|
@ -218,7 +218,7 @@ let
|
||||||
}
|
}
|
||||||
|
|
||||||
${optionalString (luks.yubikeySupport && (yubikey != null)) ''
|
${optionalString (luks.yubikeySupport && (yubikey != null)) ''
|
||||||
# Yubikey
|
# YubiKey
|
||||||
rbtohex() {
|
rbtohex() {
|
||||||
( od -An -vtx1 | tr -d ' \n' )
|
( od -An -vtx1 | tr -d ' \n' )
|
||||||
}
|
}
|
||||||
|
@ -244,7 +244,7 @@ let
|
||||||
local new_k_luks
|
local new_k_luks
|
||||||
|
|
||||||
mount -t ${yubikey.storage.fsType} ${yubikey.storage.device} /crypt-storage || \
|
mount -t ${yubikey.storage.fsType} ${yubikey.storage.device} /crypt-storage || \
|
||||||
die "Failed to mount Yubikey salt storage device"
|
die "Failed to mount YubiKey salt storage device"
|
||||||
|
|
||||||
salt="$(cat /crypt-storage${yubikey.storage.path} | sed -n 1p | tr -d '\n')"
|
salt="$(cat /crypt-storage${yubikey.storage.path} | sed -n 1p | tr -d '\n')"
|
||||||
iterations="$(cat /crypt-storage${yubikey.storage.path} | sed -n 2p | tr -d '\n')"
|
iterations="$(cat /crypt-storage${yubikey.storage.path} | sed -n 2p | tr -d '\n')"
|
||||||
|
@ -254,8 +254,27 @@ let
|
||||||
for try in $(seq 3); do
|
for try in $(seq 3); do
|
||||||
${optionalString yubikey.twoFactor ''
|
${optionalString yubikey.twoFactor ''
|
||||||
echo -n "Enter two-factor passphrase: "
|
echo -n "Enter two-factor passphrase: "
|
||||||
read -r k_user
|
k_user=
|
||||||
echo
|
while true; do
|
||||||
|
if [ -e /crypt-ramfs/passphrase ]; then
|
||||||
|
echo "reused"
|
||||||
|
k_user=$(cat /crypt-ramfs/passphrase)
|
||||||
|
break
|
||||||
|
else
|
||||||
|
# Try reading it from /dev/console with a timeout
|
||||||
|
IFS= read -t 1 -r k_user
|
||||||
|
if [ -n "$k_user" ]; then
|
||||||
|
${if luks.reusePassphrases then ''
|
||||||
|
# Remember it for the next device
|
||||||
|
echo -n "$k_user" > /crypt-ramfs/passphrase
|
||||||
|
'' else ''
|
||||||
|
# Don't save it to ramfs. We are very paranoid
|
||||||
|
''}
|
||||||
|
echo
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
''}
|
''}
|
||||||
|
|
||||||
if [ ! -z "$k_user" ]; then
|
if [ ! -z "$k_user" ]; then
|
||||||
|
@ -268,6 +287,11 @@ let
|
||||||
|
|
||||||
if [ $? == 0 ]; then
|
if [ $? == 0 ]; then
|
||||||
opened=true
|
opened=true
|
||||||
|
${if luks.reusePassphrases then ''
|
||||||
|
# We don't rm here because we might reuse it for the next device
|
||||||
|
'' else ''
|
||||||
|
rm -f /crypt-ramfs/passphrase
|
||||||
|
''}
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
opened=false
|
opened=false
|
||||||
|
@ -317,7 +341,7 @@ let
|
||||||
if wait_yubikey ${toString yubikey.gracePeriod}; then
|
if wait_yubikey ${toString yubikey.gracePeriod}; then
|
||||||
do_open_yubikey
|
do_open_yubikey
|
||||||
else
|
else
|
||||||
echo "No yubikey found, falling back to non-yubikey open procedure"
|
echo "No YubiKey found, falling back to non-YubiKey open procedure"
|
||||||
open_normally
|
open_normally
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
@ -665,8 +689,8 @@ in
|
||||||
yubikey = mkOption {
|
yubikey = mkOption {
|
||||||
default = null;
|
default = null;
|
||||||
description = ''
|
description = ''
|
||||||
The options to use for this LUKS device in Yubikey-PBA.
|
The options to use for this LUKS device in YubiKey-PBA.
|
||||||
If null (the default), Yubikey-PBA will be disabled for this device.
|
If null (the default), YubiKey-PBA will be disabled for this device.
|
||||||
'';
|
'';
|
||||||
|
|
||||||
type = with types; nullOr (submodule {
|
type = with types; nullOr (submodule {
|
||||||
|
@ -674,13 +698,13 @@ in
|
||||||
twoFactor = mkOption {
|
twoFactor = mkOption {
|
||||||
default = true;
|
default = true;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = "Whether to use a passphrase and a Yubikey (true), or only a Yubikey (false).";
|
description = "Whether to use a passphrase and a YubiKey (true), or only a YubiKey (false).";
|
||||||
};
|
};
|
||||||
|
|
||||||
slot = mkOption {
|
slot = mkOption {
|
||||||
default = 2;
|
default = 2;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = "Which slot on the Yubikey to challenge.";
|
description = "Which slot on the YubiKey to challenge.";
|
||||||
};
|
};
|
||||||
|
|
||||||
saltLength = mkOption {
|
saltLength = mkOption {
|
||||||
|
@ -704,7 +728,7 @@ in
|
||||||
gracePeriod = mkOption {
|
gracePeriod = mkOption {
|
||||||
default = 10;
|
default = 10;
|
||||||
type = types.int;
|
type = types.int;
|
||||||
description = "Time in seconds to wait for the Yubikey.";
|
description = "Time in seconds to wait for the YubiKey.";
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TODO: Add to the documentation of the current module:
|
/* TODO: Add to the documentation of the current module:
|
||||||
|
@ -779,9 +803,9 @@ in
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = ''
|
description = ''
|
||||||
Enables support for authenticating with a Yubikey on LUKS devices.
|
Enables support for authenticating with a YubiKey on LUKS devices.
|
||||||
See the NixOS wiki for information on how to properly setup a LUKS device
|
See the NixOS wiki for information on how to properly setup a LUKS device
|
||||||
and a Yubikey to work with this feature.
|
and a YubiKey to work with this feature.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -799,7 +823,7 @@ in
|
||||||
|
|
||||||
assertions =
|
assertions =
|
||||||
[ { assertion = !(luks.gpgSupport && luks.yubikeySupport);
|
[ { assertion = !(luks.gpgSupport && luks.yubikeySupport);
|
||||||
message = "Yubikey and GPG Card may not be used at the same time.";
|
message = "YubiKey and GPG Card may not be used at the same time.";
|
||||||
}
|
}
|
||||||
|
|
||||||
{ assertion = !(luks.gpgSupport && luks.fido2Support);
|
{ assertion = !(luks.gpgSupport && luks.fido2Support);
|
||||||
|
@ -807,7 +831,7 @@ in
|
||||||
}
|
}
|
||||||
|
|
||||||
{ assertion = !(luks.fido2Support && luks.yubikeySupport);
|
{ assertion = !(luks.fido2Support && luks.yubikeySupport);
|
||||||
message = "FIDO2 and Yubikey may not be used at the same time.";
|
message = "FIDO2 and YubiKey may not be used at the same time.";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,7 @@ in
|
||||||
corerad = handleTest ./corerad.nix {};
|
corerad = handleTest ./corerad.nix {};
|
||||||
couchdb = handleTest ./couchdb.nix {};
|
couchdb = handleTest ./couchdb.nix {};
|
||||||
cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
|
cri-o = handleTestOn ["x86_64-linux"] ./cri-o.nix {};
|
||||||
|
custom-ca = handleTest ./custom-ca.nix {};
|
||||||
deluge = handleTest ./deluge.nix {};
|
deluge = handleTest ./deluge.nix {};
|
||||||
dhparams = handleTest ./dhparams.nix {};
|
dhparams = handleTest ./dhparams.nix {};
|
||||||
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
|
dnscrypt-proxy2 = handleTestOn ["x86_64-linux"] ./dnscrypt-proxy2.nix {};
|
||||||
|
|
161
third_party/nixpkgs/nixos/tests/custom-ca.nix
vendored
Normal file
161
third_party/nixpkgs/nixos/tests/custom-ca.nix
vendored
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
# Checks that `security.pki` options are working in curl and the main browser
|
||||||
|
# engines: Gecko (via Firefox), Chromium, QtWebEngine (Falkon) and WebKitGTK
|
||||||
|
# (via Midori). The test checks that certificates issued by a custom trusted
|
||||||
|
# CA are accepted but those from an unknown CA are rejected.
|
||||||
|
|
||||||
|
import ./make-test-python.nix ({ pkgs, lib, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
makeCert = { caName, domain }: pkgs.runCommand "example-cert"
|
||||||
|
{ buildInputs = [ pkgs.gnutls ]; }
|
||||||
|
''
|
||||||
|
mkdir $out
|
||||||
|
|
||||||
|
# CA cert template
|
||||||
|
cat >ca.template <<EOF
|
||||||
|
organization = "${caName}"
|
||||||
|
cn = "${caName}"
|
||||||
|
expiration_days = 365
|
||||||
|
ca
|
||||||
|
cert_signing_key
|
||||||
|
crl_signing_key
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# server cert template
|
||||||
|
cat >server.template <<EOF
|
||||||
|
organization = "An example company"
|
||||||
|
cn = "${domain}"
|
||||||
|
expiration_days = 30
|
||||||
|
dns_name = "${domain}"
|
||||||
|
encryption_key
|
||||||
|
signing_key
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# generate CA keypair
|
||||||
|
certtool \
|
||||||
|
--generate-privkey \
|
||||||
|
--key-type rsa \
|
||||||
|
--sec-param High \
|
||||||
|
--outfile $out/ca.key
|
||||||
|
certtool \
|
||||||
|
--generate-self-signed \
|
||||||
|
--load-privkey $out/ca.key \
|
||||||
|
--template ca.template \
|
||||||
|
--outfile $out/ca.crt
|
||||||
|
|
||||||
|
# generate server keypair
|
||||||
|
certtool \
|
||||||
|
--generate-privkey \
|
||||||
|
--key-type rsa \
|
||||||
|
--sec-param High \
|
||||||
|
--outfile $out/server.key
|
||||||
|
certtool \
|
||||||
|
--generate-certificate \
|
||||||
|
--load-privkey $out/server.key \
|
||||||
|
--load-ca-privkey $out/ca.key \
|
||||||
|
--load-ca-certificate $out/ca.crt \
|
||||||
|
--template server.template \
|
||||||
|
--outfile $out/server.crt
|
||||||
|
'';
|
||||||
|
|
||||||
|
example-good-cert = makeCert
|
||||||
|
{ caName = "Example good CA";
|
||||||
|
domain = "good.example.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
example-bad-cert = makeCert
|
||||||
|
{ caName = "Unknown CA";
|
||||||
|
domain = "bad.example.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
name = "custom-ca";
|
||||||
|
meta.maintainers = with lib.maintainers; [ rnhmjoj ];
|
||||||
|
|
||||||
|
enableOCR = true;
|
||||||
|
|
||||||
|
machine = { pkgs, ... }:
|
||||||
|
{ imports = [ ./common/user-account.nix ./common/x11.nix ];
|
||||||
|
|
||||||
|
# chromium-based browsers refuse to run as root
|
||||||
|
test-support.displayManager.auto.user = "alice";
|
||||||
|
# browsers may hang with the default memory
|
||||||
|
virtualisation.memorySize = "500";
|
||||||
|
|
||||||
|
networking.hosts."127.0.0.1" = [ "good.example.com" "bad.example.com" ];
|
||||||
|
security.pki.certificateFiles = [ "${example-good-cert}/ca.crt" ];
|
||||||
|
|
||||||
|
services.nginx.enable = true;
|
||||||
|
services.nginx.virtualHosts."good.example.com" =
|
||||||
|
{ onlySSL = true;
|
||||||
|
sslCertificate = "${example-good-cert}/server.crt";
|
||||||
|
sslCertificateKey = "${example-good-cert}/server.key";
|
||||||
|
locations."/".extraConfig = "return 200 'It works!';";
|
||||||
|
};
|
||||||
|
services.nginx.virtualHosts."bad.example.com" =
|
||||||
|
{ onlySSL = true;
|
||||||
|
sslCertificate = "${example-bad-cert}/server.crt";
|
||||||
|
sslCertificateKey = "${example-bad-cert}/server.key";
|
||||||
|
locations."/".extraConfig = "return 200 'It does not work!';";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs;
|
||||||
|
[ xdotool firefox chromium falkon midori ];
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = ''
|
||||||
|
def execute_as(user: str, cmd: str) -> Tuple[int, str]:
|
||||||
|
"""
|
||||||
|
Run a shell command as a specific user.
|
||||||
|
"""
|
||||||
|
return machine.execute(f"sudo -u {user} {cmd}")
|
||||||
|
|
||||||
|
|
||||||
|
def wait_for_window_as(user: str, cls: str) -> None:
|
||||||
|
"""
|
||||||
|
Wait until a X11 window of a given user appears.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def window_is_visible(last_try: bool) -> bool:
|
||||||
|
ret, stdout = execute_as(user, f"xdotool search --onlyvisible --class {cls}")
|
||||||
|
if last_try:
|
||||||
|
machine.log(f"Last chance to match {cls} on the window list")
|
||||||
|
return ret == 0
|
||||||
|
|
||||||
|
with machine.nested("Waiting for a window to appear"):
|
||||||
|
retry(window_is_visible)
|
||||||
|
|
||||||
|
|
||||||
|
machine.start()
|
||||||
|
|
||||||
|
with subtest("Good certificate is trusted in curl"):
|
||||||
|
machine.wait_for_unit("nginx")
|
||||||
|
machine.wait_for_open_port(443)
|
||||||
|
machine.succeed("curl -fv https://good.example.com")
|
||||||
|
|
||||||
|
with subtest("Unknown CA is untrusted in curl"):
|
||||||
|
machine.fail("curl -fv https://bad.example.com")
|
||||||
|
|
||||||
|
browsers = ["firefox", "chromium", "falkon", "midori"]
|
||||||
|
errors = ["Security Risk", "not private", "Certificate Error", "Security"]
|
||||||
|
|
||||||
|
machine.wait_for_x()
|
||||||
|
for browser, error in zip(browsers, errors):
|
||||||
|
with subtest("Good certificate is trusted in " + browser):
|
||||||
|
execute_as(
|
||||||
|
"alice", f"env P11_KIT_DEBUG=trust {browser} https://good.example.com & >&2"
|
||||||
|
)
|
||||||
|
wait_for_window_as("alice", browser)
|
||||||
|
machine.wait_for_text("It works!")
|
||||||
|
machine.screenshot("good" + browser)
|
||||||
|
execute_as("alice", "xdotool key ctrl+w") # close tab
|
||||||
|
|
||||||
|
with subtest("Unknown CA is untrusted in " + browser):
|
||||||
|
execute_as("alice", f"{browser} https://bad.example.com & >&2")
|
||||||
|
machine.wait_for_text(error)
|
||||||
|
machine.screenshot("bad" + browser)
|
||||||
|
machine.succeed("pkill " + browser)
|
||||||
|
'';
|
||||||
|
})
|
15
third_party/nixpkgs/nixos/tests/installer.nix
vendored
15
third_party/nixpkgs/nixos/tests/installer.nix
vendored
|
@ -325,10 +325,13 @@ let
|
||||||
curl
|
curl
|
||||||
]
|
]
|
||||||
++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
|
++ optional (bootLoader == "grub" && grubVersion == 1) pkgs.grub
|
||||||
++ optionals (bootLoader == "grub" && grubVersion == 2) [
|
++ optionals (bootLoader == "grub" && grubVersion == 2) (let
|
||||||
(pkgs.grub2.override { zfsSupport = true; })
|
zfsSupport = lib.any (x: x == "zfs")
|
||||||
(pkgs.grub2_efi.override { zfsSupport = true; })
|
(extraInstallerConfig.boot.supportedFilesystems or []);
|
||||||
];
|
in [
|
||||||
|
(pkgs.grub2.override { inherit zfsSupport; })
|
||||||
|
(pkgs.grub2_efi.override { inherit zfsSupport; })
|
||||||
|
]);
|
||||||
|
|
||||||
nix.binaryCaches = mkForce [ ];
|
nix.binaryCaches = mkForce [ ];
|
||||||
nix.extraOptions = ''
|
nix.extraOptions = ''
|
||||||
|
@ -398,9 +401,9 @@ let
|
||||||
createPartitions = ''
|
createPartitions = ''
|
||||||
machine.succeed(
|
machine.succeed(
|
||||||
"flock /dev/vda parted --script /dev/vda -- mklabel gpt"
|
"flock /dev/vda parted --script /dev/vda -- mklabel gpt"
|
||||||
+ " mkpart ESP fat32 1M 50MiB" # /boot
|
+ " mkpart ESP fat32 1M 100MiB" # /boot
|
||||||
+ " set 1 boot on"
|
+ " set 1 boot on"
|
||||||
+ " mkpart primary linux-swap 50MiB 1024MiB"
|
+ " mkpart primary linux-swap 100MiB 1024MiB"
|
||||||
+ " mkpart primary ext2 1024MiB -1MiB", # /
|
+ " mkpart primary ext2 1024MiB -1MiB", # /
|
||||||
"udevadm settle",
|
"udevadm settle",
|
||||||
"mkswap /dev/vda2 -L swap",
|
"mkswap /dev/vda2 -L swap",
|
||||||
|
|
19
third_party/nixpkgs/nixos/tests/openldap.nix
vendored
19
third_party/nixpkgs/nixos/tests/openldap.nix
vendored
|
@ -1,4 +1,9 @@
|
||||||
{ pkgs, system ? builtins.currentSystem, ... }: let
|
{ pkgs ? (import ../.. { inherit system; config = { }; })
|
||||||
|
, system ? builtins.currentSystem
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
dbContents = ''
|
dbContents = ''
|
||||||
dn: dc=example
|
dn: dc=example
|
||||||
objectClass: domain
|
objectClass: domain
|
||||||
|
@ -16,7 +21,7 @@
|
||||||
'';
|
'';
|
||||||
in {
|
in {
|
||||||
# New-style configuration
|
# New-style configuration
|
||||||
current = import ./make-test-python.nix {
|
current = import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
inherit testScript;
|
inherit testScript;
|
||||||
name = "openldap";
|
name = "openldap";
|
||||||
|
|
||||||
|
@ -53,10 +58,10 @@ in {
|
||||||
declarativeContents."dc=example" = dbContents;
|
declarativeContents."dc=example" = dbContents;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
}) { inherit pkgs system; };
|
||||||
|
|
||||||
# Old-style configuration
|
# Old-style configuration
|
||||||
oldOptions = import ./make-test-python.nix {
|
oldOptions = import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
inherit testScript;
|
inherit testScript;
|
||||||
name = "openldap";
|
name = "openldap";
|
||||||
|
|
||||||
|
@ -72,10 +77,10 @@ in {
|
||||||
declarativeContents."dc=example" = dbContents;
|
declarativeContents."dc=example" = dbContents;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
}) { inherit system pkgs; };
|
||||||
|
|
||||||
# Manually managed configDir, for example if dynamic config is essential
|
# Manually managed configDir, for example if dynamic config is essential
|
||||||
manualConfigDir = import ./make-test-python.nix {
|
manualConfigDir = import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
name = "openldap";
|
name = "openldap";
|
||||||
|
|
||||||
machine = { pkgs, ... }: {
|
machine = { pkgs, ... }: {
|
||||||
|
@ -121,5 +126,5 @@ in {
|
||||||
"systemctl restart openldap",
|
"systemctl restart openldap",
|
||||||
)
|
)
|
||||||
'' + testScript;
|
'' + testScript;
|
||||||
};
|
}) { inherit system pkgs; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,13 +10,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "ashuffle";
|
pname = "ashuffle";
|
||||||
version = "3.4.0";
|
version = "3.10.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "joshkunz";
|
owner = "joshkunz";
|
||||||
repo = "ashuffle";
|
repo = "ashuffle";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "09q6lwgc1dc8bg1mb9js9qz3xcsxph3548nxzvyb4v8111gixrp7";
|
sha256 = "103jhajqwryiaf52qqgshajcnsxsz4l8gn3sz6bxs7k0yq5x1knr";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
|
||||||
"SHARE_DIR=${placeholder "out"}/share"
|
"SHARE_DIR=${placeholder "out"}/share"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features";
|
description = "CsoundQt is a frontend for Csound with editor, integrated help, widgets and other features";
|
||||||
homepage = "https://csoundqt.github.io/";
|
homepage = "https://csoundqt.github.io/";
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkg-config
|
{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkg-config
|
||||||
, ronn
|
, ronn, substituteAll
|
||||||
|
, mbrolaSupport ? true, mbrola
|
||||||
, pcaudiolibSupport ? true, pcaudiolib
|
, pcaudiolibSupport ? true, pcaudiolib
|
||||||
, sonicSupport ? true, sonic }:
|
, sonicSupport ? true, sonic }:
|
||||||
|
|
||||||
|
@ -14,13 +15,26 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b";
|
sha256 = "0jkqhf2h94vbqq7mg7mmm23bq372fa7mdk941my18c3vkldcir1b";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = lib.optionals mbrolaSupport [
|
||||||
|
# Hardcode correct mbrola paths.
|
||||||
|
(substituteAll {
|
||||||
|
src = ./mbrola.patch;
|
||||||
|
inherit mbrola;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ autoconf automake which libtool pkg-config ronn ];
|
nativeBuildInputs = [ autoconf automake which libtool pkg-config ronn ];
|
||||||
|
|
||||||
buildInputs = lib.optional pcaudiolibSupport pcaudiolib
|
buildInputs = lib.optional mbrolaSupport mbrola
|
||||||
|
++ lib.optional pcaudiolibSupport pcaudiolib
|
||||||
++ lib.optional sonicSupport sonic;
|
++ lib.optional sonicSupport sonic;
|
||||||
|
|
||||||
preConfigure = "./autogen.sh";
|
preConfigure = "./autogen.sh";
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--with-mbrola=${if mbrolaSupport then "yes" else "no"}"
|
||||||
|
];
|
||||||
|
|
||||||
postInstall = lib.optionalString stdenv.isLinux ''
|
postInstall = lib.optionalString stdenv.isLinux ''
|
||||||
patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
|
patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
|
||||||
'';
|
'';
|
||||||
|
@ -29,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||||
description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
|
description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
|
||||||
homepage = "https://github.com/espeak-ng/espeak-ng";
|
homepage = "https://github.com/espeak-ng/espeak-ng";
|
||||||
changelog = "https://github.com/espeak-ng/espeak-ng/blob/${version}/CHANGELOG.md";
|
changelog = "https://github.com/espeak-ng/espeak-ng/blob/${version}/CHANGELOG.md";
|
||||||
license = licenses.gpl3;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = with maintainers; [ aske ];
|
maintainers = with maintainers; [ aske ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
|
|
22
third_party/nixpkgs/pkgs/applications/audio/espeak-ng/mbrola.patch
vendored
Normal file
22
third_party/nixpkgs/pkgs/applications/audio/espeak-ng/mbrola.patch
vendored
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
--- a/src/libespeak-ng/mbrowrap.c
|
||||||
|
+++ b/src/libespeak-ng/mbrowrap.c
|
||||||
|
@@ -205,7 +205,7 @@
|
||||||
|
signal(SIGTERM, SIG_IGN);
|
||||||
|
|
||||||
|
snprintf(charbuf, sizeof(charbuf), "%g", mbr_volume);
|
||||||
|
- execlp("mbrola", "mbrola", "-e", "-v", charbuf,
|
||||||
|
+ execlp("@mbrola@/bin/mbrola", "mbrola", "-e", "-v", charbuf,
|
||||||
|
voice_path, "-", "-.wav", (char *)NULL);
|
||||||
|
/* if execution reaches this point then the exec() failed */
|
||||||
|
snprintf(mbr_errorbuf, sizeof(mbr_errorbuf),
|
||||||
|
--- a/src/libespeak-ng/synth_mbrola.c
|
||||||
|
+++ b/src/libespeak-ng/synth_mbrola.c
|
||||||
|
@@ -85,7 +85,7 @@
|
||||||
|
if (!load_MBR())
|
||||||
|
return ENS_MBROLA_NOT_FOUND;
|
||||||
|
|
||||||
|
- sprintf(path, "%s/mbrola/%s", path_home, mbrola_voice);
|
||||||
|
+ sprintf(path, "@mbrola@/share/mbrola/voices/%s/%s", mbrola_voice, mbrola_voice);
|
||||||
|
#ifdef PLATFORM_POSIX
|
||||||
|
// if not found, then also look in
|
||||||
|
// usr/share/mbrola/xx, /usr/share/mbrola/xx/xx, /usr/share/mbrola/voices/xx
|
|
@ -20,6 +20,8 @@ mkDerivation rec {
|
||||||
--replace "\$\$[QT_INSTALL_PREFIX]" "$out"
|
--replace "\$\$[QT_INSTALL_PREFIX]" "$out"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Musical key detection for digital audio (graphical UI)";
|
description = "Musical key detection for digital audio (graphical UI)";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|
|
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [ alsaLib drumstick qtbase qtsvg ];
|
buildInputs = [ alsaLib drumstick qtbase qtsvg ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://kmetronome.sourceforge.io/";
|
homepage = "https://kmetronome.sourceforge.io/";
|
||||||
description = "ALSA MIDI metronome with Qt interface";
|
description = "ALSA MIDI metronome with Qt interface";
|
||||||
|
|
39
third_party/nixpkgs/pkgs/applications/audio/mbrola/default.nix
vendored
Normal file
39
third_party/nixpkgs/pkgs/applications/audio/mbrola/default.nix
vendored
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
{ stdenv, lib, fetchFromGitHub }:
|
||||||
|
|
||||||
|
let
|
||||||
|
voices = fetchFromGitHub {
|
||||||
|
owner = "numediart";
|
||||||
|
repo = "MBROLA-voices";
|
||||||
|
rev = "fe05a0ccef6a941207fd6aaad0b31294a1f93a51"; # using latest commit
|
||||||
|
sha256 = "1w0y2xjp9rndwdjagp2wxh656mdm3d6w9cs411g27rjyfy1205a0";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "mbrola";
|
||||||
|
version = "3.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "numediart";
|
||||||
|
repo = "MBROLA";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1w86gv6zs2cbr0731n49z8v6xxw0g8b0hzyv2iqb9mqcfh38l8zy";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
install -D Bin/mbrola $out/bin/mbrola
|
||||||
|
|
||||||
|
# TODO: package separately because it's very big
|
||||||
|
install -d $out/share/mbrola/voices
|
||||||
|
cp -R ${voices}/data/* $out/share/mbrola/voices/
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Speech synthesizer based on the concatenation of diphones";
|
||||||
|
homepage = "https://github.com/numediart/MBROLA";
|
||||||
|
license = licenses.agpl3Plus;
|
||||||
|
maintainers = with maintainers; [ davidak ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -17,7 +17,7 @@ python3Packages.buildPythonApplication rec {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = https://www.mopidy.com/;
|
homepage = "https://www.mopidy.com/";
|
||||||
description = "Mopidy extension for playing music from SomaFM";
|
description = "Mopidy extension for playing music from SomaFM";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.nickhu ];
|
maintainers = [ maintainers.nickhu ];
|
||||||
|
|
|
@ -17,7 +17,6 @@ rustPlatform.buildRustPackage rec {
|
||||||
buildInputs = [ alsaLib openssl ];
|
buildInputs = [ alsaLib openssl ];
|
||||||
|
|
||||||
cargoSha256 = "1kfbnwy3lkbhz0ggxwr5n6qd1plipkr1ycr3z2r7c0amrzzbkc7l";
|
cargoSha256 = "1kfbnwy3lkbhz0ggxwr5n6qd1plipkr1ycr3z2r7c0amrzzbkc7l";
|
||||||
verifyCargoDeps = true;
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/betta-cyber/netease-music-tui";
|
homepage = "https://github.com/betta-cyber/netease-music-tui";
|
||||||
|
|
|
@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
|
||||||
"-DENABLE_PULSEAUDIO=ON"
|
"-DENABLE_PULSEAUDIO=ON"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Application for practicing playing musical scores and ear training";
|
description = "Application for practicing playing musical scores and ear training";
|
||||||
homepage = "https://nootka.sourceforge.io/";
|
homepage = "https://nootka.sourceforge.io/";
|
||||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
||||||
qtbase qtdeclarative qtquickcontrols2
|
qtbase qtdeclarative qtquickcontrols2
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DCMAKE_INCLUDE_PATH=${libjack2}/include/jack;${libpulseaudio.dev}/include/pulse"
|
"-DCMAKE_INCLUDE_PATH=${libjack2}/include/jack;${libpulseaudio.dev}/include/pulse"
|
||||||
"-DENABLE_JACK=ON"
|
"-DENABLE_JACK=ON"
|
||||||
|
|
|
@ -33,6 +33,7 @@ stdenv.mkDerivation rec {
|
||||||
dontUnpack = true;
|
dontUnpack = true;
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
dontStrip = true;
|
dontStrip = true;
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
|
|
|
@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
|
||||||
kwindowsystem
|
kwindowsystem
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Mpris2 Client for Plasma5";
|
description = "Mpris2 Client for Plasma5";
|
||||||
homepage = "https://github.com/audoban/PlayBar2";
|
homepage = "https://github.com/audoban/PlayBar2";
|
||||||
|
|
|
@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/ahlstromcj/seq66";
|
homepage = "https://github.com/ahlstromcj/seq66";
|
||||||
description = "Loop based midi sequencer with Qt GUI derived from seq24 and sequencer64";
|
description = "Loop based midi sequencer with Qt GUI derived from seq24 and sequencer64";
|
||||||
|
|
|
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds";
|
description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds";
|
||||||
homepage = "http://spectmorph.org";
|
homepage = "http://spectmorph.org";
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "vorta";
|
pname = "vorta";
|
||||||
version = "0.7.2";
|
version = "0.7.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "borgbase";
|
owner = "borgbase";
|
||||||
repo = "vorta";
|
repo = "vorta";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1amq0fz3xrnxplzd6ih2azx6b4k1w496kcr7f8agfp617f5rkwa5";
|
sha256 = "sha256-nnnGqkT4sAunaT7GPysYQGeV34ZrRFaHK/gJRafvR3U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Peer-to-peer electronic cash system (Classic client)";
|
description = "Peer-to-peer electronic cash system (Classic client)";
|
||||||
longDescription= ''
|
longDescription= ''
|
||||||
|
|
|
@ -37,8 +37,14 @@ rustPlatform.buildRustPackage rec {
|
||||||
|
|
||||||
cargoBuildFlags = [ "--features final" ];
|
cargoBuildFlags = [ "--features final" ];
|
||||||
|
|
||||||
# test result: FAILED. 88 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out
|
# Fix tests by preventing them from writing to /homeless-shelter.
|
||||||
doCheck = false;
|
preCheck = ''
|
||||||
|
export HOME=$(mktemp -d)
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Exclude some tests that don't work in the sandbox
|
||||||
|
# - Nat test requires network access
|
||||||
|
checkFlags = "--skip configuration::tests::should_resolve_external_nat_hosts";
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Fast, light, robust Ethereum implementation";
|
description = "Fast, light, robust Ethereum implementation";
|
||||||
|
|
|
@ -24,11 +24,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "wasabiwallet";
|
pname = "wasabiwallet";
|
||||||
version = "1.1.12.3";
|
version = "1.1.12.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
|
||||||
sha256 = "1x4gqmiwdp5bjq7c5hjch3srsvf73d92lswnp355l7l7cxh2hcsx";
|
sha256 = "sha256-1yg0C1lJrLxQEs2GA+XEBUx/JAyc+aW0UWjLhSEy0RI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
|
@ -101,6 +101,8 @@ stdenv.mkDerivation rec {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
preConfigure = "NOCONFIGURE=1 ./autogen.sh";
|
preConfigure = "NOCONFIGURE=1 ./autogen.sh";
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
|
|
|
@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
|
||||||
]
|
]
|
||||||
++ lib.optionals withQt [ "UI=qt" ]
|
++ lib.optionals withQt [ "UI=qt" ]
|
||||||
++ lib.optionals withGtk [ "UI=gtk" ];
|
++ lib.optionals withGtk [ "UI=gtk" ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code";
|
description = "Folding text editor, designed to hierarchically structure any kind of text file and especially source code";
|
||||||
homepage = "https://tibleiz.net/code-browser/";
|
homepage = "https://tibleiz.net/code-browser/";
|
||||||
|
|
|
@ -413,6 +413,22 @@ rec {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
freemarker = buildEclipseUpdateSite rec {
|
||||||
|
name = "freemarker-${version}";
|
||||||
|
version = "1.5.305";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://github.com/ddekany/jbosstools-freemarker/releases/download/v${version}/freemarker.site-${version}.zip";
|
||||||
|
sha256 = "1qrhi300vk07gi14r445wvy0bvghbjd6c4k7q09pqpaxv6raiczn";
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/ddekany/jbosstools-freemarker";
|
||||||
|
description = "Plugin that provides an editor for Apache FreeMarker files";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
gnuarmeclipse = buildEclipseUpdateSite rec {
|
gnuarmeclipse = buildEclipseUpdateSite rec {
|
||||||
name = "gnuarmeclipse-${version}";
|
name = "gnuarmeclipse-${version}";
|
||||||
version = "3.1.1-201606210758";
|
version = "3.1.1-201606210758";
|
||||||
|
|
|
@ -20,7 +20,7 @@ instantenous and formats commits for you.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
{ lib, stdenv, texinfo }:
|
{ lib, stdenv, texinfo, writeText }:
|
||||||
|
|
||||||
self: let
|
self: let
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ self: let
|
||||||
};
|
};
|
||||||
|
|
||||||
elpaBuild = import ../../../build-support/emacs/elpa.nix {
|
elpaBuild = import ../../../build-support/emacs/elpa.nix {
|
||||||
inherit lib stdenv texinfo;
|
inherit lib stdenv texinfo writeText;
|
||||||
inherit (self) emacs;
|
inherit (self) emacs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -47,6 +47,11 @@ let
|
||||||
});
|
});
|
||||||
}) else null;
|
}) else null;
|
||||||
|
|
||||||
|
buildWithGit = pkg: pkg.overrideAttrs (attrs: {
|
||||||
|
nativeBuildInputs =
|
||||||
|
(attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
|
||||||
|
});
|
||||||
|
|
||||||
fix-rtags = pkg:
|
fix-rtags = pkg:
|
||||||
if pkg != null then dontConfigure (externalSrc pkg external.rtags)
|
if pkg != null then dontConfigure (externalSrc pkg external.rtags)
|
||||||
else null;
|
else null;
|
||||||
|
@ -120,27 +125,10 @@ let
|
||||||
packageRequires = with self; [ evil ];
|
packageRequires = with self; [ evil ];
|
||||||
});
|
});
|
||||||
|
|
||||||
evil-magit = super.evil-magit.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
eopengrok = super.eopengrok.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
ess-R-data-view = super.ess-R-data-view.override {
|
ess-R-data-view = super.ess-R-data-view.override {
|
||||||
inherit (self.melpaPackages) ess ctable popup;
|
inherit (self.melpaPackages) ess ctable popup;
|
||||||
};
|
};
|
||||||
|
|
||||||
forge = super.forge.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
flycheck-rtags = fix-rtags super.flycheck-rtags;
|
flycheck-rtags = fix-rtags super.flycheck-rtags;
|
||||||
|
|
||||||
pdf-tools = super.pdf-tools.overrideAttrs (old: {
|
pdf-tools = super.pdf-tools.overrideAttrs (old: {
|
||||||
|
@ -211,113 +199,81 @@ let
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
magit = super.magit.overrideAttrs (attrs: {
|
evil-magit = buildWithGit super.evil-magit;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-find-file = super.magit-find-file.overrideAttrs (attrs: {
|
eopengrok = buildWithGit super.eopengrok;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-gh-pulls = super.magit-gh-pulls.overrideAttrs (attrs: {
|
forge = buildWithGit super.forge;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-imerge = super.magit-imerge.overrideAttrs (attrs: {
|
magit = buildWithGit super.magit;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-lfs = super.magit-lfs.overrideAttrs (attrs: {
|
magit-find-file = buildWithGit super.magit-find-file;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-org-todos = super.magit-org-todos.overrideAttrs (attrs: {
|
magit-gh-pulls = buildWithGit super.magit-gh-pulls;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-tbdiff = super.magit-tbdiff.overrideAttrs (attrs: {
|
magit-imerge = buildWithGit super.magit-imerge;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-topgit = super.magit-topgit.overrideAttrs (attrs: {
|
magit-lfs = buildWithGit super.magit-lfs;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-vcsh = super.magit-vcsh.overrideAttrs (attrs: {
|
magit-org-todos = buildWithGit super.magit-org-todos;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-gerrit = super.magit-gerrit.overrideAttrs (attrs: {
|
magit-tbdiff = buildWithGit super.magit-tbdiff;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-annex = super.magit-annex.overrideAttrs (attrs: {
|
magit-topgit = buildWithGit super.magit-topgit;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-todos = super.magit-todos.overrideAttrs (attrs: {
|
magit-vcsh = buildWithGit super.magit-vcsh;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
|
magit-gerrit = buildWithGit super.magit-gerrit;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-gitflow = super.magit-gitflow.overrideAttrs (attrs: {
|
magit-annex = buildWithGit super.magit-annex;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magithub = super.magithub.overrideAttrs (attrs: {
|
magit-todos = buildWithGit super.magit-todos;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-svn = super.magit-svn.overrideAttrs (attrs: {
|
magit-filenotify = buildWithGit super.magit-filenotify;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kubernetes = super.kubernetes.overrideAttrs (attrs: {
|
magit-gitflow = buildWithGit super.magit-gitflow;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
kubernetes-evil = super.kubernetes-evil.overrideAttrs (attrs: {
|
magithub = buildWithGit super.magithub;
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
magit-svn = buildWithGit super.magit-svn;
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
kubernetes = buildWithGit super.kubernetes;
|
||||||
|
|
||||||
|
kubernetes-evil = buildWithGit super.kubernetes-evil;
|
||||||
|
|
||||||
|
egg = buildWithGit super.egg;
|
||||||
|
|
||||||
|
kapacitor = buildWithGit super.kapacitor;
|
||||||
|
|
||||||
|
gerrit = buildWithGit super.gerrit;
|
||||||
|
|
||||||
|
gerrit-download = buildWithGit super.gerrit-download;
|
||||||
|
|
||||||
|
github-pullrequest = buildWithGit super.github-pullrequest;
|
||||||
|
|
||||||
|
jist = buildWithGit super.jist;
|
||||||
|
|
||||||
|
mandoku = buildWithGit super.mandoku;
|
||||||
|
|
||||||
|
mandoku-tls = buildWithGit super.mandoku-tls;
|
||||||
|
|
||||||
|
magit-p4 = buildWithGit super.magit-p4;
|
||||||
|
|
||||||
|
magit-rbr = buildWithGit super.magit-rbr;
|
||||||
|
|
||||||
|
magit-diff-flycheck = buildWithGit super.magit-diff-flycheck;
|
||||||
|
|
||||||
|
magit-reviewboard = buildWithGit super.magit-reviewboard;
|
||||||
|
|
||||||
|
magit-patch-changelog = buildWithGit super.magit-patch-changelog;
|
||||||
|
|
||||||
|
magit-circleci = buildWithGit super.magit-circleci;
|
||||||
|
|
||||||
|
magit-delta = buildWithGit super.magit-delta;
|
||||||
|
|
||||||
|
orgit = buildWithGit super.orgit;
|
||||||
|
|
||||||
|
orgit-forge = buildWithGit super.orgit-forge;
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
mhc = super.mhc.override {
|
mhc = super.mhc.override {
|
||||||
|
@ -462,106 +418,13 @@ let
|
||||||
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
|
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
|
||||||
});
|
});
|
||||||
|
|
||||||
egg = super.egg.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# missing dependencies
|
# missing dependencies
|
||||||
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
evil-search-highlight-persist = super.evil-search-highlight-persist.overrideAttrs (attrs: {
|
||||||
packageRequires = with self; [ evil highlight ];
|
packageRequires = with self; [ evil highlight ];
|
||||||
});
|
});
|
||||||
|
|
||||||
kapacitor = super.kapacitor.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
gerrit = super.gerrit.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
gerrit-download = super.gerrit-download.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
github-pullrequest = super.github-pullrequest.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
helm-rtags = fix-rtags super.helm-rtags;
|
helm-rtags = fix-rtags super.helm-rtags;
|
||||||
|
|
||||||
jist = super.jist.overrideAttrs (attrs: {
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
mandoku = super.mandoku.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
mandoku-tls = super.mandoku-tls.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-p4 = super.magit-p4.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-rbr = super.magit-rbr.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-diff-flycheck = super.magit-diff-flycheck.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-reviewboard = super.magit-reviewboard.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-patch-changelog = super.magit-patch-changelog.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
magit-circleci = super.magit-circleci.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
orgit =
|
|
||||||
(super.orgit.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
}));
|
|
||||||
|
|
||||||
orgit-forge = super.orgit-forge.overrideAttrs (attrs: {
|
|
||||||
# searches for Git at build time
|
|
||||||
nativeBuildInputs =
|
|
||||||
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
|
|
||||||
});
|
|
||||||
|
|
||||||
# tries to write to $HOME
|
# tries to write to $HOME
|
||||||
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
|
php-auto-yasnippets = super.php-auto-yasnippets.overrideAttrs (attrs: {
|
||||||
HOME = "/tmp";
|
HOME = "/tmp";
|
||||||
|
|
|
@ -159,6 +159,10 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
|
||||||
'' + lib.optionalString (nativeComp && withNS) ''
|
'' + lib.optionalString (nativeComp && withNS) ''
|
||||||
ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp
|
ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp
|
||||||
'' + lib.optionalString nativeComp ''
|
'' + lib.optionalString nativeComp ''
|
||||||
|
$out/bin/emacs --batch \
|
||||||
|
-l comp --eval "(mapatoms (lambda (s) \
|
||||||
|
(when (subr-primitive-p (symbol-function s)) \
|
||||||
|
(comp-trampoline-compile s))))"
|
||||||
mkdir -p $out/share/emacs/native-lisp
|
mkdir -p $out/share/emacs/native-lisp
|
||||||
$out/bin/emacs --batch \
|
$out/bin/emacs --batch \
|
||||||
--eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp\")" \
|
--eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp\")" \
|
||||||
|
|
52
third_party/nixpkgs/pkgs/applications/editors/formiko/default.nix
vendored
Normal file
52
third_party/nixpkgs/pkgs/applications/editors/formiko/default.nix
vendored
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{ lib
|
||||||
|
, buildPythonApplication
|
||||||
|
, fetchFromGitHub
|
||||||
|
, wrapGAppsHook
|
||||||
|
, gobject-introspection
|
||||||
|
, gtk3
|
||||||
|
, docutils
|
||||||
|
, gtksourceview
|
||||||
|
, gtkspell3
|
||||||
|
, librsvg
|
||||||
|
, pygobject3
|
||||||
|
, webkitgtk
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonApplication rec {
|
||||||
|
pname = "formiko";
|
||||||
|
version = "1.4.3";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ondratu";
|
||||||
|
repo = "formiko";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "0n7w585gbrpn2xcd5n04hivrjarpr2wj260y2kpxpgh93vn52sdi";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
wrapGAppsHook
|
||||||
|
gobject-introspection
|
||||||
|
gtk3
|
||||||
|
];
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
docutils
|
||||||
|
gobject-introspection
|
||||||
|
gtk3
|
||||||
|
gtksourceview
|
||||||
|
gtkspell3
|
||||||
|
librsvg
|
||||||
|
pygobject3
|
||||||
|
webkitgtk
|
||||||
|
];
|
||||||
|
|
||||||
|
# Needs a display
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "reStructuredText editor and live previewer";
|
||||||
|
homepage = "https://github.com/ondratu/formiko";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
maintainers = with maintainers; [ shamilton ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||||
];
|
];
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"CC=cc"
|
"CC=${stdenv.cc.targetPrefix}cc"
|
||||||
"--with-slang=${slang}"
|
"--with-slang=${slang}"
|
||||||
"JED_ROOT=${placeholder "out"}/share/jed"
|
"JED_ROOT=${placeholder "out"}/share/jed"
|
||||||
];
|
];
|
||||||
|
|
|
@ -270,12 +270,12 @@ in
|
||||||
|
|
||||||
clion = buildClion rec {
|
clion = buildClion rec {
|
||||||
name = "clion-${version}";
|
name = "clion-${version}";
|
||||||
version = "2020.3.1"; /* updated by script */
|
version = "2020.3.2"; /* updated by script */
|
||||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||||
sha256 = "1jfvwir79s0kcqmlx6bbkmc42bplgl7814mnqfcsdzni1qv62pws"; /* updated by script */
|
sha256 = "10120y9ccdlhjrpvfnspfj4s7940b3v3yic78r372wj5ns4bsjax"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-clion";
|
wmClass = "jetbrains-clion";
|
||||||
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||||
|
@ -283,12 +283,12 @@ in
|
||||||
|
|
||||||
datagrip = buildDataGrip rec {
|
datagrip = buildDataGrip rec {
|
||||||
name = "datagrip-${version}";
|
name = "datagrip-${version}";
|
||||||
version = "2020.3.1"; /* updated by script */
|
version = "2020.3.2"; /* updated by script */
|
||||||
description = "Your Swiss Army Knife for Databases and SQL";
|
description = "Your Swiss Army Knife for Databases and SQL";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
|
||||||
sha256 = "0jk7ywxk983ld5x71a59dh1hvlnli3sbvg7fbicahas5ml8clxfv"; /* updated by script */
|
sha256 = "1wjaavgslwpz4jniszswdy10rk3622i1w3awdwhgjlcc6mwkwz1f"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-datagrip";
|
wmClass = "jetbrains-datagrip";
|
||||||
update-channel = "DataGrip RELEASE";
|
update-channel = "DataGrip RELEASE";
|
||||||
|
@ -296,12 +296,12 @@ in
|
||||||
|
|
||||||
goland = buildGoland rec {
|
goland = buildGoland rec {
|
||||||
name = "goland-${version}";
|
name = "goland-${version}";
|
||||||
version = "2020.3.1"; /* updated by script */
|
version = "2020.3.2"; /* updated by script */
|
||||||
description = "Up and Coming Go IDE";
|
description = "Up and Coming Go IDE";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||||
sha256 = "12gi1a2bmafmy7qgqwv3a7b5b46dlhw4ahmkm5pkq6pmxl4y6dmk"; /* updated by script */
|
sha256 = "00wbl4g1wgb9c287z6i7a48bm5zyb1gkmyqmhasmj0n2vamaq6sz"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-goland";
|
wmClass = "jetbrains-goland";
|
||||||
update-channel = "GoLand RELEASE";
|
update-channel = "GoLand RELEASE";
|
||||||
|
@ -335,12 +335,12 @@ in
|
||||||
|
|
||||||
mps = buildMps rec {
|
mps = buildMps rec {
|
||||||
name = "mps-${version}";
|
name = "mps-${version}";
|
||||||
version = "2020.3"; /* updated by script */
|
version = "2020.3.1"; /* updated by script */
|
||||||
description = "Create your own domain-specific language";
|
description = "Create your own domain-specific language";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
|
url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
|
||||||
sha256 = "0dr1z2sxarz1xif4swxx28hpzsyjd86m0c3xdaw5lmpqwqlzvc5h"; /* updated by script */
|
sha256 = "0qvl724mm53rxfhafl6561rhpwppcadmwr9sh0hpsfgsprh2xznv"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-mps";
|
wmClass = "jetbrains-mps";
|
||||||
update-channel = "MPS RELEASE";
|
update-channel = "MPS RELEASE";
|
||||||
|
@ -348,12 +348,12 @@ in
|
||||||
|
|
||||||
phpstorm = buildPhpStorm rec {
|
phpstorm = buildPhpStorm rec {
|
||||||
name = "phpstorm-${version}";
|
name = "phpstorm-${version}";
|
||||||
version = "2020.3.1"; /* updated by script */
|
version = "2020.3.2"; /* updated by script */
|
||||||
description = "Professional IDE for Web and PHP developers";
|
description = "Professional IDE for Web and PHP developers";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||||
sha256 = "1c5j3mbg8scsl4c90cjahdk5gs5q72y5a8fhkqa9zmy6di42k99x"; /* updated by script */
|
sha256 = "1dmymlv71syjv8byb9ap9c13fimjl6c3r94dwr9kghdlj3jh7p0k"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-phpstorm";
|
wmClass = "jetbrains-phpstorm";
|
||||||
update-channel = "PhpStorm RELEASE";
|
update-channel = "PhpStorm RELEASE";
|
||||||
|
@ -361,12 +361,12 @@ in
|
||||||
|
|
||||||
pycharm-community = buildPycharm rec {
|
pycharm-community = buildPycharm rec {
|
||||||
name = "pycharm-community-${version}";
|
name = "pycharm-community-${version}";
|
||||||
version = "2020.3.2"; /* updated by script */
|
version = "2020.3.3"; /* updated by script */
|
||||||
description = "PyCharm Community Edition";
|
description = "PyCharm Community Edition";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "1z3w6aah635fdrhrzp5af6sgj269jk7mv8vgdd83gxillkx9vq9k"; /* updated by script */
|
sha256 = "0p05pgfmr9515sqbqbjiksg7qzvqxcs119lxfc6dsirdvc1qhnli"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm-ce";
|
wmClass = "jetbrains-pycharm-ce";
|
||||||
update-channel = "PyCharm RELEASE";
|
update-channel = "PyCharm RELEASE";
|
||||||
|
@ -374,12 +374,12 @@ in
|
||||||
|
|
||||||
pycharm-professional = buildPycharm rec {
|
pycharm-professional = buildPycharm rec {
|
||||||
name = "pycharm-professional-${version}";
|
name = "pycharm-professional-${version}";
|
||||||
version = "2020.3.2"; /* updated by script */
|
version = "2020.3.3"; /* updated by script */
|
||||||
description = "PyCharm Professional Edition";
|
description = "PyCharm Professional Edition";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||||
sha256 = "1fbb8v40q7vgn5v5dyxb211abr8swnxa3gw18kh3vlk6yc2crzfw"; /* updated by script */
|
sha256 = "1yzv1pxpw6pvsjljqvbnf8qgdx34rs5j232zaq4vb5x2ahswf9mm"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-pycharm";
|
wmClass = "jetbrains-pycharm";
|
||||||
update-channel = "PyCharm RELEASE";
|
update-channel = "PyCharm RELEASE";
|
||||||
|
@ -400,12 +400,12 @@ in
|
||||||
|
|
||||||
ruby-mine = buildRubyMine rec {
|
ruby-mine = buildRubyMine rec {
|
||||||
name = "ruby-mine-${version}";
|
name = "ruby-mine-${version}";
|
||||||
version = "2020.3.1"; /* updated by script */
|
version = "2020.3.2"; /* updated by script */
|
||||||
description = "The Most Intelligent Ruby and Rails IDE";
|
description = "The Most Intelligent Ruby and Rails IDE";
|
||||||
license = lib.licenses.unfree;
|
license = lib.licenses.unfree;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
||||||
sha256 = "0drxzz6k0cmhir4szg8nwmsi9qh380vrryghmpvx9w83yrcain4c"; /* updated by script */
|
sha256 = "17x3sz4jkz2px25gj813xqrrb2cm7mdl6m5a22zg086phym66g3c"; /* updated by script */
|
||||||
};
|
};
|
||||||
wmClass = "jetbrains-rubymine";
|
wmClass = "jetbrains-rubymine";
|
||||||
update-channel = "RubyMine RELEASE";
|
update-channel = "RubyMine RELEASE";
|
||||||
|
|
|
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||||
buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ];
|
buildInputs = [ kdevelop-pg-qt threadweaver ktexteditor kdevelop-unwrapped ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
maintainers = [ maintainers.aanderse ];
|
maintainers = [ maintainers.aanderse ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||||
buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ];
|
buildInputs = [ threadweaver ktexteditor kdevelop-unwrapped ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
maintainers = [ maintainers.aanderse ];
|
maintainers = [ maintainers.aanderse ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [ qtbase ];
|
buildInputs = [ qtbase ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
maintainers = [ maintainers.ambrop72 ];
|
maintainers = [ maintainers.ambrop72 ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
|
@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
|
||||||
export QXMLEDIT_INST_DOC_DIR="$doc"
|
export QXMLEDIT_INST_DOC_DIR="$doc"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Simple XML editor based on qt libraries" ;
|
description = "Simple XML editor based on qt libraries" ;
|
||||||
homepage = "https://sourceforge.net/projects/qxmledit";
|
homepage = "https://sourceforge.net/projects/qxmledit";
|
||||||
|
|
|
@ -3,13 +3,13 @@
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "texstudio";
|
pname = "texstudio";
|
||||||
version = "3.0.4";
|
version = "3.1.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "${pname}-org";
|
owner = "${pname}-org";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "03q1mdz47crflkvpc364ky52farad7517jhszb1fg1s3c2bnndn0";
|
sha256 = "sha256-40VgWfSjyERHJapiIXSk89O3X1V8rb8JEWqfnAyf1Sc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
|
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
|
||||||
|
|
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs = [ ncurses ];
|
buildInputs = [ ncurses ];
|
||||||
|
|
||||||
makeFlags = [ "CC=cc" ];
|
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
|
||||||
checkFlags = [ "test-command" "test-buffer" "test-state" ];
|
checkFlags = [ "test-command" "test-buffer" "test-state" ];
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "avocode";
|
pname = "avocode";
|
||||||
version = "4.11.1";
|
version = "4.11.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
|
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
|
||||||
sha256 = "sha256-Qe5mV9GBLHsmzMQg6dKib/sTnNdyOTj4wYQ9xd/iqJM=";
|
sha256 = "sha256-gE00Pukkf5wXP+SGqJgKJeLR82VtH/iwFNYkBb4Z8q0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
libPath = lib.makeLibraryPath (with xorg; [
|
libPath = lib.makeLibraryPath (with xorg; [
|
||||||
|
|
|
@ -81,6 +81,29 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
farbfeld = pluginDerivation rec {
|
||||||
|
pname = "farbfeld";
|
||||||
|
version = "unstable-2019-08-12";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "ids1024";
|
||||||
|
repo = "gimp-farbfeld";
|
||||||
|
rev = "5feacebf61448bd3c550dda03cd08130fddc5af4";
|
||||||
|
sha256 = "1vmw7k773vrndmfffj0m503digdjmkpcqy2r3p3i5x0qw9vkkkc6";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
installPlugin farbfeld
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Gimp plug-in for the farbfeld image format";
|
||||||
|
homepage = "https://github.com/ids1024/gimp-farbfeld";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ sikmir ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
fourier = pluginDerivation rec {
|
fourier = pluginDerivation rec {
|
||||||
/* menu:
|
/* menu:
|
||||||
Filters/Generic/FFT Forward
|
Filters/Generic/FFT Forward
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gettext
|
, gettext
|
||||||
, gdl
|
, gdl
|
||||||
|
, ghostscript
|
||||||
, glib
|
, glib
|
||||||
, glib-networking
|
, glib-networking
|
||||||
, glibmm
|
, glibmm
|
||||||
|
@ -74,6 +75,12 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
patchShebangs share/extensions
|
patchShebangs share/extensions
|
||||||
|
substituteInPlace share/extensions/eps_input.inx \
|
||||||
|
--replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
|
||||||
|
substituteInPlace share/extensions/ps_input.inx \
|
||||||
|
--replace "location=\"path\">ps2pdf" "location=\"absolute\">${ghostscript}/bin/ps2pdf"
|
||||||
|
substituteInPlace share/extensions/ps_input.py \
|
||||||
|
--replace "call('ps2pdf'" "call('${ghostscript}/bin/ps2pdf'"
|
||||||
patchShebangs share/templates
|
patchShebangs share/templates
|
||||||
patchShebangs man/fix-roff-punct
|
patchShebangs man/fix-roff-punct
|
||||||
'';
|
'';
|
||||||
|
|
110
third_party/nixpkgs/pkgs/applications/misc/authy/default.nix
vendored
Normal file
110
third_party/nixpkgs/pkgs/applications/misc/authy/default.nix
vendored
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
{ alsaLib, at-spi2-atk, at-spi2-core, atk, autoPatchelfHook, cairo, cups
|
||||||
|
, dbus, electron_9, expat, fetchurl, gdk-pixbuf, glib, gtk3, lib
|
||||||
|
, libappindicator-gtk3, libdbusmenu-gtk3, libuuid, makeWrapper
|
||||||
|
, nspr, nss, pango, squashfsTools, stdenv, systemd, xorg
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
# Currently only works with electron 9
|
||||||
|
electron = electron_9;
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "authy";
|
||||||
|
version = "1.8.3";
|
||||||
|
rev = "5";
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
alsaLib
|
||||||
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
|
atk
|
||||||
|
cairo
|
||||||
|
cups
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
libappindicator-gtk3
|
||||||
|
libdbusmenu-gtk3
|
||||||
|
libuuid
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
pango
|
||||||
|
stdenv.cc.cc
|
||||||
|
systemd
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
xorg.libXcomposite
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXdamage
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXrandr
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXtst
|
||||||
|
xorg.libxcb
|
||||||
|
];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://api.snapcraft.io/api/v1/snaps/download/H8ZpNgIoPyvmkgxOWw5MSzsXK1wRZiHn_${rev}.snap";
|
||||||
|
sha256 = "1yfvkmy34mc1dan9am11yka88jv7a4dslsszy4kcc8vap4cjmgpn";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ autoPatchelfHook makeWrapper squashfsTools ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
unsquashfs "$src"
|
||||||
|
cd squashfs-root
|
||||||
|
if ! grep -q '${version}' meta/snap.yaml; then
|
||||||
|
echo "Package version differs from version found in snap metadata:"
|
||||||
|
grep 'version: ' meta/snap.yaml
|
||||||
|
echo "While the nix package specifies: ${version}."
|
||||||
|
echo "You probably chose the wrong revision or forgot to update the nix version."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/lib/
|
||||||
|
|
||||||
|
cp -r ./* $out/
|
||||||
|
rm -R ./*
|
||||||
|
|
||||||
|
# The snap package has the `ffmpeg.so` file which is copied over with other .so files
|
||||||
|
mv $out/*.so $out/lib/
|
||||||
|
|
||||||
|
# Replace icon name in Desktop file
|
||||||
|
sed -i 's|''${SNAP}/meta/gui/icon.png|authy|g' "$out/meta/gui/authy.desktop"
|
||||||
|
|
||||||
|
# Move the desktop file, icon, binary to their appropriate locations
|
||||||
|
mkdir -p $out/bin $out/share/applications $out/share/pixmaps/apps
|
||||||
|
cp $out/meta/gui/authy.desktop $out/share/applications/
|
||||||
|
cp $out/meta/gui/icon.png $out/share/pixmaps/authy.png
|
||||||
|
cp $out/${pname} $out/bin/${pname}
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
rm -r $out/{data-dir,gnome-platform,meta,scripts,usr,*.sh,*.so}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||||
|
--add-flags $out/resources/app.asar
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://www.authy.com";
|
||||||
|
description = "Twilio Authy two factor authentication desktop application";
|
||||||
|
license = licenses.unfree;
|
||||||
|
maintainers = with maintainers; [ iammrinal0 ];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,13 +5,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "dasel";
|
pname = "dasel";
|
||||||
version = "1.13.0";
|
version = "1.13.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "TomWright";
|
owner = "TomWright";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-310zrxVjUECg/3+ydo9J8EdF0RbguBIT2PklEgpgRFU=";
|
sha256 = "sha256-fgXhWouqStfxWs6cFNVxWI1INVYswVUTOuLr09utxpY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
|
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, cmake, pkg-config, wxGTK30, glib, pcre, m4, bash
|
||||||
, xdg-utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick
|
, xdg-utils, gvfs, zip, unzip, gzip, bzip2, gnutar, p7zip, xz, imagemagick
|
||||||
, libuchardet, spdlog, xercesc, fmt, openssl, libssh, samba, neon, libnfs, libarchive }:
|
, libuchardet, spdlog, xercesc, fmt, openssl, libssh, samba, neon, libnfs, libarchive }:
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
patchShebangs testo
|
patchShebangs testo
|
||||||
|
|
|
@ -10,6 +10,8 @@ mkDerivation {
|
||||||
nativeBuildInputs = [ qmake qttools ];
|
nativeBuildInputs = [ qmake qttools ];
|
||||||
buildInputs = [ qtwebkit ];
|
buildInputs = [ qtwebkit ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace mainwindow.cc \
|
substituteInPlace mainwindow.cc \
|
||||||
--replace "QApplication::applicationDirPath() + \"/" "\"" \
|
--replace "QApplication::applicationDirPath() + \"/" "\"" \
|
||||||
|
|
|
@ -29,8 +29,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"prefix=${placeholder "out"}"
|
"prefix=${placeholder "out"}"
|
||||||
"CC=cc"
|
"CC=${stdenv.cc.targetPrefix}cc"
|
||||||
"CXX=c++"
|
"CXX=${stdenv.cc.targetPrefix}c++"
|
||||||
"CFLAGS=-DENABLE_NLS"
|
"CFLAGS=-DENABLE_NLS"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gsimplecal";
|
pname = "gsimplecal";
|
||||||
version = "2.1";
|
version = "2.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/dmedvinsky/gsimplecal/archive/v${version}.tar.gz";
|
url = "https://github.com/dmedvinsky/gsimplecal/archive/v${version}.tar.gz";
|
||||||
sha256 = "1sa05ifjp41xipfspk5n6l3wzpzmp3i45q88l01p4l6k6drsq336";
|
sha256 = "sha256-f19cnTX83LZT2d01B1EdWSaHcfHqpFPTo5glYkAokq8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -11,12 +11,12 @@
|
||||||
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
|
let font-droid = nerdfonts.override { fonts = [ "DroidSansMono" ]; };
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "koreader";
|
pname = "koreader";
|
||||||
version = "2021.01.1";
|
version = "2021.02";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url =
|
url =
|
||||||
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
|
"https://github.com/koreader/koreader/releases/download/v${version}/koreader-${version}-amd64.deb";
|
||||||
sha256 = "0kignyia2xrg84bqzsp8rid4c79zg11lhw52z1854jw9v9324pja";
|
sha256 = "0v7jx4a2kz1i1k9jqwcxbgdikflk28cnnp69sbhha8pkkbk8c5wh";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = ".";
|
sourceRoot = ".";
|
||||||
|
|
|
@ -14,11 +14,11 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mkgmap";
|
pname = "mkgmap";
|
||||||
version = "4600";
|
version = "4601";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
|
url = "http://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
|
||||||
sha256 = "1xnqbyrf5cbxmggkk1pjcj5d1767kbp15v12zy2fpbbn3yf0k3sh";
|
sha256 = "TQ2Ee0sy9q4PUvY3TD6zaQ9oy1xgsw5OAw4RQ7ecCUM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
|
|
@ -12,13 +12,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "nwg-launchers";
|
pname = "nwg-launchers";
|
||||||
version = "0.4.3";
|
version = "0.4.4";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "nwg-piotr";
|
owner = "nwg-piotr";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-vuvYL9N9xdg27uhiTe2OqxZ3/n/9EjlqPxtNMXpqpE8=";
|
sha256 = "sha256-krhFtFQZSwfKPHmVxPGNySPL2Y9+kA0fxjZ/D+mNks4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
nativeBuildInputs = [ cmake extra-cmake-modules ];
|
||||||
buildInputs = [ plasma-framework kwindowsystem plasma-pa ];
|
buildInputs = [ plasma-framework kwindowsystem plasma-pa ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders)";
|
description = "A fork of the default volume plasmoid with a Windows 7 theme (vertical sliders)";
|
||||||
homepage = "https://github.com/Zren/plasma-applet-volumewin7mixer";
|
homepage = "https://github.com/Zren/plasma-applet-volumewin7mixer";
|
||||||
|
|
|
@ -7,27 +7,27 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
version = "0.2.3";
|
|
||||||
pname = "reddsaver";
|
pname = "reddsaver";
|
||||||
|
version = "0.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "manojkarthick";
|
owner = "manojkarthick";
|
||||||
repo = "reddsaver";
|
repo = "reddsaver";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-K6SyfYx8VG0t6yogHwd80AxQuj3TXofHLEqZcDsRs1s=";
|
sha256 = "0wiyzbl9vqx5aq3lpaaqkm3ivj77lqd8bmh8ipgshdflgm1z6yvp";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-VDr7fcE13Wy7KoGG3U1GSbWqF5Oad4EobgzOL7dtJDo=";
|
cargoSha256 = "0kw5gk7pf4xkmjffs2jxm6sc4chybns88cii2wlgpyvgn4c3cwaa";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkg-config ];
|
nativeBuildInputs = [ pkg-config ];
|
||||||
buildInputs = [ openssl ]
|
buildInputs = [ openssl ]
|
||||||
++ lib.optional stdenv.isDarwin Security;
|
++ lib.optional stdenv.isDarwin Security;
|
||||||
|
|
||||||
# package does not contain tests as of v0.2.3
|
# package does not contain tests as of v0.3.0
|
||||||
docCheck = false;
|
docCheck = false;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "CLI tool to download saved images from Reddit";
|
description = "CLI tool to download saved media from Reddit";
|
||||||
homepage = "https://github.com/manojkarthick/reddsaver";
|
homepage = "https://github.com/manojkarthick/reddsaver";
|
||||||
license = with licenses; [ mit /* or */ asl20 ];
|
license = with licenses; [ mit /* or */ asl20 ];
|
||||||
maintainers = [ maintainers.manojkarthick ];
|
maintainers = [ maintainers.manojkarthick ];
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, fetchFromGitiles, pkg-config, libssh2
|
{ mkDerivation, lib, fetchFromGitHub, fetchFromGitiles, pkg-config, libssh2
|
||||||
, qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols
|
, qtbase, qtdeclarative, qtgraphicaleffects, qtimageformats, qtquickcontrols2
|
||||||
, qtsvg, qttools, qtquick1, qtcharts
|
, qtsvg, qttools, qtquick1, qtcharts
|
||||||
, qmake
|
, qmake
|
||||||
}:
|
}:
|
||||||
|
@ -13,7 +13,7 @@ let
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "redis-desktop-manager";
|
pname = "redis-desktop-manager";
|
||||||
version = "0.9.1";
|
version = "0.9.1";
|
||||||
|
|
||||||
|
@ -28,10 +28,11 @@ stdenv.mkDerivation rec {
|
||||||
nativeBuildInputs = [ pkg-config qmake ];
|
nativeBuildInputs = [ pkg-config qmake ];
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libssh2 qtbase qtdeclarative qtgraphicaleffects qtimageformats
|
libssh2 qtbase qtdeclarative qtgraphicaleffects qtimageformats
|
||||||
qtquick1 qtquickcontrols qtsvg qttools qtcharts
|
qtquick1 qtquickcontrols2 qtsvg qttools qtcharts
|
||||||
];
|
];
|
||||||
|
|
||||||
dontUseQmakeConfigure = true;
|
dontUseQmakeConfigure = true;
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated" ];
|
NIX_CFLAGS_COMPILE = [ "-Wno-error=deprecated" ];
|
||||||
|
|
||||||
|
@ -76,7 +77,7 @@ EOF
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Cross-platform open source Redis DB management tool";
|
description = "Cross-platform open source Redis DB management tool";
|
||||||
homepage = "https://redisdesktop.com/";
|
homepage = "https://redisdesktop.com/";
|
||||||
license = licenses.lgpl21;
|
license = licenses.gpl3Only;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ cstrahan ];
|
maintainers = with maintainers; [ cstrahan ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -35,6 +35,8 @@ stdenv.mkDerivation {
|
||||||
kwindowsystem
|
kwindowsystem
|
||||||
];
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "KDE Plasma 5 widget for controlling Redshift";
|
description = "KDE Plasma 5 widget for controlling Redshift";
|
||||||
homepage = "https://github.com/kotelnik/plasma-applet-redshift-control";
|
homepage = "https://github.com/kotelnik/plasma-applet-redshift-control";
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
{ lib, stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkg-config, qmake
|
{ lib, stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, wrapQtAppsHook, pkg-config, qmake
|
||||||
, curl, grantlee, libgit2, libusb-compat-0_1, libssh2, libxml2, libxslt, libzip, zlib
|
, curl, grantlee, libgit2, libusb-compat-0_1, libssh2, libxml2, libxslt, libzip, zlib
|
||||||
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
|
, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit, libXcomposite
|
||||||
|
, bluez
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "4.9.6";
|
version = "4.9.10";
|
||||||
|
|
||||||
subsurfaceSrc = (fetchFromGitHub {
|
subsurfaceSrc = (fetchFromGitHub {
|
||||||
owner = "Subsurface";
|
owner = "Subsurface";
|
||||||
repo = "subsurface";
|
repo = "subsurface";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1w1ak0fi6ljhg2jc4mjqyrbpax3iawrnsaqq6ls7qdzrhi37rggf";
|
sha256 = "12ndhjplz3cwndwzhfc959dc0i6rm2qf3v2d8n9kba8nj63iblfs";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -52,6 +53,8 @@ let
|
||||||
|
|
||||||
buildInputs = [ qtbase qtlocation libXcomposite ];
|
buildInputs = [ qtbase qtlocation libXcomposite ];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
|
pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
@ -82,6 +85,7 @@ in stdenv.mkDerivation {
|
||||||
libdc googlemaps
|
libdc googlemaps
|
||||||
curl grantlee libgit2 libssh2 libusb-compat-0_1 libxml2 libxslt libzip
|
curl grantlee libgit2 libssh2 libusb-compat-0_1 libxml2 libxslt libzip
|
||||||
qtbase qtconnectivity qtsvg qttools qtwebkit
|
qtbase qtconnectivity qtsvg qttools qtwebkit
|
||||||
|
bluez
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake wrapQtAppsHook pkg-config ];
|
nativeBuildInputs = [ cmake wrapQtAppsHook pkg-config ];
|
||||||
|
@ -103,7 +107,7 @@ in stdenv.mkDerivation {
|
||||||
'';
|
'';
|
||||||
homepage = "https://subsurface-divelog.org";
|
homepage = "https://subsurface-divelog.org";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = with maintainers; [ mguentner ];
|
maintainers = with maintainers; [ mguentner adisbladis ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,25 +6,23 @@
|
||||||
, pango
|
, pango
|
||||||
, gtk
|
, gtk
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, cmake
|
|
||||||
, scdoc
|
, scdoc
|
||||||
, libnotify
|
, libnotify
|
||||||
, gio-sharp
|
|
||||||
, glib
|
, glib
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "swappy-${version}";
|
pname = "swappy";
|
||||||
version = "1.2.1";
|
version = "1.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jtheoof";
|
owner = "jtheoof";
|
||||||
repo = "swappy";
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "14ac2jmnak7avcz0jhqjm30vk7pv3gq5aq5rdyh84k8c613kkicf";
|
sha256 = "1bm184fbzylymh4kr7n8gy9plsdxif8xahc1zmkgdg1a0kwgws2x";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ glib meson ninja pkg-config cmake scdoc ];
|
nativeBuildInputs = [ glib meson ninja pkg-config scdoc ];
|
||||||
|
|
||||||
buildInputs = [ cairo pango gtk libnotify wayland glib ];
|
buildInputs = [ cairo pango gtk libnotify wayland glib ];
|
||||||
|
|
||||||
|
@ -37,7 +35,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/jtheoof/swappy";
|
homepage = "https://github.com/jtheoof/swappy";
|
||||||
description = "A Wayland native snapshot editing tool, inspired by Snappy on macOS ";
|
description = "A Wayland native snapshot editing tool, inspired by Snappy on macOS";
|
||||||
license = licenses.mit;
|
license = licenses.mit;
|
||||||
maintainers = [ maintainers.matthiasbeyer ];
|
maintainers = [ maintainers.matthiasbeyer ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
|
25
third_party/nixpkgs/pkgs/applications/misc/ticker/default.nix
vendored
Normal file
25
third_party/nixpkgs/pkgs/applications/misc/ticker/default.nix
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "ticker";
|
||||||
|
version = "3.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "achannarasappa";
|
||||||
|
repo = "ticker";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "sha256-k4ahoaEI2HBoEcRQscpitp2tWsiWmSYaErnth99xOqw=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "sha256-8Ew+K/uTFoBAhPQwebtjl6bJPiSEE3PaZCYZsQLOMkw=";
|
||||||
|
|
||||||
|
# Tests require internet
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Terminal stock ticker with live updates and position tracking";
|
||||||
|
homepage = "https://github.com/achannarasappa/ticker";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ siraben ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "tickrs";
|
pname = "tickrs";
|
||||||
version = "0.11.0";
|
version = "0.12.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tarkah";
|
owner = "tarkah";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-Hx/9WW94rDAjlSZoUz5/43MQ6830OELLogRvHTbmWv0=";
|
sha256 = "sha256-F9PyJ2uvnKPcjHS4VeuVJuK48HiqqCG8kFzphGW4QyA=";
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "sha256-TYDNx1TNGcREaeHXaejTeMDEITTTUrHCrExZYa+MSHg=";
|
cargoSha256 = "sha256-0JSsCtAsqukFuwtbVS1L2jgLNBjquFBInjsJ1XVocjc=";
|
||||||
|
|
||||||
nativeBuildInputs = [ perl ];
|
nativeBuildInputs = [ perl ];
|
||||||
|
|
||||||
|
|
|
@ -1,65 +1,51 @@
|
||||||
{ stdenv, lib, fetchurl, makeDesktopItem, dpkg, atk, at-spi2-atk, glib, pango, gdk-pixbuf
|
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron, libsecret }:
|
||||||
, gtk3, cairo, freetype, fontconfig, dbus, xorg, nss, nspr, alsaLib, cups, expat
|
|
||||||
, udev, libpulseaudio, util-linux, makeWrapper }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "todoist-electron";
|
pname = "todoist-electron";
|
||||||
version = "1.24.0";
|
version = "0.2.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/KryDos/todoist-linux/releases/download/${version}/Todoist_${version}_amd64.deb";
|
url = "https://electron-dl.todoist.com/linux/Todoist-${version}.AppImage";
|
||||||
sha256 = "0g35518z6nf6pnfyx4ax75rq8b8br72mi6wv6jzgac9ric1q4h2s";
|
sha256 = "1xrf2qjhq116z18qx7n1zd7mhvkb2dccaq7az4w6fs216l8q5zf2";
|
||||||
};
|
};
|
||||||
|
|
||||||
desktopItem = makeDesktopItem {
|
appimageContents = appimageTools.extractType2 {
|
||||||
name = "Todoist";
|
name = "${pname}-${version}";
|
||||||
exec = "todoist %U";
|
inherit src;
|
||||||
icon = "todoist";
|
|
||||||
comment = "Todoist for Linux";
|
|
||||||
desktopName = "Todoist";
|
|
||||||
categories = "Utility";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper dpkg ];
|
dontUnpack = true;
|
||||||
unpackPhase = ''
|
dontConfigure = true;
|
||||||
mkdir pkg
|
dontBuild = true;
|
||||||
dpkg-deb -x $src pkg
|
|
||||||
sourceRoot=pkg
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out/bin $out/share/${pname} $out/share/applications $out/share/icons/hicolor/512x512
|
||||||
|
|
||||||
|
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
|
||||||
|
cp -a ${appimageContents}/todoist.desktop $out/share/applications/${pname}.desktop
|
||||||
|
cp -a ${appimageContents}/usr/share/icons/hicolor/0x0/apps $out/share/icons/hicolor/512x512
|
||||||
|
|
||||||
|
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||||
|
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
installPhase = let
|
|
||||||
libPath = lib.makeLibraryPath ([
|
|
||||||
stdenv.cc.cc gtk3 atk at-spi2-atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
|
|
||||||
nss nspr alsaLib libpulseaudio cups expat udev util-linux
|
|
||||||
] ++ (with xorg; [
|
|
||||||
libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
|
|
||||||
libXrender libX11 libXtst libXScrnSaver
|
|
||||||
]));
|
|
||||||
in ''
|
|
||||||
mkdir -p "$out/bin"
|
|
||||||
mv opt "$out/"
|
|
||||||
mv usr/share "$out/share"
|
|
||||||
|
|
||||||
# Patch binary
|
postFixup = ''
|
||||||
patchelf \
|
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
--add-flags $out/share/${pname}/resources/app.asar \
|
||||||
--set-rpath "${libPath}:\$ORIGIN" \
|
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ stdenv.cc.cc libsecret ]}"
|
||||||
$out/opt/Todoist/todoist
|
|
||||||
|
|
||||||
# Hacky workaround for RPATH problems
|
|
||||||
makeWrapper $out/opt/Todoist/todoist $out/bin/todoist \
|
|
||||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio udev ]}
|
|
||||||
|
|
||||||
# Desktop item
|
|
||||||
mkdir -p "$out/share"
|
|
||||||
rm -r "$out/share/applications"
|
|
||||||
cp -r "${desktopItem}/share/applications" "$out/share/applications"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/KryDos/todoist-linux";
|
homepage = "https://todoist.com";
|
||||||
description = "The Linux wrapper for Todoist web version";
|
description = "The official Todoist electron app";
|
||||||
platforms = [ "x86_64-linux" ];
|
platforms = [ "x86_64-linux" ];
|
||||||
license = licenses.mit;
|
license = licenses.unfree;
|
||||||
maintainers = with maintainers; [ i077 ];
|
maintainers = with maintainers; [ i077 kylesferrazza ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
patchPhase = "sed -i -e '/^CFLAGS *?= *-g *$/d' Makefile";
|
patchPhase = "sed -i -e '/^CFLAGS *?= *-g *$/d' Makefile";
|
||||||
|
|
||||||
makeFlags = [ "CC=cc" "PREFIX=${placeholder "out"}" ];
|
makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "PREFIX=${placeholder "out"}" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Klondike Solitaire in your ncurses terminal";
|
description = "Klondike Solitaire in your ncurses terminal";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook, writeShellScript
|
{ lib, stdenv, fetchurl, dpkg, wrapGAppsHook, autoPatchelfHook
|
||||||
, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
|
, alsaLib, atk, at-spi2-atk, at-spi2-core, cairo, cups, dbus, expat, fontconfig, freetype
|
||||||
, gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
|
, gdk-pixbuf, glib, gtk3, libnotify, libX11, libXcomposite, libXcursor, libXdamage, libuuid
|
||||||
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
|
, libXext, libXfixes, libXi, libXrandr, libXrender, libXtst, nspr, nss, libxcb
|
||||||
|
@ -6,11 +6,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "upwork";
|
pname = "upwork";
|
||||||
version = "5.4.9.6";
|
version = "5.5.0.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_4_9_6_2565cdd0547940a2/${pname}_${version}_amd64.deb";
|
url = "https://upwork-usw2-desktopapp.upwork.com/binaries/v5_5_0_1_291c031686ed44ff/${pname}_${version}_amd64.deb";
|
||||||
sha256 = "ff6246b3b4a1ed79cc9bca2934652fefb40bdac4b7e95997f3a46e354ce52456";
|
sha256 = "49192ecfb10929b5b51cf8899186059649c894109ec172695cd7cfaa50923f6a";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontWrapGApps = true;
|
dontWrapGApps = true;
|
||||||
|
@ -36,6 +36,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
mv usr $out
|
mv usr $out
|
||||||
mv opt $out
|
mv opt $out
|
||||||
sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
|
sed -e "s|/opt/Upwork|$out/bin|g" -i $out/share/applications/upwork.desktop
|
||||||
|
@ -44,6 +45,7 @@ stdenv.mkDerivation rec {
|
||||||
$out/bin/upwork \
|
$out/bin/upwork \
|
||||||
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
|
||||||
--prefix LD_LIBRARY_PATH : ${libPath}
|
--prefix LD_LIBRARY_PATH : ${libPath}
|
||||||
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
{ appimageTools, lib, fetchurl, gtk3, gsettings-desktop-schemas}:
|
{ appimageTools, lib, fetchurl, gtk3, gsettings-desktop-schemas
|
||||||
|
, texlive, pandoc, pandoc-citeproc
|
||||||
|
}:
|
||||||
|
|
||||||
# Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
|
# Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
|
||||||
let
|
let
|
||||||
pname = "zettlr";
|
pname = "zettlr";
|
||||||
version = "1.7.5";
|
version = "1.8.7";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
|
url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
|
||||||
sha256 = "040lx01ywdpla34d4abkmh51kchr11s17la6fk6yq77y8zb87xzi";
|
sha256 = "0zbmlk5qk92b3zycs0bmdwgc8fn4a4dv1yvq9q8q2wxz4ammx6c0";
|
||||||
};
|
};
|
||||||
appimageContents = appimageTools.extractType2 {
|
appimageContents = appimageTools.extractType2 {
|
||||||
inherit name src;
|
inherit name src;
|
||||||
|
@ -20,11 +22,11 @@ in appimageTools.wrapType2 rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
multiPkgs = null; # no 32bit needed
|
multiPkgs = null; # no 32bit needed
|
||||||
extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
|
extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texlive pandoc pandoc-citeproc ];
|
||||||
extraInstallCommands = ''
|
extraInstallCommands = ''
|
||||||
mv $out/bin/{${name},${pname}}
|
mv $out/bin/{${name},${pname}}
|
||||||
install -m 444 -D ${appimageContents}/zettlr.desktop $out/share/applications/zettlr.desktop
|
install -m 444 -D ${appimageContents}/Zettlr.desktop $out/share/applications/zettlr.desktop
|
||||||
install -m 444 -D ${appimageContents}/zettlr.png $out/share/icons/hicolor/512x512/apps/zettlr.png
|
install -m 444 -D ${appimageContents}/Zettlr.png $out/share/icons/hicolor/512x512/apps/zettlr.png
|
||||||
substituteInPlace $out/share/applications/zettlr.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
|
substituteInPlace $out/share/applications/zettlr.desktop --replace 'Exec=AppRun' 'Exec=${pname}'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -9,16 +9,16 @@ let
|
||||||
rev = "824636a2c2629c329ab10275cef6a0b7395343ad";
|
rev = "824636a2c2629c329ab10275cef6a0b7395343ad";
|
||||||
goVersionString = "g" + builtins.substring 0 7 rev; # this seems to be some kind of standard of git describe...
|
goVersionString = "g" + builtins.substring 0 7 rev; # this seems to be some kind of standard of git describe...
|
||||||
sha256 = "0ly1yqjq29arbak8lchdradf39l5bmxpbfir6ljjc7nyqdxz0sxg";
|
sha256 = "0ly1yqjq29arbak8lchdradf39l5bmxpbfir6ljjc7nyqdxz0sxg";
|
||||||
vendorSha256 = "0w1db7xpissdpf8i5bb96z92zbasj5x9kk3kcisxn0dwla6n55n3";
|
vendorSha256 = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA=";
|
||||||
};
|
};
|
||||||
release = rec {
|
release = rec {
|
||||||
pname = "bee";
|
pname = "bee";
|
||||||
version = "0.4.2";
|
version = "0.5.0";
|
||||||
rev = "refs/tags/v${version}";
|
rev = "refs/tags/v${version}";
|
||||||
sha256 = "1jg7aivsgdb9bm87dlmwpf1g6gla8j6v55xmzs8h5xmwqcybbmag";
|
sha256 = "sha256-3Oy9RhgMPRFjUs3Dj8XUhAqoxx5BTi32OiK4Y8YEG2Q=";
|
||||||
vendorSha256 = "0w1db7xpissdpf8i5bb96z92zbasj5x9kk3kcisxn0dwla6n55n3";
|
vendorSha256 = "sha256-w5ZijaK8Adt1ZHPMmXqRWq0v0jdprRKRu03rePtZLXA=";
|
||||||
};
|
};
|
||||||
"0.4.2" = release;
|
"0.5.0" = release;
|
||||||
"0.4.1" = rec {
|
"0.4.1" = rec {
|
||||||
pname = "bee";
|
pname = "bee";
|
||||||
version = "0.4.1";
|
version = "0.4.1";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "amfora";
|
pname = "amfora";
|
||||||
version = "1.7.2";
|
version = "1.8.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "makeworld-the-better-one";
|
owner = "makeworld-the-better-one";
|
||||||
repo = "amfora";
|
repo = "amfora";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "KAOIx401G/kB/TclhidOnUja1P+mLo/mUwAqGJfVfyg=";
|
sha256 = "sha256-q83fKs27vkrUs3+AoKZ2342llj6u3bvbLsdnT9DnVUs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "rOEM7iEkm42g8yJxY7qdTCSbkPMDHqlAsK7/ud8IDLY=";
|
vendorSha256 = "sha256-0blHwZwOcgC4LcmZSJPRvyQzArCsaMGgIw+cesO+qOo=";
|
||||||
|
|
||||||
postInstall = lib.optionalString (!stdenv.isDarwin) ''
|
postInstall = lib.optionalString (!stdenv.isDarwin) ''
|
||||||
sed -i "s:amfora:$out/bin/amfora:" amfora.desktop
|
sed -i "s:amfora:$out/bin/amfora:" amfora.desktop
|
||||||
|
|
|
@ -18,9 +18,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"beta": {
|
"beta": {
|
||||||
"version": "89.0.4389.47",
|
"version": "89.0.4389.58",
|
||||||
"sha256": "022fq3mbd3j9a7lf02936ks0yvf73bwz1ws6m6zmnn9v8waardj2",
|
"sha256": "1ppjkilfn84hq55wsb33xswlp1x8v34np5hq2wbh62ny6j8dbvwz",
|
||||||
"sha256bin64": "09gjbg8678xfh22r3gzjvrkhgda77pr8an4j5ka5672jvhj4hbq9",
|
"sha256bin64": "1k4f380h2rghn81agdw8bkifpb690sr0ykjgbnis3kl68hbkp8a5",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-01-07",
|
"version": "2021-01-07",
|
||||||
|
@ -31,15 +31,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dev": {
|
"dev": {
|
||||||
"version": "90.0.4412.3",
|
"version": "90.0.4421.5",
|
||||||
"sha256": "1yjpfircdl38nrjh3an469g7q8178jyvawkfpnzc5aqsgkpkl442",
|
"sha256": "0605ibr2fr13rmmxs7lw4dh25i9r6ic08ykdr7002m4rp8kxwsw6",
|
||||||
"sha256bin64": "1asdjicb4l4l2ak3fkxcwdx1avpc1m8wvyhxmj1k3bqa4qmvz3hz",
|
"sha256bin64": "05mlm9l6q1w9rxid7cvaazzbw79wj9fjw6ka7wpr0gz4r3gmazsb",
|
||||||
"deps": {
|
"deps": {
|
||||||
"gn": {
|
"gn": {
|
||||||
"version": "2021-01-25",
|
"version": "2021-02-09",
|
||||||
"url": "https://gn.googlesource.com/gn",
|
"url": "https://gn.googlesource.com/gn",
|
||||||
"rev": "55ad154c961d8326315b1c8147f4e504cd95e9e6",
|
"rev": "dfcbc6fed0a8352696f92d67ccad54048ad182b3",
|
||||||
"sha256": "0x5i1axkg44z412357sdb6kgs1h9ykzy8p5c7s40bybs4hg33lkc"
|
"sha256": "1941bzg37c4dpsk3sh6ga3696gpq6vjzpcw9rsnf6kdr9mcgdxvn"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -19,13 +19,13 @@ let
|
||||||
in
|
in
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "argo";
|
pname = "argo";
|
||||||
version = "2.12.8";
|
version = "2.12.9";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "argoproj";
|
owner = "argoproj";
|
||||||
repo = "argo";
|
repo = "argo";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-JtT4SMoozfTWsQ4YsoQ8xLQ/vCO7hnVEp2umg+p7mRw=";
|
sha256 = "sha256-WfyP48qOdFZfQ0+8AZDYokw7WK7lSx5di7z07gsRPZk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE=";
|
vendorSha256 = "sha256-4XPMixVNj6PUKobNLwpsOBT7Zs/7pkhDtQacLIB5EfE=";
|
||||||
|
|
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "argocd";
|
pname = "argocd";
|
||||||
version = "1.8.3";
|
version = "1.8.4";
|
||||||
commit = "ef5010c3a0b5e027fd642732d03c5b0391b1e574";
|
commit = "28aea3dfdede00443b52cc584814d80e8f896200";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "argoproj";
|
owner = "argoproj";
|
||||||
repo = "argo-cd";
|
repo = "argo-cd";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-do5DAxaQ1gBdvNN/YGKAkmkFcJ+j/ojBaWPwrXXQko0=";
|
sha256 = "sha256:155396rnihha31jxy0zk1jykiirpv4dhc69w45y6nx3nx4k0gwhk";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-6DOay+aeXz7EQKe5SzQSmg/5KyUI0g6wzPgx/+F2RW4=";
|
vendorSha256 = "sha256-6DOay+aeXz7EQKe5SzQSmg/5KyUI0g6wzPgx/+F2RW4=";
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "fluxcd";
|
pname = "fluxcd";
|
||||||
version = "0.8.0";
|
version = "0.8.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fluxcd";
|
owner = "fluxcd";
|
||||||
repo = "flux2";
|
repo = "flux2";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "1k7zcn8l60qfgiixkjcmp94w87w88n475mmhf58vl5pfz21p9vky";
|
sha256 = "1xxw6zk0lk4is220lydcx57mrsw6pk2rirsp4wjzvawjlv7wdv25";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "16yixz47zrzjkb2k4n03zfivpc2cavcrrv4fz8s5a4xzfrcp4nvx";
|
vendorSha256 = "0acxbmc4j1fcdja0s9g04f0kd34x54yfqismibfi40m2gzbg6ljr";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
|
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "fluxctl";
|
pname = "fluxctl";
|
||||||
version = "1.21.1";
|
version = "1.21.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "weaveworks";
|
owner = "weaveworks";
|
||||||
repo = "flux";
|
repo = "flux";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-/go8V1EjY/iL3csoNpPyeWORvWCf0WnnaSOgiZ8UFQ8=";
|
sha256 = "sha256-pI/LGAjTWFXiDKSV+dZl0wXK/TZmN9DuWf5Nu8EYNYc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-GEU0Q2Elhiel20xvup+i1DSXCjQdA9s7cWykcbKR5KA=";
|
vendorSha256 = "sha256-Q8gIhJSZqdjBXrIcJfCd25BniDScwVzUwZ9Vc8p/z3c=";
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
|
|
23
third_party/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix
vendored
Normal file
23
third_party/nixpkgs/pkgs/applications/networking/cluster/kubectl-example/default.nix
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{ lib, buildGoModule, fetchFromGitHub }:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "kubectl-example";
|
||||||
|
version = "1.0.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "seredot";
|
||||||
|
repo = pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "18vp53cda93qjssxygwqp55yc80a93781839gf3138awngf731yq";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorSha256 = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "kubectl plugin for retrieving resource example YAMLs";
|
||||||
|
homepage = "https://github.com/seredot/kubectl-example";
|
||||||
|
changelog = "https://github.com/seredot/kubectl-example/releases/tag/v${version}";
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = [ maintainers.bryanasdev000 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,17 +4,12 @@
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, buildkit
|
, buildkit
|
||||||
, cni-plugins
|
, cni-plugins
|
||||||
, extraPackages ? []
|
, extraPackages ? [ ]
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
|
||||||
binPath = lib.makeBinPath ([
|
|
||||||
buildkit
|
|
||||||
] ++ extraPackages);
|
|
||||||
in
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "nerdctl";
|
pname = "nerdctl";
|
||||||
version = "0.5.0";
|
version = "0.6.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "AkihiroSuda";
|
owner = "AkihiroSuda";
|
||||||
|
@ -37,15 +32,25 @@ buildGoModule rec {
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram $out/bin/nerdctl \
|
wrapProgram $out/bin/nerdctl \
|
||||||
--prefix PATH : "${binPath}" \
|
--prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \
|
||||||
--prefix CNI_PATH : "${cni-plugins}/bin"
|
--prefix CNI_PATH : "${cni-plugins}/bin"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
doInstallCheck = true;
|
||||||
|
installCheckPhase = ''
|
||||||
|
runHook preInstallCheck
|
||||||
|
$out/bin/nerdctl --help
|
||||||
|
# --version will error without containerd.sock access
|
||||||
|
$out/bin/nerdctl --help | grep "${version}"
|
||||||
|
runHook postInstallCheck
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/AkihiroSuda/nerdctl/";
|
||||||
|
changelog = "https://github.com/AkihiroSuda/nerdctl/releases/tag/v${version}";
|
||||||
description = "A Docker-compatible CLI for containerd";
|
description = "A Docker-compatible CLI for containerd";
|
||||||
homepage = src.meta.homepage;
|
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
platforms = platforms.linux;
|
|
||||||
maintainers = with maintainers; [ jk ];
|
maintainers = with maintainers; [ jk ];
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
, poetry2nix
|
, poetry2nix
|
||||||
, lib
|
, lib
|
||||||
, overrides ? (self: super: {})
|
, overrides ? (self: super: {})
|
||||||
, stdenv
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
|
@ -157,8 +157,8 @@ in rec {
|
||||||
});
|
});
|
||||||
|
|
||||||
terraform_0_14 = pluggable (generic {
|
terraform_0_14 = pluggable (generic {
|
||||||
version = "0.14.6";
|
version = "0.14.7";
|
||||||
sha256 = "0ba3vd6lswy4pd0qywdbx8cf71j5z3p8p8kdjs9m4qbyrzsbq0fk";
|
sha256 = "0lnq65ibdxrw2rlyipk469a5hh16vgym1698nmfn62ak8fdrd8la";
|
||||||
vendorSha256 = "0pk5mgj19a8by7wbn5xd6kgr1kxrazhvg851fvs8mq3j0ayb32nb";
|
vendorSha256 = "0pk5mgj19a8by7wbn5xd6kgr1kxrazhvg851fvs8mq3j0ayb32nb";
|
||||||
patches = [ ./provider-path.patch ];
|
patches = [ ./provider-path.patch ];
|
||||||
passthru = { inherit plugins; };
|
passthru = { inherit plugins; };
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "terragrunt";
|
pname = "terragrunt";
|
||||||
version = "0.28.5";
|
version = "0.28.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "gruntwork-io";
|
owner = "gruntwork-io";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-LSUWEgCajIBgRPiuvGJ9I3tJLXk1JrVDDsgS7lpbVYk=";
|
sha256 = "sha256-DzC/HNwFNNEJhic/8KpHchrBmsSbrn7xf1DjY0JTH08=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorSha256 = "sha256-lRJerUYafpkXAGf8MEM8SeG3aB86mlMo7iLpeHFAnd4=";
|
vendorSha256 = "sha256-lRJerUYafpkXAGf8MEM8SeG3aB86mlMo7iLpeHFAnd4=";
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
pname = "waypoint";
|
pname = "waypoint";
|
||||||
version = "0.2.1";
|
version = "0.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "hashicorp";
|
owner = "hashicorp";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-bCvi5xIL6xAtQ9mgf4feh076sAmog/3eGBlgvcLXJyc=";
|
sha256 = "sha256-JeuVrlm6JB8MgSUmgMLQPuPmlKSScSdsVga9jUwLWHM=";
|
||||||
};
|
};
|
||||||
|
|
||||||
deleteVendor = true;
|
deleteVendor = true;
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, gettext, python3
|
{ lib, stdenv, fetchFromGitHub, nix-update-script, meson, ninja, pkg-config, vala, gettext, python3
|
||||||
, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts
|
, appstream-glib, desktop-file-utils, wrapGAppsHook, gnome-online-accounts
|
||||||
, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas, pantheon
|
, gtk3, libgee, libpeas, librest, webkitgtk, gsettings-desktop-schemas
|
||||||
, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
|
, curl, glib, gnome3, gst_all_1, json-glib, libnotify, libsecret, sqlite, gumbo, libxml2
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||||
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
|
"DATA_ROOT_DIR_PURPLE=${placeholder "out"}/share"
|
||||||
];
|
];
|
||||||
|
|
||||||
buildFlags = [ "CC=cc" ]; # fix build on darwin
|
buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; # fix build on darwin
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
homepage = "https://github.com/matrix-org/purple-matrix";
|
homepage = "https://github.com/matrix-org/purple-matrix";
|
||||||
|
|
|
@ -25,7 +25,7 @@ let
|
||||||
else "");
|
else "");
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
pname = "signal-desktop";
|
pname = "signal-desktop";
|
||||||
version = "1.39.6"; # Please backport all updates to the stable channel.
|
version = "1.40.0"; # Please backport all updates to the stable channel.
|
||||||
# All releases have a limited lifetime and "expire" 90 days after the release.
|
# All releases have a limited lifetime and "expire" 90 days after the release.
|
||||||
# When releases "expire" the application becomes unusable until an update is
|
# When releases "expire" the application becomes unusable until an update is
|
||||||
# applied. The expiration date for the current release can be extracted with:
|
# applied. The expiration date for the current release can be extracted with:
|
||||||
|
@ -35,7 +35,7 @@ in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
|
||||||
sha256 = "04fd81vc0dxk0b47crm5zacf4x79pdn483xicygnc1z6v7mnrmgk";
|
sha256 = "1xd38a9mi23c4r873k37rzip68hfk3a4bk9j4j24v2kb3yvixrpp";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -22,12 +22,12 @@ let
|
||||||
|
|
||||||
in mkDerivation rec {
|
in mkDerivation rec {
|
||||||
pname = "telegram-desktop";
|
pname = "telegram-desktop";
|
||||||
version = "2.5.8";
|
version = "2.5.9";
|
||||||
|
|
||||||
# Telegram-Desktop with submodules
|
# Telegram-Desktop with submodules
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
|
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
|
||||||
sha256 = "0zj1g24fi4m84p6zj9yk55v8sbhn0jdpdhp33y12d2msz0qwp2cw";
|
sha256 = "1311dab9cil8hl1qlh01ynrczyjbldcsq1l6ibh818wb5lsgvvl2";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm
|
{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm
|
||||||
, libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio, protobuf
|
, libjpeg, openssl, libopus, ffmpeg, alsaLib, libpulseaudio, protobuf
|
||||||
|
, xorg, libXtst
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
rev = "be23804afce3bb2e80a1d57a7c1318c71b82b7de";
|
rev = "a19877363082da634a3c851a4698376504d2eaee";
|
||||||
sha256 = "0avdxkig8z1ainzyxkm9vmlvkyqbjalwb4h9s9kcail82mnldnhc";
|
sha256 = "03m6fkc3m2wbh821mr3ybsmd7sjllky44mizny96k4b249dkvzx7";
|
||||||
|
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
pname = "tg_owt";
|
pname = "tg_owt";
|
||||||
|
@ -23,6 +24,7 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
libjpeg openssl libopus ffmpeg alsaLib libpulseaudio protobuf
|
libjpeg openssl libopus ffmpeg alsaLib libpulseaudio protobuf
|
||||||
|
xorg.libX11 libXtst
|
||||||
];
|
];
|
||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
|
|
|
@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export QMAKEFEATURES=${libcommuni}/features
|
export QMAKEFEATURES=${libcommuni}/features
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -1,8 +1,12 @@
|
||||||
{ callPackage, luaPackages, python3Packages }:
|
{ callPackage, luaPackages, perlPackages, python3Packages }:
|
||||||
|
|
||||||
{
|
{
|
||||||
colorize_nicks = callPackage ./colorize_nicks { };
|
colorize_nicks = callPackage ./colorize_nicks { };
|
||||||
|
|
||||||
|
multiline = callPackage ./multiline {
|
||||||
|
inherit (perlPackages) PodParser;
|
||||||
|
};
|
||||||
|
|
||||||
weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
|
weechat-matrix-bridge = callPackage ./weechat-matrix-bridge {
|
||||||
inherit (luaPackages) cjson luaffi;
|
inherit (luaPackages) cjson luaffi;
|
||||||
};
|
};
|
||||||
|
|
40
third_party/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix
vendored
Normal file
40
third_party/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/multiline/default.nix
vendored
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ stdenv, lib, fetchurl, substituteAll, PodParser }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "multiline";
|
||||||
|
version = "0.6.3";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/weechat/scripts/945315bed4bc2beaf1e47f9b946ffe8f638f77fe/perl/multiline.pl";
|
||||||
|
sha256 = "1smialb21ny7brhij4sbw46xvsmrdv6ig2da0ip63ga2afngwsy4";
|
||||||
|
};
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
prePatch = ''
|
||||||
|
cp $src multiline.pl
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# The script requires a special Perl environment.
|
||||||
|
(substituteAll {
|
||||||
|
src = ./libpath.patch;
|
||||||
|
env = PodParser;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.scripts = [ "multiline.pl" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -D multiline.pl $out/share/multiline.pl
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Multi-line edit box";
|
||||||
|
license = licenses.gpl3Plus;
|
||||||
|
maintainers = with maintainers; [ oxzi ];
|
||||||
|
};
|
||||||
|
}
|
9
third_party/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/multiline/libpath.patch
vendored
Normal file
9
third_party/nixpkgs/pkgs/applications/networking/irc/weechat/scripts/multiline/libpath.patch
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
diff --git a/multiline.pl b/multiline.pl
|
||||||
|
index 54474d4..42fbef8 100644
|
||||||
|
--- a/multiline.pl
|
||||||
|
+++ b/multiline.pl
|
||||||
|
@@ -1,3 +1,4 @@
|
||||||
|
+use lib '@env@/lib/perl5/site_perl';
|
||||||
|
use strict; use warnings;
|
||||||
|
$INC{'Encode/ConfigLocal.pm'}=1;
|
||||||
|
require Encode;
|
|
@ -6,18 +6,17 @@
|
||||||
|
|
||||||
python3.pkgs.buildPythonApplication rec {
|
python3.pkgs.buildPythonApplication rec {
|
||||||
pname = "maestral-qt";
|
pname = "maestral-qt";
|
||||||
version = "1.3.1";
|
version = "1.4.2";
|
||||||
disabled = python3.pkgs.pythonOlder "3.6";
|
disabled = python3.pkgs.pythonOlder "3.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "SamSchott";
|
owner = "SamSchott";
|
||||||
repo = "maestral-qt";
|
repo = "maestral-qt";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-2S2sa2/HVt3IRsE98PT2XwpONjaYENBzYW+ezBFrJYI=";
|
sha256 = "sha256-cPH0wD7RL3OifDTD48x58I4qeaLALOMFnfWXjE2/lUQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
bugsnag
|
|
||||||
click
|
click
|
||||||
markdown2
|
markdown2
|
||||||
maestral
|
maestral
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib, buildGoModule, fetchurl
|
{ lib, buildGoModule, fetchurl
|
||||||
, go, ncurses, notmuch, scdoc
|
, ncurses, notmuch, scdoc
|
||||||
, python3, perl, w3m, dante
|
, python3, w3m, dante
|
||||||
, fetchFromGitHub
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildGoModule rec {
|
buildGoModule rec {
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which, writeScript
|
{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which
|
||||||
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
, ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, libxml2, notmuch, openssl
|
||||||
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, runtimeShell, sqlite, zlib
|
, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib
|
||||||
, glibcLocales
|
|
||||||
, fetchpatch
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.31.3";
|
version = "0.31.4";
|
||||||
pname = "notmuch";
|
pname = "notmuch";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.notmuchmail.org/git/notmuch";
|
url = "https://git.notmuchmail.org/git/notmuch";
|
||||||
sha256 = "1wm1myzacz1dcg7vdfd3akia3xan7ssfspf1fflrwm18hdalss5v";
|
sha256 = "sha256-M+LEf257OcDlHOCYYxzEVQpop+i2gzO/QJPdajz/CRM=";
|
||||||
rev = version;
|
rev = version;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -41,11 +41,11 @@ in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "mullvad-vpn";
|
pname = "mullvad-vpn";
|
||||||
version = "2021.1";
|
version = "2021.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www.mullvad.net/media/app/MullvadVPN-${version}_amd64.deb";
|
url = "https://github.com/mullvad/mullvadvpn-app/releases/download/${version}/MullvadVPN-${version}_amd64.deb";
|
||||||
sha256 = "1ksa327zaiwmcmzv4n4ycfzc4sqhj2492c5ir0mqlx7x2nnhx6q7";
|
sha256 = "sha256-nNZK11MckiQ+z8NDgDc7aJ6yrXWI1hPOvMZkrGwDDgU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue