Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2024-09-16 00:14:57 +00:00
committed by GitHub
75 changed files with 792 additions and 1169 deletions
+29
View File
@@ -0,0 +1,29 @@
# `haredo` {#haredo-hook}
This hook uses [the `haredo` command runner](https://sr.ht/~autumnull/haredo/) to build, check, and install the package. It overrides `buildPhase`, `checkPhase`, and `installPhase` by default.
The hook builds its targets in parallel if [`config.enableParallelBuilding`](#var-stdenv-enableParallelBuilding) is set to `true`.
## `buildPhase` {#haredo-hook-buildPhase}
This phase attempts to build the default target.
[]{#haredo-hook-haredoBuildTargets} Targets can be explicitly set by adding a string to the `haredoBuildTargets` list.
[]{#haredo-hook-dontUseHaredoBuild} This behavior can be disabled by setting `dontUseHaredoBuild` to `true`.
## `checkPhase` {#haredo-hook-checkPhase}
This phase searches for the `check.do` or `test.do` targets, running them if they exist.
[]{#haredo-hook-haredoCheckTargets} Targets can be explicitly set by adding a string to the `haredoCheckTargets` list.
[]{#haredo-hook-dontUseHaredoCheck} This behavior can be disabled by setting `dontUseHaredoCheck` to `true`.
## `installPhase` {#haredo-hook-installPhase}
This phase attempts to build the `install.do` target, if it exists.
[]{#haredo-hook-haredoInstallTargets} Targets can be explicitly set by adding a string to the `haredoInstallTargets` list.
[]{#haredo-hook-dontUseHaredoInstall} This behavior can be disabled by setting `dontUseHaredoInstall` to `true`.
+1
View File
@@ -15,6 +15,7 @@ cmake.section.md
gdk-pixbuf.section.md
ghc.section.md
gnome.section.md
haredo.section.md
installShellFiles.section.md
libiconv.section.md
libxml2.section.md
-7
View File
@@ -10889,13 +10889,6 @@
githubId = 8211181;
name = "Kevin Kandlbinder";
};
kfears = {
email = "kfearsoff@gmail.com";
github = "KFearsoff";
githubId = 66781795;
matrix = "@kfears:matrix.org";
name = "KFears";
};
kfollesdal = {
email = "kfollesdal@gmail.com";
github = "kfollesdal";
@@ -496,6 +496,12 @@ Use the following commands:
Retype new password: ***
```
If you have a user account declared in your `configuration.nix` and plan to log in using this user, set a password before rebooting, e.g. for the `alice` user:
```ShellSession
# nixos-enter --root /mnt -c 'passwd alice'
```
::: {.note}
For unattended installations, it is possible to use
`nixos-install --no-root-passwd` in order to disable the password
@@ -515,15 +521,13 @@ Use the following commands:
menu. This allows you to easily roll back to a previous
configuration if something goes wrong.
You should log in and change the `root` password with `passwd`.
Use your declared user account to log in.
If you didnt declare one, you should still be able to log in using the `root` user.
You'll probably want to create some user accounts as well, which can
be done with `useradd`:
```ShellSession
$ useradd -c 'Eelco Dolstra' -m eelco
$ passwd eelco
```
::: {.note}
Some graphical display managers such as SDDM do not allow `root` login by default, so you might need to switch to TTY.
Refer to [](#sec-user-management) for details on declaring user accounts.
:::
You may also want to install some software. This will be covered in
[](#sec-package-management).
@@ -186,7 +186,7 @@ in
'';
};
lib.filterForward = lib.mkOption {
filterForward = lib.mkOption {
type = lib.types.bool;
default = false;
description = ''
@@ -263,7 +263,7 @@ in
assertions = [
{
assertion = cfg.lib.filterForward -> config.networking.nftables.enable;
assertion = cfg.filterForward -> config.networking.nftables.enable;
message = "filterForward only works with the nftables based firewall";
}
{
@@ -82,7 +82,7 @@ in
createHome = true;
home = "/var/lib/shairport-sync";
group = cfg.group;
extraGroups = [ "audio" ] ++ optional config.hardware.pulseaudio.enable "pulse";
extraGroups = [ "audio" ] ++ optional (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) "pulse";
};
groups.${cfg.group} = {};
};
+1 -1
View File
@@ -162,7 +162,7 @@ in {
name = "grafana-provision";
meta = with maintainers; {
maintainers = [ kfears willibutz ];
maintainers = [ willibutz ];
};
inherit nodes;
-49
View File
@@ -1,49 +0,0 @@
{ lib
, stdenv
, fetchurl
, fetchpatch
, gettext
, ncurses
, gtkGUI ? false
, pkg-config
, gtk2
}:
stdenv.mkDerivation rec {
pname = "aumix";
version = "2.9.1";
src = fetchurl {
url = "http://www.jpj.net/~trevor/aumix/releases/aumix-${version}.tar.bz2";
sha256 = "0a8fwyxnc5qdxff8sl2sfsbnvgh6pkij4yafiln0fxgg6bal7knj";
};
patches = [
# Pull Gentoo fix for -fno-common toolchains. Upstream does not
# seem to have the contacts
(fetchpatch {
name = "fno-common.patch";
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/aumix/files/aumix-2.9.1-fno-common.patch?id=496c9ec7355f06f6d1d19be780a6981503e6df1f";
sha256 = "0qwylhx1hawsmx1pc7ykrjq9phksc73dq9rss6ggq15n3ggnc95y";
})
];
nativeBuildInputs = lib.optionals gtkGUI [ pkg-config ];
buildInputs = [ gettext ncurses ]
++ lib.optionals gtkGUI [ gtk2 ];
configureFlags = lib.optionals (!gtkGUI) ["--without-gtk"];
meta = with lib; {
description = "Audio mixer for X and the console";
longDescription = ''
Aumix adjusts an audio mixer from X, the console, a terminal,
the command line or a script.
'';
homepage = "http://www.jpj.net/~trevor/aumix.html";
license = licenses.gpl2Plus;
maintainers = [ ];
platforms = platforms.linux;
};
}
-67
View File
@@ -1,67 +0,0 @@
{ lib
, stdenv
, fetchurl
, libtool
, intltool
, pkg-config
, glib
, gtk2
, curl
, libmpdclient
, libsoup
, gob2
, vala
, libunique
, libSM
, libICE
, sqlite
, hicolor-icon-theme
, wrapGAppsHook3
}:
stdenv.mkDerivation rec {
pname = "gmpc";
version = "11.8.16";
libmpd = stdenv.mkDerivation {
pname = "libmpd";
version = "11.8.17";
src = fetchurl {
url = "https://download.sarine.nl/Programs/gmpc/${lib.versions.majorMinor version}/libmpd-${version}.tar.gz";
sha256 = "10vspwsgr8pwf3qp2bviw6b2l8prgdiswgv7qiqiyr0h1mmk487y";
};
patches = [ ./libmpd-11.8.17-remove-strndup.patch ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ glib ];
};
src = fetchurl {
url = "http://download.sarine.nl/Programs/gmpc/11.8/gmpc-11.8.16.tar.gz";
sha256 = "0b3bnxf98i5lhjyljvgxgx9xmb6p46cn3a9cccrng14nagri9556";
};
nativeBuildInputs = [ pkg-config libtool intltool gob2 vala wrapGAppsHook3 ];
buildInputs = [
glib
gtk2
curl
libmpdclient
libsoup
libunique
libmpd
libSM
libICE
sqlite
hicolor-icon-theme
];
meta = with lib; {
homepage = "https://gmpclient.org";
description = "GTK2 frontend for Music Player Daemon";
license = licenses.gpl2;
maintainers = [ ];
platforms = platforms.linux;
};
}
# TODO: what is this libmpd derivation embedded above?
@@ -1,15 +0,0 @@
diff --git a/src/libmpd-internal.h b/src/libmpd-internal.h
index c84c3a4..51be441 100644
--- a/src/libmpd-internal.h
+++ b/src/libmpd-internal.h
@@ -206,10 +206,6 @@ int mpd_unlock_conn(MpdObj *mi);
MpdData * mpd_misc_sort_tag_list(MpdData *data);
-#ifndef HAVE_STRNDUP
-char * strndup (const char *s, size_t n);
-#endif
-
int mpd_server_get_allowed_commands(MpdObj *mi);
typedef enum _MpdSearchType {
MPD_SEARCH_TYPE_NONE,
@@ -1,40 +0,0 @@
{ lib, stdenv, fetchFromGitHub, makeWrapper, SDL, alsa-lib, autoreconfHook, gtk2, libjack2, ladspaH
, ladspaPlugins, libsamplerate, libsndfile, pkg-config, libpulseaudio, lame
, vorbis-tools }:
stdenv.mkDerivation rec {
pname = "mhwaveedit";
version = "1.4.24";
src = fetchFromGitHub {
owner = "magnush";
repo = "mhwaveedit";
rev = "v${version}";
sha256 = "037pbq23kh8hsih994x2sv483imglwcrqrx6m8visq9c46fi0j1y";
};
nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ];
preAutoreconf = "(cd docgen && sh gendocs.sh)";
buildInputs = [
SDL alsa-lib gtk2 libjack2 ladspaH libsamplerate libsndfile libpulseaudio
];
configureFlags = [ "--with-default-ladspa-path=${ladspaPlugins}/lib/ladspa" ];
postInstall = ''
wrapProgram $out/bin/mhwaveedit \
--prefix PATH : ${lame}/bin/ \
--prefix PATH : ${vorbis-tools}/bin/
'';
meta = with lib; {
description = "Graphical program for editing, playing and recording sound files";
mainProgram = "mhwaveedit";
homepage = "https://github.com/magnush/mhwaveedit";
license = licenses.gpl2Plus;
platforms = platforms.linux;
maintainers = [ ];
};
}
@@ -1,46 +0,0 @@
{ fetchurl, lib, stdenv, ncurses, pkg-config, gtk2 }:
stdenv.mkDerivation rec {
pname = "mp3info";
version = "0.8.5a";
src = fetchurl {
url = "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/${pname}/${pname}-${version}.tgz";
sha256 = "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ ncurses gtk2 ];
hardeningDisable = [ "format" ];
configurePhase =
'' sed -i Makefile \
-e "s|^prefix=.*$|prefix=$out|g ;
s|/bin/rm|rm|g ;
s|/usr/bin/install|install|g"
'';
preInstall =
'' mkdir -p "$out/bin"
mkdir -p "$out/man/man1"
'';
meta = {
description = "MP3 technical info viewer and ID3 1.x tag editor";
longDescription =
'' MP3Info is a little utility used to read and modify the ID3 tags of
MP3 files. MP3Info can also display various techincal aspects of an
MP3 file including playing time, bit-rate, sampling frequency and
other attributes in a pre-defined or user-specifiable output format.
'';
homepage = "http://www.ibiblio.org/mp3info/";
license = lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = lib.platforms.linux;
};
}
@@ -26,11 +26,9 @@ formats commits for you.
self: let
markBroken = pkg: pkg.override {
elpaBuild = args: self.elpaBuild (args // {
meta = (args.meta or {}) // { broken = true; };
});
};
inherit (import ./lib-override-helper.nix pkgs)
markBroken
;
# Use custom elpa url fetcher with fallback/uncompress
fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
@@ -26,11 +26,9 @@ formats commits for you.
self: let
markBroken = pkg: pkg.override {
elpaBuild = args: self.elpaBuild (args // {
meta = (args.meta or {}) // { broken = true; };
});
};
inherit (import ./lib-override-helper.nix pkgs)
markBroken
;
# Use custom elpa url fetcher with fallback/uncompress
fetchurl = buildPackages.callPackage ./fetchelpa.nix { };
@@ -0,0 +1,28 @@
pkgs:
rec {
buildWithGit =
pkg:
pkg.overrideAttrs (previousAttrs: {
nativeBuildInputs = previousAttrs.nativeBuildInputs or [ ] ++ [ pkgs.git ];
});
dontConfigure = pkg: pkg.overrideAttrs { dontConfigure = true; };
externalSrc =
pkg: epkg:
pkg.overrideAttrs (previousAttrs: {
inherit (epkg) src version;
propagatedUserEnvPkgs = previousAttrs.propagatedUserEnvPkgs or [ ] ++ [ epkg ];
});
fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
markBroken =
pkg:
pkg.overrideAttrs (previousAttrs: {
meta = previousAttrs.meta or { } // {
broken = true;
};
});
}
@@ -1,11 +1,12 @@
{ elpaBuild, mu }:
{
lib,
elpaBuild,
mu,
}:
let
elpaBuild {
pname = "mu4e";
version = mu.mu4e.version;
in
elpaBuild {
inherit pname version;
src = mu.mu4e;
@@ -15,21 +16,20 @@ elpaBuild {
# prepare a multi-file package tar archive according to info
# "(elisp) Multi-file Packages" for elpaBuild to install
postUnpack = ''
pushd mu-*-mu4e
local content_directory=${pname}-${version}
postBuild = ''
local content_directory=$pname-$version
mkdir $content_directory
cp --verbose share/emacs/site-lisp/mu4e/*.el $content_directory/
rm --verbose --force $content_directory/mu4e-autoloads.el
cp --verbose share/info/* $content_directory/
src=$PWD/$content_directory.tar
tar --create --verbose --file=$src $content_directory
popd
'';
ignoreCompilationError = false;
meta = mu.meta // {
meta = removeAttrs mu.meta [ "mainProgram" ] // {
description = "Full-featured e-mail client";
maintainers = mu.meta.maintainers ++ (with lib.maintainers; [ linj ]);
};
}
@@ -30,35 +30,13 @@ in
{ lib, pkgs }: variant: self:
let
dontConfigure = pkg:
pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
dontConfigure = true;
});
});
markBroken = pkg:
pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
meta = (drv.meta or { }) // { broken = true; };
});
});
externalSrc = pkg: epkg:
pkg.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
inherit (epkg) src version;
propagatedUserEnvPkgs = [ epkg ];
});
});
buildWithGit = pkg: pkg.overrideAttrs (attrs: {
nativeBuildInputs =
(attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
});
fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags);
inherit (import ./lib-override-helper.nix pkgs)
buildWithGit
dontConfigure
externalSrc
fix-rtags
markBroken
;
generateMelpa = lib.makeOverridable ({ archiveJson ? defaultArchive
}:
@@ -1,26 +0,0 @@
{ lib, stdenv, intltool, pkg-config, gtk3, fetchFromGitHub
, autoreconfHook, wrapGAppsHook3 }:
stdenv.mkDerivation rec {
version = "unstable-2022-02-14";
pname = "l3afpad";
src = fetchFromGitHub {
owner = "stevenhoneyman";
repo = pname;
rev = "16f22222116b78b7f6a6fd83289937cdaabed624";
sha256 = "sha256-ly2w9jmRlprm/PnyC0LYjrxBVK+J0DLiSpzuTUMZpWA=";
};
nativeBuildInputs = [ pkg-config autoreconfHook wrapGAppsHook3 intltool ];
buildInputs = [ gtk3 ];
meta = with lib; {
description = "Simple text editor forked from Leafpad using GTK+ 3.x";
homepage = "https://github.com/stevenhoneyman/l3afpad";
platforms = platforms.linux;
maintainers = [ ];
license = licenses.gpl2;
mainProgram = "l3afpad";
};
}
-39
View File
@@ -1,39 +0,0 @@
{ lib, stdenv, fetchurl, pkg-config, libmtp, libid3tag, flac, libvorbis, gtk3
, gsettings-desktop-schemas, wrapGAppsHook3
}:
let version = "1.3.11"; in
stdenv.mkDerivation {
pname = "gmtp";
inherit version;
src = fetchurl {
url = "mirror://sourceforge/gmtp/gMTP-${version}/gmtp-${version}.tar.gz";
sha256 = "04q6byyq002fhzkc2rkkahwh5b6272xakaj4m3vwm8la8jf0r0ss";
};
nativeBuildInputs = [ pkg-config wrapGAppsHook3 ];
buildInputs = [ libmtp libid3tag flac libvorbis gtk3 gsettings-desktop-schemas ];
enableParallelBuilding = true;
# Workaround build failure on -fno-common toolchains:
# ld: gmtp-preferences.o:src/main.h:72: multiple definition of
# `scrolledwindowMain'; gmtp-about.o:src/main.h:72: first defined here
# TODO: can be removed when 1.4.0 is released.
env.NIX_CFLAGS_COMPILE = "-fcommon";
preFixup = ''
gappsWrapperArgs+=(--add-flags "--datapath $out/share");
'';
meta = {
description = "Simple MP3 and Media player client for UNIX and UNIX like systems";
mainProgram = "gmtp";
homepage = "https://gmtp.sourceforge.io";
platforms = lib.platforms.linux;
maintainers = [ ];
license = lib.licenses.bsd3;
};
}
@@ -30,13 +30,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "goldendict-ng";
version = "24.05.05";
version = "24.09.0";
src = fetchFromGitHub {
owner = "xiaoyifang";
repo = "goldendict-ng";
rev = "v${finalAttrs.version}-LiXia.ecd1138c";
hash = "sha256-C/0FUFLE3R+tZyCL88BiSFOHPTanILD/fIIQ/OQBSfk=";
rev = "v${finalAttrs.version}-Release.316ec900";
hash = "sha256-LriKJLjqEuD0v8yjoE35O+V6oUX2jhWGFguqlXaDlQA=";
};
nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook wrapGAppsHook3 ];
@@ -47,7 +47,6 @@ stdenv.mkDerivation (finalAttrs: {
qtwebengine
qt5compat
qtmultimedia
qtspeech
qtwayland
libvorbis
tomlplusplus
@@ -1,47 +1,46 @@
{ lib
, buildPythonApplication
, fetchFromGitHub
, gobject-introspection
, setuptools
, wrapGAppsHook3
, dbus-python
, packaging
, proton-core
, proton-keyring-linux
, proton-keyring-linux-secretservice
, proton-vpn-api-core
, proton-vpn-connection
, proton-vpn-killswitch
, proton-vpn-killswitch-network-manager
, proton-vpn-logger
, proton-vpn-network-manager
, proton-vpn-network-manager-openvpn
, proton-vpn-session
, pycairo
, pygobject3
, pytest-cov-stub
, pytestCheckHook
, withIndicator ? true
, libappindicator-gtk3
, libayatana-appindicator
{
lib,
buildPythonApplication,
fetchFromGitHub,
gobject-introspection,
setuptools,
wrapGAppsHook3,
dbus-python,
packaging,
proton-core,
proton-keyring-linux,
proton-keyring-linux-secretservice,
proton-vpn-api-core,
proton-vpn-connection,
proton-vpn-killswitch,
proton-vpn-killswitch-network-manager,
proton-vpn-logger,
proton-vpn-network-manager,
proton-vpn-network-manager-openvpn,
proton-vpn-network-manager-wireguard,
proton-vpn-session,
pycairo,
pygobject3,
withIndicator ? true,
libappindicator-gtk3,
libayatana-appindicator,
}:
buildPythonApplication rec {
pname = "protonvpn-gui";
version = "4.3.0";
version = "4.4.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "proton-vpn-gtk-app";
rev = "refs/tags/v${version}";
hash = "sha256-H4m4u9zksab47W5aIsQZPQTPEYiXbmrVCnT67b+A5Tc=";
hash = "sha256-e581FgXrk1cfjsl/UaG9M+3VBYXcV0mggeLeEW9s9KM=";
};
nativeBuildInputs = [
# Needed for the NM namespace
gobject-introspection
setuptools
wrapGAppsHook3
];
@@ -52,7 +51,11 @@ buildPythonApplication rec {
libayatana-appindicator
];
propagatedBuildInputs = [
build-system = [
setuptools
];
dependencies = [
dbus-python
packaging
proton-core
@@ -65,6 +68,7 @@ buildPythonApplication rec {
proton-vpn-logger
proton-vpn-network-manager
proton-vpn-network-manager-openvpn
proton-vpn-network-manager-wireguard
proton-vpn-session
pycairo
pygobject3
@@ -76,11 +80,6 @@ buildPythonApplication rec {
install -Dm 644 ${src}/rpmbuild/SOURCES/proton-vpn-logo.svg $out/share/pixmaps
'';
nativeCheckInputs = [
pytest-cov-stub
pytestCheckHook
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
@@ -89,12 +88,12 @@ buildPythonApplication rec {
# Gets a segmentation fault after the widgets test
doCheck = false;
meta = with lib; {
meta = {
description = "Proton VPN GTK app for Linux";
homepage = "https://github.com/ProtonVPN/proton-vpn-gtk-app";
license = licenses.gpl3Plus;
platforms = platforms.linux;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
mainProgram = "protonvpn-app";
maintainers = [ ];
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -1,22 +1,24 @@
{ lib
, buildPythonApplication
, fetchFromGitHub
, setuptools
, wrapGAppsHook3
, gdk-pixbuf
, glib-networking
, gobject-introspection
, imagemagick
, librsvg
, pango
, python3
, webkitgtk
# Python libs
, protonvpn-nm-lib
, psutil
# Optionals
, withIndicator ? true
, libappindicator-gtk3 }:
{
lib,
buildPythonApplication,
fetchFromGitHub,
setuptools,
wrapGAppsHook3,
gdk-pixbuf,
glib-networking,
gobject-introspection,
imagemagick,
librsvg,
pango,
python3,
webkitgtk,
# Python libs
protonvpn-nm-lib,
psutil,
# Optionals
withIndicator ? true,
libappindicator-gtk3,
}:
buildPythonApplication rec {
pname = "protonvpn-gui";
@@ -7,16 +7,16 @@
buildGoModule rec {
pname = "seaweedfs";
version = "3.72";
version = "3.73";
src = fetchFromGitHub {
owner = "seaweedfs";
repo = "seaweedfs";
rev = version;
hash = "sha256-5ANhRknN8EOUw+Ifsd2zCKDpDeoWJzUuwGMDMkZOwls=";
hash = "sha256-5CgkpL0nBLKojKPSfkYxh8F5Ub+yWhfmOsKC5qQ4QaE=";
};
vendorHash = "sha256-3CrWrv8kXnbZUcaI2CG/x7MUWlR14OLbjen5FbljTEI=";
vendorHash = "sha256-rj5BbbT3/IBtPZ1MqbwC9TNp+N9ec90Anear2AWBZZU=";
subPackages = [ "weed" ];
@@ -1,39 +0,0 @@
{lib, stdenv, substituteAll, fetchFromGitHub, pkg-config, gettext, glib, gtk3, gmtk, dbus, dbus-glib
, libnotify, libpulseaudio, mplayer, wrapGAppsHook3 }:
stdenv.mkDerivation rec {
pname = "gnome-mplayer";
version = "1.0.9";
src = fetchFromGitHub {
owner = "kdekorte";
repo = "gnome-mplayer";
rev = "v${version}";
sha256 = "0qvy9fllvg1mad6y1j79iaqa6khs0q2cb0z62yfg4srbr07fi8xr";
};
nativeBuildInputs = [ pkg-config gettext wrapGAppsHook3 ];
buildInputs = [ glib gtk3 gmtk dbus dbus-glib libnotify libpulseaudio ];
patches = [
(substituteAll {
src = ./fix-paths.patch;
mencoder = "${mplayer}/bin/mencoder";
mplayer = "${mplayer}/bin/mplayer";
})
];
# Workaround build failure on -fno-common toolchains:
# ld: mpris-interface.o:src/playlist.h:32: multiple definition of
# `plclose'; gui.o:src/playlist.h:32: first defined here
env.NIX_CFLAGS_COMPILE = "-fcommon";
meta = with lib; {
description = "Gnome MPlayer, a simple GUI for MPlayer";
mainProgram = "gnome-mplayer";
homepage = "https://sites.google.com/site/kdekorte2/gnomemplayer";
license = licenses.gpl2;
maintainers = [ ];
platforms = platforms.linux;
};
}
@@ -1,87 +0,0 @@
--- a/src/gui.c
+++ b/src/gui.c
@@ -7470,7 +7470,7 @@
filename = g_strdup_printf("%s/00000001.jpg", dirname);
g_free(basepath);
// run mplayer and try to get the first frame and convert it to a jpeg
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
av[ac++] = g_strdup_printf("-vo");
av[ac++] = g_strdup_printf("jpeg:outdir=%s", dirname);
av[ac++] = g_strdup_printf("-ao");
--- a/src/property_page_common.c
+++ b/src/property_page_common.c
@@ -80,7 +80,7 @@
MetaData *ret;
ret = g_new0(MetaData, 1);
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
av[ac++] = g_strdup_printf("-vo");
av[ac++] = g_strdup_printf("null");
av[ac++] = g_strdup_printf("-ao");
--- a/src/support.c
+++ b/src/support.c
@@ -566,7 +566,7 @@
} else {
playlist = FALSE;
if (mplayer_bin == NULL || !g_file_test(mplayer_bin, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", mplayer_bin);
}
@@ -728,7 +728,7 @@
playlist = FALSE;
// run mplayer and try to get the first frame and convert it to a jpeg
if (mplayer_bin == NULL || !g_file_test(mplayer_bin, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", mplayer_bin);
}
@@ -825,7 +825,7 @@
playlist = FALSE;
if (mplayer_bin == NULL || !g_file_test(mplayer_bin, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", mplayer_bin);
}
@@ -1251,7 +1251,7 @@
gm_log(verbose, G_LOG_LEVEL_INFO, "getting file metadata for %s", name);
if (mplayer_bin == NULL || !g_file_test(mplayer_bin, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", mplayer_bin);
}
@@ -1532,7 +1532,7 @@
return 0;
if (mplayer_bin == NULL || !g_file_test(mplayer_bin, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", mplayer_bin);
}
@@ -1597,7 +1597,7 @@
if (control_id == 0) {
ac = 0;
- av[ac++] = g_strdup_printf("mencoder");
+ av[ac++] = g_strdup_printf("@mencoder@");
av[ac++] = g_strdup_printf("-ovc");
av[ac++] = g_strdup_printf("copy");
av[ac++] = g_strdup_printf("-oac");
@@ -2830,7 +2830,7 @@
gboolean ret = TRUE;
if (mplayer_bin == NULL || !g_file_test(mplayer_bin, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", mplayer_bin);
}
@@ -114,6 +114,7 @@ let
mpv-discord = callPackage ./mpv-discord.nix { };
mpv-notify-send = callPackage ./mpv-notify-send.nix { };
mpv-osc-modern = callPackage ./mpv-osc-modern.nix { };
mpv-osc-tethys = callPackage ./mpv-osc-tethys.nix { };
mpv-playlistmanager = callPackage ./mpv-playlistmanager.nix { };
mpv-slicing = callPackage ./mpv-slicing.nix { };
mpv-webm = callPackage ./mpv-webm.nix { };
@@ -0,0 +1,26 @@
{
lib,
buildLua,
fetchFromGitHub,
}:
buildLua (finalAttrs: {
pname = "mpv-osc-tethys";
version = "0-unstable-2024-08-19";
scriptPath = "osc_tethys.lua";
extraScripts = [ "mpv_thumbnail_script_server.lua" ];
src = fetchFromGitHub {
owner = "Zren";
repo = "mpv-osc-tethys";
rev = "c4167f88a0e9944738419e90a71f1f80fba39ccb";
hash = "sha256-eAY+ZUuOxPJiNCuL7lqMBU4iURCMz12LQdfaYj4WFQc=";
};
meta = {
description = "OSC UI replacement for MPV with icons from the bomi video player";
homepage = "https://github.com/Zren/mpv-osc-tethys";
license = lib.licenses.unfree; # no license specified
maintainers = with lib.maintainers; [ luftmensch-luftmensch ];
};
})
@@ -1,6 +1,11 @@
{ lib, stdenv, fetchFromGitHub
, pkg-config, cmake
, gtk3
{
cmake,
fetchFromGitHub,
glib,
gtk3,
lib,
pkg-config,
stdenv,
}:
stdenv.mkDerivation rec {
@@ -14,15 +19,24 @@ stdenv.mkDerivation rec {
sha256 = "sha256-WEPW9BstDv2k/5dTEDQza3eOQ9bd6CEVvmd817sEPAs=";
};
nativeBuildInputs = [ pkg-config cmake ];
nativeBuildInputs = [
cmake
glib # for glib-mkenums
pkg-config
];
buildInputs = [ gtk3 ];
strictDeps = true;
meta = with lib; {
description = "Ayatana Display Indicator Objects";
homepage = "https://github.com/AyatanaIndicators/ayatana-ido";
changelog = "https://github.com/AyatanaIndicators/ayatana-ido/blob/${version}/ChangeLog";
license = [ licenses.lgpl3Plus licenses.lgpl21Plus ];
license = [
licenses.lgpl3Plus
licenses.lgpl21Plus
];
maintainers = [ maintainers.nickhu ];
platforms = platforms.linux;
};
@@ -130,7 +130,6 @@ stdenv.mkDerivation (finalAttrs: {
license = lib.licenses.gpl2Only;
maintainers = with lib.maintainers; [
davidak
johnrtitor
Madouura
];
platforms = lib.platforms.linux;
@@ -25,16 +25,16 @@ let
# However, the version string is more useful for end-users.
# These are contained in a attrset of their own to make it obvious that
# people should update both.
version = "1.31.0";
rev = "7b8baff1758f0a584dcc3cb657b5032000bcb3d7";
hash = "sha256-pKERyXABcpMpKMRRvqJavp2jYGXTxwFLDPERqDT6jnY=";
version = "1.31.1";
rev = "1f44388cee449c9dae8ae34c0b4f09036bcbf560";
hash = "sha256-XvlF3hMS2PH87HgFwKoFzxHDYgRjZmxn02L1aLwYOrY=";
};
# these need to be updated for any changes to fetchAttrs
depsHash =
{
x86_64-linux = "sha256-33yu2oxP2zgKs01qn6RIyZx6zHJ1NuCNxolgk0/uWpM=";
aarch64-linux = "sha256-ox7CJPqNbwucMDORQvx8SFs4oXR/WKixwJ6uK+l4NJc=";
x86_64-linux = "sha256-9KXZdSvRfi5mWOSotG//+ljsx64I4bYwzbeQFuCIwDE=";
aarch64-linux = "sha256-knrCfUYUL+bYuHSNrNeX3SwoGDf2rLYNXuukEmj4BjA=";
}
.${stdenv.system} or (throw "unsupported system ${stdenv.system}");
in
+35
View File
@@ -0,0 +1,35 @@
{
lib,
buildGoModule,
fetchFromGitHub,
nix-update-script,
}:
buildGoModule rec {
pname = "fabric-ai";
version = "1.4.14";
src = fetchFromGitHub {
owner = "danielmiessler";
repo = "fabric";
rev = "v${version}";
hash = "sha256-syQVGtEFCC7ZVcs6ZIJgH0EXItclV2rPO7xTfsG2g7Q=";
};
vendorHash = "sha256-CHgeHumWtNt8SrbzzCWqBdLxTmmyDD2bfLkriPeez2E=";
ldflags = [
"-s"
"-w"
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Fabric is an open-source framework for augmenting humans using AI. It provides a modular framework for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere";
homepage = "https://github.com/danielmiessler/fabric";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jaredmontoya ];
mainProgram = "fabric";
};
}
@@ -1,86 +0,0 @@
{ stdenv
, lib
, fetchurl
, fetchpatch
, meson
, ninja
, pkg-config
, desktop-file-utils
, appstream-glib
, libxslt
, libxml2
, gettext
, itstool
, wrapGAppsHook3
, docbook_xsl
, docbook_xml_dtd_43
, gnome
, adwaita-icon-theme
, gtk3
, glib
, gsettings-desktop-schemas
}:
stdenv.mkDerivation rec {
pname = "gnome-dictionary";
version = "40.0";
src = fetchurl {
url = "mirror://gnome/sources/gnome-dictionary/${lib.versions.major version}/gnome-dictionary-${version}.tar.xz";
hash = "sha256-LmUMKkzqjMTQLUpYPEVsu8nRhx6RjH3E3ggd7R2DDbU=";
};
patches = [
# Fix test dependencies with meson 0.57, can be removed on next bump
# We need to explicitly depend on the generated files.
(fetchpatch {
url = "https://gitlab.gnome.org/Archive/gnome-dictionary/-/commit/87c026cfe4acbcfc62d15950f88a71d8d9678c7e.patch";
hash = "sha256-tKesWeOK3OqOxrXm4dZvCZHHdTD7AQbYDjtYDCsLd3A=";
})
# Fix build with meson 0.61, can be removed on next bump
# data/appdata/meson.build:3:5: ERROR: Function does not take positional arguments.
(fetchpatch {
url = "https://gitlab.gnome.org/Archive/gnome-dictionary/-/commit/cf3f8a67cd6f3059c555ed9cf0f5fba10abb7f68.patch";
hash = "sha256-cIRM6ACqsnEo2JWYvr6EBye5o0BudugZMShCe1U5hz8=";
})
];
nativeBuildInputs = [
meson
ninja
pkg-config
wrapGAppsHook3
libxml2
gettext
itstool
desktop-file-utils
appstream-glib
libxslt
docbook_xsl
docbook_xml_dtd_43
];
buildInputs = [
gtk3
glib
gsettings-desktop-schemas
adwaita-icon-theme
];
doCheck = true;
passthru = {
updateScript = gnome.updateScript {
packageName = "gnome-dictionary";
};
};
meta = with lib; {
homepage = "https://gitlab.gnome.org/Archive/gnome-dictionary";
description = "Dictionary is the GNOME application to look up definitions";
mainProgram = "gnome-dictionary";
maintainers = [ ];
license = licenses.gpl2;
platforms = platforms.unix;
};
}
+72
View File
@@ -0,0 +1,72 @@
{
stdenv,
lib,
fetchurl,
cairo,
pango,
libpng,
expat,
fontconfig,
gtk2,
xorg,
autoPatchelfHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "hterm";
version = "0.8.9";
src =
let
versionWithoutDots = builtins.replaceStrings [ "." ] [ "" ] finalAttrs.version;
in
if stdenv.targetPlatform.is64bit then
fetchurl {
url = "https://www.der-hammer.info/terminal/hterm${versionWithoutDots}-linux-64.tgz";
hash = "sha256-DY+X7FaU1UBbNf/Kgy4TzBZiocQ4/TpJW3KLW1iu0M0=";
}
else
fetchurl {
url = "https://www.der-hammer.info/terminal/hterm${versionWithoutDots}-linux-32.tgz";
hash = "sha256-7wJFCpeXNMX94tk0QVc0T22cbv3ODIswFge5Cs0JhI8=";
};
sourceRoot = ".";
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
cairo
pango
libpng
expat
fontconfig.lib
gtk2
xorg.libSM
];
installPhase = ''
runHook preInstall
install -m755 -D hterm $out/bin/hterm
install -m644 -D desktop/hterm.png $out/share/pixmaps/hterm.png
install -m644 -D desktop/hterm.desktop $out/share/applications/hterm.desktop
runHook postInstall
'';
passthru = {
updateScript = ./update.sh;
};
meta = {
homepage = "https://www.der-hammer.info/pages/terminal.html";
changelog = "https://www.der-hammer.info/terminal/CHANGELOG.txt";
description = "A terminal program for serial communication";
# See https://www.der-hammer.info/terminal/LICENSE.txt
license = lib.licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
platforms = [
"x86_64-linux"
"i686-linux"
];
maintainers = with lib.maintainers; [ zebreus ];
mainProgram = "hterm";
};
})
+18
View File
@@ -0,0 +1,18 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p common-updater-scripts curl
# shellcheck shell=bash
set -eu -o pipefail
# The first valid version in the changelog should always be the latest version.
version="$(curl https://www.der-hammer.info/terminal/CHANGELOG.txt | grep -m1 -Po '[0-9]+\.[0-9]+\.[0-9]+')"
function update_hash_for_system() {
local system="$1"
# Reset the version number so the second architecture update doesn't get ignored.
update-source-version hterm 0 "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" --system="$system"
update-source-version hterm "$version" --system="$system"
}
update_hash_for_system x86_64-linux
update_hash_for_system i686-linux
@@ -0,0 +1,35 @@
{
lib,
rustPlatform,
fetchFromSourcehut,
nix-update-script,
testers,
kak-tree-sitter-unwrapped,
}:
rustPlatform.buildRustPackage rec {
pname = "kak-tree-sitter-unwrapped";
version = "1.1.2";
src = fetchFromSourcehut {
owner = "~hadronized";
repo = "kak-tree-sitter";
rev = "kak-tree-sitter-v${version}";
hash = "sha256-wBWfSyR8LGtug/mCD0bJ4lbdN3trIA/03AnCxZoEOSA=";
};
cargoHash = "sha256-v0DNcWPoHdquOlyPoPLoFulz66yCPR1W1Z3uuTjli5k=";
passthru = {
updateScript = nix-update-script { };
tests.version = testers.testVersion { package = kak-tree-sitter-unwrapped; };
};
meta = {
homepage = "https://git.sr.ht/~hadronized/kak-tree-sitter";
description = "Server that interfaces tree-sitter with kakoune";
mainProgram = "kak-tree-sitter";
license = with lib.licenses; [ bsd3 ];
maintainers = with lib.maintainers; [ lelgenio ];
};
}
@@ -0,0 +1,27 @@
{
lib,
makeWrapper,
symlinkJoin,
tinycc,
kak-tree-sitter-unwrapped,
}:
symlinkJoin rec {
pname = lib.replaceStrings [ "-unwrapped" ] [ "" ] kak-tree-sitter-unwrapped.pname;
inherit (kak-tree-sitter-unwrapped) version;
name = "${pname}-${version}";
paths = [ kak-tree-sitter-unwrapped ];
nativeBuildInputs = [ makeWrapper ];
# Tree-Sitter grammars are C programs that need to be compiled
# Use tinycc as cc to reduce closure size
postBuild = ''
mkdir -p $out/libexec/tinycc/bin
ln -s ${lib.getExe tinycc} $out/libexec/tinycc/bin/cc
wrapProgram "$out/bin/ktsctl" \
--suffix PATH : $out/libexec/tinycc/bin
'';
inherit (kak-tree-sitter-unwrapped) meta;
}
@@ -1,7 +1,12 @@
{ stdenv, fetchFromGitHub, lib
, pkg-config, cmake
, gtk3
, ayatana-ido
{
ayatana-ido,
cmake,
fetchFromGitHub,
glib,
gtk3,
lib,
pkg-config,
stdenv,
}:
stdenv.mkDerivation rec {
@@ -15,12 +20,18 @@ stdenv.mkDerivation rec {
sha256 = "sha256-OsguZ+jl274uPSCTFHq/ZwUE3yHR7MlUPHCpfmn1F7A=";
};
nativeBuildInputs = [ pkg-config cmake ];
nativeBuildInputs = [
cmake
glib # for glib-mkenums
pkg-config
];
buildInputs = [ gtk3 ];
propagatedBuildInputs = [ ayatana-ido ];
strictDeps = true;
meta = with lib; {
description = "Ayatana Indicators Shared Library";
homepage = "https://github.com/AyatanaIndicators/libayatana-indicator";
+1
View File
@@ -141,6 +141,7 @@ goBuild (
buildInputs =
lib.optionals enableRocm (rocmLibs ++ [ libdrm ])
++ lib.optionals enableCuda [
cudaToolkit
cudaPackages.cuda_cudart
cudaPackages.cuda_cccl
cudaPackages.libcublas
@@ -0,0 +1,26 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "elasticsearch_exporter";
version = "1.7.0";
src = fetchFromGitHub {
owner = "prometheus-community";
repo = "elasticsearch_exporter";
rev = "v${version}";
hash = "sha256-a70huy6J0Ob9LkLuCSVZqJChTo/4cPufbkq1v/QcKE4=";
};
vendorHash = "sha256-5uQfeDRi7EMcUCkXdbNlSe1IUpv6e5ueXtZ4C5SWAmw=";
meta = with lib; {
description = "Elasticsearch stats exporter for Prometheus";
mainProgram = "elasticsearch_exporter";
homepage = "https://github.com/prometheus-community/elasticsearch_exporter";
license = licenses.asl20;
maintainers = teams.deshaw.members;
};
}
+3 -3
View File
@@ -8,14 +8,14 @@
python3Packages.buildPythonApplication rec {
pname = "pytr";
version = "0.2.2";
version = "0.2.4";
pyproject = true;
src = fetchFromGitHub {
owner = "pytr-org";
repo = "pytr";
rev = "refs/tags/${version}";
hash = "sha256-0ekUpkuyT0TB2YQi7CUMwosLI2tR0owJE2XQBaiy8Iw=";
rev = "refs/tags/v${version}";
hash = "sha256-ejXedAfbZJzfCSkW9X1yH+I03+kjIs/xiSkyJk7FEO0=";
};
build-system = with python3Packages; [
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
name = "regal";
version = "0.25.0";
version = "0.26.2";
src = fetchFromGitHub {
owner = "StyraInc";
repo = "regal";
rev = "v${version}";
hash = "sha256-yhlkvvNkZtpVx2uZVvXjr3eqBFXHDJ5qyO6k5EPNfww=";
hash = "sha256-QfxgfwBGAib+mqT2v/8/rhl5Ufjwjf9BouCTYqs6wlw=";
};
vendorHash = "sha256-gZYQEJAlm8qslHGfUsA8np43zdiPDYyhKm8HZIBR3ys=";
vendorHash = "sha256-5ImRjMPl+qc2iQEXg9OzKphPpRXhjYvu+1q1ol3M8Yg=";
meta = with lib; {
description = "Linter and language server for Rego";
+28
View File
@@ -0,0 +1,28 @@
{
lib,
buildGoModule,
fetchFromGitHub,
}:
buildGoModule rec {
pname = "spacectl";
version = "1.0.1";
src = fetchFromGitHub {
owner = "spacelift-io";
repo = "spacectl";
rev = "v${version}";
hash = "sha256-w49nsPzEWfYeYxWNOl4VrWdQvL3zGafLxL5kUH4YaqM=";
};
vendorHash = "sha256-hVAQaM8Xank+l283D1Tq9TA/yiOiLGO7/3IyZkXj15Q=";
meta = {
homepage = "https://github.com/spacelift-io/spacectl";
description = "Spacelift client and CLI";
changelog = "https://github.com/spacelift-io/spacectl/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ kashw2 ];
mainProgram = "spacectl";
};
}
+8 -6
View File
@@ -9,19 +9,20 @@
makeWrapper,
undmg,
wrapGAppsHook3,
gtk3,
libsoup_3,
webkitgtk_4_1,
glib-networking,
gtk3,
libappindicator,
libnotify,
libsoup_3,
mpv-unwrapped,
xdg-user-dirs,
webkitgtk_4_1,
}:
let
pname = "spotube";
version = "3.8.0";
version = "3.8.1";
meta = {
description = "Open source, cross-platform Spotify client compatible across multiple platforms";
@@ -55,7 +56,7 @@ let
src = fetchArtifact {
filename = "Spotube-macos-universal.dmg";
hash = "sha256-qQDbGRnia8JAclm2AgT2FCxhYS6WoNuDWIMbG76pDB0=";
hash = "sha256-NbKFvg50n/GByVU6/vNLmTTV9bhIhl3AxlwAcG60KVY=";
};
sourceRoot = ".";
@@ -79,7 +80,7 @@ let
src = fetchArtifact {
filename = "Spotube-linux-x86_64.deb";
hash = "sha256-xgwHRaFeQ182kRhUzCEvMx56WyPnHu8aCDyQ5wzVKRw=";
hash = "sha256-R/yHXx29T/7NNc1L1AmevzXp1k98qnmvOEd3cfSlJuA=";
};
nativeBuildInputs = [
@@ -90,6 +91,7 @@ let
];
buildInputs = [
glib-networking
gtk3
libappindicator
libnotify
-70
View File
@@ -1,70 +0,0 @@
{
lib,
stdenv,
fetchurl,
fetchpatch,
pkg-config,
gtk3,
gnome,
adwaita-icon-theme,
vte,
libxml2,
gtk-vnc,
intltool,
libsecret,
itstool,
wrapGAppsHook3,
librsvg,
}:
stdenv.mkDerivation rec {
pname = "vinagre";
version = "3.22.0";
src = fetchurl {
url = "mirror://gnome/sources/vinagre/${lib.versions.majorMinor version}/vinagre-${version}.tar.xz";
hash = "sha256-zRzbrMolyNHev4R0VRVe55jD5nogkD34sijU7OVQXoI=";
};
patches = [
# Pull fix pending upstream inclusion for -fno-common toolchain support:
# https://gitlab.gnome.org/Archive/vinagre/-/merge_requests/8
(fetchpatch {
name = "fno-common.patch";
url = "https://gitlab.gnome.org/Archive/vinagre/-/commit/c51662cf4338516773d64776c3c92796917ff2bd.diff";
hash = "sha256-KEdNcOMOFzu6BDRNQDqAic0PX6DunSZ4Nr9JOFJjyH4=";
})
];
nativeBuildInputs = [
pkg-config
intltool
itstool
wrapGAppsHook3
];
buildInputs = [
gtk3
vte
libxml2
gtk-vnc
libsecret
adwaita-icon-theme
librsvg
];
env.NIX_CFLAGS_COMPILE = "-Wno-format-nonliteral";
passthru = {
updateScript = gnome.updateScript { packageName = "vinagre"; };
};
meta = with lib; {
description = "Remote desktop viewer for GNOME";
mainProgram = "vinagre";
homepage = "https://gitlab.gnome.org/Archive/vinagre";
license = licenses.gpl2Plus;
maintainers = [ ];
platforms = platforms.unix;
};
}
@@ -1,32 +0,0 @@
{lib, stdenv, substituteAll, fetchFromGitHub, libtool, pkg-config, intltool, glib, gtk3
, libpulseaudio, mplayer, gnome_mplayer }:
stdenv.mkDerivation rec {
pname = "gmtk";
version = "1.0.9";
src = fetchFromGitHub {
owner = "kdekorte";
repo = "gmtk";
rev = "v${version}";
sha256 = "1zb5m1y1gckal3140gvx31572a6xpccwfmdwa1w5lx2wdq1pwk1i";
};
nativeBuildInputs = [ libtool pkg-config intltool ];
buildInputs = [ glib gtk3 libpulseaudio ];
patches = [
(substituteAll {
src = ./fix-paths.patch;
mplayer = "${mplayer}/bin/mplayer";
})
];
meta = with lib; {
description = "Common functions for gnome-mplayer and gecko-mediaplayer";
homepage = "https://sites.google.com/site/kdekorte2/gnomemplayer";
license = licenses.gpl2;
maintainers = gnome_mplayer.meta.maintainers;
platforms = platforms.linux;
};
}
@@ -1,20 +0,0 @@
--- a/src/gmtk_media_player.c
+++ b/src/gmtk_media_player.c
@@ -2449,7 +2449,7 @@
player->minimum_mplayer = detect_mplayer_features(player);
if (player->mplayer_binary == NULL || !g_file_test(player->mplayer_binary, G_FILE_TEST_EXISTS)) {
- argv[argn++] = g_strdup_printf("mplayer");
+ argv[argn++] = g_strdup_printf("@mplayer@");
} else {
argv[argn++] = g_strdup_printf("%s", player->mplayer_binary);
}
@@ -4135,7 +4135,7 @@
return ret;
if (player->mplayer_binary == NULL || !g_file_test(player->mplayer_binary, G_FILE_TEST_EXISTS)) {
- av[ac++] = g_strdup_printf("mplayer");
+ av[ac++] = g_strdup_printf("@mplayer@");
} else {
av[ac++] = g_strdup_printf("%s", player->mplayer_binary);
}
@@ -9,23 +9,25 @@
python-gnupg,
requests,
pytestCheckHook,
pyotp,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-core";
version = "0.1.16";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-core";
rev = "refs/tags/v${version}";
hash = "sha256-072XuHvgWludlFwp/tqLpuAU89vzifFhwQ01FuiCoL8=";
hash = "sha256-IiKmtgcCSe2q3qaNuUSaC/D/vSQzVq7w8VN2Xq81+tQ=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
bcrypt
aiohttp
pyopenssl
@@ -33,14 +35,13 @@ buildPythonPackage rec {
requests
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton --cov-report html --cov-report term" ""
'';
pythonImportsCheck = [ "proton" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
pyotp
];
disabledTestPaths = [
# Single test, requires internet connection
@@ -68,6 +69,6 @@ buildPythonPackage rec {
description = "Core logic used by the other Proton components";
homepage = "https://github.com/ProtonVPN/python-proton-core";
license = lib.licenses.gpl3Only;
maintainers = [ ];
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -5,6 +5,7 @@
setuptools,
proton-keyring-linux,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
@@ -19,23 +20,21 @@ buildPythonPackage rec {
hash = "sha256-IZPT2bL/1YD2TH/djwIQHUE1RRbYMTkQDacjjoqDQWo=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [ proton-keyring-linux ];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton.keyring_linux.secretservice --cov-report html --cov-report term" ""
'';
dependencies = [ proton-keyring-linux ];
pythonImportsCheck = [ "proton.keyring_linux" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = with lib; {
meta = {
description = "ProtonVPN component to access Linux's keyring secret service API";
homepage = "https://github.com/ProtonVPN/python-proton-keyring-linux-secretservice";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -6,6 +6,7 @@
keyring,
proton-core,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
@@ -20,26 +21,24 @@ buildPythonPackage rec {
hash = "sha256-c2wdbd8Hkz2hF9zYMy4/V/W6uZRItz7tWqLJqTsJoHU=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
keyring
proton-core
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton.keyring_linux.core --cov-report html --cov-report term" ""
'';
pythonImportsCheck = [ "proton.keyring_linux.core" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = with lib; {
meta = {
description = "ProtonVPN core component to access Linux's keyring";
homepage = "https://github.com/ProtonVPN/python-proton-keyring-linux";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -11,23 +11,24 @@
sentry-sdk,
distro,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-api-core";
version = "0.22.3";
version = "0.32.2";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-api-core";
rev = "refs/tags/v${version}";
hash = "sha256-BGei6tw6VTKkHmaIWa2VJfKOL5cRUbauOQ7zp1RY9Bo=";
rev = "v${version}";
hash = "sha256-n4TZkp2ZMSJ1w1wQUMsAhX8kmWu59udlsXXEhIM83mI=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
distro
proton-core
proton-vpn-connection
@@ -37,24 +38,33 @@ buildPythonPackage rec {
sentry-sdk
];
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "--cov=proton/vpn/core/ --cov-report html --cov-report term" ""
'';
pythonImportsCheck = [ "proton.vpn.core" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
meta = with lib; {
disabledTests = [
# Permission denied: '/run'
"test_ensure_configuration_file_is_created"
"test_ovpnconfig_with_settings"
"test_wireguard_config_content_generation"
"test_wireguard_with_non_certificate"
"test_ensure_generate_is_returning_expected_content"
"test_ensure_same_configuration_file_in_case_of_duplicate"
"test_ensure_configuration_file_is_deleted"
];
meta = {
description = "Acts as a facade to the other Proton VPN components, exposing a uniform API to the available Proton VPN services";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-api-core";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -8,6 +8,7 @@
proton-vpn-logger,
jinja2,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
@@ -22,23 +23,21 @@ buildPythonPackage rec {
hash = "sha256-Ze/te0G0tDzyZPGVVqvuJlZoHWJqJ36LnHO+Cy5nxx8=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [
dependencies = [
jinja2
proton-core
proton-vpn-killswitch
proton-vpn-logger
];
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "--cov=proton.vpn.connection --cov-report html --cov-report term" ""
'';
pythonImportsCheck = [ "proton.vpn.connection" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
disabledTests = [
# Permission denied: '/run'
@@ -59,10 +58,10 @@ buildPythonPackage rec {
"test_ovpnconfig_with_malformed_server_and_credentials"
];
meta = with lib; {
meta = {
description = "Defines the interface that VPN connection backends should implement";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-connection";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -0,0 +1,67 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
setuptools,
networkmanager,
proton-vpn-api-core,
proton-vpn-killswitch,
proton-vpn-logger,
pycairo,
pygobject3,
pytestCheckHook,
iproute2,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-killswitch-network-manager-wireguard";
version = "0.1.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-killswitch-network-manager-wireguard";
rev = "v${version}";
hash = "sha256-4sYD2X1U066FMjrtbTb31wvkCDWAw+eXod+pi0gGsCQ=";
};
nativeBuildInputs = [
# Solves ImportError: cannot import name NM, introspection typelib not found
gobject-introspection
];
build-system = [
setuptools
];
dependencies = [
# Needed here for the NM namespace
networkmanager
proton-vpn-api-core
proton-vpn-killswitch
proton-vpn-logger
pycairo
pygobject3
];
postPatch = ''
substituteInPlace proton/vpn/killswitch/backend/linux/wireguard/killswitch_connection_handler.py \
--replace '/usr/sbin/ip' '${iproute2}/bin/ip'
'';
pythonImportsCheck = [ "proton.vpn.killswitch.backend.linux.wireguard" ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Implementation of the proton-vpn-killswitch interface using Network Manager with wireguard-protocol";
homepage = "https://github.com/ProtonVPN/proton-vpn-killswitch-network-manager-wireguard";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -5,53 +5,57 @@
gobject-introspection,
setuptools,
networkmanager,
proton-vpn-api-core,
proton-vpn-killswitch,
proton-vpn-logger,
pycairo,
pygobject3,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-killswitch-network-manager";
version = "0.4.3";
version = "0.5.4";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-killswitch-network-manager";
rev = "refs/tags/v${version}";
hash = "sha256-kN41b6OZ2YXoBsmNZD3NrX4uJChSmm6DVP+5LYwiZMw=";
hash = "sha256-iUm+hpqgI4jG+1Cd9F6pBjodxHpq9/2ovXRT877biXQ=";
};
nativeBuildInputs = [
# Solves ImportError: cannot import name NM, introspection typelib not found
gobject-introspection
];
build-system = [
setuptools
];
propagatedBuildInputs = [
dependencies = [
# Needed here for the NM namespace
networkmanager
proton-vpn-api-core
proton-vpn-killswitch
proton-vpn-logger
pycairo
pygobject3
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton.vpn.killswitch.backend.linux.networkmanager --cov-report=html --cov-report=term" ""
'';
pythonImportsCheck = [ "proton.vpn.killswitch.backend.linux.networkmanager" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = with lib; {
meta = {
description = "Implementation of the proton-vpn-killswitch interface using Network Manager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch-network-manager";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -5,6 +5,7 @@
setuptools,
proton-core,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
@@ -19,23 +20,21 @@ buildPythonPackage rec {
hash = "sha256-XZqjAhxgIiATJd3JcW2WWUMC1b6+cfZRhXlIPyMUFH8=";
};
nativeBuildInputs = [ setuptools ];
build-system = [ setuptools ];
propagatedBuildInputs = [ proton-core ];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton --cov-report=html --cov-report=term" ""
'';
dependencies = [ proton-core ];
pythonImportsCheck = [ "proton.vpn.killswitch.interface" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = with lib; {
meta = {
description = "Defines the ProtonVPN kill switch interface";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-killswitch";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -5,6 +5,7 @@
setuptools,
proton-core,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
@@ -19,28 +20,28 @@ buildPythonPackage rec {
hash = "sha256-/LfMjyTs/EusgnKEQugsdJzqDZBvaAhbsTUVLDCRw0I=";
};
nativeBuildInputs = [ setuptools ];
build-system = [
setuptools
];
propagatedBuildInputs = [ proton-core ];
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "--cov=proton/vpn/logging/ --cov-report html --cov-report term" ""
'';
dependencies = [ proton-core ];
pythonImportsCheck = [ "proton.vpn.logging" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
meta = with lib; {
meta = {
description = "General purpose logging package for the entire ProtonVPN Linux client";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-logger";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -7,44 +7,46 @@
proton-core,
proton-vpn-network-manager,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-network-manager-openvpn";
version = "0.0.7";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-network-manager-openvpn";
rev = "refs/tags/v${version}";
hash = "sha256-AHG4jEEv1ihpboQwz6FmNtlqCE83qyOeGzBDHQcvD6o=";
hash = "sha256-eDBcpuz37crfAFX6oysB4FCkSmVLyfLJ0R2L0cZgjRo=";
};
nativeBuildInputs = [
# Solves Namespace NM not available
gobject-introspection
];
build-system = [
setuptools
];
propagatedBuildInputs = [
dependencies = [
proton-core
proton-vpn-network-manager
];
postPatch = ''
substituteInPlace setup.cfg \
--replace "--cov=proton.vpn.backend.linux.networkmanager.protocol.openvpn --cov-report html --cov-report term" ""
'';
pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager.protocol" ];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = with lib; {
meta = {
description = "Adds support for the OpenVPN protocol using NetworkManager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager-openvpn";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -0,0 +1,57 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
gobject-introspection,
setuptools,
proton-core,
proton-vpn-killswitch-network-manager-wireguard,
proton-vpn-network-manager,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-network-manager-wireguard";
version = "0.4.1";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-network-manager-wireguard";
rev = "v${version}";
hash = "sha256-DZXixcm2VwXhbN4buABlkybDgXIg/mbeUVHOpdoj0Kw=";
};
nativeBuildInputs = [
# Solves Namespace NM not available
gobject-introspection
];
build-system = [
setuptools
];
dependencies = [
proton-core
proton-vpn-killswitch-network-manager-wireguard
proton-vpn-network-manager
];
preCheck = ''
# Needed for Permission denied: '/homeless-shelter'
export HOME=$(mktemp -d)
'';
nativeCheckInputs = [
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Adds support for the Wireguard protocol using NetworkManager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager-wireguard";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -6,56 +6,58 @@
setuptools,
networkmanager,
proton-core,
proton-vpn-api-core,
proton-vpn-connection,
pycairo,
pygobject3,
pytest-asyncio,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
pname = "proton-vpn-network-manager";
version = "0.4.2";
version = "0.5.2";
pyproject = true;
src = fetchFromGitHub {
owner = "ProtonVPN";
repo = "python-proton-vpn-network-manager";
rev = "refs/tags/v${version}";
hash = "sha256-zw6fzay1zCBIrouDg2EMhaxDLKIYV5TKYK5lQ3v8W6o=";
hash = "sha256-hTJE9sUjPMsE9d0fIA/OhoasumtfsWuFwn0aTm10PN4=";
};
nativeBuildInputs = [
# Needed to recognize the NM namespace
gobject-introspection
];
build-system = [
setuptools
];
propagatedBuildInputs = [
dependencies = [
# Needed here for the NM namespace
networkmanager
proton-core
proton-vpn-api-core
proton-vpn-connection
pycairo
pygobject3
];
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "--cov=proton/vpn/backend/linux/networkmanager --cov-report html --cov-report term" ""
'';
pythonImportsCheck = [ "proton.vpn.backend.linux.networkmanager" ];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
pytest-cov-stub
pytest-asyncio
];
meta = with lib; {
meta = {
description = "Provides the necessary functionality for other ProtonVPN components to interact with NetworkManager";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-network-manager";
license = licenses.gpl3Only;
maintainers = [ ];
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -13,6 +13,7 @@
pytest-asyncio,
requests,
pytestCheckHook,
pytest-cov-stub,
}:
buildPythonPackage rec {
@@ -27,9 +28,11 @@ buildPythonPackage rec {
hash = "sha256-/5ju/2bxhqK6JWchkxFe3amBKHtO98GCVQWIrUsn+nQ=";
};
nativeBuildInputs = [ setuptools ];
build-system = [
setuptools
];
propagatedBuildInputs = [
dependencies = [
cryptography
distro
proton-core
@@ -37,11 +40,6 @@ buildPythonPackage rec {
pynacl
];
postPatch = ''
substituteInPlace setup.cfg \
--replace-fail "--cov=proton.vpn.session --cov-report term" ""
'';
pythonImportsCheck = [ "proton.vpn.session" ];
postInstall = ''
@@ -55,12 +53,13 @@ buildPythonPackage rec {
pytest-asyncio
requests
pytestCheckHook
pytest-cov-stub
];
meta = {
description = "Provides utility classes to manage VPN sessions";
homepage = "https://github.com/ProtonVPN/python-proton-vpn-session";
license = lib.licenses.gpl3Only;
maintainers = [ ];
maintainers = with lib.maintainers; [ sebtm ];
};
}
@@ -1,60 +0,0 @@
--- gtkperf/src/callbacks.c 2005-10-30 11:33:42.000000000 +0000
+++ gtkperf-patched/src/callbacks.c 2008-05-23 23:41:17.000000000 +0100
@@ -219,6 +219,13 @@
}
+void
+on_cmdline_test(char *optarg)
+{
+ appdata->test_type = atoi(optarg);
+}
+
+
/* Initialize appdata */
void
setup_appdata(AppData * appdata_in)
@@ -398,7 +405,7 @@
appdata->pixbuf_drawing = gdk_pixbuf_new_from_file (filename, NULL);
gtk_combo_box_set_active (GTK_COMBO_BOX (appdata->combobox_testtype),
- 0);
+ appdata->test_type);
/* create end mark to info textview */
GtkTextIter iter;
--- gtkperf/src/callbacks.h 2005-10-30 10:21:23.000000000 +0000
+++ gtkperf-patched/src/callbacks.h 2008-05-23 23:22:30.000000000 +0100
@@ -13,6 +13,7 @@
void on_cmdline_run_all ();
void on_cmdline_help () ;
void on_cmdline_count (char *optarg) ;
+void on_cmdline_test (char *optarg) ;
void on_window_main_show (AppData * data);
gboolean
--- gtkperf/src/main.c 2005-10-30 11:26:42.000000000 +0000
+++ gtkperf-patched/src/main.c 2008-05-23 23:44:02.000000000 +0100
@@ -65,9 +65,10 @@
{"help", 0, 0, 0},
{"automatic", 0, 0, 0},
{"count", 1, 0, 0},
+ {"test", 1, 0, 0},
{0, 0, 0, 0}
};
- c = getopt_long (argc, argv, "hac:",
+ c = getopt_long (argc, argv, "hac:t:",
long_options, &option_index);
if (c == -1)
break;
@@ -104,6 +105,10 @@
on_cmdline_count(optarg);
break;
+ case 't':
+ on_cmdline_test(optarg);
+ break;
+
default:
case 'h':
on_cmdline_help ();
@@ -1,26 +0,0 @@
{ lib, stdenv, fetchurl, gtk2, pkg-config, libintl }:
stdenv.mkDerivation rec {
pname = "gtkperf";
version = "0.40.0";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${pname}_${lib.versions.majorMinor version}.tar.gz";
sha256 = "0yxj3ap3yfi76vqg6xjvgc16nfi9arm9kp87s35ywf10fd73814p";
};
hardeningDisable = [ "format" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gtk2 libintl ];
# https://openbenchmarking.org/innhold/7e9780c11550d09aa67bdba71248facbe2d781db
patches = [ ./bench.patch ];
meta = with lib; {
description = "Application designed to test GTK performance";
mainProgram = "gtkperf";
homepage = "https://gtkperf.sourceforge.net/";
license = with licenses; [ gpl2 ];
maintainers = [ ];
};
}
-44
View File
@@ -1,44 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, ninja
, meson
, pkg-config
, gthree
, gsound
, libepoxy
, gtk3
}:
stdenv.mkDerivation rec {
pname = "gnome-hexgl";
version = "unstable-2020-07-24";
src = fetchFromGitHub {
owner = "alexlarsson";
repo = "gnome-hexgl";
rev = "f47a351055a235730795341dcd6b2397cc4bfa0c";
sha256 = "yZWGymaSUfnCP8VAEdDH64w0muSnRK/XPi1/IqTrE4k=";
};
nativeBuildInputs = [
ninja
meson
pkg-config
];
buildInputs = [
gthree
gsound
libepoxy
gtk3
];
meta = with lib; {
description = "Gthree port of HexGL";
mainProgram = "gnome-hexgl";
homepage = "https://github.com/alexlarsson/gnome-hexgl";
license = licenses.mit;
maintainers = [ ];
platforms = platforms.unix;
};
}
@@ -460,6 +460,9 @@ let
# Enable AMD secure display when available
DRM_AMD_SECURE_DISPLAY = whenAtLeast "5.13" yes;
# Enable AMD image signal processor
DRM_AMD_ISP = whenAtLeast "6.11" yes;
# Enable new firmware (and by extension NVK) for compatible hardware on Nouveau
DRM_NOUVEAU_GSP_DEFAULT = whenAtLeast "6.8" yes;
@@ -736,6 +739,10 @@ let
# Enable stack smashing protections in schedule()
# See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.8&id=0d9e26329b0c9263d4d9e0422d80a0e73268c52f
SCHED_STACK_END_CHECK = yes;
# Enable separate slab buckets for user controlled allocations
# See: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=67f2df3b82d091ed095d0e47e1f3a9d3e18e4e41
SLAB_BUCKETS = whenAtLeast "6.11" yes;
} // lib.optionalAttrs stdenv.hostPlatform.isx86_64 {
# Enable Intel SGX
X86_SGX = whenAtLeast "5.11" yes;
@@ -38,5 +38,9 @@
"6.10": {
"version": "6.10.10",
"hash": "sha256:1kcvh1g3p1sj4q34ylcmm43824f97z4k695lcxnzp7pbnlsyg1z6"
},
"6.11": {
"version": "6.11",
"hash": "sha256:0bnbvadm4wvnwzcq319gsgl03ijvvljn7mj8qw87ihpb4p0cdljm"
}
}
@@ -63,7 +63,7 @@ stdenv.mkDerivation {
# Fix 6.10.0 holding pkg-config completely wrong.
# Patches from perf-tools-next, should be in 6.11 or hopefully backported.
patches = lib.optionals (lib.versionAtLeast kernel.version "6.10") [
patches = lib.optionals (lib.versions.majorMinor kernel.version == "6.10") [
(fetchpatch {
url = "https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/patch/?id=0f0e1f44569061e3dc590cd0b8cb74d8fd53706b";
hash = "sha256-9u/zhbsDgwOr4T4k9td/WJYRuSHIfbtfS+oNx8nbOlM=";
-47
View File
@@ -1,47 +0,0 @@
{ lib, stdenv
, fetchFromGitHub
, rustPlatform
, gtk3
, AppKit
, pkg-config
, python3
}:
rustPlatform.buildRustPackage rec {
pname = "xprite-editor-unstable";
version = "2019-09-22";
src = fetchFromGitHub {
owner = "rickyhan";
repo = "xprite-editor";
rev = "7f899dff982642927024540e4bafd74e4ea5e52a";
sha256 = "1k6k8y8gg1vdmyjz27q689q9rliw0rrnzwlpjcd4vlc6swaq9ahx";
fetchSubmodules = true;
# Rename unicode file name which leads to different checksums on HFS+
# vs. other filesystems because of unicode normalization.
postFetch = ''
mv $out/config/palettes/Sweet\ Guaran*.hex $out/config/palettes/Sweet\ Guarana.hex
'';
};
buildInputs = lib.optionals stdenv.isLinux [ gtk3 ]
++ lib.optionals stdenv.isDarwin [ AppKit ];
nativeBuildInputs = lib.optionals stdenv.isLinux [ pkg-config python3 ];
cargoHash = "sha256-k53nSYBIJJHPivz6IvF5t0eZVkTvj1ZT3RyHdoy5MXw=";
cargoBuildFlags = [ "--bin" "xprite-native" ];
meta = with lib; {
# error[E0034]: multiple applicable items in scope
# multiple `clamp` found
# https://github.com/NixOS/nixpkgs/issues/146949
broken = true;
homepage = "https://github.com/rickyhan/xprite-editor";
description = "Pixel art editor";
license = licenses.gpl3;
maintainers = [ ];
platforms = platforms.linux ++ platforms.darwin;
};
}
+1 -1
View File
@@ -117,7 +117,7 @@ stdenv.mkDerivation rec {
description = "OpenVPN 3 Linux client";
license = licenses.agpl3Plus;
homepage = "https://github.com/OpenVPN/openvpn3-linux/";
maintainers = with maintainers; [ shamilton kfears ];
maintainers = with maintainers; [ shamilton ];
platforms = platforms.linux;
};
}
-51
View File
@@ -1,51 +0,0 @@
{ stdenv
, lib
, fetchurl
, pkg-config
, lm_sensors
, libgtop
, libatasmart
, gtk3
, libnotify
, udisks2
, libXNVCtrl
, wrapGAppsHook3
, libappindicator
}:
stdenv.mkDerivation rec {
pname = "psensor";
version = "1.2.1";
src = fetchurl {
url = "https://wpitchoune.net/psensor/files/psensor-${version}.tar.gz";
sha256 = "1ark901va79gfq5p8h8dqypjgm3f8crmj37520q3slwz2rfphkq8";
};
nativeBuildInputs = [ pkg-config wrapGAppsHook3 ];
buildInputs = [
lm_sensors
libgtop
libatasmart
gtk3
libnotify
udisks2
libappindicator
];
preConfigure = ''
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libXNVCtrl}/include -Wno-error"
NIX_LDFLAGS="$NIX_LDFLAGS -L${libXNVCtrl}/lib"
'';
meta = with lib; {
description = "Graphical hardware monitoring application for Linux";
homepage = "https://wpitchoune.net/psensor/";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ ];
mainProgram = "psensor";
};
}
+16
View File
@@ -138,6 +138,7 @@ mapAliases ({
atomPackages = throw "'atomPackages' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01
audaciousQt5 = throw "'audaciousQt5' has been removed, since audacious is built with Qt 6 now"; # Added 2024-07-06
auditBlasHook = throw "'auditBlasHook' has been removed since it never worked"; # Added 2024-04-02
aumix = throw "'aumix' has been removed due to lack of maintenance upstream. Consider using 'pamixer' for CLI or 'pavucontrol' for GUI"; # Added 2024-09-14
authy = throw "'authy' has been removed since it reached end of life"; # Added 2024-04-19
avldrums-lv2 = x42-avldrums; # Added 2020-03-29
avrlibcCross = avrlibc; # Added 2024-09-06
@@ -527,6 +528,9 @@ mapAliases ({
gfortran48 = throw "'gfortran48' has been removed from nixpkgs"; # Added 2024-09-10
gfortran49 = throw "'gfortran49' has been removed from nixpkgs"; # Added 2024-09-11
ghostwriter = libsForQt5.kdeGear.ghostwriter; # Added 2023-03-18
gmpc = throw "'gmpc' has been removed due to lack of maintenance upstream. Consider using 'plattenalbum' instead"; # Added 2024-09-14
gmtk = throw "'gmtk' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
gmtp = throw "'gmtp' has been removed due to lack of maintenance upstream. Consider using 'gnome-music' instead"; # Added 2024-09-14
go-dependency-manager = throw "'go-dependency-manager' is unmaintained and the go community now uses 'go.mod' mostly instead"; # Added 2023-10-04
gotktrix = throw "'gotktrix' has been removed, as it was broken and unmaintained"; # Added 2023-12-06
git-backup = throw "git-backup has been removed, as it has been abandoned upstream. Consider using git-backup-go instead.";
@@ -569,8 +573,11 @@ mapAliases ({
gnatcoll-xref = gnatPackages.gnatcoll-xref; # Added 2024-02-25
gnatcoll-db2ada = gnatPackages.gnatcoll-db2ada; # Added 2024-02-25
gnatinspect = gnatPackages.gnatinspect; # Added 2024-02-25
gnome-dictionary = throw "'gnome-dictionary' has been removed as it has been archived upstream. Consider using 'wordbook' instead"; # Added 2024-09-14
gnome-firmware-updater = gnome-firmware; # added 2022-04-14
gnome-hexgl = throw "'gnome-hexgl' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
gnome-passwordsafe = gnome-secrets; # added 2022-01-30
gnome_mplayer = throw "'gnome_mplayer' has been removed due to lack of maintenance upstream. Consider using 'celluloid' instead"; # Added 2024-09-14
gnome-mpv = throw "'gnome-mpv' has been renamed to/replaced by 'celluloid'"; # Converted to throw 2023-09-10
gnome-resources = resources; # added 2023-12-10
gnome_user_docs = throw "'gnome_user_docs' has been renamed to/replaced by 'gnome-user-docs'"; # Converted to throw 2023-09-10
@@ -647,6 +654,7 @@ mapAliases ({
grub = throw "grub1 was removed after not being maintained upstream for a decade. Please switch to another bootloader"; # Added 2023-04-11
gtetrinet = throw "'gtetrinet' has been removed because it depends on GNOME 2 libraries"; # Added 2024-06-27
gtkcord4 = dissent; # Added 2024-03-10
gtkperf = throw "'gtkperf' has been removed due to lack of maintenance upstream"; # Added 2024-09-14
gtkpod = throw "'gtkpod' was removed due to one of its dependencies, 'anjuta' being unmaintained"; # Added 2024-01-16
guardian-agent = throw "'guardian-agent' has been removed, as it hasn't been maintained upstream in years and accumulated many vulnerabilities"; # Added 2024-06-09
guile-disarchive = disarchive; # Added 2023-10-27
@@ -770,6 +778,7 @@ mapAliases ({
### L ###
l3afpad = throw "'l3afpad' has been removed due to lack of maintenance upstream. Consider using 'xfce.mousepad' instead"; # Added 2024-09-14
larynx = piper-tts; # Added 2023-05-09
LASzip = laszip; # Added 2024-06-12
LASzip2 = laszip_2; # Added 2024-06-12
@@ -861,6 +870,7 @@ mapAliases ({
linuxPackages_6_8 = linuxKernel.packages.linux_6_8;
linuxPackages_6_9 = linuxKernel.packages.linux_6_9;
linuxPackages_6_10 = linuxKernel.packages.linux_6_10;
linuxPackages_6_11 = linuxKernel.packages.linux_6_11;
linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
linuxPackages_rpi02w = linuxKernel.packages.linux_rpi3;
linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1;
@@ -890,6 +900,7 @@ mapAliases ({
linux_6_8 = linuxKernel.kernels.linux_6_8;
linux_6_9 = linuxKernel.kernels.linux_6_9;
linux_6_10 = linuxKernel.kernels.linux_6_10;
linux_6_11 = linuxKernel.kernels.linux_6_11;
linux_rpi0 = linuxKernel.kernels.linux_rpi1;
linux_rpi02w = linuxKernel.kernels.linux_rpi3;
linux_rpi1 = linuxKernel.kernels.linux_rpi1;
@@ -985,6 +996,7 @@ mapAliases ({
mdt = md-tui; # Added 2024-09-03
meme = meme-image-generator; # Added 2021-04-21
mess = throw "'mess' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
mhwaveedit = throw "'mkwaveedit' has been removed due to lack of maintenance upstream. Consider using 'audacity' or 'tenacity' instead";
microcodeAmd = microcode-amd; # Added 2024-09-08
microcodeIntel = microcode-intel; # Added 2024-09-08
microsoft_gsl = microsoft-gsl; # Added 2023-05-26
@@ -1023,6 +1035,7 @@ mapAliases ({
moz-phab = mozphab; # Added 2022-08-09
mozart-binary = throw "'mozart-binary' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
mp3info = throw "'mp3info' has been removed due to lack of maintenance upstream. Consider using 'eartag' or 'tagger' instead"; # Added 2024-09-14
mpc_cli = mpc-cli; # moved from top-level 2022-01-24
mpd_clientlib = libmpdclient; # Added 2021-02-11
mpdevil = plattenalbum; # Added 2024-05-22
@@ -1284,6 +1297,7 @@ mapAliases ({
protonup = protonup-ng; # Added 2022-11-06
proxmark3-rrg = proxmark3; # Added 2023-07-25
proxmark3-unstable = throw "removed in favor of rfidresearchgroup fork"; # Added 2023-07-25
psensor = throw "'psensor' has been removed due to lack of maintenance upstream. Consider using 'mission-center', 'resources' or 'monitorets' instead"; # Added 2024-09-14
pyls-black = throw "pyls-black has been removed from nixpkgs. Use python-lsp-black instead."; # Added 2023-01-09
pyls-mypy = throw "pyls-mypy has been removed from nixpkgs. Use pylsp-mypy instead."; # Added 2023-01-09
pygmentex = throw "'pygmentex' has been renamed to/replaced by 'texlive.bin.pygmentex'"; # Converted to throw 2023-09-10
@@ -1612,6 +1626,7 @@ mapAliases ({
vikunja-frontend = throw "'vikunja-frontend' has been replaced by 'vikunja'"; # Added 2024-02-19
vimHugeX = vim-full; # Added 2022-12-04
vim_configurable = vim-full; # Added 2022-12-04
vinagre = throw "'vinagre' has been removed as it has been archived upstream. Consider using 'gnome-connections' or 'remmina' instead"; # Added 2024-09-14
vinegar = throw "'vinegar' was removed due to being blocked by Roblox, rendering the package useless"; # Added 2024-08-23
virtmanager = throw "'virtmanager' has been renamed to/replaced by 'virt-manager'"; # Converted to throw 2023-09-10
virtmanager-qt = throw "'virtmanager-qt' has been renamed to/replaced by 'virt-manager-qt'"; # Converted to throw 2023-09-10
@@ -1675,6 +1690,7 @@ mapAliases ({
xmlada = gnatPackages.xmlada; # Added 2024-02-25
xmr-stak = throw "xmr-stak has been removed from nixpkgs because it was broken"; # Added 2024-07-15
xonsh-unwrapped = python3Packages.xonsh; # Added 2024-06-18
xprite-editor = throw "'xprite-editor' has been removed due to lack of maintenance upstream. Consider using 'pablodraw' or 'aseprite' instead"; # Added 2024-09-14
xtrt = throw "xtrt has been removed due to being abandoned"; # Added 2023-05-25
xulrunner = firefox-unwrapped; # Added 2023-11-03
xvfb_run = xvfb-run; # Added 2021-05-07
+1 -37
View File
@@ -8429,8 +8429,6 @@ with pkgs;
gtkgnutella = callPackage ../tools/networking/p2p/gtk-gnutella { };
gtkperf = callPackage ../development/tools/misc/gtkperf { };
gtkradiant = callPackage ../applications/misc/gtkradiant { };
gtk-frdp = callPackage ../development/libraries/gtk-frdp { };
@@ -9780,8 +9778,6 @@ with pkgs;
leafpad = callPackage ../applications/editors/leafpad { };
l3afpad = callPackage ../applications/editors/l3afpad { };
leanblueprint = with python3Packages; toPythonApplication leanblueprint;
leanify = callPackage ../tools/misc/leanify { };
@@ -11670,10 +11666,6 @@ with pkgs;
psudohash = callPackage ../tools/security/psudohash { };
psensor = callPackage ../tools/system/psensor {
libXNVCtrl = linuxPackages.nvidia_x11.settings.libXNVCtrl;
};
pubs = callPackage ../tools/misc/pubs { };
pulldown-cmark = callPackage ../tools/typesetting/pulldown-cmark { };
@@ -14217,10 +14209,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Security;
};
xprite-editor = callPackage ../tools/misc/xprite-editor {
inherit (darwin.apple_sdk.frameworks) AppKit;
};
xq-xml = callPackage ../tools/text/xml/xq { };
xsecurelock = callPackage ../tools/X11/xsecurelock { };
@@ -19357,8 +19345,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) CoreAudio AudioToolbox;
};
ayatana-ido = callPackage ../development/libraries/ayatana-ido { };
ayatana-webmail = callPackage ../applications/networking/mailreaders/ayatana-webmail { };
azmq = callPackage ../development/libraries/azmq { };
@@ -21534,8 +21520,6 @@ with pkgs;
libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
libindicator = callPackage ../development/libraries/libindicator { };
libayatana-indicator = callPackage ../development/libraries/libayatana-indicator { };
libinotify-kqueue = callPackage ../development/libraries/libinotify-kqueue { };
libiodbc = callPackage ../development/libraries/libiodbc {
@@ -24742,7 +24726,7 @@ with pkgs;
engelsystem = callPackage ../servers/web-apps/engelsystem { };
envoy = callPackage ../servers/http/envoy {
envoy = callPackage ../by-name/en/envoy/package.nix {
jdk = openjdk11_headless;
gn = gn1924;
};
@@ -28807,10 +28791,6 @@ with pkgs;
armcord = callPackage ../applications/networking/instant-messengers/armcord { };
aumix = callPackage ../applications/audio/aumix {
gtkGUI = false;
};
autopanosiftc = callPackage ../applications/graphics/autopanosiftc { };
ausweisapp = qt6Packages.callPackage ../applications/misc/ausweisapp { };
@@ -30287,14 +30267,10 @@ with pkgs;
glowing-bear = callPackage ../applications/networking/irc/glowing-bear { };
gmtk = callPackage ../development/libraries/gmtk { };
gmu = callPackage ../applications/audio/gmu { };
gnaural = callPackage ../applications/audio/gnaural { };
gnome_mplayer = callPackage ../applications/video/gnome-mplayer { };
gnumeric = callPackage ../applications/office/gnumeric { };
gnunet = callPackage ../applications/networking/p2p/gnunet { };
@@ -30338,10 +30314,6 @@ with pkgs;
gqview = callPackage ../applications/graphics/gqview { };
gmpc = callPackage ../applications/audio/gmpc { };
gmtp = callPackage ../applications/misc/gmtp { };
gnomecast = callPackage ../applications/video/gnomecast { };
gnome-recipes = callPackage ../applications/misc/gnome-recipes { };
@@ -31592,10 +31564,6 @@ with pkgs;
metersLv2 = callPackage ../applications/audio/meters_lv2 { };
mhwaveedit = callPackage ../applications/audio/mhwaveedit {
autoreconfHook = buildPackages.autoreconfHook269;
};
michabo = libsForQt5.callPackage ../applications/misc/michabo { };
mid2key = callPackage ../applications/audio/mid2key { };
@@ -31752,8 +31720,6 @@ with pkgs;
mp3gain = callPackage ../applications/audio/mp3gain { };
mp3info = callPackage ../applications/audio/mp3info { };
mp3splt = callPackage ../applications/audio/mp3splt { };
mp3val = callPackage ../applications/audio/mp3val { };
@@ -35017,8 +34983,6 @@ with pkgs;
gamepad-tool = callPackage ../games/gamepad-tool { };
gnome-hexgl = callPackage ../games/gnome-hexgl { };
gotypist = callPackage ../games/gotypist { };
heroic-unwrapped = callPackage ../games/heroic {
+10 -1
View File
@@ -194,6 +194,14 @@ in {
];
};
linux_6_11 = callPackage ../os-specific/linux/kernel/mainline.nix {
branch = "6.11";
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
};
linux_testing = let
testing = callPackage ../os-specific/linux/kernel/mainline.nix {
# A special branch that tracks the kernel under the release process
@@ -629,6 +637,7 @@ in {
linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1);
linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6);
linux_6_10 = recurseIntoAttrs (packagesFor kernels.linux_6_10);
linux_6_11 = recurseIntoAttrs (packagesFor kernels.linux_6_11);
} // lib.optionalAttrs config.allowAliases {
linux_4_9 = throw "linux 4.9 was removed because it will reach its end of life within 22.11"; # Added 2022-11-08
linux_4_14 = throw "linux 4.14 was removed because it will reach its end of life within 23.11"; # Added 2023-10-11
@@ -697,7 +706,7 @@ in {
packageAliases = {
linux_default = packages.linux_6_6;
# Update this when adding the newest kernel major version!
linux_latest = packages.linux_6_10;
linux_latest = packages.linux_6_11;
linux_mptcp = throw "'linux_mptcp' has been moved to https://github.com/teto/mptcp-flake";
linux_rt_default = packages.linux_rt_5_15;
linux_rt_latest = packages.linux_rt_6_6;
+4
View File
@@ -10625,12 +10625,16 @@ self: super: with self; {
proton-vpn-killswitch-network-manager = callPackage ../development/python-modules/proton-vpn-killswitch-network-manager { };
proton-vpn-killswitch-network-manager-wireguard = callPackage ../development/python-modules/proton-vpn-killswitch-network-manager-wireguard { };
proton-vpn-logger = callPackage ../development/python-modules/proton-vpn-logger { };
proton-vpn-network-manager = callPackage ../development/python-modules/proton-vpn-network-manager { };
proton-vpn-network-manager-openvpn = callPackage ../development/python-modules/proton-vpn-network-manager-openvpn { };
proton-vpn-network-manager-wireguard = callPackage ../development/python-modules/proton-vpn-network-manager-wireguard { };
proton-vpn-session = callPackage ../development/python-modules/proton-vpn-session { };
protonup-ng = callPackage ../development/python-modules/protonup-ng { };