mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
commit
667e54bdb0
11 changed files with 191 additions and 49 deletions
|
@ -245,6 +245,7 @@
|
||||||
./services/desktops/gnome3/gnome-user-share.nix
|
./services/desktops/gnome3/gnome-user-share.nix
|
||||||
./services/desktops/gnome3/gpaste.nix
|
./services/desktops/gnome3/gpaste.nix
|
||||||
./services/desktops/gnome3/gvfs.nix
|
./services/desktops/gnome3/gvfs.nix
|
||||||
|
./services/desktops/gnome3/rygel.nix
|
||||||
./services/desktops/gnome3/seahorse.nix
|
./services/desktops/gnome3/seahorse.nix
|
||||||
./services/desktops/gnome3/sushi.nix
|
./services/desktops/gnome3/sushi.nix
|
||||||
./services/desktops/gnome3/tracker.nix
|
./services/desktops/gnome3/tracker.nix
|
||||||
|
|
30
nixos/modules/services/desktops/gnome3/rygel.nix
Normal file
30
nixos/modules/services/desktops/gnome3/rygel.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# rygel service.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
###### interface
|
||||||
|
options = {
|
||||||
|
services.gnome3.rygel = {
|
||||||
|
enable = mkOption {
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable Rygel UPnP Mediaserver.
|
||||||
|
|
||||||
|
You will need to also allow UPnP connections in firewall, see the following <link xlink:href="https://github.com/NixOS/nixpkgs/pull/45045#issuecomment-416030795">comment</link>.
|
||||||
|
'';
|
||||||
|
type = types.bool;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
config = mkIf config.services.gnome3.rygel.enable {
|
||||||
|
environment.systemPackages = [ pkgs.gnome3.rygel ];
|
||||||
|
|
||||||
|
services.dbus.packages = [ pkgs.gnome3.rygel ];
|
||||||
|
|
||||||
|
systemd.packages = [ pkgs.gnome3.rygel ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -110,6 +110,7 @@ in {
|
||||||
services.gnome3.gnome-terminal-server.enable = mkDefault true;
|
services.gnome3.gnome-terminal-server.enable = mkDefault true;
|
||||||
services.gnome3.gnome-user-share.enable = mkDefault true;
|
services.gnome3.gnome-user-share.enable = mkDefault true;
|
||||||
services.gnome3.gvfs.enable = true;
|
services.gnome3.gvfs.enable = true;
|
||||||
|
services.gnome3.rygel.enable = mkDefault true;
|
||||||
services.gnome3.seahorse.enable = mkDefault true;
|
services.gnome3.seahorse.enable = mkDefault true;
|
||||||
services.gnome3.sushi.enable = mkDefault true;
|
services.gnome3.sushi.enable = mkDefault true;
|
||||||
services.gnome3.tracker.enable = mkDefault true;
|
services.gnome3.tracker.enable = mkDefault true;
|
||||||
|
|
54
pkgs/desktops/gnome-3/core/rygel/default.nix
Normal file
54
pkgs/desktops/gnome-3/core/rygel/default.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{ stdenv, fetchurl, pkgconfig, vala, gettext, libxml2, gobjectIntrospection, gtk-doc, wrapGAppsHook, glib, gssdp, gupnp, gupnp-av, gupnp-dlna, gst_all_1, libgee, libsoup, gtk3, libmediaart, sqlite, systemd, tracker, shared-mime-info, gnome3 }:
|
||||||
|
|
||||||
|
let
|
||||||
|
pname = "rygel";
|
||||||
|
version = "0.36.2";
|
||||||
|
in stdenv.mkDerivation rec {
|
||||||
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
|
# TODO: split out lib
|
||||||
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
|
sha256 = "0i12z6bzfzgcjidhxa2jsvpm4hqpab0s032z13jy2vbifrncfcnk";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
pkgconfig vala gettext libxml2 gobjectIntrospection gtk-doc wrapGAppsHook
|
||||||
|
];
|
||||||
|
buildInputs = [
|
||||||
|
glib gssdp gupnp gupnp-av gupnp-dlna libgee libsoup gtk3 libmediaart sqlite systemd tracker shared-mime-info
|
||||||
|
] ++ (with gst_all_1; [
|
||||||
|
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
|
||||||
|
]);
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--with-systemduserunitdir=$(out)/lib/systemd/user"
|
||||||
|
"--enable-apidocs"
|
||||||
|
"--sysconfdir=/etc"
|
||||||
|
];
|
||||||
|
|
||||||
|
installFlags = [
|
||||||
|
"sysconfdir=$(out)/etc"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
updateScript = gnome3.updateScript {
|
||||||
|
packageName = pname;
|
||||||
|
attrPath = "gnome3.${pname}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A home media solution (UPnP AV MediaServer) that allows you to easily share audio, video and pictures to other devices";
|
||||||
|
homepage = https://wiki.gnome.org/Projects/Rygel;
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
|
maintainers = gnome3.maintainers;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -216,6 +216,8 @@ lib.makeScope pkgs.newScope (self: with self; {
|
||||||
|
|
||||||
rest = callPackage ./core/rest { };
|
rest = callPackage ./core/rest { };
|
||||||
|
|
||||||
|
rygel = callPackage ./core/rygel { };
|
||||||
|
|
||||||
simple-scan = callPackage ./core/simple-scan { };
|
simple-scan = callPackage ./core/simple-scan { };
|
||||||
|
|
||||||
sushi = callPackage ./core/sushi { };
|
sushi = callPackage ./core/sushi { };
|
||||||
|
|
|
@ -1,22 +1,30 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, libsoup, glib }:
|
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, libsoup, gtk3, glib }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gssdp-${version}";
|
name = "gssdp-${version}";
|
||||||
version = "1.0.2";
|
version = "1.0.2";
|
||||||
|
|
||||||
|
outputs = [ "out" "bin" "dev" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gssdp/1.0/${name}.tar.xz";
|
url = "mirror://gnome/sources/gssdp/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
|
sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||||
buildInputs = [ libsoup ];
|
buildInputs = [ libsoup gtk3 ];
|
||||||
propagatedBuildInputs = [ glib ];
|
propagatedBuildInputs = [ glib ];
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--enable-gtk-doc"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = "GObject-based API for handling resource discovery and announcement over SSDP";
|
description = "GObject-based API for handling resource discovery and announcement over SSDP";
|
||||||
homepage = http://www.gupnp.org/;
|
homepage = http://www.gupnp.org/;
|
||||||
license = licenses.lgpl2;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,29 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, gupnp, glib, libxml2 }:
|
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, glib, libxml2 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gupnp-av-${version}";
|
name = "gupnp-av-${version}";
|
||||||
majorVersion = "0.12";
|
version = "0.12.10";
|
||||||
version = "${majorVersion}.10";
|
|
||||||
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gupnp-av/${majorVersion}/${name}.tar.xz";
|
url = "mirror://gnome/sources/gupnp-av/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "0nmq6wlbfsssanv3jgv2z0nhfkv8vzfr3gq5qa8svryvvn2fyf40";
|
sha256 = "0nmq6wlbfsssanv3jgv2z0nhfkv8vzfr3gq5qa8svryvvn2fyf40";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||||
buildInputs = [ gupnp glib libxml2 ];
|
buildInputs = [ gupnp glib libxml2 ];
|
||||||
|
|
||||||
meta = {
|
configureFlags = [
|
||||||
|
"--enable-gtk-doc"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
homepage = http://gupnp.org/;
|
homepage = http://gupnp.org/;
|
||||||
description = "A collection of helpers for building AV (audio/video) applications using GUPnP";
|
description = "A collection of helpers for building AV (audio/video) applications using GUPnP";
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,34 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, gupnp, gst-plugins-base }:
|
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, gupnp, gst_all_1 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gupnp-dlna-${version}";
|
name = "gupnp-dlna-${version}";
|
||||||
majorVersion = "0.10";
|
version = "0.10.5";
|
||||||
version = "${majorVersion}.5";
|
|
||||||
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gupnp-dlna/${majorVersion}/${name}.tar.xz";
|
url = "mirror://gnome/sources/gupnp-dlna/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj";
|
sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
|
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||||
buildInputs = [ gupnp gst-plugins-base ];
|
buildInputs = [ gupnp gst_all_1.gst-plugins-base ];
|
||||||
|
|
||||||
meta = {
|
configureFlags = [
|
||||||
|
"--enable-gtk-doc"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
chmod +x tests/test-discoverer.sh.in
|
||||||
|
patchShebangs tests/test-discoverer.sh.in
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
homepage = https://wiki.gnome.org/Projects/GUPnP/;
|
homepage = https://wiki.gnome.org/Projects/GUPnP/;
|
||||||
description = "Library to ease DLNA-related bits for applications using GUPnP";
|
description = "Library to ease DLNA-related bits for applications using GUPnP";
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,29 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, glib, gupnp }:
|
{ stdenv, fetchurl, pkgconfig, gettext, gobjectIntrospection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, gupnp }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gupnp-igd-${version}";
|
name = "gupnp-igd-${version}";
|
||||||
majorVersion = "0.2";
|
version = "0.2.5";
|
||||||
version = "${majorVersion}.4";
|
|
||||||
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gupnp-igd/${majorVersion}/${name}.tar.xz";
|
url = "mirror://gnome/sources/gupnp-igd/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
|
||||||
sha256 = "38c4a6d7718d17eac17df95a3a8c337677eda77e58978129ad3182d769c38e44";
|
sha256 = "081v1vhkbz3wayv49xfiskvrmvnpx93k25am2wnarg5cifiiljlb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
|
||||||
propagatedBuildInputs = [ glib gupnp ];
|
propagatedBuildInputs = [ glib gupnp ];
|
||||||
|
|
||||||
meta = {
|
configureFlags = [
|
||||||
|
"--enable-gtk-doc"
|
||||||
|
];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Library to handle UPnP IGD port mapping";
|
||||||
homepage = http://www.gupnp.org/;
|
homepage = http://www.gupnp.org/;
|
||||||
license = stdenv.lib.licenses.lgpl21;
|
license = licenses.lgpl21;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,39 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, glib, gssdp, libsoup, libxml2, libuuid }:
|
{ stdenv, fetchurl, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_412, docbook_xml_dtd_44, glib, gssdp, libsoup, libxml2, libuuid }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gupnp-${version}";
|
name = "gupnp-${version}";
|
||||||
majorVersion = "1.0";
|
version = "1.0.3";
|
||||||
version = "${majorVersion}.2";
|
|
||||||
|
outputs = [ "out" "dev" "devdoc" ];
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gupnp/${majorVersion}/gupnp-${version}.tar.xz";
|
url = "mirror://gnome/sources/gupnp/${stdenv.lib.versions.majorMinor version}/gupnp-${version}.tar.xz";
|
||||||
sha256 = "043nqxlj030a3wvd6x4c9z8fjarjjjsl2pjarl0nn70ig6kzswsi";
|
sha256 = "1fyb6yn75vf2y1b8nbc1df572swzr74yiwy3v3g5xn36wlp1cjvr";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
patches = [
|
||||||
|
# Nix’s pkg-config ignores Requires.private
|
||||||
|
# https://github.com/NixOS/nixpkgs/commit/1e6622f4d5d500d6e701bd81dd4a22977d10637d
|
||||||
|
# We are essentialy reverting the following patch for now
|
||||||
|
# https://bugzilla.gnome.org/show_bug.cgi?id=685477
|
||||||
|
# at least until Requires.internal or something is implemented
|
||||||
|
# https://gitlab.freedesktop.org/pkg-config/pkg-config/issues/7
|
||||||
|
./fix-requires.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_412 docbook_xml_dtd_44 ];
|
||||||
propagatedBuildInputs = [ glib gssdp libsoup libxml2 libuuid ];
|
propagatedBuildInputs = [ glib gssdp libsoup libxml2 libuuid ];
|
||||||
|
|
||||||
postInstall = ''
|
configureFlags = [
|
||||||
ln -sv ${libsoup.dev}/include/libsoup-2*/libsoup $out/include
|
"--enable-gtk-doc"
|
||||||
ln -sv ${libxml2.dev}/include/*/libxml $out/include
|
];
|
||||||
ln -sv ${gssdp}/include/*/libgssdp $out/include
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
doCheck = true;
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
homepage = http://www.gupnp.org/;
|
homepage = http://www.gupnp.org/;
|
||||||
description = "An implementation of the UPnP specification";
|
description = "An implementation of the UPnP specification";
|
||||||
license = stdenv.lib.licenses.gpl2;
|
license = licenses.lgpl2Plus;
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
9
pkgs/development/libraries/gupnp/fix-requires.patch
Normal file
9
pkgs/development/libraries/gupnp/fix-requires.patch
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
--- a/gupnp-1.0.pc.in
|
||||||
|
+++ b/gupnp-1.0.pc.in
|
||||||
|
@@ -8,4 +8,5 @@
|
||||||
|
Version: @VERSION@
|
||||||
|
Libs: -L${libdir} -lgupnp-1.0
|
||||||
|
Cflags: -I${includedir}/gupnp-1.0
|
||||||
|
-Requires.private: gssdp-1.0 libxml-2.0 libsoup-2.4 @UUID_LIBS@
|
||||||
|
+Requires: glib-2.0 gobject-2.0 gssdp-1.0 libxml-2.0 libsoup-2.4
|
||||||
|
+Requires.private: @UUID_LIBS@
|
Loading…
Add table
Add a link
Reference in a new issue