Loading maintainers/team-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -518,6 +518,7 @@ with lib.maintainers; { cpages dschrempf edwtjo kazenyuk minijackson peterhoeg sephalon Loading pkgs/applications/video/kodi/default.nix +12 −8 Original line number Diff line number Diff line { callPackage, ... } @ args: let unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]); kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = unwrapped; }; in unwrapped.overrideAttrs (oldAttrs: { passthru = oldAttrs.passthru // { passthru = let finalKodi = oldAttrs.passthru.kodi; kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = finalKodi; }; in oldAttrs.passthru // { packages = kodiPackages; withPackages = func: callPackage ./wrapper.nix { kodi = unwrapped; kodi = finalKodi; addons = kodiPackages.requiredKodiAddons (func kodiPackages); }; }; Loading pkgs/applications/video/kodi/unwrapped.nix +27 −19 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ , rtmpSupport ? true, rtmpdump , sambaSupport ? true, samba , udevSupport ? true, udev , opticalSupport ? true , usbSupport ? false, libusb-compat-0_1 , vdpauSupport ? true, libvdpau , waylandSupport ? false, wayland, wayland-protocols Loading @@ -40,10 +41,6 @@ assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is assert gbmSupport || waylandSupport || x11Support; let kodiReleaseDate = "20240405"; kodiVersion = "21.0"; rel = "Omega"; # see https://github.com/xbmc/xbmc/blob/${kodiVersion}-${rel}/tools/depends/target/ to get suggested versions for all dependencies # We can build these externally but FindLibDvd.cmake forces us to build it Loading Loading @@ -88,17 +85,23 @@ let ++ lib.optional waylandSupport "wayland" ++ lib.optional x11Support "x11"; in stdenv.mkDerivation { in stdenv.mkDerivation (finalAttrs: { pname = "kodi"; version = kodiVersion; version = "21.0"; kodiReleaseName = "Omega"; src = fetchFromGitHub { owner = "xbmc"; repo = "xbmc"; rev = "${kodiVersion}-${rel}"; rev = "${finalAttrs.version}-${finalAttrs.kodiReleaseName}"; hash = "sha256-xrFWqgwTkurEwt3/+/e4SCM6Uk9nxuW62SrCFWWqZO0="; }; # make derivations declared in the let binding available here, so # they can be overridden inherit libdvdcss libdvdnav libdvdread groovy apache_commons_lang apache_commons_text; buildInputs = [ gnutls libidn2 libtasn1 nasm p11-kit libxml2 python3Packages.python Loading Loading @@ -168,17 +171,20 @@ in stdenv.mkDerivation { cmakeFlags = [ "-DAPP_RENDER_SYSTEM=${if gbmSupport then "gles" else "gl"}" "-Dlibdvdcss_URL=${libdvdcss}" "-Dlibdvdnav_URL=${libdvdnav}" "-Dlibdvdread_URL=${libdvdread}" "-Dgroovy_SOURCE_DIR=${groovy}" "-Dapache-commons-lang_SOURCE_DIR=${apache_commons_lang}" "-Dapache-commons-text_SOURCE_DIR=${apache_commons_text}" "-DGIT_VERSION=${kodiReleaseDate}" "-Dlibdvdcss_URL=${finalAttrs.libdvdcss}" "-Dlibdvdnav_URL=${finalAttrs.libdvdnav}" "-Dlibdvdread_URL=${finalAttrs.libdvdread}" "-Dgroovy_SOURCE_DIR=${finalAttrs.groovy}" "-Dapache-commons-lang_SOURCE_DIR=${finalAttrs.apache_commons_lang}" "-Dapache-commons-text_SOURCE_DIR=${finalAttrs.apache_commons_text}" # Upstream derives this from the git HEADs hash and date. # LibreElec (minimal distro for kodi) uses the equivalent to this. "-DGIT_VERSION=${finalAttrs.version}-${finalAttrs.kodiReleaseName}" "-DENABLE_EVENTCLIENTS=ON" "-DENABLE_INTERNAL_CROSSGUID=OFF" "-DENABLE_INTERNAL_RapidJSON=OFF" "-DENABLE_OPTICAL=ON" "-DENABLE_OPTICAL=${if opticalSupport then "ON" else "OFF"}" "-DENABLE_VDPAU=${if vdpauSupport then "ON" else "OFF"}" "-DLIRC_DEVICE=/run/lirc/lircd" "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig" "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc" Loading Loading @@ -221,7 +227,8 @@ in stdenv.mkDerivation { --prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \ --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath ([ curl systemd libmad libvdpau libcec libcec_platform libass ] ([ curl systemd libmad libcec libcec_platform libass ] ++ lib.optional vdpauSupport libvdpau ++ lib.optional nfsSupport libnfs ++ lib.optional rtmpSupport rtmpdump)}" done Loading @@ -240,6 +247,7 @@ in stdenv.mkDerivation { passthru = { pythonPackages = python3Packages; ffmpeg = ffmpeg; kodi = finalAttrs.finalPackage; }; meta = with lib; { Loading @@ -249,4 +257,4 @@ in stdenv.mkDerivation { platforms = platforms.linux; maintainers = teams.kodi.members; }; } }) pkgs/top-level/kodi-packages.nix +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ let self = { addonDir = "/share/kodi/addons"; rel = "Omega"; rel = kodi.kodiReleaseName; inherit callPackage kodi hasKodiAddon requiredKodiAddons; Loading Loading
maintainers/team-list.nix +1 −0 Original line number Diff line number Diff line Loading @@ -518,6 +518,7 @@ with lib.maintainers; { cpages dschrempf edwtjo kazenyuk minijackson peterhoeg sephalon Loading
pkgs/applications/video/kodi/default.nix +12 −8 Original line number Diff line number Diff line { callPackage, ... } @ args: let unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]); kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = unwrapped; }; in unwrapped.overrideAttrs (oldAttrs: { passthru = oldAttrs.passthru // { passthru = let finalKodi = oldAttrs.passthru.kodi; kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = finalKodi; }; in oldAttrs.passthru // { packages = kodiPackages; withPackages = func: callPackage ./wrapper.nix { kodi = unwrapped; kodi = finalKodi; addons = kodiPackages.requiredKodiAddons (func kodiPackages); }; }; Loading
pkgs/applications/video/kodi/unwrapped.nix +27 −19 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ , rtmpSupport ? true, rtmpdump , sambaSupport ? true, samba , udevSupport ? true, udev , opticalSupport ? true , usbSupport ? false, libusb-compat-0_1 , vdpauSupport ? true, libvdpau , waylandSupport ? false, wayland, wayland-protocols Loading @@ -40,10 +41,6 @@ assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is assert gbmSupport || waylandSupport || x11Support; let kodiReleaseDate = "20240405"; kodiVersion = "21.0"; rel = "Omega"; # see https://github.com/xbmc/xbmc/blob/${kodiVersion}-${rel}/tools/depends/target/ to get suggested versions for all dependencies # We can build these externally but FindLibDvd.cmake forces us to build it Loading Loading @@ -88,17 +85,23 @@ let ++ lib.optional waylandSupport "wayland" ++ lib.optional x11Support "x11"; in stdenv.mkDerivation { in stdenv.mkDerivation (finalAttrs: { pname = "kodi"; version = kodiVersion; version = "21.0"; kodiReleaseName = "Omega"; src = fetchFromGitHub { owner = "xbmc"; repo = "xbmc"; rev = "${kodiVersion}-${rel}"; rev = "${finalAttrs.version}-${finalAttrs.kodiReleaseName}"; hash = "sha256-xrFWqgwTkurEwt3/+/e4SCM6Uk9nxuW62SrCFWWqZO0="; }; # make derivations declared in the let binding available here, so # they can be overridden inherit libdvdcss libdvdnav libdvdread groovy apache_commons_lang apache_commons_text; buildInputs = [ gnutls libidn2 libtasn1 nasm p11-kit libxml2 python3Packages.python Loading Loading @@ -168,17 +171,20 @@ in stdenv.mkDerivation { cmakeFlags = [ "-DAPP_RENDER_SYSTEM=${if gbmSupport then "gles" else "gl"}" "-Dlibdvdcss_URL=${libdvdcss}" "-Dlibdvdnav_URL=${libdvdnav}" "-Dlibdvdread_URL=${libdvdread}" "-Dgroovy_SOURCE_DIR=${groovy}" "-Dapache-commons-lang_SOURCE_DIR=${apache_commons_lang}" "-Dapache-commons-text_SOURCE_DIR=${apache_commons_text}" "-DGIT_VERSION=${kodiReleaseDate}" "-Dlibdvdcss_URL=${finalAttrs.libdvdcss}" "-Dlibdvdnav_URL=${finalAttrs.libdvdnav}" "-Dlibdvdread_URL=${finalAttrs.libdvdread}" "-Dgroovy_SOURCE_DIR=${finalAttrs.groovy}" "-Dapache-commons-lang_SOURCE_DIR=${finalAttrs.apache_commons_lang}" "-Dapache-commons-text_SOURCE_DIR=${finalAttrs.apache_commons_text}" # Upstream derives this from the git HEADs hash and date. # LibreElec (minimal distro for kodi) uses the equivalent to this. "-DGIT_VERSION=${finalAttrs.version}-${finalAttrs.kodiReleaseName}" "-DENABLE_EVENTCLIENTS=ON" "-DENABLE_INTERNAL_CROSSGUID=OFF" "-DENABLE_INTERNAL_RapidJSON=OFF" "-DENABLE_OPTICAL=ON" "-DENABLE_OPTICAL=${if opticalSupport then "ON" else "OFF"}" "-DENABLE_VDPAU=${if vdpauSupport then "ON" else "OFF"}" "-DLIRC_DEVICE=/run/lirc/lircd" "-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig" "-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc" Loading Loading @@ -221,7 +227,8 @@ in stdenv.mkDerivation { --prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \ --prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath ([ curl systemd libmad libvdpau libcec libcec_platform libass ] ([ curl systemd libmad libcec libcec_platform libass ] ++ lib.optional vdpauSupport libvdpau ++ lib.optional nfsSupport libnfs ++ lib.optional rtmpSupport rtmpdump)}" done Loading @@ -240,6 +247,7 @@ in stdenv.mkDerivation { passthru = { pythonPackages = python3Packages; ffmpeg = ffmpeg; kodi = finalAttrs.finalPackage; }; meta = with lib; { Loading @@ -249,4 +257,4 @@ in stdenv.mkDerivation { platforms = platforms.linux; maintainers = teams.kodi.members; }; } })
pkgs/top-level/kodi-packages.nix +1 −1 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ let self = { addonDir = "/share/kodi/addons"; rel = "Omega"; rel = kodi.kodiReleaseName; inherit callPackage kodi hasKodiAddon requiredKodiAddons; Loading