Merge staging-next into staging
This commit is contained in:
commit
d6a3b9cec5
@ -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 {};
|
||||
|
@ -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")
|
||||
'';
|
||||
})
|
@ -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 { };
|
||||
|
29
pkgs/applications/audio/mopidy/muse.nix
Normal file
29
pkgs/applications/audio/mopidy/muse.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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 = [
|
||||
|
@ -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
|
||||
'';
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
}
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
|
@ -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; {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -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" ];
|
||||
};
|
||||
}
|
@ -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 { };
|
||||
@ -27189,6 +27189,7 @@ with pkgs;
|
||||
mopidy-mopify
|
||||
mopidy-mpd
|
||||
mopidy-mpris
|
||||
mopidy-muse
|
||||
mopidy-musicbox-webclient
|
||||
mopidy-podcast
|
||||
mopidy-scrobbler
|
||||
@ -33227,9 +33228,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;
|
||||
|
Loading…
Reference in New Issue
Block a user