Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-01-04 06:01:03 +00:00 committed by GitHub
commit 872c4bf219
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 140 additions and 166 deletions

View file

@ -281,13 +281,6 @@ in
mosquitto = handleTest ./mosquitto.nix {};
mpd = handleTest ./mpd.nix {};
mpv = handleTest ./mpv.nix {};
mtp = let
olderQemu = (import (fetchTarball {
url = "https://github.com/nixos/nixpkgs/archive/e1fc1a80a071c90ab65fb6eafae5520579163783.tar.gz";
sha256 = "19a0qrx31lp2r8cgk9hv4p6j6six6l82qisxr68y7wb7drw7dhkz";
}) { inherit system; }).qemu_test;
myPkgs = import ../.. { inherit system; overlays = [ (self: super: { qemu_test = olderQemu; }) ]; };
in handleTest ./mtp.nix { pkgs = myPkgs; };
mumble = handleTest ./mumble.nix {};
musescore = handleTest ./musescore.nix {};
munin = handleTest ./munin.nix {};

View file

@ -1,108 +0,0 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "mtp";
meta = with pkgs.lib.maintainers; {
maintainers = [ matthewcroughan nixinator ];
};
nodes =
{
client = { config, pkgs, ... }: {
# DBUS runs only once a user session is created, which means a user has to
# login. Here, we log in as root. Once logged in, the gvfs-daemon service runs
# as UID 0 in User-0.service
services.getty.autologinUser = "root";
# XDG_RUNTIME_DIR is needed for running systemd-user services such as
# gvfs-daemon as root.
environment.variables.XDG_RUNTIME_DIR = "/run/user/0";
environment.systemPackages = with pkgs; [ usbutils glib jmtpfs tree ];
services.gvfs.enable = true;
# Creates a usb-mtp device inside the VM, which is mapped to the host's
# /tmp folder, it is able to write files to this location, but only has
# permissions to read its own creations.
virtualisation.qemu.options = [
"-usb"
"-device usb-mtp,rootdir=/tmp,readonly=false"
];
};
};
testScript = { nodes, ... }:
let
# Creates a list of QEMU MTP devices matching USB ID (46f4:0004). This
# value can be sourced in a shell script. This is so we can loop over the
# devices we find, as this test may want to use more than one MTP device
# in future.
mtpDevices = pkgs.writeScript "mtpDevices.sh" ''
export mtpDevices=$(lsusb -d 46f4:0004 | awk {'print $2","$4'} | sed 's/[:-]/ /g')
'';
# Qemu is only capable of creating an MTP device with Picture Transfer
# Protocol. This means that gvfs must use gphoto2:// rather than mtp://
# when mounting.
# https://github.com/qemu/qemu/blob/970bc16f60937bcfd334f14c614bd4407c247961/hw/usb/dev-mtp.c#L278
gvfs = rec {
mountAllMtpDevices = pkgs.writeScript "mountAllMtpDevices.sh" ''
set -e
source ${mtpDevices}
for i in $mtpDevices
do
gio mount "gphoto2://[usb:$i]/"
done
'';
unmountAllMtpDevices = pkgs.writeScript "unmountAllMtpDevices.sh" ''
set -e
source ${mtpDevices}
for i in $mtpDevices
do
gio mount -u "gphoto2://[usb:$i]/"
done
'';
# gvfsTest:
# 1. Creates a 10M test file
# 2. Copies it to the device using GIO tools
# 3. Checks for corruption with `diff`
# 4. Removes the file, then unmounts the disks.
gvfsTest = pkgs.writeScript "gvfsTest.sh" ''
set -e
source ${mtpDevices}
${mountAllMtpDevices}
dd if=/dev/urandom of=testFile10M bs=1M count=10
for i in $mtpDevices
do
gio copy ./testFile10M gphoto2://[usb:$i]/
ls -lah /run/user/0/gvfs/*/testFile10M
gio remove gphoto2://[usb:$i]/testFile10M
done
${unmountAllMtpDevices}
'';
};
jmtpfs = {
# jmtpfsTest:
# 1. Mounts the device on a dir named `phone` using jmtpfs
# 2. Puts the current Nixpkgs libmtp version into a file
# 3. Checks for corruption with `diff`
# 4. Prints the directory tree
jmtpfsTest = pkgs.writeScript "jmtpfsTest.sh" ''
mkdir phone
jmtpfs phone
echo "${pkgs.libmtp.version}" > phone/tmp/testFile
echo "${pkgs.libmtp.version}" > testFile
diff phone/tmp/testFile testFile
tree phone
'';
};
in
# Using >&2 allows the results of the scripts to be printed to the terminal
# when building this test with Nix. Scripts would otherwise complete
# silently.
''
start_all()
client.wait_for_unit("multi-user.target")
client.wait_for_unit("dbus.service")
client.succeed("${gvfs.gvfsTest} >&2")
client.succeed("${jmtpfs.jmtpfsTest} >&2")
'';
})

View file

@ -21,6 +21,8 @@ lib.makeScope newScope (self: with self; {
mopidy-mpris = callPackage ./mpris.nix { };
mopidy-muse = callPackage ./muse.nix { };
mopidy-musicbox-webclient = callPackage ./musicbox-webclient.nix { };
mopidy-podcast = callPackage ./podcast.nix { };

View file

@ -0,0 +1,29 @@
{ lib, pythonPackages, mopidy }:
pythonPackages.buildPythonApplication rec {
pname = "mopidy-muse";
version = "0.0.27";
src = pythonPackages.fetchPypi {
inherit version;
pname = "Mopidy-Muse";
sha256 = "0jx9dkgxr07avzz9zskzhqy98zsxkdrf7iid2ax5vygwf8qsx8ks";
};
propagatedBuildInputs = [
mopidy
pythonPackages.pykka
];
pythonImportsCheck = [ "mopidy_muse" ];
# has no tests
doCheck = false;
meta = with lib; {
description = "Mopidy web client with Snapcast support";
homepage = "https://github.com/cristianpb/muse";
license = licenses.asl20;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -13,11 +13,11 @@
stdenv.mkDerivation rec {
pname = "paprefs";
version = "1.1";
version = "1.2";
src = fetchurl {
url = "https://freedesktop.org/software/pulseaudio/paprefs/paprefs-${version}.tar.xz";
sha256 = "189z5p20hk0xv9vwvym293503j4pwl03xqk9hl7cl6dwgv0l7wkf";
sha256 = "sha256-s/IeQNw5NtFeP/yRD7DAfBS4jowodxW0VqlIwXY49jM=";
};
nativeBuildInputs = [

View file

@ -10,17 +10,24 @@
stdenv.mkDerivation rec {
pname = "free42";
version = "3.0.8";
version = "3.0.9";
src = fetchFromGitHub {
owner = "thomasokken";
repo = pname;
rev = "v${version}";
sha256 = "sha256-nZCuFumAyeUxRmmtd6/qvXk3LVZgbDhlsDygXMWDfp0=";
hash = "sha256-ZSwqgHsfe9apyYZ1fkvDMnQxdNb9E8U1l9jvC9t693w=";
};
nativeBuildInputs = [ copyDesktopItems pkg-config ];
buildInputs = [ gtk3 alsa-lib ];
nativeBuildInputs = [
copyDesktopItems
pkg-config
];
buildInputs = [
alsa-lib
gtk3
];
postPatch = ''
sed -i -e "s|/bin/ls|ls|" gtk/Makefile
@ -30,23 +37,24 @@ stdenv.mkDerivation rec {
buildPhase = ''
runHook preBuild
make -C gtk cleaner
make --jobs=$NIX_BUILD_CORES -C gtk
make -C gtk clean
make --jobs=$NIX_BUILD_CORES -C gtk BCD_MATH=1
runHook postBuild
'';
preInstall = ''
installPhase = ''
runHook preInstall
install --directory $out/bin \
$out/share/doc/${pname} \
$out/share/${pname}/skins \
$out/share/icons/hicolor/48x48/apps \
$out/share/icons/hicolor/128x128/apps
'';
installPhase = ''
runHook preInstall
install -m755 gtk/free42dec gtk/free42bin $out/bin
install -m644 gtk/README $out/share/doc/${pname}/README-GTK
install -m644 README $out/share/doc/${pname}/README
@ -54,6 +62,7 @@ stdenv.mkDerivation rec {
install -m644 gtk/icon-48x48.xpm $out/share/icons/hicolor/48x48/apps
install -m644 gtk/icon-128x128.xpm $out/share/icons/hicolor/128x128/apps
install -m644 skins/* $out/share/${pname}/skins
runHook postInstall
'';

View file

@ -30,5 +30,6 @@ buildGoModule rec {
homepage = "https://github.com/burrowers/garble/";
maintainers = with lib.maintainers; [ davhau ];
license = lib.licenses.bsd3;
broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/garble.x86_64-darwin
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-arcmenu";
version = "19";
version = "20";
src = fetchFromGitLab {
owner = "arcmenu";
repo = "ArcMenu";
rev = "v${version}";
sha256 = "sha256-GEeONrrH00Tt9tuxhH7Gv5lSZ2D/hFgeGbUstqJsWZo=";
sha256 = "sha256-HjhOZfXld0gnKOAazT8qbI0Jdq6NY/FsrhzAY9uxxMg=";
};
patches = [

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "cimg";
version = "2.9.9";
version = "3.0.0";
src = fetchFromGitHub {
owner = "dtschump";
repo = "CImg";
rev = "v.${version}";
hash = "sha256-DWyqVN7v+j2XCArv4jmrD45XKWMNhd2DddJHH3gQWQY=";
hash = "sha256-dC4VuWTz0uyFxLjBQ+2ggndHaCErcoI7tJMfkqbWmeg=";
};
outputs = [ "out" "doc" ];
@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
install -dm 755 $out/include/CImg/plugins $doc/share/doc/cimg/examples
install -m 644 CImg.h $out/include/
cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
cp -dr --no-preserve=ownership plugins/* $out/include/CImg/plugins/
cp -dr --no-preserve=ownership examples/* $doc/share/doc/cimg/examples/
cp README.txt $doc/share/doc/cimg/
runHook postInstall

View file

@ -5,11 +5,11 @@
buildPythonPackage rec {
pname = "striprtf";
version = "0.0.17";
version = "0.0.18";
src = fetchPypi {
inherit pname version;
sha256 = "e122b5d334cda9b0edb3eeb8910f01d0ffb02eaca054facd75b17b98fcf646f5";
sha256 = "6bb2dc8a59f3128662f958d647c5e6755f9ad8053f216c88e68514df204926d2";
};
meta = with lib; {

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "CastXML";
version = "0.4.3";
version = "0.4.4";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-MschwCEkZrZmNgr8a1ocdukjXzHbXl2gmkPmygJaA6k=";
hash = "sha256-VtkMjZOcF5OAHkezlupXOpNwqUD1oKHdRbtG2FZBRL4=";
};
nativeBuildInputs = [
@ -30,23 +30,23 @@ stdenv.mkDerivation rec {
sphinx
];
cmakeFlags = [
"-DCLANG_RESOURCE_DIR=${libclang.dev}/"
"-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}"
"-DSPHINX_MAN=${if withManual then "ON" else "OFF"}"
];
buildInputs = [
libclang
libffi
libxml2
zlib
libclang
];
propagatedBuildInputs = [
libclang
];
cmakeFlags = [
"-DCLANG_RESOURCE_DIR=${libclang.dev}/"
"-DSPHINX_HTML=${if withHTML then "ON" else "OFF"}"
"-DSPHINX_MAN=${if withManual then "ON" else "OFF"}"
];
# 97% tests passed, 97 tests failed out of 2881
# mostly because it checks command line and nix append -isystem and all
doCheck = false;
@ -64,5 +64,6 @@ stdenv.mkDerivation rec {
license = licenses.asl20;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
broken = stdenv.isDarwin;
};
}

View file

@ -1,21 +1,56 @@
{ lib, stdenv, fetchurl, pkg-config
, gettext, gtk2, SDL2, zlib, glib, openal, libGLU, libGL, lua, freetype, libmpeg2, zip }:
{ lib
, stdenv
, fetchFromGitHub
, SDL2
, autoreconfHook
, freetype
, gettext
, glib
, gtk2
, libGL
, libGLU
, libmpeg2
, lua
, openal
, pkg-config
, zip
, zlib
}:
with lib;
stdenv.mkDerivation rec {
pname = "fs-uae";
version = "3.0.5";
version = "3.1.66";
src = fetchurl {
url = "https://fs-uae.net/stable/${version}/${pname}-${version}.tar.gz";
sha256 = "1qwzhp34wy7bnd3c0plv11rg9fs5m92rh3ffnr9pn6ng0cpc8vpj";
src = fetchFromGitHub {
owner = "FrodeSolheim";
repo = pname;
rev = "v${version}";
hash = "sha256-zPVRPazelmNaxcoCStB0j9b9qwQDTgv3O7Bg3VlW9ys=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gettext gtk2 SDL2 zlib glib openal libGLU libGL lua freetype libmpeg2 zip ];
nativeBuildInputs = [
autoreconfHook
pkg-config
];
meta = {
buildInputs = [
SDL2
freetype
gettext
glib
gtk2
libGL
libGLU
libmpeg2
lua
openal
zip
zlib
];
meta = with lib; {
homepage = "https://fs-uae.net";
description = "An accurate, customizable Amiga Emulator";
longDescription = ''
FS-UAE integrates the most accurate Amiga emulation code available
@ -24,9 +59,7 @@ stdenv.mkDerivation rec {
create customized Amigas.
'';
license = licenses.gpl2Plus;
homepage = "https://fs-uae.net";
maintainers = with lib; [ maintainers.AndersonTorres ];
maintainers = with maintainers; [ AndersonTorres ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}
# TODO: testing and Python GUI support

View file

@ -1,5 +1,9 @@
{ stdenv, lib, fetchurl, makeWrapper, python3, gettext
, pyqt5, setuptools, requests
{ lib
, stdenv
, fetchurl
, gettext
, makeWrapper
, python3
}:
stdenv.mkDerivation rec {
@ -11,18 +15,29 @@ stdenv.mkDerivation rec {
sha256 = "1dknra4ngz7bpppwqghmza1q68pn1yaw54p9ba0f42zwp427ly97";
};
nativeBuildInputs = [
gettext
makeWrapper
python3
];
buildInputs = with python3.pkgs; [
pyqt5
requests
setuptools
];
makeFlags = [ "prefix=$(out)" ];
nativeBuildInputs = [ makeWrapper python3 gettext ];
buildInputs = [ pyqt5 setuptools requests ];
postInstall = ''
wrapProgram $out/bin/fs-uae-launcher --set PYTHONPATH "$PYTHONPATH"
'';
meta = {
meta = with lib; {
homepage = "https://fs-uae.net";
description = "Graphical front-end for the FS-UAE emulator";
license = lib.licenses.gpl2Plus;
homepage = "https://fs-uae.net";
maintainers = with lib; [ maintainers.sander ];
maintainers = with maintainers; [ sander AndersonTorres ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View file

@ -244,7 +244,7 @@ with pkgs;
castxml = callPackage ../development/tools/castxml {
inherit (llvmPackages) libclang llvm;
inherit (python3Packages) sphinx;
inherit (python3.pkgs) sphinx;
};
catatonit = callPackage ../applications/virtualization/catatonit { };
@ -27184,6 +27184,7 @@ with pkgs;
mopidy-mopify
mopidy-mpd
mopidy-mpris
mopidy-muse
mopidy-musicbox-webclient
mopidy-podcast
mopidy-scrobbler
@ -33222,9 +33223,7 @@ with pkgs;
fsuae = callPackage ../misc/emulators/fs-uae { };
fsuae-launcher = callPackage ../misc/emulators/fs-uae-launcher {
inherit (python3Packages) pyqt5 setuptools requests;
};
fsuae-launcher = callPackage ../misc/emulators/fs-uae/launcher.nix { };
putty = callPackage ../applications/networking/remote/putty {
gtk2 = gtk2-x11;