Merge origin/master into haskell-updates.
This commit is contained in:
commit
cf991521dc
146
.github/labeler.yml
vendored
Normal file
146
.github/labeler.yml
vendored
Normal file
@ -0,0 +1,146 @@
|
||||
"6.topic: agda":
|
||||
- doc/languages-frameworks/agda.section.md
|
||||
- nixos/tests/agda.nix
|
||||
- pkgs/build-support/agda/**/*
|
||||
- pkgs/development/libraries/agda/**/*
|
||||
- pkgs/top-level/agda-packages.nix
|
||||
|
||||
"6.topic: cinnamon":
|
||||
- pkgs/desktops/cinnamon/**/*
|
||||
|
||||
"6.topic: emacs":
|
||||
- nixos/modules/services/editors/emacs.nix
|
||||
- nixos/modules/services/editors/emacs.xml
|
||||
- nixos/tests/emacs-daemon.nix
|
||||
- pkgs/applications/editors/emacs-modes/**/*
|
||||
- pkgs/applications/editors/emacs/**/*
|
||||
- pkgs/build-support/emacs/**/*
|
||||
- pkgs/top-level/emacs-packages.nix
|
||||
|
||||
"6.topic: erlang":
|
||||
- doc/languages-frameworks/beam.section.md
|
||||
- pkgs/development/beam-modules/**/*
|
||||
- pkgs/development/interpreters/elixir/**/*
|
||||
- pkgs/development/interpreters/erlang/**/*
|
||||
- pkgs/development/tools/build-managers/rebar/**/*
|
||||
- pkgs/development/tools/build-managers/rebar3/**/*
|
||||
- pkgs/development/tools/erlang/**/*
|
||||
- pkgs/top-level/beam-packages.nix
|
||||
|
||||
"6.topic: fetch":
|
||||
- pkgs/build-support/fetch*/**/*
|
||||
|
||||
"6.topic: GNOME":
|
||||
- doc/languages-frameworks/gnome.section.md
|
||||
- nixos/modules/services/desktops/gnome3/**/*
|
||||
- nixos/modules/services/x11/desktop-managers/gnome3.nix
|
||||
- nixos/tests/gnome3-xorg.nix
|
||||
- nixos/tests/gnome3.nix
|
||||
- pkgs/desktops/gnome-3/**/*
|
||||
|
||||
"6.topic: golang":
|
||||
- doc/languages-frameworks/go.section.md
|
||||
- pkgs/development/compilers/go/**/*
|
||||
- pkgs/development/go-modules/**/*
|
||||
- pkgs/development/go-packages/**/*
|
||||
|
||||
"6.topic: haskell":
|
||||
- doc/languages-frameworks/haskell.section.md
|
||||
- pkgs/development/compilers/ghc/**/*
|
||||
- pkgs/development/haskell-modules/**/*
|
||||
- pkgs/development/tools/haskell/**/*
|
||||
- pkgs/top-level/haskell-packages.nix
|
||||
|
||||
"6.topic: kernel":
|
||||
- pkgs/build-support/kernel/**/*
|
||||
|
||||
"6.topic: lua":
|
||||
- pkgs/development/interpreters/lua-5/**/*
|
||||
- pkgs/development/interpreters/luajit/**/*
|
||||
- pkgs/development/lua-modules/**/*
|
||||
- pkgs/top-level/lua-packages.nix
|
||||
|
||||
"6.topic: nixos":
|
||||
- nixos/**/*
|
||||
|
||||
"6.topic: ocaml":
|
||||
- doc/languages-frameworks/ocaml.section.md
|
||||
- pkgs/development/compilers/ocaml/**/*
|
||||
- pkgs/development/compilers/reason/**/*
|
||||
- pkgs/development/ocaml-modules/**/*
|
||||
- pkgs/development/tools/ocaml/**/*
|
||||
- pkgs/top-level/ocaml-packages.nix
|
||||
|
||||
"6.topic: pantheon":
|
||||
- nixos/modules/services/desktops/pantheon/**/*
|
||||
- nixos/modules/services/x11/desktop-managers/pantheon.nix
|
||||
- nixos/modules/services/x11/display-managers/lightdm-greeters/pantheon.nix
|
||||
- nixos/tests/pantheon.nix
|
||||
- pkgs/desktops/pantheon/**/*
|
||||
|
||||
"6.topic: policy discussion":
|
||||
- .github/**/*
|
||||
|
||||
"6.topic: printing":
|
||||
- nixos/modules/services/printing/cupsd.nix
|
||||
- pkgs/misc/cups/**/*
|
||||
|
||||
"6.topic: python":
|
||||
- doc/languages-frameworks/python.section.md
|
||||
- pkgs/development/interpreters/python/**/*
|
||||
- pkgs/development/python-modules/**/*
|
||||
- pkgs/top-level/python-packages.nix
|
||||
|
||||
"6.topic: qt/kde":
|
||||
- doc/languages-frameworks/qt.section.md
|
||||
- nixos/modules/services/x11/desktop-managers/plasma5.nix
|
||||
- nixos/tests/plasma5.nix
|
||||
- pkgs/applications/kde/**/*
|
||||
- pkgs/desktops/plasma-5/**/*
|
||||
- pkgs/development/libraries/kde-frameworks/**/*
|
||||
- pkgs/development/libraries/qt-5/**/*
|
||||
|
||||
"6.topic: ruby":
|
||||
- doc/languages-frameworks/ruby.section.md
|
||||
- pkgs/development/interpreters/ruby/**/*
|
||||
- pkgs/development/ruby-modules/**/*
|
||||
|
||||
"6.topic: rust":
|
||||
- doc/languages-frameworks/rust.section.md
|
||||
- pkgs/build-support/rust/**/*
|
||||
- pkgs/development/compilers/rust/**/*
|
||||
|
||||
"6.topic: stdenv":
|
||||
- pkgs/stdenv/**/*
|
||||
|
||||
"6.topic: steam":
|
||||
- pkgs/games/steam/**/*
|
||||
|
||||
"6.topic: systemd":
|
||||
- pkgs/os-specific/linux/systemd/**/*
|
||||
- nixos/modules/system/boot/systemd*/**/*
|
||||
|
||||
"6.topic: TeX":
|
||||
- doc/languages-frameworks/texlive.section.md
|
||||
- pkgs/tools/typesetting/tex/**/*
|
||||
|
||||
"6.topic: vim":
|
||||
- doc/languages-frameworks/vim.section.md
|
||||
- pkgs/applications/editors/vim/**/*
|
||||
- pkgs/misc/vim-plugins/**/*
|
||||
|
||||
"6.topic: xfce":
|
||||
- nixos/doc/manual/configuration/xfce.xml
|
||||
- nixos/modules/services/x11/desktop-managers/xfce.nix
|
||||
- nixos/tests/xfce.nix
|
||||
- pkgs/desktops/xfce/**/*
|
||||
|
||||
"8.has: changelog":
|
||||
- nixos/doc/manual/release-notes/**/*
|
||||
|
||||
"8.has: documentation":
|
||||
- doc/**/*
|
||||
- nixos/doc/**/*
|
||||
|
||||
"8.has: module (update)":
|
||||
- nixos/modules/**/*
|
14
.github/workflows/labels.yml
vendored
Normal file
14
.github/workflows/labels.yml
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
name: "Label PR"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
|
||||
jobs:
|
||||
labels:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'NixOS'
|
||||
steps:
|
||||
- uses: actions/labeler@v3
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
sync-labels: true
|
38
doc/builders/packages/ibus.section.md
Normal file
38
doc/builders/packages/ibus.section.md
Normal file
@ -0,0 +1,38 @@
|
||||
# ibus-engines.typing-booster {#sec-ibus-typing-booster}
|
||||
|
||||
This package is an ibus-based completion method to speed up typing.
|
||||
|
||||
## Activating the engine {#sec-ibus-typing-booster-activate}
|
||||
|
||||
IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/documentation.html).
|
||||
|
||||
On NixOS you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
|
||||
|
||||
```nix
|
||||
{ pkgs, ... }: {
|
||||
i18n.inputMethod = {
|
||||
enabled = "ibus";
|
||||
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
## Using custom hunspell dictionaries {#sec-ibus-typing-booster-customize-hunspell}
|
||||
|
||||
The IBus engine is based on `hunspell` to support completion in many languages. By default the dictionaries `de-de`, `en-us`, `fr-moderne` `es-es`, `it-it`, `sv-se` and `sv-fi` are in use. To add another dictionary, the package can be overridden like this:
|
||||
|
||||
```nix
|
||||
ibus-engines.typing-booster.override { langs = [ "de-at" "en-gb" ]; }
|
||||
```
|
||||
|
||||
_Note: each language passed to `langs` must be an attribute name in `pkgs.hunspellDicts`._
|
||||
|
||||
## Built-in emoji picker {#sec-ibus-typing-booster-emoji-picker}
|
||||
|
||||
The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-emoji` is needed:
|
||||
|
||||
On NixOS it can be installed using the following expression:
|
||||
|
||||
```nix
|
||||
{ pkgs, ... }: { fonts.fonts = with pkgs; [ noto-fonts-emoji ]; }
|
||||
```
|
@ -1,57 +0,0 @@
|
||||
<section xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:id="sec-ibus-typing-booster">
|
||||
<title>ibus-engines.typing-booster</title>
|
||||
|
||||
<para>
|
||||
This package is an ibus-based completion method to speed up typing.
|
||||
</para>
|
||||
|
||||
<section xml:id="sec-ibus-typing-booster-activate">
|
||||
<title>Activating the engine</title>
|
||||
|
||||
<para>
|
||||
IBus needs to be configured accordingly to activate <literal>typing-booster</literal>. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the <link xlink:href="https://mike-fabian.github.io/ibus-typing-booster/documentation.html">upstream docs</link>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
On NixOS you need to explicitly enable <literal>ibus</literal> with given engines before customizing your desktop to use <literal>typing-booster</literal>. This can be achieved using the <literal>ibus</literal> module:
|
||||
<programlisting>{ pkgs, ... }: {
|
||||
i18n.inputMethod = {
|
||||
enabled = "ibus";
|
||||
ibus.engines = with pkgs.ibus-engines; [ typing-booster ];
|
||||
};
|
||||
}</programlisting>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="sec-ibus-typing-booster-customize-hunspell">
|
||||
<title>Using custom hunspell dictionaries</title>
|
||||
|
||||
<para>
|
||||
The IBus engine is based on <literal>hunspell</literal> to support completion in many languages. By default the dictionaries <literal>de-de</literal>, <literal>en-us</literal>, <literal>fr-moderne</literal> <literal>es-es</literal>, <literal>it-it</literal>, <literal>sv-se</literal> and <literal>sv-fi</literal> are in use. To add another dictionary, the package can be overridden like this:
|
||||
<programlisting>ibus-engines.typing-booster.override {
|
||||
langs = [ "de-at" "en-gb" ];
|
||||
}</programlisting>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<emphasis>Note: each language passed to <literal>langs</literal> must be an attribute name in <literal>pkgs.hunspellDicts</literal>.</emphasis>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="sec-ibus-typing-booster-emoji-picker">
|
||||
<title>Built-in emoji picker</title>
|
||||
|
||||
<para>
|
||||
The <literal>ibus-engines.typing-booster</literal> package contains a program named <literal>emoji-picker</literal>. To display all emojis correctly, a special font such as <literal>noto-fonts-emoji</literal> is needed:
|
||||
</para>
|
||||
|
||||
<para>
|
||||
On NixOS it can be installed using the following expression:
|
||||
<programlisting>{ pkgs, ... }: {
|
||||
fonts.fonts = with pkgs; [ noto-fonts-emoji ];
|
||||
}</programlisting>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
@ -12,7 +12,7 @@
|
||||
<xi:include href="emacs.section.xml" />
|
||||
<xi:include href="firefox.section.xml" />
|
||||
<xi:include href="fish.section.xml" />
|
||||
<xi:include href="ibus.xml" />
|
||||
<xi:include href="ibus.section.xml" />
|
||||
<xi:include href="kakoune.section.xml" />
|
||||
<xi:include href="linux.section.xml" />
|
||||
<xi:include href="locales.section.xml" />
|
||||
|
@ -303,14 +303,12 @@ rec {
|
||||
preferBuiltin = true;
|
||||
target = "zImage";
|
||||
extraConfig = ''
|
||||
# Serial port for Raspberry Pi 3. Upstream forgot to add it to the ARMv7 defconfig.
|
||||
# Serial port for Raspberry Pi 3. Wasn't included in ARMv7 defconfig
|
||||
# until 4.17.
|
||||
SERIAL_8250_BCM2835AUX y
|
||||
SERIAL_8250_EXTENDED y
|
||||
SERIAL_8250_SHARE_IRQ y
|
||||
|
||||
# Fix broken sunxi-sid nvmem driver.
|
||||
TI_CPTS y
|
||||
|
||||
# Hangs ODROID-XU4
|
||||
ARM_BIG_LITTLE_CPUIDLE n
|
||||
|
||||
|
@ -746,6 +746,12 @@
|
||||
githubId = 1296771;
|
||||
name = "Anders Riutta";
|
||||
};
|
||||
armijnhemel = {
|
||||
email = "armijn@tjaldur.nl";
|
||||
github = "armijnhemel";
|
||||
githubId = 10587952;
|
||||
name = "Armijn Hemel";
|
||||
};
|
||||
arnarg = {
|
||||
email = "arnarg@fastmail.com";
|
||||
github = "arnarg";
|
||||
@ -4015,6 +4021,12 @@
|
||||
githubId = 61913481;
|
||||
name = "Mat Marini";
|
||||
};
|
||||
illustris = {
|
||||
email = "me@illustris.tech";
|
||||
github = "illustris";
|
||||
githubId = 3948275;
|
||||
name = "Harikrishnan R";
|
||||
};
|
||||
ilya-fedin = {
|
||||
email = "fedin-ilja2010@ya.ru";
|
||||
github = "ilya-fedin";
|
||||
@ -6791,6 +6803,12 @@
|
||||
githubId = 1488603;
|
||||
name = "François Espinet";
|
||||
};
|
||||
neverbehave = {
|
||||
email = "i@never.pet";
|
||||
github = "NeverBehave";
|
||||
githubId = 17120571;
|
||||
name = "Xinhao Luo";
|
||||
};
|
||||
nikitavoloboev = {
|
||||
email = "nikita.voloboev@gmail.com";
|
||||
github = "nikitavoloboev";
|
||||
@ -9815,6 +9833,16 @@
|
||||
githubId = 16151097;
|
||||
name = "Valentin Gehrke";
|
||||
};
|
||||
tuxinaut = {
|
||||
email = "trash4you@tuxinaut.de";
|
||||
github = "tuxinaut";
|
||||
githubId = 722482;
|
||||
name = "Denny Schäfer";
|
||||
keys = [{
|
||||
longkeyid = "rsa4096/0xB057455D1E567270";
|
||||
fingerprint = "C752 0E49 4D92 1740 D263 C467 B057 455D 1E56 7270";
|
||||
}];
|
||||
};
|
||||
tv = {
|
||||
email = "tv@krebsco.de";
|
||||
github = "4z3";
|
||||
@ -10210,6 +10238,12 @@
|
||||
email = "kirill.wedens@gmail.com";
|
||||
name = "wedens";
|
||||
};
|
||||
weihua = {
|
||||
email = "luwh364@gmail.com";
|
||||
github = "weihua-lu";
|
||||
githubId = 9002575;
|
||||
name = "Weihua Lu";
|
||||
};
|
||||
wheelsandmetal = {
|
||||
email = "jakob@schmutz.co.uk";
|
||||
github = "wheelsandmetal";
|
||||
|
@ -82,6 +82,7 @@ with lib.maintainers; {
|
||||
jtojnar
|
||||
worldofpeace
|
||||
dasj19
|
||||
maxeaubrey
|
||||
];
|
||||
scope = "Maintain GNOME desktop environment and platform.";
|
||||
};
|
||||
@ -96,6 +97,18 @@ with lib.maintainers; {
|
||||
scope = "Maintain Jitsi.";
|
||||
};
|
||||
|
||||
kodi = {
|
||||
members = [
|
||||
aanderse
|
||||
cpages
|
||||
edwtjo
|
||||
minijackson
|
||||
peterhoeg
|
||||
sephalon
|
||||
];
|
||||
scope = "Maintain Kodi and related packages.";
|
||||
};
|
||||
|
||||
matrix = {
|
||||
members = [
|
||||
ma27
|
||||
|
@ -26,7 +26,11 @@ Enter passphrase for /dev/disk/by-uuid/3f6b0024-3a44-4fde-a43a-767b872abe5d: ***
|
||||
|
||||
<prompt># </prompt>mkfs.ext4 /dev/mapper/<replaceable>crypted</replaceable>
|
||||
</screen>
|
||||
To ensure that this file system is automatically mounted at boot time as
|
||||
The LUKS volume should be automatically picked up by
|
||||
<command>nixos-generate-config</command>, but you might want to verify that your
|
||||
<filename>hardware-configuration.nix</filename> looks correct.
|
||||
|
||||
To manually ensure that the system is automatically mounted at boot time as
|
||||
<filename>/</filename>, add the following to
|
||||
<filename>configuration.nix</filename>:
|
||||
<programlisting>
|
||||
|
@ -235,7 +235,7 @@ let
|
||||
# https://github.com/NixOS/nixpkgs/pull/81371#issuecomment-605526099
|
||||
wantedBy = optionals (!config.boot.isContainer) [ "multi-user.target" ];
|
||||
|
||||
path = with pkgs; [ lego coreutils diffutils ];
|
||||
path = with pkgs; [ lego coreutils diffutils openssl ];
|
||||
|
||||
serviceConfig = commonServiceConfig // {
|
||||
Group = data.group;
|
||||
@ -274,6 +274,34 @@ let
|
||||
script = ''
|
||||
set -euxo pipefail
|
||||
|
||||
# This reimplements the expiration date check, but without querying
|
||||
# the acme server first. By doing this offline, we avoid errors
|
||||
# when the network or DNS are unavailable, which can happen during
|
||||
# nixos-rebuild switch.
|
||||
is_expiration_skippable() {
|
||||
pem=$1
|
||||
|
||||
# This function relies on set -e to exit early if any of the
|
||||
# conditions or programs fail.
|
||||
|
||||
[[ -e $pem ]]
|
||||
|
||||
expiration_line="$(
|
||||
set -euxo pipefail
|
||||
openssl x509 -noout -enddate <$pem \
|
||||
| grep notAfter \
|
||||
| sed -e 's/^notAfter=//'
|
||||
)"
|
||||
[[ -n "$expiration_line" ]]
|
||||
|
||||
expiration_date="$(date -d "$expiration_line" +%s)"
|
||||
now="$(date +%s)"
|
||||
expiration_s=$[expiration_date - now]
|
||||
expiration_days=$[expiration_s / (3600 * 24)] # rounds down
|
||||
|
||||
[[ $expiration_days -gt ${toString cfg.validMinDays} ]]
|
||||
}
|
||||
|
||||
${optionalString (data.webroot != null) ''
|
||||
# Ensure the webroot exists
|
||||
mkdir -p '${data.webroot}/.well-known/acme-challenge'
|
||||
@ -288,8 +316,14 @@ let
|
||||
# When domains are updated, there's no need to do a full
|
||||
# Lego run, but it's likely renew won't work if days is too low.
|
||||
if [ -e certificates/domainhash.txt ] && cmp -s domainhash.txt certificates/domainhash.txt; then
|
||||
lego ${renewOpts} --days ${toString cfg.validMinDays}
|
||||
if is_expiration_skippable out/full.pem; then
|
||||
echo 1>&2 "nixos-acme: skipping renewal because expiration isn't within the coming ${toString cfg.validMinDays} days"
|
||||
else
|
||||
echo 1>&2 "nixos-acme: renewing now, because certificate expires within the configured ${toString cfg.validMinDays} days"
|
||||
lego ${renewOpts} --days ${toString cfg.validMinDays}
|
||||
fi
|
||||
else
|
||||
echo 1>&2 "certificate domain(s) have changed; will renew now"
|
||||
# Any number > 90 works, but this one is over 9000 ;-)
|
||||
lego ${renewOpts} --days 9001
|
||||
fi
|
||||
|
@ -93,10 +93,12 @@ in
|
||||
};
|
||||
|
||||
paths = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
type = types.nullOr (types.listOf types.str);
|
||||
default = null;
|
||||
description = ''
|
||||
Which paths to backup.
|
||||
Which paths to backup. If null or an empty array, no
|
||||
backup command will be run. This can be used to create a
|
||||
prune-only job.
|
||||
'';
|
||||
example = [
|
||||
"/var/lib/postgresql"
|
||||
@ -217,7 +219,7 @@ in
|
||||
resticCmd = "${pkgs.restic}/bin/restic${extraOptions}";
|
||||
filesFromTmpFile = "/run/restic-backups-${name}/includes";
|
||||
backupPaths = if (backup.dynamicFilesFrom == null)
|
||||
then concatStringsSep " " backup.paths
|
||||
then if (backup.paths != null) then concatStringsSep " " backup.paths else ""
|
||||
else "--files-from ${filesFromTmpFile}";
|
||||
pruneCmd = optionals (builtins.length backup.pruneOpts > 0) [
|
||||
( resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts) )
|
||||
@ -243,7 +245,8 @@ in
|
||||
restartIfChanged = false;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " backup.extraBackupArgs} ${backupPaths}" ] ++ pruneCmd;
|
||||
ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " backup.extraBackupArgs} ${backupPaths}" ])
|
||||
++ pruneCmd;
|
||||
User = backup.user;
|
||||
RuntimeDirectory = "restic-backups-${name}";
|
||||
CacheDirectory = "restic-backups-${name}";
|
||||
|
6
nixos/modules/services/desktops/pipewire/README.md
Normal file
6
nixos/modules/services/desktops/pipewire/README.md
Normal file
@ -0,0 +1,6 @@
|
||||
# Updating
|
||||
|
||||
1. Update the version & hash in pkgs/development/libraries/pipewire/default.nix
|
||||
2. run `nix build -f /path/to/nixpkgs/checkout pipewire pipewire.mediaSession`
|
||||
3. copy all JSON files from result/etc/pipewire and result-mediaSession/etc/pipewire/media-session.d to this directory
|
||||
4. add new files to the module config and passthru tests
|
@ -6,21 +6,34 @@
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": {
|
||||
"libpipewire-module-rtkit": {
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
"libpipewire-module-protocol-native": null,
|
||||
"libpipewire-module-client-node": null,
|
||||
"libpipewire-module-client-device": null,
|
||||
"libpipewire-module-adapter": null,
|
||||
"libpipewire-module-metadata": null,
|
||||
"libpipewire-module-session-manager": null
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"filter.properties": {},
|
||||
"stream.properties": {}
|
||||
}
|
||||
|
@ -6,14 +6,26 @@
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": {
|
||||
"libpipewire-module-protocol-native": null,
|
||||
"libpipewire-module-client-node": null,
|
||||
"libpipewire-module-client-device": null,
|
||||
"libpipewire-module-adapter": null,
|
||||
"libpipewire-module-metadata": null,
|
||||
"libpipewire-module-session-manager": null
|
||||
},
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"filter.properties": {},
|
||||
"stream.properties": {}
|
||||
}
|
||||
|
@ -5,17 +5,24 @@
|
||||
"context.spa-libs": {
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": {
|
||||
"libpipewire-module-rtkit": {
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
"libpipewire-module-protocol-native": null,
|
||||
"libpipewire-module-client-node": null,
|
||||
"libpipewire-module-metadata": null
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
}
|
||||
],
|
||||
"jack.properties": {}
|
||||
}
|
||||
|
@ -6,21 +6,34 @@
|
||||
"api.v4l2.*": "v4l2/libspa-v4l2",
|
||||
"api.libcamera.*": "libcamera/libspa-libcamera"
|
||||
},
|
||||
"context.modules": {
|
||||
"libpipewire-module-rtkit": {
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
"libpipewire-module-protocol-native": null,
|
||||
"libpipewire-module-client-node": null,
|
||||
"libpipewire-module-client-device": null,
|
||||
"libpipewire-module-adapter": null,
|
||||
"libpipewire-module-metadata": null,
|
||||
"libpipewire-module-session-manager": null
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"session.modules": {
|
||||
"default": [
|
||||
"flatpak",
|
||||
|
@ -9,21 +9,12 @@ let
|
||||
&& pkgs.stdenv.isx86_64
|
||||
&& pkgs.pkgsi686Linux.pipewire != null;
|
||||
|
||||
prioritizeNativeProtocol = {
|
||||
"context.modules" = {
|
||||
"libpipewire-module-protocol-native" = {
|
||||
_priority = -100;
|
||||
_content = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Use upstream config files passed through spa-json-dump as the base
|
||||
# Patched here as necessary for them to work with this module
|
||||
defaults = {
|
||||
alsa-monitor = (builtins.fromJSON (builtins.readFile ./alsa-monitor.conf.json));
|
||||
bluez-monitor = (builtins.fromJSON (builtins.readFile ./bluez-monitor.conf.json));
|
||||
media-session = recursiveUpdate (builtins.fromJSON (builtins.readFile ./media-session.conf.json)) prioritizeNativeProtocol;
|
||||
media-session = (builtins.fromJSON (builtins.readFile ./media-session.conf.json));
|
||||
v4l2-monitor = (builtins.fromJSON (builtins.readFile ./v4l2-monitor.conf.json));
|
||||
};
|
||||
# Helpers for generating the pipewire JSON config file
|
||||
|
@ -4,25 +4,35 @@
|
||||
"audio.convert.*": "audioconvert/libspa-audioconvert",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": {
|
||||
"libpipewire-module-rtkit": {
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
"libpipewire-module-protocol-native": null,
|
||||
"libpipewire-module-client-node": null,
|
||||
"libpipewire-module-adapter": null,
|
||||
"libpipewire-module-metadata": null,
|
||||
"libpipewire-module-protocol-pulse": {
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-protocol-pulse",
|
||||
"args": {
|
||||
"server.address": [
|
||||
"unix:native"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
],
|
||||
"stream.properties": {}
|
||||
}
|
||||
|
@ -14,42 +14,66 @@
|
||||
"api.jack.*": "jack/libspa-jack",
|
||||
"support.*": "support/libspa-support"
|
||||
},
|
||||
"context.modules": {
|
||||
"libpipewire-module-rtkit": {
|
||||
"context.modules": [
|
||||
{
|
||||
"name": "libpipewire-module-rtkit",
|
||||
"args": {},
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
"libpipewire-module-protocol-native": null,
|
||||
"libpipewire-module-profiler": null,
|
||||
"libpipewire-module-metadata": null,
|
||||
"libpipewire-module-spa-device-factory": null,
|
||||
"libpipewire-module-spa-node-factory": null,
|
||||
"libpipewire-module-client-node": null,
|
||||
"libpipewire-module-client-device": null,
|
||||
"libpipewire-module-portal": {
|
||||
{
|
||||
"name": "libpipewire-module-protocol-native"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-profiler"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-metadata"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-spa-device-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-spa-node-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-node"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-client-device"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-portal",
|
||||
"flags": [
|
||||
"ifexists",
|
||||
"nofail"
|
||||
]
|
||||
},
|
||||
"libpipewire-module-access": {
|
||||
{
|
||||
"name": "libpipewire-module-access",
|
||||
"args": {}
|
||||
},
|
||||
"libpipewire-module-adapter": null,
|
||||
"libpipewire-module-link-factory": null,
|
||||
"libpipewire-module-session-manager": null
|
||||
},
|
||||
"context.objects": {
|
||||
"spa-node-factory": {
|
||||
{
|
||||
"name": "libpipewire-module-adapter"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-link-factory"
|
||||
},
|
||||
{
|
||||
"name": "libpipewire-module-session-manager"
|
||||
}
|
||||
],
|
||||
"context.objects": [
|
||||
{
|
||||
"factory": "spa-node-factory",
|
||||
"args": {
|
||||
"factory.name": "support.node.driver",
|
||||
"node.name": "Dummy-Driver",
|
||||
"priority.driver": 8000
|
||||
}
|
||||
}
|
||||
},
|
||||
"context.exec": {}
|
||||
],
|
||||
"context.exec": []
|
||||
}
|
||||
|
@ -18,45 +18,15 @@ let
|
||||
ln -s "${cfg.package.jack}/lib" "$out/lib/pipewire"
|
||||
'';
|
||||
|
||||
prioritizeNativeProtocol = {
|
||||
"context.modules" = {
|
||||
# Most other modules depend on this, so put it first
|
||||
"libpipewire-module-protocol-native" = {
|
||||
_priority = -100;
|
||||
_content = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fixDaemonModulePriorities = {
|
||||
"context.modules" = {
|
||||
# Most other modules depend on thism so put it first
|
||||
"libpipewire-module-protocol-native" = {
|
||||
_priority = -100;
|
||||
_content = null;
|
||||
};
|
||||
# Needs to be before libpipewire-module-access
|
||||
"libpipewire-module-portal" = {
|
||||
_priority = -50;
|
||||
_content = {
|
||||
flags = [
|
||||
"ifexists"
|
||||
"nofail"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Use upstream config files passed through spa-json-dump as the base
|
||||
# Patched here as necessary for them to work with this module
|
||||
defaults = {
|
||||
client = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client.conf.json)) prioritizeNativeProtocol;
|
||||
client-rt = recursiveUpdate (builtins.fromJSON (builtins.readFile ./client-rt.conf.json)) prioritizeNativeProtocol;
|
||||
jack = recursiveUpdate (builtins.fromJSON (builtins.readFile ./jack.conf.json)) prioritizeNativeProtocol;
|
||||
client = builtins.fromJSON (builtins.readFile ./client.conf.json);
|
||||
client-rt = builtins.fromJSON (builtins.readFile ./client-rt.conf.json);
|
||||
jack = builtins.fromJSON (builtins.readFile ./jack.conf.json);
|
||||
# Remove session manager invocation from the upstream generated file, it points to the wrong path
|
||||
pipewire = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire.conf.json)) fixDaemonModulePriorities;
|
||||
pipewire-pulse = recursiveUpdate (builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json)) prioritizeNativeProtocol;
|
||||
pipewire = builtins.fromJSON (builtins.readFile ./pipewire.conf.json);
|
||||
pipewire-pulse = builtins.fromJSON (builtins.readFile ./pipewire-pulse.conf.json);
|
||||
};
|
||||
|
||||
# Helpers for generating the pipewire JSON config file
|
||||
|
@ -4,9 +4,7 @@ with lib;
|
||||
|
||||
let
|
||||
|
||||
pkg = if config.hardware.sane.snapshot
|
||||
then pkgs.sane-backends-git
|
||||
else pkgs.sane-backends;
|
||||
pkg = pkgs.sane-backends;
|
||||
|
||||
sanedConf = pkgs.writeTextFile {
|
||||
name = "saned.conf";
|
||||
|
@ -196,6 +196,7 @@ let
|
||||
domain: "${cfg.smtp.domain}",
|
||||
${optionalString (cfg.smtp.authentication != null) "authentication: :${cfg.smtp.authentication},"}
|
||||
enable_starttls_auto: ${boolToString cfg.smtp.enableStartTLSAuto},
|
||||
tls: ${boolToString cfg.smtp.tls},
|
||||
ca_file: "/etc/ssl/certs/ca-certificates.crt",
|
||||
openssl_verify_mode: '${cfg.smtp.opensslVerifyMode}'
|
||||
}
|
||||
@ -463,6 +464,12 @@ in {
|
||||
description = "Whether to try to use StartTLS.";
|
||||
};
|
||||
|
||||
tls = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "Whether to use TLS wrapper-mode.";
|
||||
};
|
||||
|
||||
opensslVerifyMode = mkOption {
|
||||
type = types.str;
|
||||
default = "peer";
|
||||
|
@ -133,8 +133,10 @@ in
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
preStart = ''
|
||||
install -m 700 -o '${cfg.user}' -g '${cfg.group}' ${cfg.certFile} ${cfg.dataDir}/cert.pem
|
||||
install -m 700 -o '${cfg.user}' -g '${cfg.group}' ${cfg.keyFile} ${cfg.dataDir}/key.pem
|
||||
${optionalString (cfg.insecure != true) ''
|
||||
install -m 700 -o '${cfg.user}' -g '${cfg.group}' ${cfg.certFile} ${cfg.dataDir}/cert.pem
|
||||
install -m 700 -o '${cfg.user}' -g '${cfg.group}' ${cfg.keyFile} ${cfg.dataDir}/key.pem
|
||||
''}
|
||||
'';
|
||||
|
||||
serviceConfig = mkMerge [
|
||||
|
@ -15,12 +15,15 @@ import re
|
||||
import datetime
|
||||
import glob
|
||||
import os.path
|
||||
from typing import Tuple, List, Optional
|
||||
|
||||
def copy_if_not_exists(source, dest):
|
||||
|
||||
def copy_if_not_exists(source: str, dest: str) -> None:
|
||||
if not os.path.exists(dest):
|
||||
shutil.copyfile(source, dest)
|
||||
|
||||
def system_dir(profile, generation):
|
||||
|
||||
def system_dir(profile: Optional[str], generation: int) -> str:
|
||||
if profile:
|
||||
return "/nix/var/nix/profiles/system-profiles/%s-%d-link" % (profile, generation)
|
||||
else:
|
||||
@ -42,7 +45,8 @@ MEMTEST_BOOT_ENTRY = """title MemTest86
|
||||
efi /efi/memtest86/BOOTX64.efi
|
||||
"""
|
||||
|
||||
def write_loader_conf(profile, generation):
|
||||
|
||||
def write_loader_conf(profile: Optional[str], generation: int) -> None:
|
||||
with open("@efiSysMountPoint@/loader/loader.conf.tmp", 'w') as f:
|
||||
if "@timeout@" != "":
|
||||
f.write("timeout @timeout@\n")
|
||||
@ -55,10 +59,12 @@ def write_loader_conf(profile, generation):
|
||||
f.write("console-mode @consoleMode@\n");
|
||||
os.rename("@efiSysMountPoint@/loader/loader.conf.tmp", "@efiSysMountPoint@/loader/loader.conf")
|
||||
|
||||
def profile_path(profile, generation, name):
|
||||
|
||||
def profile_path(profile: Optional[str], generation: int, name: str) -> str:
|
||||
return os.readlink("%s/%s" % (system_dir(profile, generation), name))
|
||||
|
||||
def copy_from_profile(profile, generation, name, dry_run=False):
|
||||
|
||||
def copy_from_profile(profile: Optional[str], generation: int, name: str, dry_run: bool = False) -> str:
|
||||
store_file_path = profile_path(profile, generation, name)
|
||||
suffix = os.path.basename(store_file_path)
|
||||
store_dir = os.path.basename(os.path.dirname(store_file_path))
|
||||
@ -67,7 +73,8 @@ def copy_from_profile(profile, generation, name, dry_run=False):
|
||||
copy_if_not_exists(store_file_path, "@efiSysMountPoint@%s" % (efi_file_path))
|
||||
return efi_file_path
|
||||
|
||||
def describe_generation(generation_dir):
|
||||
|
||||
def describe_generation(generation_dir: str) -> str:
|
||||
try:
|
||||
with open("%s/nixos-version" % generation_dir) as f:
|
||||
nixos_version = f.read()
|
||||
@ -87,7 +94,8 @@ def describe_generation(generation_dir):
|
||||
|
||||
return description
|
||||
|
||||
def write_entry(profile, generation, machine_id):
|
||||
|
||||
def write_entry(profile: Optional[str], generation: int, machine_id: str) -> None:
|
||||
kernel = copy_from_profile(profile, generation, "kernel")
|
||||
initrd = copy_from_profile(profile, generation, "initrd")
|
||||
try:
|
||||
@ -116,14 +124,16 @@ def write_entry(profile, generation, machine_id):
|
||||
f.write("machine-id %s\n" % machine_id)
|
||||
os.rename(tmp_path, entry_file)
|
||||
|
||||
def mkdir_p(path):
|
||||
|
||||
def mkdir_p(path: str) -> None:
|
||||
try:
|
||||
os.makedirs(path)
|
||||
except OSError as e:
|
||||
if e.errno != errno.EEXIST or not os.path.isdir(path):
|
||||
raise
|
||||
|
||||
def get_generations(profile=None):
|
||||
|
||||
def get_generations(profile: Optional[str] = None) -> List[Tuple[Optional[str], int]]:
|
||||
gen_list = subprocess.check_output([
|
||||
"@nix@/bin/nix-env",
|
||||
"--list-generations",
|
||||
@ -137,7 +147,8 @@ def get_generations(profile=None):
|
||||
configurationLimit = @configurationLimit@
|
||||
return [ (profile, int(line.split()[0])) for line in gen_lines ][-configurationLimit:]
|
||||
|
||||
def remove_old_entries(gens):
|
||||
|
||||
def remove_old_entries(gens: List[Tuple[Optional[str], int]]) -> None:
|
||||
rex_profile = re.compile("^@efiSysMountPoint@/loader/entries/nixos-(.*)-generation-.*\.conf$")
|
||||
rex_generation = re.compile("^@efiSysMountPoint@/loader/entries/nixos.*-generation-(.*)\.conf$")
|
||||
known_paths = []
|
||||
@ -150,8 +161,8 @@ def remove_old_entries(gens):
|
||||
prof = rex_profile.sub(r"\1", path)
|
||||
else:
|
||||
prof = "system"
|
||||
gen = int(rex_generation.sub(r"\1", path))
|
||||
if not (prof, gen) in gens:
|
||||
gen_number = int(rex_generation.sub(r"\1", path))
|
||||
if not (prof, gen_number) in gens:
|
||||
os.unlink(path)
|
||||
except ValueError:
|
||||
pass
|
||||
@ -159,7 +170,8 @@ def remove_old_entries(gens):
|
||||
if not path in known_paths and not os.path.isdir(path):
|
||||
os.unlink(path)
|
||||
|
||||
def get_profiles():
|
||||
|
||||
def get_profiles() -> List[str]:
|
||||
if os.path.isdir("/nix/var/nix/profiles/system-profiles/"):
|
||||
return [x
|
||||
for x in os.listdir("/nix/var/nix/profiles/system-profiles/")
|
||||
@ -167,7 +179,8 @@ def get_profiles():
|
||||
else:
|
||||
return []
|
||||
|
||||
def main():
|
||||
|
||||
def main() -> None:
|
||||
parser = argparse.ArgumentParser(description='Update NixOS-related systemd-boot files')
|
||||
parser.add_argument('default_config', metavar='DEFAULT-CONFIG', help='The default NixOS config to boot')
|
||||
args = parser.parse_args()
|
||||
@ -182,7 +195,9 @@ def main():
|
||||
# be there on newly installed systems, so let's generate one so that
|
||||
# bootctl can find it and we can also pass it to write_entry() later.
|
||||
cmd = ["@systemd@/bin/systemd-machine-id-setup", "--print"]
|
||||
machine_id = subprocess.check_output(cmd).rstrip()
|
||||
machine_id = subprocess.run(
|
||||
cmd, text=True, check=True, stdout=subprocess.PIPE
|
||||
).stdout.rstrip()
|
||||
|
||||
if os.getenv("NIXOS_INSTALL_GRUB") == "1":
|
||||
warnings.warn("NIXOS_INSTALL_GRUB env var deprecated, use NIXOS_INSTALL_BOOTLOADER", DeprecationWarning)
|
||||
@ -213,7 +228,6 @@ def main():
|
||||
print("updating systemd-boot from %s to %s" % (sdboot_version, systemd_version))
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])
|
||||
|
||||
|
||||
mkdir_p("@efiSysMountPoint@/efi/nixos")
|
||||
mkdir_p("@efiSysMountPoint@/loader/entries")
|
||||
|
||||
@ -252,5 +266,6 @@ def main():
|
||||
if rc != 0:
|
||||
print("could not sync @efiSysMountPoint@: {}".format(os.strerror(rc)), file=sys.stderr)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
@ -7,7 +7,7 @@ let
|
||||
|
||||
efi = config.boot.loader.efi;
|
||||
|
||||
gummibootBuilder = pkgs.substituteAll {
|
||||
systemdBootBuilder = pkgs.substituteAll {
|
||||
src = ./systemd-boot-builder.py;
|
||||
|
||||
isExecutable = true;
|
||||
@ -30,6 +30,17 @@ let
|
||||
|
||||
memtest86 = if cfg.memtest86.enable then pkgs.memtest86-efi else "";
|
||||
};
|
||||
|
||||
checkedSystemdBootBuilder = pkgs.runCommand "systemd-boot" {
|
||||
nativeBuildInputs = [ pkgs.mypy ];
|
||||
} ''
|
||||
install -m755 ${systemdBootBuilder} $out
|
||||
mypy \
|
||||
--no-implicit-optional \
|
||||
--disallow-untyped-calls \
|
||||
--disallow-untyped-defs \
|
||||
$out
|
||||
'';
|
||||
in {
|
||||
|
||||
imports =
|
||||
@ -131,7 +142,7 @@ in {
|
||||
boot.loader.supportsInitrdSecrets = true;
|
||||
|
||||
system = {
|
||||
build.installBootLoader = gummibootBuilder;
|
||||
build.installBootLoader = checkedSystemdBootBuilder;
|
||||
|
||||
boot.loader.id = "systemd-boot";
|
||||
|
||||
|
@ -118,8 +118,9 @@ in
|
||||
[network]
|
||||
cni_plugin_dirs = ["${pkgs.cni-plugins}/bin/"]
|
||||
|
||||
${lib.optionalString (cfg.ociSeccompBpfHook.enable == true) ''
|
||||
[engine]
|
||||
init_path = "${pkgs.catatonit}/bin/catatonit"
|
||||
${lib.optionalString (cfg.ociSeccompBpfHook.enable) ''
|
||||
hooks_dir = [
|
||||
"${config.boot.kernelPackages.oci-seccomp-bpf-hook}",
|
||||
]
|
||||
|
@ -96,6 +96,15 @@ import ./make-test-python.nix (
|
||||
podman.succeed(su_cmd("podman ps | grep sleeping"))
|
||||
podman.succeed(su_cmd("podman stop sleeping"))
|
||||
podman.succeed(su_cmd("podman rm sleeping"))
|
||||
|
||||
with subtest("Run container with init"):
|
||||
podman.succeed(
|
||||
"tar cv -C ${pkgs.pkgsStatic.busybox} . | podman import - busybox"
|
||||
)
|
||||
pid = podman.succeed("podman run --rm busybox readlink /proc/self").strip()
|
||||
assert pid == "1"
|
||||
pid = podman.succeed("podman run --rm --init busybox readlink /proc/self").strip()
|
||||
assert pid == "2"
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
@ -45,6 +45,10 @@ import ./make-test-python.nix (
|
||||
'';
|
||||
inherit passwordFile initialize paths pruneOpts;
|
||||
};
|
||||
remoteprune = {
|
||||
inherit repository passwordFile;
|
||||
pruneOpts = [ "--keep-last 1" ];
|
||||
};
|
||||
};
|
||||
|
||||
environment.sessionVariables.RCLONE_CONFIG_LOCAL_TYPE = "local";
|
||||
@ -84,6 +88,8 @@ import ./make-test-python.nix (
|
||||
"systemctl start restic-backups-rclonebackup.service",
|
||||
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
|
||||
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
|
||||
"systemctl start restic-backups-remoteprune.service",
|
||||
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
|
||||
)
|
||||
'';
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
{ mkDerivation
|
||||
, stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
@ -39,6 +40,14 @@ mkDerivation rec {
|
||||
|
||||
postConfigure = "make qmake_all";
|
||||
|
||||
# installs app bundle on darwin, re-extract the binary
|
||||
# wrapQtAppsHook fails to wrap mach-o binaries, manually call wrapper (https://github.com/NixOS/nixpkgs/issues/102044)
|
||||
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
|
||||
mv $out/bin/BambooTracker{.app/Contents/MacOS/BambooTracker,}
|
||||
rm -r $out/bin/BambooTracker.app
|
||||
wrapQtApp $out/bin/BambooTracker
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tracker for YM2608 (OPNA) which was used in NEC PC-8801/9801 series computers";
|
||||
homepage = "https://rerrahkr.github.io/BambooTracker";
|
||||
|
@ -75,7 +75,5 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.unix;
|
||||
# couldn't read /build/source/build/podcasts-gtk/resources/resources.gresource: No such file or directory (os error 2)
|
||||
broken = true;
|
||||
};
|
||||
}
|
||||
|
@ -43,7 +43,9 @@ stdenv.mkDerivation rec {
|
||||
installPhase = let extension = if stdenv.isDarwin then "app" else "deb-exe";
|
||||
in "install -Dm555 lgpt.${extension} $out/bin/lgpt";
|
||||
|
||||
passthru.updateScript = unstableGitUpdater { };
|
||||
passthru.updateScript = unstableGitUpdater {
|
||||
url = "https://github.com/Mdashdotdashn/littlegptracker.git";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "A music tracker similar to lsdj optimised to run on portable game consoles";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, faust2jaqt, faust2lv2 }:
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, faust2jaqt, faust2lv2 }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "MBdistortion";
|
||||
version = "1.1.1";
|
||||
@ -10,6 +10,13 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0mdzaqmxzgspfgx9w1hdip18y17hwpdcgjyq1rrfm843vkascwip";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/magnetophon/MBdistortion/commit/10e35084b88c559f1b63760cf40fd5ef5a6745a5.patch";
|
||||
sha256 = "0hwjl3rzvn3id0sr0qs8f37jdmr915mdan8miaf78ra0ir3wnk76";
|
||||
})
|
||||
];
|
||||
|
||||
buildInputs = [ faust2jaqt faust2lv2 ];
|
||||
|
||||
buildPhase = ''
|
||||
|
52
pkgs/applications/audio/mpdevil/default.nix
Normal file
52
pkgs/applications/audio/mpdevil/default.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{ lib, fetchFromGitHub
|
||||
, python3Packages
|
||||
, gdk-pixbuf, glib, gobject-introspection, gtk3
|
||||
, intltool
|
||||
, wrapGAppsHook }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "mpdevil";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SoongNoonien";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0l7mqv7ys05al2hds4icb32hf14fqi3n7b0f5v1yx54cbl9cqfap";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
glib.dev gobject-introspection gtk3 intltool wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gdk-pixbuf glib
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
beautifulsoup4 distutils_extra mpd2 notify-py pygobject3 requests
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
glib-compile-schemas $out/share/glib-2.0/schemas
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
# Prevent double wrapping.
|
||||
dontWrapGApps = true;
|
||||
# Otherwise wrapGAppsHook do not pick up the dependencies correctly.
|
||||
strictDeps = false;
|
||||
# There aren't any checks.
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple music browser for MPD";
|
||||
homepage = "https://github.com/SoongNoonien/mpdevil";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ bloomvdomino ];
|
||||
};
|
||||
}
|
@ -11,11 +11,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ocenaudio";
|
||||
version = "3.9.6";
|
||||
version = "3.10.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
|
||||
sha256 = "07r49133kk99ya4grwby3admy892mkk9cfxz3wh0v81aznhpw4jg";
|
||||
sha256 = "sha256-mmo6/zc/3R8ptXfY01RKUOLgmDhWTHiYBMlGqpdMTAo=";
|
||||
};
|
||||
|
||||
|
||||
|
@ -8,13 +8,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "pt2-clone";
|
||||
version = "1.28";
|
||||
version = "1.29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "8bitbubsy";
|
||||
repo = "pt2-clone";
|
||||
rev = "v${version}";
|
||||
sha256 = "1c2x43f46l7556kl9y9qign0g6ywdkh7ywkzv6c9y63n68ph20x2";
|
||||
sha256 = "sha256-xnw4UL30nUv/Ru6x/7d05gC0X9nREMdXO9QWBjVoIvo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index b43f02f6..4470abbf 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -119,7 +119,7 @@ endif (RAIBLOCKS_SECURE_RPC)
|
||||
|
||||
include_directories (${CMAKE_SOURCE_DIR})
|
||||
|
||||
-set(Boost_USE_STATIC_LIBS ON)
|
||||
+add_definitions(-DBOOST_LOG_DYN_LINK)
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
|
||||
if (BOOST_CUSTOM)
|
@ -1,28 +1,24 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, wrapQtAppsHook, boost, libGL
|
||||
, qtbase}:
|
||||
, qtbase, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
||||
pname = "nano-wallet";
|
||||
version = "20.0";
|
||||
version = "21.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nanocurrency";
|
||||
repo = "raiblocks";
|
||||
repo = "nano-node";
|
||||
rev = "V${version}";
|
||||
sha256 = "12nrjjd89yjzx20d85ccmp395pl0djpx0x0qb8dgka8xfy11k7xn";
|
||||
sha256 = "0f6chl5vrzdr4w8g3nivfxk3qm6m11js401998afnhz0xaysm4pm";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# Use a patch to force dynamic linking
|
||||
patches = [
|
||||
./CMakeLists.txt.patch
|
||||
];
|
||||
|
||||
cmakeFlags = let
|
||||
options = {
|
||||
PYTHON_EXECUTABLE = "${python}/bin/python";
|
||||
NANO_SHARED_BOOST = "ON";
|
||||
BOOST_ROOT = boost;
|
||||
Boost_USE_STATIC_LIBS = "OFF";
|
||||
RAIBLOCKS_GUI = "ON";
|
||||
RAIBLOCKS_TEST = "ON";
|
||||
Qt5_DIR = "${qtbase.dev}/lib/cmake/Qt5";
|
||||
@ -37,17 +33,15 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [ boost libGL qtbase ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
make nano_wallet
|
||||
'';
|
||||
|
||||
# Move executables under bin directory
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin
|
||||
mv $out/nano* $out/bin/
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
./core_test
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
@ -13,14 +13,14 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "apostrophe";
|
||||
version = "2.3";
|
||||
version = "2.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "somas";
|
||||
repo = pname;
|
||||
domain = "gitlab.gnome.org";
|
||||
rev = "v${version}";
|
||||
sha256 = "1ggrbbnhbnf6p3hs72dww3c9m1rvr4znggmvwcpj6i8v1a3kycnb";
|
||||
sha256 = "1qzy3zhi18wf42m034s8kcmx9gl05j620x3hf6rnycq2fvy7g4gz";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja cmake pkg-config desktop-file-utils
|
||||
@ -32,9 +32,6 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs --build build-aux/meson_post_install.py
|
||||
|
||||
# get rid of unused distributed dependencies
|
||||
rm -r ${pname}/pylocales
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ stdenv, lib, zlib, glib, alsaLib, dbus, gtk3, atk, pango, freetype, fontconfig
|
||||
, libgnome-keyring3, gdk-pixbuf, cairo, cups, expat, libgpgerror, nspr
|
||||
, gconf, nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk
|
||||
, at-spi2-core
|
||||
, at-spi2-core, libdbusmenu
|
||||
}:
|
||||
|
||||
let
|
||||
@ -11,7 +11,7 @@ let
|
||||
xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
|
||||
xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
|
||||
xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
|
||||
xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core
|
||||
xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu
|
||||
];
|
||||
|
||||
libPathNative = lib.makeLibraryPath packages;
|
||||
|
@ -38,13 +38,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cudatext";
|
||||
version = "1.122.3";
|
||||
version = "1.129.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Alexey-T";
|
||||
repo = "CudaText";
|
||||
rev = version;
|
||||
sha256 = "1h56hj433z0n4l97zl1cwkjv0qvz4qmvf469zzjzf1nj4zj8px2b";
|
||||
sha256 = "1sg9wg6w3w0phrnnzpj7h2g22y0x7a3dl57djzydayxmg8fnn2ys";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -91,7 +91,12 @@ stdenv.mkDerivation rec {
|
||||
install -Dm644 setup/debfiles/cudatext-512.png -t $out/share/pixmaps
|
||||
install -Dm644 setup/debfiles/cudatext.desktop -t $out/share/applications
|
||||
'' + lib.concatMapStringsSep "\n" (lexer: ''
|
||||
install -Dm644 CudaText-lexers/${lexer}/*.{cuda-lexmap,lcf} $out/share/cudatext/data/lexlib
|
||||
if [ -d "CudaText-lexers/${lexer}" ]; then
|
||||
install -Dm644 CudaText-lexers/${lexer}/*.{cuda-lexmap,lcf} $out/share/cudatext/data/lexlib
|
||||
else
|
||||
echo "${lexer} lexer not found"
|
||||
exit 1
|
||||
fi
|
||||
'') additionalLexers;
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -6,38 +6,38 @@
|
||||
},
|
||||
"ATBinHex-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2020.11.22",
|
||||
"sha256": "0dkvzm32ls03pfp40fxvsyrkfmyznc5yrj65cp4a8pp9kpkvzlz7"
|
||||
"rev": "2021.02.13",
|
||||
"sha256": "1p2r2q1al6rcsdbbg8ilm4xn6w48bj348khxdmpak7vfwx9741h8"
|
||||
},
|
||||
"ATFlatControls": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.01.12",
|
||||
"sha256": "1mavv3krs4srdp362prf4sncssxjh11la5j4lkx0wk5csrmd1pc9"
|
||||
"rev": "2021.03.05",
|
||||
"sha256": "1p2pzha5dd4p23j2bv6jxphj596dlb5v8ixjzg4x2zglz2hir6yz"
|
||||
},
|
||||
"ATSynEdit": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.01.19",
|
||||
"sha256": "0lpgfwljwh9mypscbpj5c7fivhza0hizjgqypval3v0209cx38d1"
|
||||
"rev": "2021.03.16",
|
||||
"sha256": "1sq9j2zaif019gl6nf391lyp8k9s38f5s6ci7k3z5v90hkz1dcql"
|
||||
},
|
||||
"ATSynEdit_Cmp": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.01.17",
|
||||
"sha256": "14i4jdpbmh6sjpvbwipdvvmmqqw8wg592b34a9wdf2f9qxq2p4ly"
|
||||
"rev": "2021.03.08",
|
||||
"sha256": "0xvnvx4qzp6nxi912i4zlnal91k6vbcsyfbz05ib73sz68xqd5qv"
|
||||
},
|
||||
"EControl": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.01.12",
|
||||
"sha256": "107zyd65vc72fl4mvyirhv2a9m47l9bs6gwqiwar7hrn02zns6bq"
|
||||
"rev": "2021.03.16",
|
||||
"sha256": "159s1rpl829bmaa4bllqhjm8z0vji1ncsd6hw2s8z8hz28n905k8"
|
||||
},
|
||||
"ATSynEdit_Ex": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2020.10.04",
|
||||
"sha256": "0z66cm9pgdi7whqaim6hva4aa08zrr1881n1fal7lnz6wlla824k"
|
||||
"rev": "2021.03.16",
|
||||
"sha256": "1a4mxcwjm9naxh4piqm5y93w2xd5rgl0vcn108wy1pkr221agg2q"
|
||||
},
|
||||
"Python-for-Lazarus": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.01.16",
|
||||
"sha256": "07qv3x1cm3r12gxfnqzxly6nff39bghwwgxzl2lxi1qbpqhcs2l5"
|
||||
"rev": "2021.02.18",
|
||||
"sha256": "0fy6bmpdcl2aa8pb7zban6midkfwdj99x14hdghrv7cp8l4gcsg5"
|
||||
},
|
||||
"Emmet-Pascal": {
|
||||
"owner": "Alexey-T",
|
||||
@ -46,8 +46,8 @@
|
||||
},
|
||||
"CudaText-lexers": {
|
||||
"owner": "Alexey-T",
|
||||
"rev": "2021.01.16",
|
||||
"sha256": "13zyg0cm1c1662l3f7sy462pbc39l1cwm5214nx8ijngf8kgn2zh"
|
||||
"rev": "2021.02.01",
|
||||
"sha256": "051jnrhfpl9n5pgrssf68lj732zxhvjbvna4746ngmdyxvw6dqfd"
|
||||
},
|
||||
"bgrabitmap": {
|
||||
"owner": "bgrabitmap",
|
||||
|
130
pkgs/applications/editors/emacs-modes/elpa-generated.nix
generated
130
pkgs/applications/editors/emacs-modes/elpa-generated.nix
generated
@ -4,10 +4,10 @@
|
||||
elpaBuild {
|
||||
pname = "ace-window";
|
||||
ename = "ace-window";
|
||||
version = "0.9.0";
|
||||
version = "0.10.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ace-window-0.9.0.el";
|
||||
sha256 = "1m7fc4arcxn7fp0hnzyp20czjp4zx3rjaspfzpxzgc8sbghi81a3";
|
||||
url = "https://elpa.gnu.org/packages/ace-window-0.10.0.tar";
|
||||
sha256 = "1kfyf7za4zc41gf0k3rq8byvwkw7q5pxnyynh5i0gv686zrzak1i";
|
||||
};
|
||||
packageRequires = [ avy ];
|
||||
meta = {
|
||||
@ -343,10 +343,10 @@
|
||||
elpaBuild {
|
||||
pname = "bnf-mode";
|
||||
ename = "bnf-mode";
|
||||
version = "0.4.4";
|
||||
version = "0.4.5";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/bnf-mode-0.4.4.tar";
|
||||
sha256 = "0acr3x96zknxs90dc9mpnrwiaa81883h36lx5q1lxfn78vjfw14x";
|
||||
url = "https://elpa.gnu.org/packages/bnf-mode-0.4.5.tar";
|
||||
sha256 = "0bj5ffqi54cdrraj5bp4v2cpbxjzly1p467dx1hzrlwv2b1svy2y";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
@ -497,10 +497,10 @@
|
||||
elpaBuild {
|
||||
pname = "clipboard-collector";
|
||||
ename = "clipboard-collector";
|
||||
version = "0.2";
|
||||
version = "0.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/clipboard-collector-0.2.el";
|
||||
sha256 = "19scspkxgm3b1jkv10jy6nw9gv1q6sfjys09l37mvsva3djxa1dl";
|
||||
url = "https://elpa.gnu.org/packages/clipboard-collector-0.3.tar";
|
||||
sha256 = "09zxbivmc1zhcj8ksac2a0qpqh74rrx2slnj6cwz1n1nixn19743";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
@ -591,10 +591,10 @@
|
||||
elpaBuild {
|
||||
pname = "company-math";
|
||||
ename = "company-math";
|
||||
version = "1.3";
|
||||
version = "1.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/company-math-1.3.tar";
|
||||
sha256 = "0fc9ms0s9w81sxp3qcfva3n3d2qys0pj19pnm621a6v1xdsc7i1l";
|
||||
url = "https://elpa.gnu.org/packages/company-math-1.4.tar";
|
||||
sha256 = "17p5ib65lg8lj2gwip5qgsznww96pch16pr16b41lls5dx4k6d6z";
|
||||
};
|
||||
packageRequires = [ company math-symbol-lists ];
|
||||
meta = {
|
||||
@ -940,10 +940,10 @@
|
||||
elpaBuild {
|
||||
pname = "easy-kill";
|
||||
ename = "easy-kill";
|
||||
version = "0.9.3";
|
||||
version = "0.9.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/easy-kill-0.9.3.tar";
|
||||
sha256 = "17nw0mglmg877axwg1d0gs03yc0p04lzmd3pl0nsnqbh3303fnqb";
|
||||
url = "https://elpa.gnu.org/packages/easy-kill-0.9.4.tar";
|
||||
sha256 = "1pqqv4dhfm00wqch4wy3n2illsvxlz9r6r64925cvq3i7wq4la1x";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
@ -1118,10 +1118,10 @@
|
||||
elpaBuild {
|
||||
pname = "elisp-benchmarks";
|
||||
ename = "elisp-benchmarks";
|
||||
version = "1.9";
|
||||
version = "1.11";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.9.tar";
|
||||
sha256 = "14qmybmjlgkjns6vlbsf46f276ykydnbm0f6mij2w3b9qx7z2nb2";
|
||||
url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.11.tar";
|
||||
sha256 = "0s1mpapvcivy25zbhw6ghpg0ym23vb4dsrz876rl4z2rfyckxral";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@ -1884,10 +1884,10 @@
|
||||
elpaBuild {
|
||||
pname = "kiwix";
|
||||
ename = "kiwix";
|
||||
version = "1.0.1";
|
||||
version = "1.0.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/kiwix-1.0.1.tar";
|
||||
sha256 = "1dly6pilf71hq3mra9kc63i6iynzkxjmp9gwy0rhnvhq4b4qr01d";
|
||||
url = "https://elpa.gnu.org/packages/kiwix-1.0.3.tar";
|
||||
sha256 = "061b816xp8ykqd56z0nvc69aql9y4mba42p6x6vc0j6gr9n3c1j6";
|
||||
};
|
||||
packageRequires = [ emacs request ];
|
||||
meta = {
|
||||
@ -1929,10 +1929,10 @@
|
||||
elpaBuild {
|
||||
pname = "leaf";
|
||||
ename = "leaf";
|
||||
version = "4.3.2";
|
||||
version = "4.4.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/leaf-4.3.2.tar";
|
||||
sha256 = "190sfnnii9jnj8amjkdabd8w9k2xyalhg4h488a5gzjxdzz2s6zi";
|
||||
url = "https://elpa.gnu.org/packages/leaf-4.4.4.tar";
|
||||
sha256 = "1npg06zmy21kg2qsqgfm03l7vjib697i96awypcdb0hw5mvmc1a1";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
@ -2195,31 +2195,54 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
modus-operandi-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
modus-operandi-theme = callPackage ({ elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib
|
||||
, modus-themes }:
|
||||
elpaBuild {
|
||||
pname = "modus-operandi-theme";
|
||||
ename = "modus-operandi-theme";
|
||||
version = "0.12.0";
|
||||
version = "0.13.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.12.0.el";
|
||||
sha256 = "1mllyysn701qfnglxs7n2f6mrzrz55v9hcwspvafc6fl2blr393y";
|
||||
url = "https://elpa.gnu.org/packages/modus-operandi-theme-0.13.1.tar";
|
||||
sha256 = "08l9qmhvxiscxn4mfb80x57mk4gfm5r0fs2l9c8i3gfzd4i3h091";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
packageRequires = [ emacs modus-themes ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/modus-operandi-theme.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
modus-vivendi-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
modus-themes = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "modus-themes";
|
||||
ename = "modus-themes";
|
||||
version = "1.2.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/modus-themes-1.2.4.tar";
|
||||
sha256 = "0wz6dgkrq4ryvj0kxnzqxwh4i8b9lw15d5dsazjpqa7gfwffpzp0";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/modus-themes.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
modus-vivendi-theme = callPackage ({ elpaBuild
|
||||
, emacs
|
||||
, fetchurl
|
||||
, lib
|
||||
, modus-themes }:
|
||||
elpaBuild {
|
||||
pname = "modus-vivendi-theme";
|
||||
ename = "modus-vivendi-theme";
|
||||
version = "0.12.0";
|
||||
version = "0.13.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.12.0.el";
|
||||
sha256 = "01f6z5xjnmki1k9m83jwva42lxidb31pdpwm4wpxjzxqmb96picn";
|
||||
url = "https://elpa.gnu.org/packages/modus-vivendi-theme-0.13.1.tar";
|
||||
sha256 = "0xz304zcc872c2zwnlm8ky0m18smf7bffiyj21ygghgclr7kgma1";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
packageRequires = [ emacs modus-themes ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/modus-vivendi-theme.html";
|
||||
license = lib.licenses.free;
|
||||
@ -2763,10 +2786,10 @@
|
||||
elpaBuild {
|
||||
pname = "pyim";
|
||||
ename = "pyim";
|
||||
version = "3.5";
|
||||
version = "3.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/pyim-3.5.tar";
|
||||
sha256 = "0593ds3zbmpd6235b8v33f3cb3sn8cwr6arb6zbf1ba97nawjxqs";
|
||||
url = "https://elpa.gnu.org/packages/pyim-3.6.tar";
|
||||
sha256 = "1fmbzh33s9xdvrfjhkqr9ydcqbiv8lr04k5idvbpc9vwjjjan5y0";
|
||||
};
|
||||
packageRequires = [ async emacs xr ];
|
||||
meta = {
|
||||
@ -3103,10 +3126,10 @@
|
||||
elpaBuild {
|
||||
pname = "rich-minority";
|
||||
ename = "rich-minority";
|
||||
version = "1.0.1";
|
||||
version = "1.0.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/rich-minority-1.0.1.el";
|
||||
sha256 = "1pr89k3jz044vf582klphl1zf0r7hj2g7ga8j1dwbrpr9ngiicgc";
|
||||
url = "https://elpa.gnu.org/packages/rich-minority-1.0.3.tar";
|
||||
sha256 = "1w61qvx2rw6a6gmrm61080zghil95nzdv4w06c0pvyb62m4rwab0";
|
||||
};
|
||||
packageRequires = [ cl-lib ];
|
||||
meta = {
|
||||
@ -3225,6 +3248,21 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
setup = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "setup";
|
||||
ename = "setup";
|
||||
version = "0.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/setup-0.1.1.tar";
|
||||
sha256 = "0z34m06lxw6xd6bxacm1h5cijamsksk4daf6fbzhd7kqmw3gbgqg";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/setup.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
shelisp = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "shelisp";
|
||||
@ -3797,10 +3835,10 @@
|
||||
elpaBuild {
|
||||
pname = "valign";
|
||||
ename = "valign";
|
||||
version = "3.1.0";
|
||||
version = "3.1.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/valign-3.1.0.tar";
|
||||
sha256 = "0zx6p2nlvd4nkffj0myqv4hry8kgnhq45fcivfjzbfn62j2kp293";
|
||||
url = "https://elpa.gnu.org/packages/valign-3.1.1.tar";
|
||||
sha256 = "1nla0zfj0rxwhdjgnsy2c34wzrxfxiwl89cjb6aicyvfxninz7j0";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
@ -4012,10 +4050,10 @@
|
||||
elpaBuild {
|
||||
pname = "which-key";
|
||||
ename = "which-key";
|
||||
version = "3.3.2";
|
||||
version = "3.5.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/which-key-3.3.2.tar";
|
||||
sha256 = "01g5jcikhgxnri1rpbjq191220b4r3bimz2jzs1asc766w42q2gb";
|
||||
url = "https://elpa.gnu.org/packages/which-key-3.5.1.tar";
|
||||
sha256 = "187cssvqpd0wj01rgd19pp1k6aj9m2n5fdqznkga6w1h6cb5cm2b";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
|
@ -4,10 +4,10 @@
|
||||
elpaBuild {
|
||||
pname = "org";
|
||||
ename = "org";
|
||||
version = "20210308";
|
||||
version = "20210315";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-20210308.tar";
|
||||
sha256 = "1i5zga615inn5s547329g6paqbzcbhyj9hxv14c0c1m9bhra5bjs";
|
||||
url = "https://orgmode.org/elpa/org-20210315.tar";
|
||||
sha256 = "128agds82kfmvxshzrs61802vgwlf2dsm79hq9x2bljrnvf8p14l";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@ -19,10 +19,10 @@
|
||||
elpaBuild {
|
||||
pname = "org-plus-contrib";
|
||||
ename = "org-plus-contrib";
|
||||
version = "20210308";
|
||||
version = "20210315";
|
||||
src = fetchurl {
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210308.tar";
|
||||
sha256 = "1agbxhjkkmf4p8p8mwc6sv77ij22dr5fyhkpsnljvzkidiarfldf";
|
||||
url = "https://orgmode.org/elpa/org-plus-contrib-20210315.tar";
|
||||
sha256 = "0dih4690pbbnwlphjnv1kgvsw43pkcgk41xjjiphy9sf7w9gr11j";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,16 +5,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gophernotes";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gopherdata";
|
||||
repo = "gophernotes";
|
||||
rev = "v${version}";
|
||||
sha256 = "0hs92bdrsjqafdkhg2fk3z16h307i32mvbm9f6bb80bgsciysh27";
|
||||
sha256 = "sha256-EEMKV+k5qcep4z7J5r1nSLxmb0fbfpJOPmz5bE91cd8=";
|
||||
};
|
||||
|
||||
vendorSha256 = "1ylqf1sx0h2kixnq9f3prn3sha43q3ybd5ay57yy5z79qr8zqvxs";
|
||||
vendorSha256 = "sha256-Wy4HcPlrlYUjRQHhw+UPAa+Rn1FvJobWGxgFiJKJTAg=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Go kernel for Jupyter notebooks";
|
||||
|
@ -21,6 +21,5 @@ buildGoPackage rec {
|
||||
longDescription = "The Hex Editor From Hell!";
|
||||
license = with licenses; [ mit ];
|
||||
maintainers = with maintainers; [ ramkromberg ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -270,12 +270,12 @@ in
|
||||
|
||||
clion = buildClion rec {
|
||||
name = "clion-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
description = "C/C++ IDE. New. Intelligent. Cross-platform";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
|
||||
sha256 = "10120y9ccdlhjrpvfnspfj4s7940b3v3yic78r372wj5ns4bsjax"; /* updated by script */
|
||||
sha256 = "10s0jkxi892pg7d2slh7cvrd0ch2223qms3c9v1ax0n6ymfkcw14"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-clion";
|
||||
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
|
||||
@ -296,12 +296,12 @@ in
|
||||
|
||||
goland = buildGoland rec {
|
||||
name = "goland-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.4"; /* updated by script */
|
||||
description = "Up and Coming Go IDE";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/go/${name}.tar.gz";
|
||||
sha256 = "00wbl4g1wgb9c287z6i7a48bm5zyb1gkmyqmhasmj0n2vamaq6sz"; /* updated by script */
|
||||
sha256 = "148rs9w0fqr5xzhnq5bd473j4vnb69kf8yxxjmwdp25z2d7x47ip"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-goland";
|
||||
update-channel = "GoLand RELEASE";
|
||||
@ -309,12 +309,12 @@ in
|
||||
|
||||
idea-community = buildIdea rec {
|
||||
name = "idea-community-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
|
||||
license = lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
|
||||
sha256 = "0zkjmvi27b69xrkn4s6f5788n5yn044phgf48kamfqfs37q4xf1d"; /* updated by script */
|
||||
sha256 = "1msfl8qq0aday4ssip73r0y096mrb89mr7z2j4mpqhkzgsmvpjk0"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea-ce";
|
||||
update-channel = "IntelliJ IDEA RELEASE";
|
||||
@ -322,12 +322,12 @@ in
|
||||
|
||||
idea-ultimate = buildIdea rec {
|
||||
name = "idea-ultimate-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
|
||||
sha256 = "1vac21d9p52z4k1dl903rc2dbbcf873xbg8rx1fp9nsaaphnc9lq"; /* updated by script */
|
||||
sha256 = "0szq8lqp1h7kci8kqd1bb3g16j3p5f4dfmbccbyrrwsram3hvjgi"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-idea";
|
||||
update-channel = "IntelliJ IDEA RELEASE";
|
||||
@ -335,12 +335,12 @@ in
|
||||
|
||||
mps = buildMps rec {
|
||||
name = "mps-${version}";
|
||||
version = "2020.3.1"; /* updated by script */
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
description = "Create your own domain-specific language";
|
||||
license = lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
|
||||
sha256 = "0qvl724mm53rxfhafl6561rhpwppcadmwr9sh0hpsfgsprh2xznv"; /* updated by script */
|
||||
sha256 = "0vskzia48jq50bjdqw993gizvvd59f3qlszbsdp7xg5a3afbk7p3"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-mps";
|
||||
update-channel = "MPS RELEASE";
|
||||
@ -348,12 +348,12 @@ in
|
||||
|
||||
phpstorm = buildPhpStorm rec {
|
||||
name = "phpstorm-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
description = "Professional IDE for Web and PHP developers";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||
sha256 = "1dmymlv71syjv8byb9ap9c13fimjl6c3r94dwr9kghdlj3jh7p0k"; /* updated by script */
|
||||
sha256 = "0arff0882xw1azbxpn1n3wbc5ncg8gmfim3jf6rq2dky8kp9ylkm"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-phpstorm";
|
||||
update-channel = "PhpStorm RELEASE";
|
||||
@ -361,12 +361,12 @@ in
|
||||
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
version = "2020.3.4"; /* updated by script */
|
||||
description = "PyCharm Community Edition";
|
||||
license = lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "0p05pgfmr9515sqbqbjiksg7qzvqxcs119lxfc6dsirdvc1qhnli"; /* updated by script */
|
||||
sha256 = "0xh0hb0v3ilgqjljh22c75hkllqgqbpppplni2dz2pv9rb3r5dv5"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm-ce";
|
||||
update-channel = "PyCharm RELEASE";
|
||||
@ -374,12 +374,12 @@ in
|
||||
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
version = "2020.3.4"; /* updated by script */
|
||||
description = "PyCharm Professional Edition";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "1yzv1pxpw6pvsjljqvbnf8qgdx34rs5j232zaq4vb5x2ahswf9mm"; /* updated by script */
|
||||
sha256 = "18gkjc52qpghs721rkbsj03kaf6n8c8sxg57b2d82hjckjgm6q10"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm";
|
||||
update-channel = "PyCharm RELEASE";
|
||||
@ -387,12 +387,12 @@ in
|
||||
|
||||
rider = buildRider rec {
|
||||
name = "rider-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.4"; /* updated by script */
|
||||
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
|
||||
sha256 = "1dkgbd2nqkjcswf7j3pnrsaq9n5wk42abz2c4wgkrh1zrpgihd0j"; /* updated by script */
|
||||
sha256 = "1v99yqj83aw9j400z3v24n7xnyxzw5vm0b3rwd4yb8w3ajl59gq1"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-rider";
|
||||
update-channel = "Rider RELEASE";
|
||||
@ -413,12 +413,12 @@ in
|
||||
|
||||
webstorm = buildWebStorm rec {
|
||||
name = "webstorm-${version}";
|
||||
version = "2020.3.2"; /* updated by script */
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
description = "Professional IDE for Web and JavaScript development";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||
sha256 = "1jpa4gfy0xmmscjqca4pvvwvh4h3lg02nbf1m5wcsjdcywbk9y40"; /* updated by script */
|
||||
sha256 = "0szq7qz5p1ksmqdy1rma5rfl0d9dy9qmhz8k5id4zdpyz2jsacfb"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-webstorm";
|
||||
update-channel = "WebStorm RELEASE";
|
||||
|
@ -57,6 +57,6 @@ python3Packages.buildPythonApplication rec {
|
||||
'';
|
||||
license = lib.licenses.gpl3;
|
||||
maintainers = [ lib.maintainers.steveej ];
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
43
pkgs/applications/editors/neovim/neovim-qt.nix
Normal file
43
pkgs/applications/editors/neovim/neovim-qt.nix
Normal file
@ -0,0 +1,43 @@
|
||||
{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
|
||||
, msgpack, neovim, pythonPackages, qtbase }:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "neovim-qt-unwrapped";
|
||||
version = "0.2.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "equalsraf";
|
||||
repo = "neovim-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "0x5brrim3f21bzdmh6wyrhrislwpx1248wbx56csvic6v78hzqny";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_SYSTEM_MSGPACK=1"
|
||||
"-DENABLE_TESTS=0" # tests fail because xcb platform plugin is not found
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
neovim.unwrapped # only used to generate help tags at build time
|
||||
qtbase
|
||||
] ++ (with pythonPackages; [
|
||||
jinja2 python msgpack
|
||||
]);
|
||||
|
||||
nativeBuildInputs = [ cmake doxygen ];
|
||||
|
||||
preCheck = ''
|
||||
# The GUI tests require a running X server, disable them
|
||||
sed -i ../test/CMakeLists.txt -e '/^add_xtest_gui/d'
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Neovim client library and GUI, in Qt5";
|
||||
homepage = "https://github.com/equalsraf/neovim-qt";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
inherit (neovim.meta) platforms;
|
||||
};
|
||||
}
|
@ -1,79 +1,38 @@
|
||||
{ lib, stdenv, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
|
||||
, msgpack, neovim, pythonPackages, qtbase }:
|
||||
, msgpack, neovim, pythonPackages, qtbase, neovim-qt-unwrapped }:
|
||||
|
||||
let
|
||||
unwrapped = mkDerivation rec {
|
||||
pname = "neovim-qt-unwrapped";
|
||||
version = "0.2.16.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "equalsraf";
|
||||
repo = "neovim-qt";
|
||||
rev = "v${version}";
|
||||
sha256 = "0x5brrim3f21bzdmh6wyrhrislwpx1248wbx56csvic6v78hzqny";
|
||||
};
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_SYSTEM_MSGPACK=1"
|
||||
"-DENABLE_TESTS=0" # tests fail because xcb platform plugin is not found
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
neovim.unwrapped # only used to generate help tags at build time
|
||||
qtbase
|
||||
] ++ (with pythonPackages; [
|
||||
jinja2 python msgpack
|
||||
]);
|
||||
|
||||
nativeBuildInputs = [ cmake doxygen ];
|
||||
|
||||
preCheck = ''
|
||||
# The GUI tests require a running X server, disable them
|
||||
sed -i ../test/CMakeLists.txt \
|
||||
-e '/^add_xtest_gui/d'
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "Neovim client library and GUI, in Qt5";
|
||||
homepage = "https://github.com/equalsraf/neovim-qt";
|
||||
license = licenses.isc;
|
||||
maintainers = with maintainers; [ peterhoeg ];
|
||||
inherit (neovim.meta) platforms;
|
||||
inherit version;
|
||||
};
|
||||
};
|
||||
unwrapped = neovim-qt-unwrapped;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "neovim-qt";
|
||||
version = unwrapped.version;
|
||||
buildCommand = if stdenv.isDarwin then ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications
|
||||
stdenv.mkDerivation {
|
||||
pname = "neovim-qt";
|
||||
version = unwrapped.version;
|
||||
buildCommand = if stdenv.isDarwin then ''
|
||||
mkdir -p $out/Applications
|
||||
cp -r ${unwrapped}/bin/nvim-qt.app $out/Applications
|
||||
|
||||
chmod -R a+w "$out/Applications/nvim-qt.app/Contents/MacOS"
|
||||
wrapProgram "$out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt" \
|
||||
--prefix PATH : "${neovim}/bin"
|
||||
'' else ''
|
||||
makeWrapper '${unwrapped}/bin/nvim-qt' "$out/bin/nvim-qt" \
|
||||
--prefix PATH : "${neovim}/bin"
|
||||
chmod -R a+w $out/Applications/nvim-qt.app/Contents/MacOS
|
||||
wrapProgram $out/Applications/nvim-qt.app/Contents/MacOS/nvim-qt \
|
||||
--prefix PATH : ${neovim}/bin
|
||||
'' else ''
|
||||
makeWrapper ${unwrapped}/bin/nvim-qt $out/bin/nvim-qt \
|
||||
--prefix PATH : ${neovim}/bin
|
||||
|
||||
# link .desktop file
|
||||
mkdir -p "$out/share/pixmaps"
|
||||
ln -s '${unwrapped}/share/applications' "$out/share/applications"
|
||||
ln -s '${unwrapped}/share/pixmaps/nvim-qt.png' "$out/share/pixmaps/nvim-qt.png"
|
||||
'';
|
||||
# link .desktop file
|
||||
mkdir -p $out/share/pixmaps
|
||||
ln -s ${unwrapped}/share/applications $out/share/applications
|
||||
ln -s ${unwrapped}/share/pixmaps/nvim-qt.png $out/share/pixmaps/nvim-qt.png
|
||||
'';
|
||||
|
||||
preferLocalBuild = true;
|
||||
preferLocalBuild = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
passthru = {
|
||||
inherit unwrapped;
|
||||
};
|
||||
passthru = {
|
||||
inherit unwrapped;
|
||||
};
|
||||
|
||||
inherit (unwrapped) meta;
|
||||
}
|
||||
inherit (unwrapped) meta;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "12.2";
|
||||
version = "12.3";
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "netbeans";
|
||||
exec = "netbeans";
|
||||
@ -19,7 +19,7 @@ stdenv.mkDerivation {
|
||||
inherit version;
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/netbeans/netbeans/${version}/netbeans-${version}-bin.zip";
|
||||
sha512 = "b25cda9830e8fe1d05687b08cc5fa9bcac7e8e6d12776998a4da7e483b3be0d04493345e56be7e6198fa8f86428d57d4459bfa7372c2e3f918f4a1101d0a31a7";
|
||||
sha512 = "2fy696qrfbdkzmq4cwd6l7v6rsc0bf9akh61w3azc544bq3vxl3v6s31hvg3ba0nsh0jv3nbdrk6jp1l4hwgcg9zg7kf2012a1vv2nk";
|
||||
};
|
||||
|
||||
buildCommand = ''
|
||||
|
@ -10,7 +10,7 @@
|
||||
, readline
|
||||
, guiSupport ? false, tcl, tcllib, tk
|
||||
, miSupport ? true, json_c
|
||||
, nbdSupport ? true, libnbd
|
||||
, nbdSupport ? !stdenv.isDarwin, libnbd
|
||||
, textStylingSupport ? true
|
||||
, dejagnu
|
||||
}:
|
||||
|
@ -33,6 +33,10 @@ in python3.pkgs.buildPythonApplication {
|
||||
paths = map (path: "${path}/lib/aspell") enchantAspellDicts;
|
||||
}}"
|
||||
)
|
||||
|
||||
substituteInPlace $out/share/applications/me.mitya57.ReText.desktop \
|
||||
--replace "Exec=ReText-${version}.data/scripts/retext %F" "Exec=$out/bin/retext %F" \
|
||||
--replace "Icon=ReText-${version}.data/data/share/retext/icons/retext.svg" "Icon=$out/share/retext/icons/retext.svg"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -13,10 +13,10 @@ let
|
||||
archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "1b9pzfi034idhi6f3n0sz3fckf95ckf2qx3sgfn9fx2g52r9m9z1";
|
||||
x86_64-darwin = "1983d8hn04xl5vw7p6842cv5x08q7vilqg7nhvy5yg3lj9q2rpp0";
|
||||
aarch64-linux = "09l32abkq110ib4hjd0yv9avr8a2vg5vs7w4jpk0p499gzrysh2l";
|
||||
armv7l-linux = "1s0gbq1fapq2i905c0xxfyh0656qnb7dmg00khlwbplxzd6i6m18";
|
||||
x86_64-linux = "1577wxmm8623aj513hxqcfim4d9p1r9wbla9my0c0c1x6pik0h8h";
|
||||
x86_64-darwin = "1n8q626nlqw78wlpfppzj365gmlz2swll6csg3ic7p4ik3nak95b";
|
||||
aarch64-linux = "1a7rkmhz456rsqw95lrknp1wqsdp63pkzh76vhzy5bazb1h081v0";
|
||||
armv7l-linux = "1qjik1r41c8n9fs7p09p0zdj8c5xgqjniwv23hcy6mp28i4whclr";
|
||||
}.${system};
|
||||
|
||||
sourceRoot = {
|
||||
@ -33,7 +33,7 @@ in
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.53.2";
|
||||
version = "1.54.3";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
@ -32,11 +32,11 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "saga";
|
||||
version = "7.8.2";
|
||||
version = "7.9.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/saga-gis/SAGA%20-%20${lib.versions.major version}/SAGA%20-%20${version}/saga-${version}.tar.gz";
|
||||
sha256 = "1008l8f4733vsxy3y6d1yg8m4h8pp65d2p48ljc9kp5nyrg5vfy5";
|
||||
sha256 = "sha256-ob23JbQnBxNO1QA8zUhLjgo5YBR90pwm8JT62bsPBdg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "batik";
|
||||
version = "1.13";
|
||||
version = "1.14";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://apache/xmlgraphics/batik/binaries/batik-bin-${version}.tar.gz";
|
||||
sha256 = "16sq90nbs6psgm3xz30sbs6r5dnpd3qzsvr1xvnp4yipwjcmhmkw";
|
||||
sha256 = "sha256-D06qgb5wdS5AahnznDnAGISPCZY/CPqJdGQFRwUsRhg=";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
47
pkgs/applications/graphics/eddy/default.nix
Normal file
47
pkgs/applications/graphics/eddy/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ python3Packages
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
, jre
|
||||
, qt5
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "eddy";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "obdasystems";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "12j77bbva5py9bd57c80cmjvf8vll40h19n81h16lvv2r2r7jynh";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qt5.qtbase
|
||||
wrapQtAppsHook
|
||||
python3Packages.setuptools
|
||||
python3Packages.rfc3987
|
||||
python3Packages.JPype1
|
||||
python3Packages.pyqt5
|
||||
];
|
||||
|
||||
# Tests fail with: ImportError: cannot import name 'QtXmlPatterns' from 'PyQt5'
|
||||
doCheck = false;
|
||||
|
||||
preBuild = ''
|
||||
export HOME=/tmp
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
wrapQtApp "$out/bin/eddy" --prefix JAVA_HOME : ${jre}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://www.obdasystems.com/eddy";
|
||||
description = "Graphical editor for the specification and visualization of Graphol ontologies";
|
||||
license = licenses.gpl3Only;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ koslambrou ];
|
||||
};
|
||||
}
|
@ -8,16 +8,16 @@
|
||||
, pythonPackages
|
||||
}:
|
||||
|
||||
pythonPackages.buildPythonPackage {
|
||||
pythonPackages.buildPythonPackage rec {
|
||||
pname = "hydrus";
|
||||
version = "426";
|
||||
version = "431";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hydrusnetwork";
|
||||
repo = "hydrus";
|
||||
rev = "1acdc258e5bb2ae22f5eafaf3dac8d9265dba5e2";
|
||||
sha256 = "1snihd433hx36s6d5hsnq4qg0xs6ag4822lwm5fqak64n22ad2qb";
|
||||
rev = "v${version}";
|
||||
sha256 = "0mfql27n725k6ynvhkgzmxxpfbjlzil2fjpy082gz257kb0880zy";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -44,6 +44,7 @@ pythonPackages.buildPythonPackage {
|
||||
matplotlib
|
||||
qtpy
|
||||
pyside2
|
||||
mpv
|
||||
];
|
||||
|
||||
checkInputs = with pythonPackages; [ nose httmock ];
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ mkDerivation
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, libGLU
|
||||
, qtbase
|
||||
, qtscript
|
||||
@ -19,13 +18,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "meshlab";
|
||||
version = "2020.07";
|
||||
version = "2020.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cnr-isti-vclab";
|
||||
repo = "meshlab";
|
||||
rev = "Meshlab-${version}";
|
||||
sha256 = "0vj849b57zk3k6lx35zzcjhr9gdy4hxqnnkb8chwy7hw262cm3ri";
|
||||
sha256 = "QrnqXEVqI1ADUYWalZ0h/0+xS+gDZTinm0weT39onw0=";
|
||||
fetchSubmodules = true; # for vcglib
|
||||
};
|
||||
|
||||
@ -46,17 +45,11 @@ mkDerivation rec {
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
patches = [
|
||||
# Make cmake use the system qhull. The next meshlab will not need this patch because it is already in master.
|
||||
(fetchpatch {
|
||||
url = "https://patch-diff.githubusercontent.com/raw/cnr-isti-vclab/meshlab/pull/747.patch";
|
||||
sha256 = "0wx9f6zn458xz3lsqcgvsbwh1pgi3g0lah93nlbsb0sagng7n565";
|
||||
})
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
substituteAll ${./meshlab.desktop} install/linux/resources/meshlab.desktop
|
||||
cd src
|
||||
substituteAll ${./meshlab.desktop} scripts/Linux/resources/meshlab.desktop
|
||||
cmakeDir=$PWD/src
|
||||
mkdir ../build
|
||||
cd ../build
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
@ -75,19 +68,12 @@ mkDerivation rec {
|
||||
|
||||
postFixup = ''
|
||||
patchelf --add-needed $out/lib/meshlab/libmeshlab-common.so $out/bin/.meshlab-wrapped
|
||||
patchelf --add-needed $out/lib/meshlab/libmeshlab-common.so $out/bin/.meshlabserver-wrapped
|
||||
'';
|
||||
|
||||
# Meshlab is not format-security clean; without disabling hardening, we get:
|
||||
# src/common/GLLogStream.h:61:37: error: format not a string literal and no format arguments [-Werror=format-security]
|
||||
# 61 | int chars_written = snprintf(buf, buf_size, f, std::forward<Ts>(ts)...);
|
||||
# |
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = {
|
||||
description = "A system for processing and editing 3D triangular meshes";
|
||||
homepage = "https://www.meshlab.net/";
|
||||
license = lib.licenses.gpl3;
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = with lib.maintainers; [ viric ];
|
||||
platforms = with lib.platforms; linux;
|
||||
};
|
||||
|
@ -81,7 +81,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
|
||||
meta = with lib; {
|
||||
description = "Photo and video importer for cameras, phones, and memory cards";
|
||||
homepage = "https://www.damonlynch.net/rapid/";
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ jfrankenau ];
|
||||
};
|
||||
|
@ -1,10 +1,107 @@
|
||||
{ callPackage, fetchurl, ... } @ args:
|
||||
{ stdenv, lib, fetchurl, runtimeShell
|
||||
, gettext, pkg-config, python3
|
||||
, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
|
||||
, curl, systemd, libxml2, poppler
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = "1.0.30";
|
||||
# List of { src name backend } attibute sets - see installFirmware below:
|
||||
, extraFirmware ? []
|
||||
|
||||
# For backwards compatibility with older setups; use extraFirmware instead:
|
||||
, gt68xxFirmware ? null, snapscanFirmware ? null
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "sane-backends";
|
||||
version = "1.0.32";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://gitlab.com/sane-project/backends/uploads/c3dd60c9e054b5dee1e7b01a7edc98b0/sane-backends-${version}.tar.gz";
|
||||
sha256 = "18vryaycps3zpjzxh0wjgg8nv2f4pdvcfxxmdfj28qbzqjlrcp9z";
|
||||
# raw checkouts of the repo do not work because, the configure script is
|
||||
# only functional in manually uploaded release tarballs.
|
||||
# https://gitlab.com/sane-project/backends/-/issues/440
|
||||
# unfortunately this make the url unpredictable on update, to find the link
|
||||
# go to https://gitlab.com/sane-project/backends/-/releases and choose
|
||||
# the link with other in the URL.
|
||||
url = "https://gitlab.com/sane-project/backends/uploads/104f09c07d35519cc8e72e604f11643f/sane-backends-1.0.32.tar.gz";
|
||||
sha256 = "055iicihxa6b28iv5fnz13n67frdr5nrydq2c846f9x7q0vw4a1s";
|
||||
};
|
||||
})
|
||||
|
||||
outputs = [ "out" "doc" "man" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
pkg-config
|
||||
python3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
avahi
|
||||
libgphoto2
|
||||
libieee1284
|
||||
libjpeg
|
||||
libpng
|
||||
libtiff
|
||||
libusb1
|
||||
libv4l
|
||||
net-snmp
|
||||
curl
|
||||
systemd
|
||||
libxml2
|
||||
poppler
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags =
|
||||
lib.optional (avahi != null) "--with-avahi"
|
||||
++ lib.optional (libusb1 != null) "--with-usb"
|
||||
;
|
||||
|
||||
postInstall = let
|
||||
|
||||
compatFirmware = extraFirmware
|
||||
++ lib.optional (gt68xxFirmware != null) {
|
||||
src = gt68xxFirmware.fw;
|
||||
inherit (gt68xxFirmware) name;
|
||||
backend = "gt68xx";
|
||||
}
|
||||
++ lib.optional (snapscanFirmware != null) {
|
||||
src = snapscanFirmware;
|
||||
name = "your-firmwarefile.bin";
|
||||
backend = "snapscan";
|
||||
};
|
||||
|
||||
installFirmware = f: ''
|
||||
mkdir -p $out/share/sane/${f.backend}
|
||||
ln -sv ${f.src} $out/share/sane/${f.backend}/${f.name}
|
||||
'';
|
||||
|
||||
in ''
|
||||
mkdir -p $out/etc/udev/rules.d/
|
||||
./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \
|
||||
cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
|
||||
# the created 49-libsane references /bin/sh
|
||||
substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \
|
||||
--replace "RUN+=\"/bin/sh" "RUN+=\"${runtimeShell}"
|
||||
|
||||
substituteInPlace $out/lib/libsane.la \
|
||||
--replace "-ljpeg" "-L${lib.getLib libjpeg}/lib -ljpeg"
|
||||
|
||||
# net.conf conflicts with the file generated by the nixos module
|
||||
rm $out/etc/sane.d/net.conf
|
||||
'' + lib.concatStrings (builtins.map installFirmware compatFirmware);
|
||||
|
||||
meta = with lib; {
|
||||
description = "SANE (Scanner Access Now Easy) backends";
|
||||
longDescription = ''
|
||||
Collection of open-source SANE backends (device drivers).
|
||||
SANE is a universal scanner interface providing standardized access to
|
||||
any raster image scanner hardware: flatbed scanners, hand-held scanners,
|
||||
video- and still-cameras, frame-grabbers, etc. For a list of supported
|
||||
scanners, see http://www.sane-project.org/sane-backends.html.
|
||||
'';
|
||||
homepage = "http://www.sane-project.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ peti ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,95 +0,0 @@
|
||||
{ lib, stdenv
|
||||
, gettext, pkg-config
|
||||
, avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
|
||||
|
||||
# List of { src name backend } attibute sets - see installFirmware below:
|
||||
, extraFirmware ? []
|
||||
|
||||
# For backwards compatibility with older setups; use extraFirmware instead:
|
||||
, gt68xxFirmware ? null, snapscanFirmware ? null
|
||||
|
||||
# Passed from versioned package (e.g. default.nix, git.nix):
|
||||
, version, src, ...
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
inherit src version;
|
||||
|
||||
name = "sane-backends-${version}";
|
||||
|
||||
outputs = [ "out" "doc" "man" ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
gettext
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
avahi
|
||||
libgphoto2
|
||||
libieee1284
|
||||
libjpeg
|
||||
libpng
|
||||
libtiff
|
||||
libusb1
|
||||
libv4l
|
||||
net-snmp
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
configureFlags = []
|
||||
++ lib.optional (avahi != null) "--enable-avahi"
|
||||
++ lib.optional (libusb1 != null) "--with-usb"
|
||||
;
|
||||
|
||||
postInstall = let
|
||||
|
||||
compatFirmware = extraFirmware
|
||||
++ lib.optional (gt68xxFirmware != null) {
|
||||
src = gt68xxFirmware.fw;
|
||||
inherit (gt68xxFirmware) name;
|
||||
backend = "gt68xx";
|
||||
}
|
||||
++ lib.optional (snapscanFirmware != null) {
|
||||
src = snapscanFirmware;
|
||||
name = "your-firmwarefile.bin";
|
||||
backend = "snapscan";
|
||||
};
|
||||
|
||||
installFirmware = f: ''
|
||||
mkdir -p $out/share/sane/${f.backend}
|
||||
ln -sv ${f.src} $out/share/sane/${f.backend}/${f.name}
|
||||
'';
|
||||
|
||||
in ''
|
||||
mkdir -p $out/etc/udev/rules.d/
|
||||
./tools/sane-desc -m udev > $out/etc/udev/rules.d/49-libsane.rules || \
|
||||
cp tools/udev/libsane.rules $out/etc/udev/rules.d/49-libsane.rules
|
||||
# the created 49-libsane references /bin/sh
|
||||
substituteInPlace $out/etc/udev/rules.d/49-libsane.rules \
|
||||
--replace "RUN+=\"/bin/sh" "RUN+=\"${stdenv.shell}"
|
||||
|
||||
substituteInPlace $out/lib/libsane.la \
|
||||
--replace "-ljpeg" "-L${libjpeg.out}/lib -ljpeg"
|
||||
|
||||
# net.conf conflicts with the file generated by the nixos module
|
||||
rm -f $out/etc/sane.d/net.conf
|
||||
'' + lib.concatStrings (builtins.map installFirmware compatFirmware);
|
||||
|
||||
meta = with lib; {
|
||||
description = "SANE (Scanner Access Now Easy) backends";
|
||||
longDescription = ''
|
||||
Collection of open-source SANE backends (device drivers).
|
||||
SANE is a universal scanner interface providing standardized access to
|
||||
any raster image scanner hardware: flatbed scanners, hand-held scanners,
|
||||
video- and still-cameras, frame-grabbers, etc. For a list of supported
|
||||
scanners, see http://www.sane-project.org/sane-backends.html.
|
||||
'';
|
||||
homepage = "http://www.sane-project.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
|
||||
maintainers = with maintainers; [ peti ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
{ callPackage, fetchgit, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "2017-12-01";
|
||||
src = fetchgit {
|
||||
sha256 = "0qf7d7268kdxnb723c03m6icxhbgx0vw8gqvck2q1w5b948dy9g8";
|
||||
rev = "e895ee55bec8a3320a0e972b32c05d35b47fe226";
|
||||
url = "https://gitlab.com/sane-project/backends.git";
|
||||
};
|
||||
})
|
@ -1,15 +1,15 @@
|
||||
{ lib, python3, fetchPypi, appdirs, attrs, requests,
|
||||
beautifulsoup4, click-plugins, elasticsearch, flask_login, flask_wtf,
|
||||
pypandoc, python-dotenv, python-frontmatter, tinydb, validators,
|
||||
watchdog, wtforms, html2text, flask-compress }:
|
||||
{ lib, buildPythonApplication, fetchPypi, appdirs, attrs
|
||||
, beautifulsoup4, click-plugins, elasticsearch, flask-compress
|
||||
, flask_login, flask_wtf, html2text, python-dotenv, python-frontmatter
|
||||
, requests, tinydb, validators, werkzeug, wtforms }:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
buildPythonApplication rec {
|
||||
pname = "archivy";
|
||||
version = "1.0.2";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "6f706b925175852d8101a4afe2304ab7ee7d56e9658538b9a8e49e925978b87e";
|
||||
sha256 = "sha256-yUXsTPb5oJYZA9MlHz7eLowRjD/ltq5VLTHeOMqcL/M=";
|
||||
};
|
||||
|
||||
# Relax some dependencies
|
||||
@ -30,18 +30,17 @@ python3.pkgs.buildPythonApplication rec {
|
||||
beautifulsoup4
|
||||
click-plugins
|
||||
elasticsearch
|
||||
flask-compress
|
||||
flask_login
|
||||
flask_wtf
|
||||
pypandoc
|
||||
html2text
|
||||
python-dotenv
|
||||
python-frontmatter
|
||||
tinydb
|
||||
requests
|
||||
tinydb
|
||||
validators
|
||||
watchdog
|
||||
werkzeug
|
||||
wtforms
|
||||
html2text
|
||||
flask-compress
|
||||
];
|
||||
|
||||
# __init__.py attempts to mkdir in read-only file system
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "coolreader";
|
||||
version = "3.2.53";
|
||||
version = "3.2.55";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "buggins";
|
||||
repo = pname;
|
||||
rev = "cr${version}";
|
||||
sha256 = "sha256-5it70cwRV56OMZI4dny5uwxWgoF42tjcEC4g3MC548s=";
|
||||
sha256 = "sha256-gYAaYGEjw7p6y4h5j6j/4Ld+b37Nv+kt04Wp+qb8gzY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -46,13 +46,13 @@ let
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "crow-translate";
|
||||
version = "2.8.0";
|
||||
version = "2.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "crow-translate";
|
||||
repo = "crow-translate";
|
||||
rev = version;
|
||||
sha256 = "sha256-kpr3Xn1ZLBS1fVhhJ/sxo8UgB4M+SdOVhddnU8pNUfA=";
|
||||
sha256 = "sha256-fmlNUhNorV/MUdfdDXM6puAblTTa6p2slVT/EKy5THg=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -12,7 +12,9 @@ stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's,--static,,g' Makefile
|
||||
substituteInPlace Makefile --replace "--static" ""
|
||||
'' + lib.optionalString stdenv.isi686 ''
|
||||
substituteInPlace Makefile --replace "-flto" ""
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
|
118
pkgs/applications/misc/freeplane/default.nix
Normal file
118
pkgs/applications/misc/freeplane/default.nix
Normal file
@ -0,0 +1,118 @@
|
||||
{ stdenv, lib, fetchpatch, fetchFromGitHub, makeWrapper, writeText, runtimeShell, jdk11, perl, gradle_5, which }:
|
||||
|
||||
let
|
||||
pname = "freeplane";
|
||||
version = "1.8.11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "release-${version}";
|
||||
sha256 = "07xjx9pf62dvy8lx6vnbwwcn1zqy89cmdmwy792k7gb12wz81nnc";
|
||||
};
|
||||
|
||||
deps = stdenv.mkDerivation {
|
||||
name = "${pname}-deps";
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ jdk11 perl gradle_5 ];
|
||||
|
||||
buildPhase = ''
|
||||
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon jar
|
||||
'';
|
||||
|
||||
# Mavenize dependency paths
|
||||
# e.g. org.codehaus.groovy/groovy/2.4.0/{hash}/groovy-2.4.0.jar -> org/codehaus/groovy/groovy/2.4.0/groovy-2.4.0.jar
|
||||
installPhase = ''
|
||||
find ./caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "0r7f6713m0whh5hlk1id7z9j5v9494r41sivn9fzl63q70kzz92g";
|
||||
};
|
||||
|
||||
# Point to our local deps repo
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
# downloaded from unicode.org and twemoji.maxcdn.com by code in freeplane/emoji.gradle
|
||||
# the below hash is for versions of freeplane that use twemoji 12.1.4, and emoji 12.1
|
||||
emoji = stdenv.mkDerivation rec {
|
||||
name = "${pname}-emoji";
|
||||
inherit src;
|
||||
|
||||
nativeBuildInputs = [ jdk11 gradle_5 ];
|
||||
|
||||
buildPhase = ''
|
||||
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} emojiGraphicsClasses emojiListClasses
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/emoji/txt $out/resources/images
|
||||
cp freeplane/build/emoji/txt/emojilist.txt $out/emoji/txt
|
||||
cp -r freeplane/build/emoji/resources/images/emoji/. $out/resources/images/emoji
|
||||
'';
|
||||
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "0zikbakbr2fhyv4h4h52ajhznjka0hg6hiqfy1528a39i6psipn3";
|
||||
};
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
inherit pname version src;
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
nativeBuildInputs = [ jdk11 gradle_5 ];
|
||||
|
||||
buildPhase = ''
|
||||
mkdir -p -- ./freeplane/build/emoji/{txt,resources/images}
|
||||
cp ${emoji}/emoji/txt/emojilist.txt ./freeplane/build/emoji/txt/emojilist.txt
|
||||
cp -r ${emoji}/resources/images/emoji ./freeplane/build/emoji/resources/images/emoji
|
||||
GRADLE_USER_HOME=$PWD gradle -Dorg.gradle.java.home=${jdk11} --no-daemon --offline --init-script ${gradleInit} -x test -x :freeplane:downloadEmoji build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/bin $out/share
|
||||
|
||||
cp -a ./BIN/. $out/share/${pname}
|
||||
makeWrapper $out/share/${pname}/${pname}.sh $out/bin/${pname} \
|
||||
--set FREEPLANE_BASE_DIR $out/share/${pname} \
|
||||
--set JAVA_HOME ${jdk11} \
|
||||
--prefix PATH : ${lib.makeBinPath [ jdk11 which ]}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Mind-mapping software";
|
||||
homepage = "https://freeplane.org/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ chaduffy ];
|
||||
};
|
||||
}
|
@ -2,11 +2,11 @@
|
||||
|
||||
buildPythonApplication rec {
|
||||
pname = "gallery_dl";
|
||||
version = "1.17.0";
|
||||
version = "1.17.1";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "bf5196b9e18a45d62d7e823894f12def310264a258956882cbac13b5e856bf00";
|
||||
sha256 = "1cfaa3a617d5d222d4b9b41634b1bdede2673a8620d6b0e62fb755ae224ca2ac";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ requests ];
|
||||
|
26
pkgs/applications/misc/go-org/default.nix
Normal file
26
pkgs/applications/misc/go-org/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{ lib, fetchFromGitHub, buildGoModule }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "go-org";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "niklasfasching";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-nMZzRbu3lxunIlnnmb49Ljt8oSiYpj+8gZ0u/OFRRDM=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-njx89Ims7GZql8sbVmH/E9gM/ONRWiPRLVs+FzsCSzI=";
|
||||
|
||||
postInstallCheck = ''
|
||||
$out/bin/go-org > /dev/null
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Org-mode parser and static site generator in go";
|
||||
homepage = "https://niklasfasching.github.io/go-org";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ payas ];
|
||||
};
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
{ lib
|
||||
, boost
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, installShellFiles
|
||||
, mkDerivationWith
|
||||
, muparser
|
||||
@ -11,36 +10,20 @@
|
||||
, qtsvg
|
||||
, qttools
|
||||
, runtimeShell
|
||||
, gcc8Stdenv
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
let
|
||||
stdenv = gcc8Stdenv;
|
||||
in
|
||||
|
||||
# Doesn't build with gcc9
|
||||
mkDerivationWith stdenv.mkDerivation rec {
|
||||
pname = "librecad";
|
||||
version = "2.2.0-rc1";
|
||||
version = "2.2.0-rc2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "LibreCAD";
|
||||
repo = "LibreCAD";
|
||||
rev = version;
|
||||
sha256 = "0kwj838hqzbw95gl4x6scli9gj3gs72hdmrrkzwq5rjxam18k3f3";
|
||||
sha256 = "sha256-RNg7ioMriH4A7V65+4mh8NhsUHs/8IbTt38nVkYilCE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
./fix_qt_5_11_build.patch
|
||||
(
|
||||
fetchpatch {
|
||||
# Fix missing app name and icon on Wayland.
|
||||
url = "https://github.com/LibreCAD/LibreCAD/commit/a17f8281093403f0c7c36996232665ed21906688.patch";
|
||||
sha256 = "1x46psh4bcx2hxck4l83ki43g1252vb033i2x94h4rpai9hww4d5";
|
||||
}
|
||||
)
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace scripts/postprocess-unix.sh \
|
||||
--replace /bin/sh ${runtimeShell}
|
||||
@ -88,16 +71,11 @@ mkDerivationWith stdenv.mkDerivation rec {
|
||||
qttools
|
||||
];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with lib; {
|
||||
description = "2D CAD package based on Qt";
|
||||
homepage = "https://librecad.org";
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [
|
||||
kiwi
|
||||
viric
|
||||
];
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = with maintainers; [ kiwi viric ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,36 +0,0 @@
|
||||
diff --git a/librecad/src/ui/forms/qg_commandwidget.cpp b/librecad/src/ui/forms/qg_commandwidget.cpp
|
||||
index 835e47d..2c878e8 100644
|
||||
--- a/librecad/src/ui/forms/qg_commandwidget.cpp
|
||||
+++ b/librecad/src/ui/forms/qg_commandwidget.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
|
||||
#include <algorithm>
|
||||
|
||||
+#include <QAction>
|
||||
#include <QKeyEvent>
|
||||
#include <QFileDialog>
|
||||
#include <QSettings>
|
||||
diff --git a/librecad/src/ui/generic/colorwizard.cpp b/librecad/src/ui/generic/colorwizard.cpp
|
||||
index 2beaceb..84068ad 100644
|
||||
--- a/librecad/src/ui/generic/colorwizard.cpp
|
||||
+++ b/librecad/src/ui/generic/colorwizard.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "colorwizard.h"
|
||||
#include "ui_colorwizard.h"
|
||||
|
||||
+#include <QAction>
|
||||
#include <QColorDialog>
|
||||
#include <QLineEdit>
|
||||
#include <QListWidget>
|
||||
diff --git a/librecad/src/ui/generic/widgetcreator.cpp b/librecad/src/ui/generic/widgetcreator.cpp
|
||||
index 7c35144..0e394f2 100644
|
||||
--- a/librecad/src/ui/generic/widgetcreator.cpp
|
||||
+++ b/librecad/src/ui/generic/widgetcreator.cpp
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "widgetcreator.h"
|
||||
#include "ui_widgetcreator.h"
|
||||
|
||||
+#include <QActionGroup>
|
||||
#include <QSettings>
|
||||
#include <QLineEdit>
|
||||
#include <QPushButton>
|
52
pkgs/applications/misc/logseq/default.nix
Normal file
52
pkgs/applications/misc/logseq/default.nix
Normal file
@ -0,0 +1,52 @@
|
||||
{ lib, stdenv, fetchurl, appimageTools, makeWrapper, electron }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "logseq";
|
||||
version = "0.0.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
|
||||
sha256 = "0a7c33f7d5ylcy6lqkpxp78wwyi4n5q4jdy7b8nx7p34sn2jnpf7";
|
||||
name = "${pname}-${version}.AppImage";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract {
|
||||
name = "${pname}-${version}";
|
||||
inherit src;
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin $out/share/${pname} $out/share/applications
|
||||
cp -a ${appimageContents}/{locales,resources} $out/share/${pname}
|
||||
cp -a ${appimageContents}/Logseq.desktop $out/share/applications/${pname}.desktop
|
||||
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace Exec=Logseq Exec=${pname} \
|
||||
--replace Icon=Logseq Icon=$out/share/${pname}/resources/app/icons/logseq.png
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
makeWrapper ${electron}/bin/electron $out/bin/${pname} \
|
||||
--add-flags $out/share/${pname}/resources/app
|
||||
'';
|
||||
|
||||
passthru.updateScript = ./update.sh;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base";
|
||||
homepage = "https://github.com/logseq/logseq";
|
||||
license = licenses.agpl3Plus;
|
||||
maintainers = with maintainers; [ weihua ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
5
pkgs/applications/misc/logseq/update.sh
Executable file
5
pkgs/applications/misc/logseq/update.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl jq common-updater-scripts
|
||||
|
||||
version="$(curl -sL "https://api.github.com/repos/logseq/logseq/releases" | jq '.[0].tag_name' --raw-output)"
|
||||
update-source-version logseq "$version"
|
59
pkgs/applications/misc/moonlight-qt/default.nix
Normal file
59
pkgs/applications/misc/moonlight-qt/default.nix
Normal file
@ -0,0 +1,59 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, wrapQtAppsHook
|
||||
, pkg-config
|
||||
, qmake
|
||||
, qtquickcontrols2
|
||||
, SDL2
|
||||
, SDL2_ttf
|
||||
, libva
|
||||
, libvdpau
|
||||
, libxkbcommon
|
||||
, alsaLib
|
||||
, libpulseaudio
|
||||
, openssl
|
||||
, libopus
|
||||
, ffmpeg
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "moonlight-qt";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "moonlight-stream";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "e7fwb76zzidtF1COqrQ6gSF7bCX20j/CGjPu1Cb4HGc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapQtAppsHook
|
||||
pkg-config
|
||||
qmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qtquickcontrols2
|
||||
SDL2
|
||||
SDL2_ttf
|
||||
libva
|
||||
libvdpau
|
||||
libxkbcommon
|
||||
alsaLib
|
||||
libpulseaudio
|
||||
openssl
|
||||
libopus
|
||||
ffmpeg
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Play your PC games on almost any device";
|
||||
homepage = "https://moonlight-stream.org";
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ luc65r ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -22,24 +22,28 @@ in stdenv.mkDerivation rec {
|
||||
sha256 = "0rljl44y8p8hgaqializlyrgpij1wbnrzyp0ll5kcg7w05nylq48";
|
||||
};
|
||||
|
||||
patches =
|
||||
lib.optional stdenv.isDarwin ./darwin.patch ++ [
|
||||
patches = lib.optional stdenv.isDarwin ./darwin.patch ++ [
|
||||
(fetchpatch {
|
||||
name = "pdfocr.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
|
||||
sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
|
||||
})
|
||||
name = "pdfocr.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
|
||||
sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "pdf-layer.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
|
||||
sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
|
||||
})
|
||||
name = "pdf-layer.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
|
||||
sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "pixmap.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
|
||||
sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
|
||||
})
|
||||
];
|
||||
name = "pixmap.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
|
||||
sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "CVE-2021-3407.patch";
|
||||
url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=cee7cefc610d42fd383b3c80c12cbc675443176a";
|
||||
sha256 = "18g9jsj90jnqibaff8pqi70a7x8ygc3sh4jl4xnvlv8vr7fxxbh6";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
|
||||
|
71
pkgs/applications/misc/portfolio-filemanager/default.nix
Normal file
71
pkgs/applications/misc/portfolio-filemanager/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ lib
|
||||
, python3
|
||||
, fetchFromGitHub
|
||||
, appstream-glib
|
||||
, desktop-file-utils
|
||||
, gettext
|
||||
, glib
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, libhandy
|
||||
, librsvg
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "portfolio";
|
||||
version = "0.9.10";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tchx84";
|
||||
repo = "Portfolio";
|
||||
rev = "v${version}";
|
||||
sha256 = "06hk0kx6h8w263qa71bik68rg4r8qs94b6s60pyhzicfc822k0j4";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs build-aux/meson
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
desktop-file-utils
|
||||
gettext
|
||||
glib
|
||||
gobject-introspection
|
||||
gtk3
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gobject-introspection
|
||||
libhandy
|
||||
librsvg
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pygobject3
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
ln -s dev.tchx84.Portfolio "$out/bin/portfolio"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A minimalist file manager for those who want to use Linux mobile devices";
|
||||
homepage = "https://github.com/tchx84/Portfolio";
|
||||
changelog = "https://github.com/tchx84/Portfolio/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, wrapGAppsHook, gdk-pixbuf, hicolor-icon-theme, theme ? null, plugins ? [] }:
|
||||
{ symlinkJoin, lib, rofi-unwrapped, makeWrapper, wrapGAppsHook, gdk-pixbuf, hicolor-icon-theme, theme ? null, plugins ? [], symlink-dmenu ? false }:
|
||||
|
||||
symlinkJoin {
|
||||
name = "rofi-${rofi-unwrapped.version}";
|
||||
@ -29,6 +29,8 @@ symlinkJoin {
|
||||
${lib.optionalString (theme != null) ''--add-flags "-theme ${theme}"''} \
|
||||
${lib.optionalString (plugins != []) ''--add-flags "-plugin-path $out/lib/rofi"''}
|
||||
|
||||
${lib.optionalString symlink-dmenu "ln -s ${rofi-unwrapped}/bin/rofi $out/bin/dmenu"}
|
||||
|
||||
rm $out/bin/rofi-theme-selector
|
||||
makeWrapper ${rofi-unwrapped}/bin/rofi-theme-selector $out/bin/rofi-theme-selector \
|
||||
--prefix XDG_DATA_DIRS : $out/share
|
||||
|
@ -17,10 +17,10 @@ let
|
||||
|
||||
pname = "simplenote";
|
||||
|
||||
version = "2.2.0";
|
||||
version = "2.5.0";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "123b0fh14068s2z3k6s5mmh46xwlz02qfnpmj838zlm5hckjmifv";
|
||||
x86_64-linux = "sha256-Mn1oie+YHNtYKriIAIHdO+tUQDqaA34dkAJgZvQy76I=";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
meta = with lib; {
|
||||
|
25
pkgs/applications/misc/sunwait/default.nix
Normal file
25
pkgs/applications/misc/sunwait/default.nix
Normal file
@ -0,0 +1,25 @@
|
||||
{ lib, stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "sunwait";
|
||||
version = "2020-10-26";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "risacher";
|
||||
repo = "sunwait";
|
||||
rev = "102cb417ecbb7a3757ba9ee4b94d6db3225124c4";
|
||||
sha256 = "0cs8rdcnzsl10zia2k49a6c2z6gvp5rnf31sgn3hn5c7kgy7l3ax";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 sunwait -t $out/bin
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Calculates sunrise or sunset times with civil, nautical, astronomical and custom twilights";
|
||||
homepage = "https://github.com/risacher/sunwait";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ etu ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "surface-control";
|
||||
version = "0.3.1-1";
|
||||
version = "0.3.1-2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linux-surface";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0wclzlix0a2naxbdg3wym7yw19p2wqpcjmkf7gn8cs00shrmzjld";
|
||||
sha256 = "sha256-SLJ4mwBafLGL5pneMTHLc4S4Tgds2xLqByWFH95TK1k=";
|
||||
};
|
||||
|
||||
cargoSha256 = "0vi26v9mvx298kx6k5g7h8dnn7r208an9knadc23vxcrrxjr6pn5";
|
||||
cargoSha256 = "sha256-a+4oOkO90TObfYnq9NZsWy5RmYFYN1BKvUKxpvjiJc8=";
|
||||
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tickrs";
|
||||
version = "0.14.3";
|
||||
version = "0.14.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "tarkah";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mHMBhYI9pJkuK/6tCg1fXPjTfGFe0gkMzplesuFvl5M=";
|
||||
sha256 = "sha256-OOsBo+NCfn++2XyfQVoeEPcbSv645Ng7g9s4W7X2xg4=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-XmLobbVTYO8dA8YVtI/ntlD1RB9sO3poP6NBdDOPIlE=";
|
||||
cargoSha256 = "sha256-PW8f4PZGctHd8YBBRvmueR8UgtyDQZpqf2lTU1t68iM=";
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE, libxkbcommon
|
||||
{ lib, stdenv, fetchurl, zlib, libX11, libXext, libSM, libICE, libxkbcommon, libxshmfence
|
||||
, libXfixes, libXt, libXi, libXcursor, libXScrnSaver, libXcomposite, libXdamage, libXtst, libXrandr
|
||||
, alsaLib, dbus, cups, libexif, ffmpeg_3, systemd
|
||||
, freetype, fontconfig, libXft, libXrender, libxcb, expat
|
||||
@ -18,11 +18,11 @@ let
|
||||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "3.6.2165.36-1";
|
||||
version = "3.7.2218.45-1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
|
||||
sha256 = "1wgxzggy5sg98k4lzd34k4hyw2jgc14db41z7s7j3c5whlnifh08";
|
||||
sha256 = "11q3whw01nbwvzccgn55b4lkr7dzlql961406r6by8xqvf8zgmp4";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ patchelf makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libxcb libxkbcommon
|
||||
stdenv.cc.cc stdenv.cc.libc zlib libX11 libXt libXext libSM libICE libxcb libxkbcommon libxshmfence
|
||||
libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
|
||||
atk at-spi2-atk at-spi2-core alsaLib dbus cups gtk3 gdk-pixbuf libexif ffmpeg_3 systemd
|
||||
freetype fontconfig libXrender libuuid expat glib nss nspr
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helmsman";
|
||||
version = "3.6.4";
|
||||
version = "3.6.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Praqma";
|
||||
repo = "helmsman";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-4oJ/undqDSNn+Xn8eFEgOx+7263tmdXTHxXBkyFLpsE=";
|
||||
sha256 = "sha256-FOBSGXVIb4mLDHMqOljZ04W0q/H/HOuFm9Cl2kK027s=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-mktq5Dnk1mBO2yy5SeMDxa/akXdO5i2WafMTGtH53H8=";
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kpt";
|
||||
version = "0.37.1";
|
||||
version = "0.38.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "GoogleContainerTools";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-4SGCYkx9U6XNUrJfVPgNEhFA75CF8GOrtS4BSm6f7mM=";
|
||||
sha256 = "sha256-MBZa4LdpCZnVVbjzkYpPi9/CYGqVLeYy2N/AS1PSYBE=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-y/l9k3oTrN+9OGgyiVzCyYi+6lJpcKaEygirytbn9aI=";
|
||||
vendorSha256 = "sha256-P0cN8aw62nPD1OlUAw1E36YxptxtPqqruZfDDG4Ag2w=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
@ -20,13 +20,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kubernetes";
|
||||
version = "1.20.4";
|
||||
version = "1.20.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kubernetes";
|
||||
repo = "kubernetes";
|
||||
rev = "v${version}";
|
||||
sha256 = "0nni351ya688dphdkpyq94p3wjw2kigg85kmalwdpv5wpz1abl5g";
|
||||
sha256 = "sha256-RDaD7tlTtAucW8ido9FumKb5E9n6F9H8HwxQ9TPyOLk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
|
||||
|
@ -10,20 +10,20 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "nerdctl";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AkihiroSuda";
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-tMzob+ljGBKkfbxwMqy+8bqVp51Eqyx4kXhsj/LRfzQ=";
|
||||
sha256 = "sha256-0q3UmlXzW0fGYPc1IptuIbCMnKW4pyDm1KxkRqU2voA=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-zUX/kneVz8uXmxly8yqmcttK3Wj4EmBaT8gmg3hDms4=";
|
||||
vendorSha256 = "sha256-QVvID9rrOFngL94LWN75HSnyTgh3F0KaScWxMIKUqDM=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
preBuild = let t = "github.com/AkihiroSuda/nerdctl/pkg/version"; in
|
||||
preBuild = let t = "github.com/containerd/nerdctl/pkg/version"; in
|
||||
''
|
||||
buildFlagsArray+=("-ldflags" "-s -w -X ${t}.Version=v${version} -X ${t}.Revision=<unknown>")
|
||||
'';
|
||||
@ -36,9 +36,6 @@ buildGoModule rec {
|
||||
--prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \
|
||||
--prefix CNI_PATH : "${cni-plugins}/bin"
|
||||
|
||||
# nerdctl panics without XDG_RUNTIME_DIR set
|
||||
export XDG_RUNTIME_DIR=$TMPDIR
|
||||
|
||||
installShellCompletion --cmd nerdctl \
|
||||
--bash <($out/bin/nerdctl completion bash)
|
||||
'';
|
||||
@ -52,8 +49,8 @@ buildGoModule rec {
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/AkihiroSuda/nerdctl/";
|
||||
changelog = "https://github.com/AkihiroSuda/nerdctl/releases/tag/v${version}";
|
||||
homepage = "https://github.com/containerd/nerdctl/";
|
||||
changelog = "https://github.com/containerd/nerdctl/releases/tag/v${version}";
|
||||
description = "A Docker-compatible CLI for containerd";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ jk ];
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "qbec";
|
||||
version = "0.13.4";
|
||||
version = "0.14.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "splunk";
|
||||
repo = "qbec";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-jbGEkBBXb1dDv4E7vEPVyvDahz27Kpyo3taenCH/vfw=";
|
||||
sha256 = "sha256-+CzY/ifH+U3I36uHXyO2FSkPCz+SWRpSPnxfd2LHHhY=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-rzxtLaGUl8hxcJ+GWlrkjN+f7mb0lXrtkHj/pBO8HzQ=";
|
||||
vendorSha256 = "sha256-wtpXqIixjRYYSIPe43Q5627g6mu05WdvwCi9cXVgCBs=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -3,27 +3,23 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "newsboat";
|
||||
version = "2.22.1";
|
||||
version = "2.23";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "newsboat";
|
||||
repo = "newsboat";
|
||||
rev = "r${version}";
|
||||
sha256 = "1j3z34dhqw0f1v6v2lfwcvzqnm2kr2940bgxibfi0npacp74izh3";
|
||||
sha256 = "0a0g9km515kipqmz6c09aj3lgy3nkzqwgnp87fh8f2vr098fn144";
|
||||
};
|
||||
|
||||
cargoSha256 = "08ywaka1lib8yrqjmfx1i37f7b33y3i6jj7f50pwhw8n6lr9f7lc";
|
||||
cargoSha256 = "11dn1ixc7i29cv8kpqfkmikdqzr2v79vlyfxcvjwhgd0r34w4xhn";
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace Makefile --replace "|| true" ""
|
||||
''
|
||||
# TODO: Check if that's still needed
|
||||
+ lib.optionalString stdenv.isDarwin ''
|
||||
# Allow other ncurses versions on Darwin
|
||||
substituteInPlace config.sh \
|
||||
--replace "ncurses5.4" "ncurses"
|
||||
''
|
||||
;
|
||||
# TODO: Check if that's still needed
|
||||
postPatch = lib.optionalString stdenv.isDarwin ''
|
||||
# Allow other ncurses versions on Darwin
|
||||
substituteInPlace config.sh \
|
||||
--replace "ncurses5.4" "ncurses"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
68
pkgs/applications/networking/giara/default.nix
Normal file
68
pkgs/applications/networking/giara/default.nix
Normal file
@ -0,0 +1,68 @@
|
||||
{ lib
|
||||
, fetchFromGitLab
|
||||
, meson
|
||||
, gobject-introspection
|
||||
, pkg-config
|
||||
, ninja
|
||||
, python3
|
||||
, wrapGAppsHook
|
||||
, gtk3
|
||||
, gdk-pixbuf
|
||||
, webkitgtk
|
||||
, gtksourceview4
|
||||
, libhandy
|
||||
, glib-networking
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "giara";
|
||||
version = "0.3";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "World";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "004qmkfrgd37axv0b6hfh6v7nx4pvy987k5yv4bmlmkj9sbqm6f9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
gobject-introspection
|
||||
pkg-config
|
||||
ninja
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3
|
||||
gdk-pixbuf
|
||||
webkitgtk
|
||||
gtksourceview4
|
||||
libhandy
|
||||
glib-networking
|
||||
];
|
||||
|
||||
pythonPath = with python3.pkgs; [
|
||||
pygobject3
|
||||
pycairo
|
||||
dateutil
|
||||
praw
|
||||
pillow
|
||||
mistune
|
||||
beautifulsoup4
|
||||
];
|
||||
|
||||
# Fix setup-hooks https://github.com/NixOS/nixpkgs/issues/56943
|
||||
strictDeps = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "A Reddit app, built with Python, GTK and Handy; Created with mobile Linux in mind";
|
||||
maintainers = with maintainers; [ dasj19 ];
|
||||
homepage = "https://gitlab.gnome.org/World/giara";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
@ -88,8 +88,6 @@ stdenv.mkDerivation rec {
|
||||
description = "Matrix group messaging app";
|
||||
homepage = "https://gitlab.gnome.org/GNOME/fractal";
|
||||
license = licenses.gpl3;
|
||||
# couldn't read /build/source/build/podcasts-gtk/resources/resources.gresource: No such file or directory (os error 2)
|
||||
broken = true;
|
||||
maintainers = with maintainers; [ dtzWill worldofpeace ];
|
||||
};
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
{ lib, stdenv, fetchurl, dpkg
|
||||
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome3
|
||||
, gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
|
||||
, at-spi2-atk, libuuid, at-spi2-core }:
|
||||
, at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon }:
|
||||
|
||||
let
|
||||
|
||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||
# source of the latter disappears much faster.
|
||||
version = "8.68.0.100";
|
||||
version = "8.69.0.77";
|
||||
|
||||
rpath = lib.makeLibraryPath [
|
||||
alsaLib
|
||||
@ -40,8 +40,11 @@ let
|
||||
pango
|
||||
stdenv.cc.cc
|
||||
systemd
|
||||
libv4l
|
||||
|
||||
libv4l
|
||||
libdrm
|
||||
mesa
|
||||
libxkbcommon
|
||||
xorg.libxkbfile
|
||||
xorg.libX11
|
||||
xorg.libXcomposite
|
||||
@ -65,7 +68,7 @@ let
|
||||
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
];
|
||||
sha256 = "gHjgQRdNABO+R+fcDurHDAQtZpckIxLbODM6Txz+LH4=";
|
||||
sha256 = "PaqlPp+BRS0cH7XI4x1/5HqYti63rQThmTtPaghIQH0=";
|
||||
}
|
||||
else
|
||||
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchurl, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }:
|
||||
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, ncurses, glib, openssl, perl, libintl, libgcrypt, libotr }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "irssi";
|
||||
@ -9,6 +9,13 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0g2nxazn4lszmd6mf1s36x5ablk4999g1qx7byrnvgnjsihjh62k";
|
||||
};
|
||||
|
||||
# Fix irssi on GLib >2.62 input being stuck after entering a NUL byte
|
||||
# See https://github.com/irssi/irssi/issues/1180 - remove after next update.
|
||||
patches = fetchpatch {
|
||||
url = "https://github.com/irssi/irssi/releases/download/1.2.2/glib-2-63.patch";
|
||||
sha256 = "1ad1p7395n8dfmv97wrf751wwzgncqfh9fp27kq5kfdvh661da1i";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ ncurses glib openssl perl libintl libgcrypt libotr ];
|
||||
|
||||
|
@ -55,6 +55,10 @@ mkDerivation rec {
|
||||
sqlite
|
||||
];
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
|
||||
];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
|
||||
"-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "tixati";
|
||||
version = "2.74";
|
||||
version = "2.81";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
|
||||
sha256 = "1slsrqv97hnj1vxx3hw32dhqckbr05w622samjbrimh4dv8yrd29";
|
||||
sha256 = "sha256-qwKxlmE59V+rXtuYWBMwD1O7OO4gb36lN8syFyQ6uLc=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "seaweedfs";
|
||||
version = "2.31";
|
||||
version = "2.32";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "chrislusf";
|
||||
repo = "seaweedfs";
|
||||
rev = version;
|
||||
sha256 = "sha256-0s/hcRUuskU4TZqk5h4A51mkEJ6uUZS42mKDQvSx3I4=";
|
||||
sha256 = "sha256-0VryhH0ELBLVZL2vLuAcjZ0a5otk/etr3riRyc+7YTk=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-QpGRQQbNchj0T9USRnALjvOGd2cV+JUgJeRgfjK8n5o=";
|
||||
vendorSha256 = "sha256-besXzqlmhFbWfnlacGildBbNATVrtMthf+BA/pL7R5I=";
|
||||
|
||||
subPackages = [ "weed" ];
|
||||
|
||||
|
@ -2,10 +2,10 @@
|
||||
, libsoup, gnome3 }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "homebank-5.5";
|
||||
name = "homebank-5.5.1";
|
||||
src = fetchurl {
|
||||
url = "http://homebank.free.fr/public/${name}.tar.gz";
|
||||
sha256 = "sha256-3tqmsCxQXNAsDsLdiyuk4MydH0WgHqsNpgqxvCp+bHU=";
|
||||
sha256 = "sha256-m7OeqtPExo0ry+IeL2xKUnTjo/OFr7Ky/3OuX9mY2gg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
|
||||
|
@ -476,11 +476,11 @@
|
||||
md5name = "b24890e2bb46e12e72a79f7e965f409f4e16466d00e1dd15d93d73ee6b592523-libjpeg-turbo-1.5.3.tar.gz";
|
||||
}
|
||||
{
|
||||
name = "language-subtag-registry-2020-09-29.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2020-09-29.tar.bz2";
|
||||
sha256 = "cbe9fca811a37056560aab73e9fc9d3522b46b6785cb02db165f521bf42c230f";
|
||||
name = "language-subtag-registry-2020-12-18.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/language-subtag-registry-2020-12-18.tar.bz2";
|
||||
sha256 = "62ce680d5db0f28001b64bd57db47f388c13629cdefc9af8e8af0fbe93689ba1";
|
||||
md5 = "";
|
||||
md5name = "cbe9fca811a37056560aab73e9fc9d3522b46b6785cb02db165f521bf42c230f-language-subtag-registry-2020-09-29.tar.bz2";
|
||||
md5name = "62ce680d5db0f28001b64bd57db47f388c13629cdefc9af8e8af0fbe93689ba1-language-subtag-registry-2020-12-18.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "JLanguageTool-1.7.0.tar.bz2";
|
||||
@ -546,11 +546,11 @@
|
||||
md5name = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e-liblangtag-0.6.2.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "libnumbertext-1.0.6.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.6.tar.xz";
|
||||
sha256 = "739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57";
|
||||
name = "libnumbertext-1.0.7.tar.xz";
|
||||
url = "https://dev-www.libreoffice.org/src/libnumbertext-1.0.7.tar.xz";
|
||||
sha256 = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc";
|
||||
md5 = "";
|
||||
md5name = "739f220b34bf7cb731c09de2921771d644d37dfd276c45564401e5759f10ae57-libnumbertext-1.0.6.tar.xz";
|
||||
md5name = "17b8249cb89ae11ae15a85612d2665626c0e0e3e56b35654363ba6566d8b61fc-libnumbertext-1.0.7.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "ltm-1.0.zip";
|
||||
@ -735,11 +735,11 @@
|
||||
md5name = "016dde34e5f868ea98a32ca99b643325a9682281500942b7113f4ec88d20e2f3-poppler-21.01.0.tar.xz";
|
||||
}
|
||||
{
|
||||
name = "postgresql-9.2.24.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/postgresql-9.2.24.tar.bz2";
|
||||
sha256 = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126";
|
||||
name = "postgresql-13.1.tar.bz2";
|
||||
url = "https://dev-www.libreoffice.org/src/postgresql-13.1.tar.bz2";
|
||||
sha256 = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f";
|
||||
md5 = "";
|
||||
md5name = "a754c02f7051c2f21e52f8669a421b50485afcde9a581674d6106326b189d126-postgresql-9.2.24.tar.bz2";
|
||||
md5name = "12345c83b89aa29808568977f5200d6da00f88a035517f925293355432ffe61f-postgresql-13.1.tar.bz2";
|
||||
}
|
||||
{
|
||||
name = "Python-3.8.4.tar.xz";
|
||||
|
@ -8,8 +8,8 @@ rec {
|
||||
|
||||
major = "7";
|
||||
minor = "1";
|
||||
patch = "0";
|
||||
tweak = "3";
|
||||
patch = "1";
|
||||
tweak = "2";
|
||||
|
||||
subdir = "${major}.${minor}.${patch}";
|
||||
|
||||
@ -17,13 +17,13 @@ rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
|
||||
sha256 = "1rpk90g1g8m70nrj4lwkg50aiild73d29yjlgyrgg8wx6hzq7l4y";
|
||||
sha256 = "1vz028hzbc4n8jznigs419ygylz1vp426dprrkm62bzckv2p1rfn";
|
||||
};
|
||||
|
||||
# FIXME rename
|
||||
translations = fetchSrc {
|
||||
name = "translations";
|
||||
sha256 = "0m6cxyrxig8akv9183xdn6ialmjddicn676149nm506yc5y0szmi";
|
||||
sha256 = "1vidv8077f394zn87b2ng1hsld0hgr1zb1p9lmjx0n9k7s7clavh";
|
||||
};
|
||||
|
||||
# the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
|
||||
@ -31,6 +31,6 @@ rec {
|
||||
|
||||
help = fetchSrc {
|
||||
name = "help";
|
||||
sha256 = "1kvsi28n8x3gxpiszxh84x05aw23i3z4id63pgw2s7mfclby52k9";
|
||||
sha256 = "14wn0lvvplsj194jdqqv184xx0adb4mm8bjflddvcqsl7xsfqx27";
|
||||
};
|
||||
}
|
||||
|
90
pkgs/applications/office/semantik/default.nix
Normal file
90
pkgs/applications/office/semantik/default.nix
Normal file
@ -0,0 +1,90 @@
|
||||
{ lib
|
||||
, mkDerivation
|
||||
, fetchFromGitLab
|
||||
, wafHook
|
||||
, pkg-config
|
||||
, cmake
|
||||
, qtbase
|
||||
, python3
|
||||
, qtwebengine
|
||||
, qtsvg
|
||||
, ncurses6
|
||||
, kio
|
||||
, kauth
|
||||
, kiconthemes
|
||||
, kconfigwidgets
|
||||
, kxmlgui
|
||||
, kcoreaddons
|
||||
, kconfig
|
||||
, kwidgetsaddons
|
||||
, ki18n
|
||||
, sonnet
|
||||
, kdelibs4support
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "semantik";
|
||||
version = "1.2.5";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ita1024";
|
||||
repo = "semantik";
|
||||
rev = "semantik-${version}";
|
||||
sha256 = "0dkg6mbnsbvbis17iz8v59wlhld93nc51abnkbyqvvkyyiqb006c";
|
||||
};
|
||||
|
||||
patches = [ ./qt5.patch ];
|
||||
|
||||
postPatch = ''
|
||||
echo "${lib.getDev qtwebengine}"
|
||||
substituteInPlace wscript \
|
||||
--replace @Qt5Base_dev@ "${lib.getDev qtbase}" \
|
||||
--replace @KF5KIOCore_dev@ "${lib.getDev kio}" \
|
||||
--replace @KF5Auth_dev@ "${lib.getDev kauth}" \
|
||||
--replace @KF5IconThemes_dev@ "${lib.getDev kiconthemes}" \
|
||||
--replace @KF5ConfigWidgets_dev@ "${lib.getDev kconfigwidgets}" \
|
||||
--replace @KF5XmlGui_dev@ "${lib.getDev kxmlgui}" \
|
||||
--replace @KF5CoreAddons_dev@ "${lib.getDev kcoreaddons}" \
|
||||
--replace @KF5Config_dev@ "${lib.getDev kconfig}" \
|
||||
--replace @KF5WidgetsAddons_dev@ "${lib.getDev kwidgetsaddons}" \
|
||||
--replace @KF5I18n_dev@ "${lib.getDev ki18n}" \
|
||||
--replace @KF5SonnetUi_dev@ "${lib.getDev sonnet}" \
|
||||
--replace @Qt5Svg@ "${qtsvg}" \
|
||||
--replace @Qt5Svg_dev@ "${lib.getDev qtsvg}" \
|
||||
--replace @Qt5WebEngine@ "${qtwebengine}" \
|
||||
--replace @Qt5WebEngine_dev@ "${lib.getDev qtwebengine}" \
|
||||
--replace /usr/include/KF5/KDELibs4Support "${lib.getDev kdelibs4support}/include/KF5/KDELibs4Support"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ (lib.getDev qtsvg) (lib.getLib qtsvg) python3 pkg-config wafHook cmake ];
|
||||
|
||||
buildInputs = [
|
||||
qtbase
|
||||
qtwebengine
|
||||
qtsvg
|
||||
ncurses6
|
||||
kio
|
||||
kauth
|
||||
kiconthemes
|
||||
kconfigwidgets
|
||||
kxmlgui
|
||||
kcoreaddons
|
||||
kconfig
|
||||
kwidgetsaddons
|
||||
ki18n
|
||||
sonnet
|
||||
kdelibs4support
|
||||
];
|
||||
|
||||
wafConfigureFlags = [
|
||||
"--qtlibs=${lib.getLib qtbase}/lib"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A mind-mapping application for KDE";
|
||||
license = licenses.mit;
|
||||
homepage = "https://waf.io/semantik.html";
|
||||
maintainers = [ maintainers.shamilton ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user