Merge origin/master into haskell-updates.

This commit is contained in:
Peter Simons 2021-03-22 22:39:48 +01:00
commit cf991521dc
469 changed files with 11438 additions and 7472 deletions

146
.github/labeler.yml vendored Normal file
View 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
View 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

View 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 ]; }
```

View File

@ -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>

View File

@ -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" />

View File

@ -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

View File

@ -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";

View File

@ -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

View File

@ -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>

View File

@ -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

View File

@ -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}";

View 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

View File

@ -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": {}
}

View File

@ -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": {}
}

View File

@ -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": {}
}

View File

@ -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",

View File

@ -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

View 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": {}
}

View File

@ -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": []
}

View File

@ -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

View 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";

View File

@ -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";

View File

@ -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 [

View File

@ -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()

View File

@ -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";

View File

@ -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}",
]

View File

@ -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"
'';
}
)

View File

@ -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"',
)
'';
}

View File

@ -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";

View File

@ -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;
};
}

View File

@ -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";

View File

@ -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 = ''

View 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 ];
};
}

View File

@ -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=";
};

View File

@ -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 ];

View File

@ -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)

View File

@ -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 = {

View File

@ -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 = ''

View File

@ -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;

View File

@ -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; {

View File

@ -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",

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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";

View File

@ -21,6 +21,5 @@ buildGoPackage rec {
longDescription = "The Hex Editor From Hell!";
license = with licenses; [ mit ];
maintainers = with maintainers; [ ramkromberg ];
platforms = with platforms; linux;
};
}

View File

@ -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";

View File

@ -57,6 +57,6 @@ python3Packages.buildPythonApplication rec {
'';
license = lib.licenses.gpl3;
maintainers = [ lib.maintainers.steveej ];
platforms = lib.platforms.linux;
platforms = lib.platforms.unix;
};
}

View 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;
};
}

View File

@ -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;
}

View File

@ -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 = ''

View File

@ -10,7 +10,7 @@
, readline
, guiSupport ? false, tcl, tcllib, tk
, miSupport ? true, json_c
, nbdSupport ? true, libnbd
, nbdSupport ? !stdenv.isDarwin, libnbd
, textStylingSupport ? true
, dejagnu
}:

View File

@ -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; {

View File

@ -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";

View File

@ -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 = [

View File

@ -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; {

View 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 ];
};
}

View File

@ -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 ];

View File

@ -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;
};

View File

@ -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 ];
};

View File

@ -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;
};
}

View File

@ -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;
};
}

View File

@ -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";
};
})

View File

@ -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

View File

@ -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 ];

View File

@ -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 = [

View File

@ -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 = ''

View 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 ];
};
}

View File

@ -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 ];

View 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 ];
};
}

View File

@ -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;
};
}

View File

@ -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>

View 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" ];
};
}

View 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"

View 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;
};
}

View File

@ -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

View 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 ];
};
}

View File

@ -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

View File

@ -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; {

View 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;
};
}

View File

@ -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 ];

View File

@ -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 ];

View File

@ -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

View File

@ -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=";

View File

@ -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 = [ "." ];

View File

@ -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 ];

View File

@ -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 ];

View File

@ -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;

View File

@ -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

View 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;
};
}

View File

@ -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 ];
};
}

View File

@ -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}";

View File

@ -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 ];

View File

@ -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

View File

@ -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 = ''

View File

@ -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" ];

View File

@ -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 ];

View File

@ -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";

View File

@ -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";
};
}

View 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