Merge pull request #115158 from aanderse/kodi-cleanup
This commit is contained in:
commit
f380191416
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
|
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
|
||||||
, pkg-config, cmake, gnumake, yasm, python3Packages
|
, pkg-config, cmake, gnumake, yasm, python3Packages
|
||||||
, libgcrypt, libgpgerror, libunistring
|
, libgcrypt, libgpgerror, libunistring
|
||||||
, boost, avahi, lame
|
, boost, avahi, lame
|
||||||
@ -57,41 +57,15 @@ let
|
|||||||
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
|
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
|
||||||
};
|
};
|
||||||
|
|
||||||
cmakeProto = fetchurl {
|
ffmpeg = stdenv.mkDerivation rec {
|
||||||
url = "https://raw.githubusercontent.com/pramsey/libght/ca9b1121c352ea10170636e170040e1af015bad1/cmake/modules/CheckPrototypeExists.cmake";
|
pname = "kodi-ffmpeg";
|
||||||
sha256 = "1zai82gm5x55n3xvdv7mns3ja6a2k81x9zz0nk42j6s2yb0fkjxh";
|
|
||||||
};
|
|
||||||
|
|
||||||
cmakeProtoPatch = ''
|
|
||||||
# get rid of windows headers as they will otherwise be found first
|
|
||||||
rm -rf msvc
|
|
||||||
|
|
||||||
cp ${cmakeProto} cmake/${cmakeProto.name}
|
|
||||||
# we need to enable support for C++ for check_prototype_exists to do its thing
|
|
||||||
substituteInPlace CMakeLists.txt --replace 'LANGUAGES C' 'LANGUAGES C CXX'
|
|
||||||
if [ -f cmake/CheckHeadersSTDC.cmake ]; then
|
|
||||||
sed -i cmake/CheckHeadersSTDC.cmake \
|
|
||||||
-e '7iinclude(CheckPrototypeExists)'
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
kodiDependency = { name, version, rev, sha256, ... } @attrs:
|
|
||||||
let
|
|
||||||
attrs' = builtins.removeAttrs attrs ["name" "version" "rev" "sha256"];
|
|
||||||
in stdenv.mkDerivation ({
|
|
||||||
name = "kodi-${lib.toLower name}-${version}";
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = name;
|
|
||||||
inherit rev sha256;
|
|
||||||
};
|
|
||||||
} // attrs');
|
|
||||||
|
|
||||||
ffmpeg = kodiDependency rec {
|
|
||||||
name = "FFmpeg";
|
|
||||||
version = "4.3.1";
|
version = "4.3.1";
|
||||||
rev = "${version}-${rel}-Beta1";
|
src = fetchFromGitHub {
|
||||||
sha256 = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
|
owner = "xbmc";
|
||||||
|
repo = "FFmpeg";
|
||||||
|
rev = "${version}-${rel}-Beta1";
|
||||||
|
sha256 = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
|
||||||
|
};
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
||||||
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
|
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
|
||||||
@ -110,47 +84,25 @@ let
|
|||||||
|
|
||||||
# We can build these externally but FindLibDvd.cmake forces us to build it
|
# We can build these externally but FindLibDvd.cmake forces us to build it
|
||||||
# them, so we currently just use them for the src.
|
# them, so we currently just use them for the src.
|
||||||
libdvdcss = kodiDependency rec {
|
libdvdcss = fetchFromGitHub {
|
||||||
name = "libdvdcss";
|
owner = "xbmc";
|
||||||
version = "1.4.2";
|
repo = "libdvdcss";
|
||||||
rev = "${version}-${rel}-Beta-5";
|
rev = "1.4.2-${rel}-Beta-5";
|
||||||
sha256 = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
|
sha256 = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
|
||||||
buildInputs = [ linuxHeaders ];
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
postPatch = ''
|
|
||||||
rm -rf msvc
|
|
||||||
|
|
||||||
substituteInPlace config.h.cm \
|
|
||||||
--replace '#cmakedefine O_BINARY "''${O_BINARY}"' '#define O_BINARY 0'
|
|
||||||
'';
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DBUILD_SHARED_LIBS=1"
|
|
||||||
"-DHAVE_LINUX_DVD_STRUCT=1"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
libdvdnav = kodiDependency rec {
|
libdvdnav = fetchFromGitHub {
|
||||||
name = "libdvdnav";
|
owner = "xbmc";
|
||||||
version = "6.0.0";
|
repo = "libdvdnav";
|
||||||
rev = "${version}-${rel}-Alpha-3";
|
rev = "6.0.0-${rel}-Alpha-3";
|
||||||
sha256 = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
|
sha256 = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
|
||||||
buildInputs = [ libdvdcss libdvdread ];
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
postPatch = cmakeProtoPatch;
|
|
||||||
postInstall = ''
|
|
||||||
mv $out/lib/liblibdvdnav.so $out/lib/libdvdnav.so
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
libdvdread = kodiDependency rec {
|
libdvdread = fetchFromGitHub {
|
||||||
name = "libdvdread";
|
owner = "xbmc";
|
||||||
version = "6.0.0";
|
repo = "libdvdread";
|
||||||
rev = "${version}-${rel}-Alpha-3";
|
rev = "6.0.0-${rel}-Alpha-3";
|
||||||
sha256 = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
|
sha256 = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
|
||||||
buildInputs = [ libdvdcss ];
|
|
||||||
nativeBuildInputs = [ cmake pkg-config ];
|
|
||||||
configureFlags = [ "--with-libdvdcss" ];
|
|
||||||
postPatch = cmakeProtoPatch;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
kodi_platforms =
|
kodi_platforms =
|
||||||
@ -184,7 +136,6 @@ in stdenv.mkDerivation {
|
|||||||
bluez giflib glib harfbuzz lcms2 libpthreadstubs
|
bluez giflib glib harfbuzz lcms2 libpthreadstubs
|
||||||
ffmpeg flatbuffers fmt fstrcmp rapidjson
|
ffmpeg flatbuffers fmt fstrcmp rapidjson
|
||||||
lirc
|
lirc
|
||||||
# libdvdcss libdvdnav libdvdread
|
|
||||||
]
|
]
|
||||||
++ lib.optional x11Support [
|
++ lib.optional x11Support [
|
||||||
libX11 xorgproto libXt libXmu libXext.dev libXdmcp
|
libX11 xorgproto libXt libXmu libXext.dev libXdmcp
|
||||||
@ -231,9 +182,9 @@ in stdenv.mkDerivation {
|
|||||||
|
|
||||||
cmakeFlags = [
|
cmakeFlags = [
|
||||||
"-DAPP_RENDER_SYSTEM=${if useGbm then "gles" else "gl"}"
|
"-DAPP_RENDER_SYSTEM=${if useGbm then "gles" else "gl"}"
|
||||||
"-Dlibdvdcss_URL=${libdvdcss.src}"
|
"-Dlibdvdcss_URL=${libdvdcss}"
|
||||||
"-Dlibdvdnav_URL=${libdvdnav.src}"
|
"-Dlibdvdnav_URL=${libdvdnav}"
|
||||||
"-Dlibdvdread_URL=${libdvdread.src}"
|
"-Dlibdvdread_URL=${libdvdread}"
|
||||||
"-DGIT_VERSION=${kodiReleaseDate}"
|
"-DGIT_VERSION=${kodiReleaseDate}"
|
||||||
"-DENABLE_EVENTCLIENTS=ON"
|
"-DENABLE_EVENTCLIENTS=ON"
|
||||||
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
||||||
@ -270,7 +221,7 @@ in stdenv.mkDerivation {
|
|||||||
postInstall = ''
|
postInstall = ''
|
||||||
for p in $(ls $out/bin/) ; do
|
for p in $(ls $out/bin/) ; do
|
||||||
wrapProgram $out/bin/$p \
|
wrapProgram $out/bin/$p \
|
||||||
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
|
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo ++ lib.optional sambaSupport samba)}" \
|
||||||
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
||||||
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
|
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
|
||||||
++ lib.optional nfsSupport libnfs
|
++ lib.optional nfsSupport libnfs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user