From 1345a65765d8fa5fd72e4d99de70c67fddc097ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Sun, 29 Mar 2015 14:50:12 +0200 Subject: [PATCH] Remove XBMC expressions in favor of the Kodi ones --- nixos/modules/rename.nix | 5 +- .../services/x11/desktop-managers/default.nix | 2 +- .../services/x11/desktop-managers/xbmc.nix | 31 ----- ...iDoubleTapTimeoutMs-in-the-new-libCE.patch | 32 ----- pkgs/applications/video/xbmc/default.nix | 114 ------------------ pkgs/applications/video/xbmc/plugins.nix | 108 ----------------- pkgs/applications/video/xbmc/wrapper.nix | 53 -------- .../retroarch/xbmc-advanced-launchers.nix | 39 ------ pkgs/top-level/all-packages.nix | 33 +---- 9 files changed, 10 insertions(+), 407 deletions(-) delete mode 100644 nixos/modules/services/x11/desktop-managers/xbmc.nix delete mode 100644 pkgs/applications/video/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch delete mode 100644 pkgs/applications/video/xbmc/default.nix delete mode 100644 pkgs/applications/video/xbmc/plugins.nix delete mode 100644 pkgs/applications/video/xbmc/wrapper.nix delete mode 100644 pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix index e820b2cb9ce..07fe568697b 100644 --- a/nixos/modules/rename.nix +++ b/nixos/modules/rename.nix @@ -107,7 +107,6 @@ in zipModules ([] ++ obsolete [ "services" "sshd" "permitRootLogin" ] [ "services" "openssh" "permitRootLogin" ] ++ obsolete [ "services" "xserver" "startSSHAgent" ] [ "services" "xserver" "startOpenSSHAgent" ] ++ obsolete [ "services" "xserver" "startOpenSSHAgent" ] [ "programs" "ssh" "startAgent" ] -++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "xbmc" ] # VirtualBox ++ obsolete [ "services" "virtualbox" "enable" ] [ "services" "virtualboxGuest" "enable" ] @@ -136,6 +135,10 @@ in zipModules ([] ++ obsolete [ "services" "mysql55" ] [ "services" "mysql" ] +# XBMC +++ obsolete [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ] +++ obsolete [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ] + # Options that are obsolete and have no replacement. ++ obsolete' [ "boot" "loader" "grub" "bootDevice" ] ++ obsolete' [ "boot" "initrd" "luks" "enable" ] diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix index 9165658a7be..998bcd354c5 100644 --- a/nixos/modules/services/x11/desktop-managers/default.nix +++ b/nixos/modules/services/x11/desktop-managers/default.nix @@ -19,7 +19,7 @@ in # E.g., if KDE is enabled, it supersedes xterm. imports = [ ./none.nix ./xterm.nix ./xfce.nix ./kde4.nix ./kde5.nix - ./e19.nix ./gnome3.nix ./xbmc.nix ./kodi.nix + ./e19.nix ./gnome3.nix ./kodi.nix ]; options = { diff --git a/nixos/modules/services/x11/desktop-managers/xbmc.nix b/nixos/modules/services/x11/desktop-managers/xbmc.nix deleted file mode 100644 index 97e966ca019..00000000000 --- a/nixos/modules/services/x11/desktop-managers/xbmc.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ config, lib, pkgs, ... }: - -with lib; - -let - cfg = config.services.xserver.desktopManager.xbmc; -in - -{ - options = { - services.xserver.desktopManager.xbmc = { - enable = mkOption { - default = false; - example = true; - description = "Enable the xbmc multimedia center."; - }; - }; - }; - - config = mkIf cfg.enable { - services.xserver.desktopManager.session = [{ - name = "xbmc"; - start = '' - ${pkgs.xbmc}/bin/xbmc --lircdev /var/run/lirc/lircd --standalone & - waitPID=$! - ''; - }]; - - environment.systemPackages = [ pkgs.xbmc ]; - }; -} \ No newline at end of file diff --git a/pkgs/applications/video/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch b/pkgs/applications/video/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch deleted file mode 100644 index 91811194c9b..00000000000 --- a/pkgs/applications/video/xbmc/0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9f1e45a10860dd23239de35673643e9e0e4a74f8 Mon Sep 17 00:00:00 2001 -From: Lars Op den Kamp -Date: Tue, 28 Oct 2014 14:52:16 +0100 -Subject: [PATCH 5/8] [CEC] renamed the iDoubleTapTimeoutMs in the new libCEC - for clarity. does not change binary compatibility - ---- - xbmc/peripherals/devices/PeripheralCecAdapter.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -index 1d068dc..ad123d9 100644 ---- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp -@@ -1347,8 +1347,13 @@ void CPeripheralCecAdapter::SetConfigurationFromSettings(void) - m_configuration.bPowerOffOnStandby = iStandbyAction == 13011 ? 1 : 0; - m_configuration.bShutdownOnStandby = iStandbyAction == 13005 ? 1 : 0; - -+#if defined(CEC_DOUBLE_TAP_TIMEOUT_MS_OLD) - // double tap prevention timeout in ms -- m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); -+ m_configuration.iDoubleTapTimeout50Ms = GetSettingInt("double_tap_timeout_ms") / 50; -+#else -+ // backwards compatibility. will be removed once the next major release of libCEC is out -+ m_configuration.iDoubleTapTimeoutMs = GetSettingInt("double_tap_timeout_ms"); -+#endif - } - - void CPeripheralCecAdapter::ReadLogicalAddresses(const CStdString &strString, cec_logical_addresses &addresses) --- -2.1.2 - diff --git a/pkgs/applications/video/xbmc/default.nix b/pkgs/applications/video/xbmc/default.nix deleted file mode 100644 index 7a6840baee3..00000000000 --- a/pkgs/applications/video/xbmc/default.nix +++ /dev/null @@ -1,114 +0,0 @@ -{ stdenv, lib, fetchurl, makeWrapper -, pkgconfig, cmake, gnumake, yasm, pythonFull -, boost, avahi, libdvdcss, lame, autoreconfHook -, gettext, pcre, yajl, fribidi, which -, openssl, gperf, tinyxml2, taglib, libssh, swig, jre -, libX11, xproto, inputproto, libxml2 -, libXt, libXmu, libXext, xextproto -, libXinerama, libXrandr, randrproto -, libXtst, libXfixes, fixesproto, systemd -, SDL, SDL_image, SDL_mixer, alsaLib -, mesa, glew, fontconfig, freetype, ftgl -, libjpeg, jasper, libpng, libtiff -, ffmpeg, libmpeg2, libsamplerate, libmad -, libogg, libvorbis, flac, libxslt -, lzo, libcdio, libmodplug, libass, libbluray -, sqlite, mysql, nasm, gnutls, libva -, curl, bzip2, zip, unzip, glxinfo, xdpyinfo -, dbus_libs ? null, dbusSupport ? true -, udev, udevSupport ? true -, libusb ? null, usbSupport ? false -, samba ? null, sambaSupport ? true -, libmicrohttpd -# TODO: would be nice to have nfsSupport (needs libnfs library) -, rtmpdump ? null, rtmpSupport ? true -, libvdpau ? null, vdpauSupport ? true -, pulseaudio ? null, pulseSupport ? true -, libcec ? null, cecSupport ? true -}: - -assert dbusSupport -> dbus_libs != null; -assert udevSupport -> udev != null; -assert usbSupport -> libusb != null && ! udevSupport; # libusb won't be used if udev is avaliable -assert sambaSupport -> samba != null; -assert vdpauSupport -> libvdpau != null && ffmpeg.vdpauSupport; -assert pulseSupport -> pulseaudio != null; -assert cecSupport -> libcec != null; - -stdenv.mkDerivation rec { - name = "xbmc-13.2"; - - src = fetchurl { - url = "https://github.com/xbmc/xbmc/archive/13.2-Gotham.tar.gz"; - sha256 = "11g5a3h6kxz1vmnhagfjhg9nqf11wy0wzqqf4h338jh3lgzmvgxc"; - }; - - buildInputs = [ - makeWrapper libxml2 gnutls - pkgconfig cmake gnumake yasm pythonFull - boost libmicrohttpd autoreconfHook - gettext pcre yajl fribidi libva - openssl gperf tinyxml2 taglib libssh swig jre - libX11 xproto inputproto which - libXt libXmu libXext xextproto - libXinerama libXrandr randrproto - libXtst libXfixes fixesproto - SDL SDL_image SDL_mixer alsaLib - mesa glew fontconfig freetype ftgl - libjpeg jasper libpng libtiff - ffmpeg libmpeg2 libsamplerate libmad - libogg libvorbis flac libxslt systemd - lzo libcdio libmodplug libass libbluray - sqlite mysql nasm avahi libdvdcss lame - curl bzip2 zip unzip glxinfo xdpyinfo - ] - ++ lib.optional dbusSupport dbus_libs - ++ lib.optional udevSupport udev - ++ lib.optional usbSupport libusb - ++ lib.optional sambaSupport samba - ++ lib.optional vdpauSupport libvdpau - ++ lib.optional pulseSupport pulseaudio - ++ lib.optional cecSupport libcec - ++ lib.optional rtmpSupport rtmpdump; - - dontUseCmakeConfigure = true; - - patches = [ ./0005-CEC-renamed-the-iDoubleTapTimeoutMs-in-the-new-libCE.patch ]; - - preConfigure = '' - substituteInPlace xbmc/linux/LinuxTimezone.cpp \ - --replace 'usr/share/zoneinfo' 'etc/zoneinfo' - ./bootstrap - ''; - - configureFlags = [ - "--enable-external-libraries" - ] - ++ lib.optional (! sambaSupport) "--disable-samba" - ++ lib.optional vdpauSupport "--enable-vdpau" - ++ lib.optional pulseSupport "--enable-pulse" - ++ lib.optional rtmpSupport "--enable-rtmp"; - - postInstall = '' - for p in $(ls $out/bin/) ; do - wrapProgram $out/bin/$p \ - --prefix PATH ":" "${pythonFull}/bin" \ - --prefix PATH ":" "${glxinfo}/bin" \ - --prefix PATH ":" "${xdpyinfo}/bin" \ - --prefix LD_LIBRARY_PATH ":" "${curl}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${systemd}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libmad}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libvdpau}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${libcec}/lib" \ - --prefix LD_LIBRARY_PATH ":" "${rtmpdump}/lib" - done - ''; - - meta = with stdenv.lib; { - homepage = http://xbmc.org/; - description = "Media center"; - license = stdenv.lib.licenses.gpl2; - platforms = platforms.linux; - maintainers = [ maintainers.iElectric maintainers.titanous ]; - }; -} diff --git a/pkgs/applications/video/xbmc/plugins.nix b/pkgs/applications/video/xbmc/plugins.nix deleted file mode 100644 index f1d4d50f37d..00000000000 --- a/pkgs/applications/video/xbmc/plugins.nix +++ /dev/null @@ -1,108 +0,0 @@ -{ stdenv, fetchFromGitHub, xbmc }: - -let - - pluginDir = "/lib/xbmc/plugin"; - - mkXBMCPlugin = { plugin, namespace, version, src, meta, ... }: - stdenv.lib.makeOverridable stdenv.mkDerivation rec { - inherit src meta; - name = "xbmc-plugin-${plugin}-${version}"; - passthru = { - xbmcPlugin = pluginDir; - namespace = namespace; - }; - dontStrip = true; - installPhase = '' - d=$out${pluginDir}/${namespace} - mkdir -p $d - sauce="." - [ -d ${namespace} ] && sauce=${namespace} - cp -R $sauce/* $d - ''; - }; - -in -{ - - advanced-launcher = mkXBMCPlugin rec { - - plugin = "advanced-launcher"; - namespace = "plugin.program.advanced.launcher"; - version = "2.5.7"; - - src = fetchFromGitHub { - owner = "Angelscry"; - repo = namespace; - rev = "f6f7980dc66d041e1635bb012d79aa8b3a8790ba"; - sha256 = "0wk41lpd6fw504q5x1h76hc99vw4jg4vq44bh7m21ism85ds0r47"; - }; - - meta = with stdenv.lib; { - homepage = "http://forum.xbmc.org/showthread.php?tid=85724"; - description = "A program launcher for XBMC"; - longDescription = '' - Advanced Launcher allows you to start any Linux, Windows and - OS X external applications (with command line support or not) - directly from the XBMC GUI. Advanced Launcher also give you - the possibility to edit, download (from Internet resources) - and manage all the meta-data (informations and images) related - to these applications. - ''; - platforms = platforms.all; - maintainers = with maintainers; [ edwtjo ]; - }; - - }; - - genesis = mkXBMCPlugin rec { - - plugin = "genesis"; - namespace = "plugin.video.genesis"; - version = "2.1.3"; - - src = fetchFromGitHub { - owner = "lambda81"; - repo = "lambda-xbmc-addons"; - rev = "f8aa34064bf31fffbb3c264af32c66bbdaf0a59e"; - sha256 = "0d197fd6n3m9knpg38frnmfhqyabvh00ridpmikyw4vzk3hx11km"; - }; - - meta = with stdenv.lib; { - homepage = "http://forums.tvaddons.ag/forums/148-lambda-s-xbmc-addons"; - description = "The origins of streaming"; - platforms = platforms.all; - maintainers = with maintainers; [ edwtjo ]; - }; - - }; - - svtplay = mkXBMCPlugin rec { - - plugin = "svtplay"; - namespace = "plugin.video.svtplay"; - version = "4.0.9"; - - src = fetchFromGitHub { - owner = "nilzen"; - repo = "xbmc-" + plugin; - rev = "29a754e49584d1ca32f0c07b87304669cf266bb0"; - sha256 = "0k7mwaknw4h1jlq7ialbzgxxpb11j8bk29dx2gimp40lvnyw4yhz"; - }; - - meta = with stdenv.lib; { - homepage = "http://forum.xbmc.org/showthread.php?tid=67110"; - description = "Watch content from SVT Play"; - longDescription = '' - With this addon you can stream content from SVT Play - (svtplay.se). The plugin fetches the video URL from the SVT - Play website and feeds it to the XBMC video player. HLS (m3u8) - is the preferred video format by the plugin. - ''; - platforms = platforms.all; - maintainers = with maintainers; [ edwtjo ]; - }; - - }; - -} \ No newline at end of file diff --git a/pkgs/applications/video/xbmc/wrapper.nix b/pkgs/applications/video/xbmc/wrapper.nix deleted file mode 100644 index 90413c1769a..00000000000 --- a/pkgs/applications/video/xbmc/wrapper.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ stdenv, lib, makeWrapper, xbmc, plugins }: - -let - - p = builtins.parseDrvName xbmc.name; - -in - -stdenv.mkDerivation { - - name = "xbmc-" + p.version; - version = p.version; - - buildInputs = [ makeWrapper ]; - - buildCommand = '' - mkdir -p $out/share/xbmc/addons/packages - ${stdenv.lib.concatMapStrings - (plugin: "ln -s ${plugin.out - + plugin.xbmcPlugin - + "/" + plugin.namespace - } $out/share/xbmc/addons/.;") plugins} - $(for plugin in ${xbmc}/share/xbmc/addons/* - do - $(ln -s $plugin/ $out/share/xbmc/addons/.) - done) - $(for share in ${xbmc}/share/xbmc/* - do - $(ln -s $share $out/share/xbmc/.) - done) - $(for passthrough in icons xsessions applications - do - ln -s ${xbmc}/share/$passthrough $out/share/ - done) - $(for exe in xbmc{,-standalone} - do - makeWrapper ${xbmc}/bin/$exe $out/bin/$exe \ - --prefix XBMC_HOME : $out/share/xbmc; - done) - ''; - - preferLocalBuilds = true; - - meta = with xbmc.meta; { - inherit license homepage; - description = description - + " (with plugins: " - + lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) plugins)) - + ")"; - - }; - -} \ No newline at end of file diff --git a/pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix b/pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix deleted file mode 100644 index 3ff15aa1258..00000000000 --- a/pkgs/misc/emulators/retroarch/xbmc-advanced-launchers.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ stdenv, pkgs, cores }: - -assert cores != []; - -with pkgs.lib; - -let - - script = exec: '' - #!${stdenv.shell} - nohup sh -c "sleep 1 && pkill -SIGSTOP xbmc" & - nohup sh -c "${exec} '$@' -f;pkill -SIGCONT xbmc" - ''; - scriptSh = exec: pkgs.writeScript ("xbmc-"+exec.name) (script exec.path); - execs = map (core: rec { name = core.core; path = core+"/bin/retroarch-"+name;}) cores; - -in - -stdenv.mkDerivation rec { - name = "xbmc-retroarch-advanced-launchers-${version}"; - version = "0.2"; - - dontBuild = true; - - buildCommand = '' - mkdir -p $out/bin - ${stdenv.lib.concatMapStrings (exec: "ln -s ${scriptSh exec} $out/bin/xbmc-${exec.name};") execs} - ''; - - meta = { - description = "XBMC retroarch advanced launchers"; - longDescription = '' - These retroarch launchers are intended to be used with - anglescry advanced launcher for XBMC since device input is - caught by both XBMC and the retroarch process. - ''; - license = stdenv.lib.licenses.gpl3; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 09d620c3823..db44de0e7de 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10844,7 +10844,7 @@ let ghostscript = if stdenv.isDarwin then null else ghostscript; perl = null; # Currently Broken }; - + imagemagickBig = imagemagick; # Impressive, formerly known as "KeyJNote". @@ -12223,16 +12223,6 @@ let cores = retroArchCores; }; - wrapXBMC = { xbmc }: import ../applications/video/xbmc/wrapper.nix { - inherit stdenv lib makeWrapper xbmc; - plugins = let inherit (lib) optional; in with xbmcPlugins; - ([] - ++ optional (config.xbmc.enableAdvancedLauncher or false) advanced-launcher - ++ optional (config.xbmc.enableGenesis or false) genesis - ++ optional (config.xbmc.enableSVTPlay or false) svtplay - ); - }; - wrapKodi = { kodi }: import ../applications/video/kodi/wrapper.nix { inherit stdenv lib makeWrapper kodi; plugins = let inherit (lib) optional; in with kodiPlugins; @@ -12274,37 +12264,24 @@ let gtk = gtk2; }; - xbmcPlain = callPackage ../applications/video/xbmc { - ffmpeg = ffmpeg_1; - }; - - xbmcPlugins = recurseIntoAttrs (callPackage ../applications/video/xbmc/plugins.nix { - xbmc = xbmcPlain; - }); - - xbmc = wrapXBMC { - xbmc = xbmcPlain; - }; - kodiPlain = callPackage ../applications/video/kodi { }; + xbmcPlain = kodiPlain; kodiPlugins = recurseIntoAttrs (callPackage ../applications/video/kodi/plugins.nix { kodi = kodiPlain; }); + xbmcPlugins = kodiPlugins; kodi = wrapKodi { kodi = kodiPlain; }; - - xbmc-retroarch-advanced-launchers = - callPackage ../misc/emulators/retroarch/xbmc-advanced-launchers.nix { - cores = retroArchCores; - }; + xbmc = kodi; kodi-retroarch-advanced-launchers = callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix { cores = retroArchCores; }; + xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; xca = callPackage ../applications/misc/xca { };