mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-13 05:05:29 +03:00
Merge staging-next into staging
This commit is contained in:
commit
f5fd6fc20f
15 changed files with 646 additions and 301 deletions
|
@ -186,294 +186,343 @@ let
|
||||||
lib.optional gbmSupport "gbm"
|
lib.optional gbmSupport "gbm"
|
||||||
++ lib.optional waylandSupport "wayland"
|
++ lib.optional waylandSupport "wayland"
|
||||||
++ lib.optional x11Support "x11";
|
++ lib.optional x11Support "x11";
|
||||||
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
stdenv.mkDerivation (
|
||||||
pname = "kodi";
|
finalAttrs:
|
||||||
version = "21.2";
|
let
|
||||||
kodiReleaseName = "Omega";
|
texturePacker = buildPackages.callPackage (
|
||||||
|
{
|
||||||
|
cmake,
|
||||||
|
giflib,
|
||||||
|
libjpeg,
|
||||||
|
libpng,
|
||||||
|
lzo,
|
||||||
|
stdenv,
|
||||||
|
zlib,
|
||||||
|
pkg-config,
|
||||||
|
}:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = finalAttrs.pname + "-build-tool-texture-packer";
|
||||||
|
inherit (finalAttrs) version src;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
sourceRoot = "${finalAttrs.src.name}/tools/depends/native/TexturePacker/src";
|
||||||
owner = "xbmc";
|
|
||||||
repo = "xbmc";
|
|
||||||
rev = "${finalAttrs.version}-${finalAttrs.kodiReleaseName}";
|
|
||||||
hash = "sha256-RdTJcq6FPerQx05dU3r8iyaorT4L7162hg5RdywsA88=";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
nativeBuildInputs = [
|
||||||
# Backport to fix build with Pipewire 1.4
|
pkg-config
|
||||||
# FIXME: remove in the next update
|
cmake
|
||||||
(fetchpatch {
|
];
|
||||||
url = "https://github.com/xbmc/xbmc/commit/269053ebbfd3cc4a3156a511f54ab7f08a09a730.patch";
|
|
||||||
hash = "sha256-JzzrMJvAufrxTxtWnzknUS9JLJEed+qdtVnIYYe9LCw=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# make derivations declared in the let binding available here, so
|
buildInputs = [
|
||||||
# they can be overridden
|
giflib
|
||||||
inherit
|
libjpeg
|
||||||
libdvdcss
|
libpng
|
||||||
libdvdnav
|
lzo
|
||||||
libdvdread
|
zlib
|
||||||
groovy
|
];
|
||||||
apache_commons_lang
|
|
||||||
apache_commons_text
|
|
||||||
;
|
|
||||||
|
|
||||||
buildInputs =
|
env.NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.hostPlatform.isWindows) "-DTARGET_POSIX";
|
||||||
[
|
|
||||||
gnutls
|
preConfigure = ''
|
||||||
libidn2
|
cmakeFlagsArray+=(-DKODI_SOURCE_DIR=$src -DCMAKE_MODULE_PATH=$src/cmake/modules)
|
||||||
libtasn1
|
'';
|
||||||
nasm
|
|
||||||
p11-kit
|
meta.mainProgram = "TexturePacker";
|
||||||
libxml2
|
}
|
||||||
python3Packages.python
|
) { };
|
||||||
boost
|
|
||||||
libmicrohttpd
|
jsonSchemaBuilder = buildPackages.callPackage (
|
||||||
gettext
|
{ stdenv, cmake }:
|
||||||
pcre-cpp
|
stdenv.mkDerivation {
|
||||||
yajl
|
pname = finalAttrs.pname + "-build-tool-json-schema-builder";
|
||||||
fribidi
|
inherit (finalAttrs) version src;
|
||||||
libva
|
|
||||||
libdrm
|
sourceRoot = "${finalAttrs.src.name}/tools/depends/native/JsonSchemaBuilder/src";
|
||||||
openssl
|
|
||||||
gperf
|
nativeBuildInputs = [ cmake ];
|
||||||
tinyxml2
|
|
||||||
tinyxml-2
|
meta.mainProgram = "JsonSchemaBuilder";
|
||||||
taglib
|
}
|
||||||
libssh
|
) { };
|
||||||
gtest
|
in
|
||||||
ncurses
|
{
|
||||||
spdlog
|
pname = "kodi";
|
||||||
alsa-lib
|
version = "21.2";
|
||||||
libGL
|
kodiReleaseName = "Omega";
|
||||||
libGLU
|
|
||||||
fontconfig
|
src = fetchFromGitHub {
|
||||||
freetype
|
owner = "xbmc";
|
||||||
ftgl
|
repo = "xbmc";
|
||||||
libjpeg
|
rev = "${finalAttrs.version}-${finalAttrs.kodiReleaseName}";
|
||||||
libpng
|
hash = "sha256-RdTJcq6FPerQx05dU3r8iyaorT4L7162hg5RdywsA88=";
|
||||||
libtiff
|
};
|
||||||
libmpeg2
|
|
||||||
libsamplerate
|
patches = [
|
||||||
libmad
|
# Backport to fix build with Pipewire 1.4
|
||||||
libogg
|
# FIXME: remove in the next update
|
||||||
libvorbis
|
(fetchpatch {
|
||||||
flac
|
url = "https://github.com/xbmc/xbmc/commit/269053ebbfd3cc4a3156a511f54ab7f08a09a730.patch";
|
||||||
libxslt
|
hash = "sha256-JzzrMJvAufrxTxtWnzknUS9JLJEed+qdtVnIYYe9LCw=";
|
||||||
systemd
|
})
|
||||||
lzo
|
|
||||||
libcdio
|
|
||||||
libmodplug
|
|
||||||
libass
|
|
||||||
libbluray
|
|
||||||
libudfread
|
|
||||||
sqlite
|
|
||||||
libmysqlclient
|
|
||||||
avahi
|
|
||||||
lame
|
|
||||||
curl
|
|
||||||
bzip2
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
mesa-demos
|
|
||||||
libcec
|
|
||||||
libcec_platform
|
|
||||||
dcadec
|
|
||||||
libuuid
|
|
||||||
libxcrypt
|
|
||||||
libgcrypt
|
|
||||||
libgpg-error
|
|
||||||
libunistring
|
|
||||||
libcrossguid
|
|
||||||
libplist
|
|
||||||
bluez
|
|
||||||
giflib
|
|
||||||
glib
|
|
||||||
harfbuzz
|
|
||||||
lcms2
|
|
||||||
libpthreadstubs
|
|
||||||
ffmpeg
|
|
||||||
flatbuffers
|
|
||||||
fstrcmp
|
|
||||||
rapidjson
|
|
||||||
lirc
|
|
||||||
mesa-gl-headers
|
|
||||||
]
|
|
||||||
++ lib.optionals x11Support [
|
|
||||||
libX11
|
|
||||||
xorgproto
|
|
||||||
libXt
|
|
||||||
libXmu
|
|
||||||
libXext.dev
|
|
||||||
libXdmcp
|
|
||||||
libXinerama
|
|
||||||
libXrandr.dev
|
|
||||||
libXtst
|
|
||||||
libXfixes
|
|
||||||
]
|
|
||||||
++ lib.optional dbusSupport dbus
|
|
||||||
++ lib.optional joystickSupport cwiid
|
|
||||||
++ lib.optional nfsSupport libnfs
|
|
||||||
++ lib.optional pulseSupport libpulseaudio
|
|
||||||
++ lib.optional pipewireSupport pipewire
|
|
||||||
++ lib.optional rtmpSupport rtmpdump
|
|
||||||
++ lib.optional sambaSupport samba
|
|
||||||
++ lib.optional udevSupport udev
|
|
||||||
++ lib.optional usbSupport libusb-compat-0_1
|
|
||||||
++ lib.optional vdpauSupport libvdpau
|
|
||||||
++ lib.optionals waylandSupport [
|
|
||||||
wayland
|
|
||||||
waylandpp.dev
|
|
||||||
wayland-protocols
|
|
||||||
# Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise
|
|
||||||
libxkbcommon.dev
|
|
||||||
]
|
|
||||||
++ lib.optionals gbmSupport [
|
|
||||||
libxkbcommon.dev
|
|
||||||
libgbm
|
|
||||||
libinput.dev
|
|
||||||
libdisplay-info
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs =
|
# make derivations declared in the let binding available here, so
|
||||||
[
|
# they can be overridden
|
||||||
cmake
|
inherit
|
||||||
doxygen
|
libdvdcss
|
||||||
makeWrapper
|
libdvdnav
|
||||||
which
|
libdvdread
|
||||||
pkg-config
|
groovy
|
||||||
autoconf
|
apache_commons_lang
|
||||||
automake
|
apache_commons_text
|
||||||
libtool # still needed for some components. Check if that is the case with 19.0
|
;
|
||||||
jre_headless
|
|
||||||
yasm
|
|
||||||
gettext
|
|
||||||
python3Packages.python
|
|
||||||
flatbuffers
|
|
||||||
|
|
||||||
# for TexturePacker
|
buildInputs =
|
||||||
giflib
|
[
|
||||||
zlib
|
gnutls
|
||||||
libpng
|
libidn2
|
||||||
libjpeg
|
libtasn1
|
||||||
lzo
|
nasm
|
||||||
]
|
p11-kit
|
||||||
++ lib.optionals waylandSupport [
|
libxml2
|
||||||
wayland-protocols
|
python3Packages.python
|
||||||
waylandpp.bin
|
boost
|
||||||
|
libmicrohttpd
|
||||||
|
gettext
|
||||||
|
pcre-cpp
|
||||||
|
yajl
|
||||||
|
fribidi
|
||||||
|
libva
|
||||||
|
libdrm
|
||||||
|
openssl
|
||||||
|
gperf
|
||||||
|
tinyxml2
|
||||||
|
tinyxml-2
|
||||||
|
taglib
|
||||||
|
libssh
|
||||||
|
gtest
|
||||||
|
ncurses
|
||||||
|
spdlog
|
||||||
|
alsa-lib
|
||||||
|
libGL
|
||||||
|
libGLU
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
ftgl
|
||||||
|
libjpeg
|
||||||
|
libpng
|
||||||
|
libtiff
|
||||||
|
libmpeg2
|
||||||
|
libsamplerate
|
||||||
|
libmad
|
||||||
|
libogg
|
||||||
|
libvorbis
|
||||||
|
flac
|
||||||
|
libxslt
|
||||||
|
systemd
|
||||||
|
lzo
|
||||||
|
libcdio
|
||||||
|
libmodplug
|
||||||
|
libass
|
||||||
|
libbluray
|
||||||
|
libudfread
|
||||||
|
sqlite
|
||||||
|
libmysqlclient
|
||||||
|
avahi
|
||||||
|
lame
|
||||||
|
curl
|
||||||
|
bzip2
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
mesa-demos
|
||||||
|
libcec
|
||||||
|
libcec_platform
|
||||||
|
dcadec
|
||||||
|
libuuid
|
||||||
|
libxcrypt
|
||||||
|
libgcrypt
|
||||||
|
libgpg-error
|
||||||
|
libunistring
|
||||||
|
libcrossguid
|
||||||
|
libplist
|
||||||
|
bluez
|
||||||
|
glib
|
||||||
|
harfbuzz
|
||||||
|
lcms2
|
||||||
|
libpthreadstubs
|
||||||
|
ffmpeg
|
||||||
|
flatbuffers
|
||||||
|
fstrcmp
|
||||||
|
rapidjson
|
||||||
|
lirc
|
||||||
|
mesa-gl-headers
|
||||||
|
|
||||||
|
# Deps needed by TexturePacker, which is built and installed in normal
|
||||||
|
# kodi build, however the one used during the build is not this one
|
||||||
|
# in order to support cross-compilation.
|
||||||
|
giflib
|
||||||
|
zlib
|
||||||
|
]
|
||||||
|
++ lib.optionals x11Support [
|
||||||
|
libX11
|
||||||
|
xorgproto
|
||||||
|
libXt
|
||||||
|
libXmu
|
||||||
|
libXext.dev
|
||||||
|
libXdmcp
|
||||||
|
libXinerama
|
||||||
|
libXrandr.dev
|
||||||
|
libXtst
|
||||||
|
libXfixes
|
||||||
|
]
|
||||||
|
++ lib.optional dbusSupport dbus
|
||||||
|
++ lib.optional joystickSupport cwiid
|
||||||
|
++ lib.optional nfsSupport libnfs
|
||||||
|
++ lib.optional pulseSupport libpulseaudio
|
||||||
|
++ lib.optional pipewireSupport pipewire
|
||||||
|
++ lib.optional rtmpSupport rtmpdump
|
||||||
|
++ lib.optional sambaSupport samba
|
||||||
|
++ lib.optional udevSupport udev
|
||||||
|
++ lib.optional usbSupport libusb-compat-0_1
|
||||||
|
++ lib.optional vdpauSupport libvdpau
|
||||||
|
++ lib.optionals waylandSupport [
|
||||||
|
wayland
|
||||||
|
waylandpp.dev
|
||||||
|
wayland-protocols
|
||||||
|
# Not sure why ".dev" is needed here, but CMake doesn't find libxkbcommon otherwise
|
||||||
|
libxkbcommon.dev
|
||||||
|
]
|
||||||
|
++ lib.optionals gbmSupport [
|
||||||
|
libxkbcommon.dev
|
||||||
|
libgbm
|
||||||
|
libinput.dev
|
||||||
|
libdisplay-info
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs =
|
||||||
|
[
|
||||||
|
cmake
|
||||||
|
doxygen
|
||||||
|
makeWrapper
|
||||||
|
which
|
||||||
|
pkg-config
|
||||||
|
autoconf
|
||||||
|
automake
|
||||||
|
libtool # still needed for some components. Check if that is the case with 19.0
|
||||||
|
jre_headless
|
||||||
|
yasm
|
||||||
|
gettext
|
||||||
|
python3Packages.python
|
||||||
|
flatbuffers
|
||||||
|
]
|
||||||
|
++ lib.optionals waylandSupport [
|
||||||
|
wayland-protocols
|
||||||
|
waylandpp.bin
|
||||||
|
];
|
||||||
|
|
||||||
|
depsBuildBuild = [
|
||||||
|
buildPackages.stdenv.cc
|
||||||
];
|
];
|
||||||
|
|
||||||
depsBuildBuild = [
|
cmakeFlags =
|
||||||
buildPackages.stdenv.cc
|
[
|
||||||
];
|
"-DAPP_RENDER_SYSTEM=${if gbmSupport then "gles" else "gl"}"
|
||||||
|
"-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=${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"
|
||||||
|
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
|
||||||
|
"-DPYTHON_LIB_PATH=${python3Packages.python.sitePackages}"
|
||||||
|
"-DWITH_JSONSCHEMABUILDER=${lib.getExe jsonSchemaBuilder}"
|
||||||
|
# When wrapped KODI_HOME will likely contain symlinks to static assets
|
||||||
|
# that Kodi's built in webserver will cautiously refuse to serve up
|
||||||
|
# (because their realpaths are outside of KODI_HOME and the other
|
||||||
|
# whitelisted directories). This adds the entire nix store to the Kodi
|
||||||
|
# webserver whitelist to avoid this problem.
|
||||||
|
"-DKODI_WEBSERVER_EXTRA_WHITELIST=${builtins.storeDir}"
|
||||||
|
]
|
||||||
|
++ lib.optionals waylandSupport [
|
||||||
|
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
|
||||||
|
]
|
||||||
|
++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
|
||||||
|
"-DWITH_TEXTUREPACKER=${lib.getExe texturePacker}"
|
||||||
|
];
|
||||||
|
|
||||||
cmakeFlags =
|
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
|
||||||
[
|
# I'm guessing there is a thing waiting to time out
|
||||||
"-DAPP_RENDER_SYSTEM=${if gbmSupport then "gles" else "gl"}"
|
doCheck = false;
|
||||||
"-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=${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"
|
|
||||||
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
|
|
||||||
"-DPYTHON_LIB_PATH=${python3Packages.python.sitePackages}"
|
|
||||||
# When wrapped KODI_HOME will likely contain symlinks to static assets
|
|
||||||
# that Kodi's built in webserver will cautiously refuse to serve up
|
|
||||||
# (because their realpaths are outside of KODI_HOME and the other
|
|
||||||
# whitelisted directories). This adds the entire nix store to the Kodi
|
|
||||||
# webserver whitelist to avoid this problem.
|
|
||||||
"-DKODI_WEBSERVER_EXTRA_WHITELIST=${builtins.storeDir}"
|
|
||||||
]
|
|
||||||
++ lib.optionals waylandSupport [
|
|
||||||
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
|
|
||||||
];
|
|
||||||
|
|
||||||
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
|
preConfigure = ''
|
||||||
# I'm guessing there is a thing waiting to time out
|
|
||||||
doCheck = false;
|
|
||||||
|
|
||||||
preConfigure =
|
|
||||||
''
|
|
||||||
cmakeFlagsArray+=("-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}")
|
cmakeFlagsArray+=("-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}")
|
||||||
''
|
|
||||||
+ lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
|
|
||||||
# Need these tools on the build system when cross compiling,
|
|
||||||
# hacky, but have found no other way.
|
|
||||||
CXX=$CXX_FOR_BUILD LD=ld make -C tools/depends/native/JsonSchemaBuilder
|
|
||||||
appendToVar cmakeFlags "-DWITH_JSONSCHEMABUILDER=$PWD/tools/depends/native/JsonSchemaBuilder/bin"
|
|
||||||
|
|
||||||
CXX=$CXX_FOR_BUILD LD=ld make EXTRA_CONFIGURE= -C tools/depends/native/TexturePacker
|
|
||||||
appendToVar cmakeFlags "-DWITH_TEXTUREPACKER=$PWD/tools/depends/native/TexturePacker/bin"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# TODO: figure out which binaries should be wrapped this way and which shouldn't
|
# TODO: figure out which binaries should be wrapped this way and which shouldn't
|
||||||
for p in $(ls --ignore=kodi-send $out/bin/) ; do
|
for p in $(ls --ignore=kodi-send $out/bin/) ; do
|
||||||
wrapProgram $out/bin/$p \
|
wrapProgram $out/bin/$p \
|
||||||
--prefix PATH ":" "${
|
--prefix PATH ":" "${
|
||||||
lib.makeBinPath (
|
lib.makeBinPath (
|
||||||
[
|
[
|
||||||
python3Packages.python
|
python3Packages.python
|
||||||
mesa-demos
|
mesa-demos
|
||||||
]
|
]
|
||||||
++ lib.optional x11Support xdpyinfo
|
++ lib.optional x11Support xdpyinfo
|
||||||
++ lib.optional sambaSupport samba
|
++ lib.optional sambaSupport samba
|
||||||
)
|
)
|
||||||
}" \
|
}" \
|
||||||
--prefix LD_LIBRARY_PATH ":" "${
|
--prefix LD_LIBRARY_PATH ":" "${
|
||||||
lib.makeLibraryPath (
|
lib.makeLibraryPath (
|
||||||
[
|
[
|
||||||
curl
|
curl
|
||||||
systemd
|
systemd
|
||||||
libmad
|
libmad
|
||||||
libcec
|
libcec
|
||||||
libcec_platform
|
libcec_platform
|
||||||
libass
|
libass
|
||||||
]
|
]
|
||||||
++ lib.optional vdpauSupport libvdpau
|
++ lib.optional vdpauSupport libvdpau
|
||||||
++ lib.optional nfsSupport libnfs
|
++ lib.optional nfsSupport libnfs
|
||||||
++ lib.optional rtmpSupport rtmpdump
|
++ lib.optional rtmpSupport rtmpdump
|
||||||
)
|
)
|
||||||
}"
|
}"
|
||||||
done
|
done
|
||||||
|
|
||||||
wrapProgram $out/bin/kodi-send \
|
wrapProgram $out/bin/kodi-send \
|
||||||
--prefix PYTHONPATH : $out/${python3Packages.python.sitePackages}
|
--prefix PYTHONPATH : $out/${python3Packages.python.sitePackages}
|
||||||
|
|
||||||
substituteInPlace $out/share/xsessions/kodi.desktop \
|
substituteInPlace $out/share/xsessions/kodi.desktop \
|
||||||
--replace kodi-standalone $out/bin/kodi-standalone
|
--replace kodi-standalone $out/bin/kodi-standalone
|
||||||
'';
|
'';
|
||||||
|
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
|
||||||
installCheckPhase = "$out/bin/kodi --version";
|
installCheckPhase = "$out/bin/kodi --version";
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
pythonPackages = python3Packages;
|
pythonPackages = python3Packages;
|
||||||
ffmpeg = ffmpeg;
|
ffmpeg = ffmpeg;
|
||||||
kodi = finalAttrs.finalPackage;
|
kodi = finalAttrs.finalPackage;
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Media center";
|
description = "Media center";
|
||||||
homepage = "https://kodi.tv/";
|
homepage = "https://kodi.tv/";
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
teams = [ teams.kodi ];
|
teams = [ teams.kodi ];
|
||||||
mainProgram = "kodi";
|
mainProgram = "kodi";
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
79
pkgs/by-name/cf/cfclient/package.nix
Normal file
79
pkgs/by-name/cf/cfclient/package.nix
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
python3Packages,
|
||||||
|
fetchFromGitHub,
|
||||||
|
qt6,
|
||||||
|
}:
|
||||||
|
|
||||||
|
python3Packages.buildPythonApplication rec {
|
||||||
|
pname = "cfclient";
|
||||||
|
version = "2025.2";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bitcraze";
|
||||||
|
repo = "crazyflie-clients-python";
|
||||||
|
tag = version;
|
||||||
|
hash = "sha256-LCGTMLIfGH59KFwQACyuEQTh/zkGgzXd3e6MkFTgKhA=";
|
||||||
|
};
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
qt6.qtbase
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
qt6.wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
dontWrapQtApps = true;
|
||||||
|
|
||||||
|
build-system = with python3Packages; [
|
||||||
|
setuptools
|
||||||
|
setuptools-scm
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonRelaxDeps = [
|
||||||
|
"numpy"
|
||||||
|
"pyqt6"
|
||||||
|
"vispy"
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = with python3Packages; [
|
||||||
|
appdirs
|
||||||
|
cflib
|
||||||
|
numpy
|
||||||
|
pyopengl
|
||||||
|
pyserial
|
||||||
|
pysdl2
|
||||||
|
pyqtgraph
|
||||||
|
pyqt6
|
||||||
|
pyqt6-sip
|
||||||
|
pyyaml
|
||||||
|
pyzmq
|
||||||
|
scipy
|
||||||
|
setuptools
|
||||||
|
vispy
|
||||||
|
];
|
||||||
|
|
||||||
|
# No tests
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
# Use wrapQtApp for Python scripts as the manual mentions that wrapQtAppsHook only applies to binaries
|
||||||
|
postFixup = ''
|
||||||
|
wrapQtApp "$out/bin/cfclient" \
|
||||||
|
--set QT_QPA_PLATFORM "wayland" \
|
||||||
|
--set XDG_CURRENT_DESKTOP "Wayland" \
|
||||||
|
''${qtWrapperArgs[@]}
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Host applications and library for Crazyflie drones written in Python";
|
||||||
|
homepage = "https://github.com/bitcraze/crazyflie-clients-python";
|
||||||
|
changelog = "https://github.com/bitcraze/crazyflie-clients-python/releases/tag/${version}";
|
||||||
|
license = lib.licenses.gpl2Only;
|
||||||
|
maintainers = [ lib.maintainers.brianmcgillion ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -19,8 +19,8 @@
|
||||||
#
|
#
|
||||||
# Ensure you also check ../mattermostLatest/package.nix.
|
# Ensure you also check ../mattermostLatest/package.nix.
|
||||||
regex = "^v(10\\.5\\.[0-9]+)$";
|
regex = "^v(10\\.5\\.[0-9]+)$";
|
||||||
version = "10.5.6";
|
version = "10.5.7";
|
||||||
srcHash = "sha256-etHEJ3EBTolXZr/2Kd39Jdtf1qBMuVO5zRkuM6k4F3w=";
|
srcHash = "sha256-HPQmN6GXDTEmloIcU0k+sYx/Qeh1j6T2yCT/W1/aWz4=";
|
||||||
vendorHash = "sha256-9Jl+lxvSoxUReziTqkDRyeNrijGWcBDbqoywJRIeD2k=";
|
vendorHash = "sha256-9Jl+lxvSoxUReziTqkDRyeNrijGWcBDbqoywJRIeD2k=";
|
||||||
npmDepsHash = "sha256-tIeuDUZbqgqooDm5TRfViiTT5OIyN0BPwvJdI+wf7p0=";
|
npmDepsHash = "sha256-tIeuDUZbqgqooDm5TRfViiTT5OIyN0BPwvJdI+wf7p0=";
|
||||||
lockfileOverlay = ''
|
lockfileOverlay = ''
|
||||||
|
|
|
@ -8,16 +8,16 @@
|
||||||
|
|
||||||
buildGoModule (finalAttrs: {
|
buildGoModule (finalAttrs: {
|
||||||
pname = "nak";
|
pname = "nak";
|
||||||
version = "0.14.1";
|
version = "0.14.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "fiatjaf";
|
owner = "fiatjaf";
|
||||||
repo = "nak";
|
repo = "nak";
|
||||||
tag = "v${finalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-uPsZV29xjVUeq0vKsTPf/hRtjsCnjaShiabnKXm5kPY=";
|
hash = "sha256-+91warH+uvQ5jkPIxkJxsS9R83cZ1u+FKMy3xgjHIAQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-q6jdczZ8K+aJJHfN2OtW0mP4OpMbKAB16Bws2wFb6Zg=";
|
vendorHash = "sha256-HGZwcg8C9UuYu0+oPfJG4LEXIHqt+IRrDQdXtIjg0Hg=";
|
||||||
|
|
||||||
ldflags = [
|
ldflags = [
|
||||||
"-s"
|
"-s"
|
||||||
|
|
|
@ -18,23 +18,23 @@
|
||||||
|
|
||||||
buildGo124Module rec {
|
buildGo124Module rec {
|
||||||
pname = "navidrome";
|
pname = "navidrome";
|
||||||
version = "0.55.2";
|
version = "0.56.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "navidrome";
|
owner = "navidrome";
|
||||||
repo = "navidrome";
|
repo = "navidrome";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-RJDWpaB0rdrwLSEjwLIZ7ymvYvFSX4/fIT3xFki3278=";
|
hash = "sha256-Vq8qfBqxF/PVRtYYTsFydnJ7z/IuoNUWRWTLy/RM6xg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
vendorHash = "sha256-stdYTvYwsu00l5sAW86nBlwnACOfyLbKi7Xn5gdM/7Y=";
|
vendorHash = "sha256-E7Q3wxUd5JAwERBKD2NZaVyj1kszOxvxeDY0s/fEDfY=";
|
||||||
|
|
||||||
npmRoot = "ui";
|
npmRoot = "ui";
|
||||||
|
|
||||||
npmDeps = fetchNpmDeps {
|
npmDeps = fetchNpmDeps {
|
||||||
inherit src;
|
inherit src;
|
||||||
sourceRoot = "${src.name}/ui";
|
sourceRoot = "${src.name}/ui";
|
||||||
hash = "sha256-lM8637tcKc9iSPjXJPDZXFCGj7pShOXTC6X2iketg90=";
|
hash = "sha256-tl6unHz0E0v0ObrfTiE0vZwVSyVFmrLggNM5QsUGsvI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
4
pkgs/by-name/no/nodeenv/package.nix
Normal file
4
pkgs/by-name/no/nodeenv/package.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
python3Packages,
|
||||||
|
}:
|
||||||
|
python3Packages.toPythonApplication python3Packages.nodeenv
|
13
pkgs/by-name/pe/pencil2d/git-inherit.patch
Normal file
13
pkgs/by-name/pe/pencil2d/git-inherit.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
--- a/app/app.pro
|
||||||
|
+++ b/app/app.pro
|
||||||
|
@@ -208,8 +208,8 @@
|
||||||
|
|
||||||
|
GIT {
|
||||||
|
DEFINES += GIT_EXISTS \
|
||||||
|
- "GIT_CURRENT_SHA1=$$system(git --git-dir=.git --work-tree=. -C $$_PRO_FILE_PWD_/../ rev-parse HEAD)" \
|
||||||
|
- "GIT_TIMESTAMP=$$system(git --git-dir=.git --work-tree=. -C $$_PRO_FILE_PWD_/../ log -n 1 --pretty=format:"%cd" --date=format:"%Y-%m-%d_%H:%M:%S")"
|
||||||
|
+ "GIT_CURRENT_SHA1=$$cat($$_PRO_FILE_PWD_/../COMMIT)" \
|
||||||
|
+ "GIT_TIMESTAMP=$$cat($$_PRO_FILE_PWD_/../SOURCE_TIMESTAMP_EPOCH)"
|
||||||
|
}
|
||||||
|
|
||||||
|
macx {
|
|
@ -3,30 +3,56 @@
|
||||||
stdenv,
|
stdenv,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
qt5,
|
qt5,
|
||||||
|
git,
|
||||||
|
ffmpeg_6,
|
||||||
|
nix-update-script,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (FinalAttrs: {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "pencil2d";
|
pname = "pencil2d";
|
||||||
version = "0.7.0";
|
version = "0.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "pencil2d";
|
owner = "pencil2d";
|
||||||
repo = "pencil";
|
repo = "pencil";
|
||||||
tag = "v${FinalAttrs.version}";
|
tag = "v${finalAttrs.version}";
|
||||||
hash = "sha256-OuZpKgX2BgfuQdnjk/RTBww/blO1CIrYWr7KytqcIbQ=";
|
hash = "sha256-l+iW0k3WdNXDwXtt958JJWSe3zNhQVul4FUcPPMrVxE=";
|
||||||
|
leaveDotGit = true;
|
||||||
|
postFetch = ''
|
||||||
|
# Obtain the last commit ID and its timestamp, then zap .git for reproducibility
|
||||||
|
cd $out
|
||||||
|
git rev-parse HEAD > $out/COMMIT
|
||||||
|
# 0000-00-00T00:00:00Z
|
||||||
|
date -u -d "@$(git log -1 --pretty=%ct)" "+%Y-%m-%d_%H:%M:%S" > $out/SOURCE_TIMESTAMP_EPOCH
|
||||||
|
find "$out" -name .git -print0 | xargs -0 rm -rf
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./git-inherit.patch ];
|
||||||
|
|
||||||
nativeBuildInputs = with qt5; [
|
nativeBuildInputs = with qt5; [
|
||||||
qmake
|
qmake
|
||||||
wrapQtAppsHook
|
wrapQtAppsHook
|
||||||
qttools
|
qttools
|
||||||
|
git
|
||||||
];
|
];
|
||||||
|
|
||||||
|
qmakeFlags = [
|
||||||
|
"pencil2d.pro"
|
||||||
|
"CONFIG+=release"
|
||||||
|
"CONFIG+=PENCIL2D_RELEASE"
|
||||||
|
"CONFIG+=GIT"
|
||||||
|
"VERSION=${finalAttrs.version}"
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script { };
|
||||||
|
|
||||||
buildInputs = with qt5; [
|
buildInputs = with qt5; [
|
||||||
qtbase
|
qtbase
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
qtsvg
|
qtsvg
|
||||||
qtwayland
|
qtwayland
|
||||||
|
ffmpeg_6
|
||||||
];
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -10,18 +10,18 @@
|
||||||
|
|
||||||
rustPlatform.buildRustPackage rec {
|
rustPlatform.buildRustPackage rec {
|
||||||
pname = "veryl";
|
pname = "veryl";
|
||||||
version = "0.16.0";
|
version = "0.16.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "veryl-lang";
|
owner = "veryl-lang";
|
||||||
repo = "veryl";
|
repo = "veryl";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-KlW5GC5fgUnS6YAb01VEaKv48+yu8VqgAe/5QsilYjs=";
|
hash = "sha256-/GbykOurK3IHmknMh+TftU7aFcLqAlnEeiJ51sJcTeQ=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
useFetchCargoVendor = true;
|
||||||
cargoHash = "sha256-HKDkV2eDjhfuky2ORdKwbyBa/kt1gEqK55AibKg5VYE=";
|
cargoHash = "sha256-MQkxeV+06hL9DqReuHy7H8SMvh2Xn6Hqj/VY8a1scyQ=";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
90
pkgs/development/python-modules/cflib/default.nix
Normal file
90
pkgs/development/python-modules/cflib/default.nix
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
setuptools,
|
||||||
|
setuptools-scm,
|
||||||
|
libusb-package,
|
||||||
|
numpy,
|
||||||
|
packaging,
|
||||||
|
pyserial,
|
||||||
|
pyusb,
|
||||||
|
scipy,
|
||||||
|
pytestCheckHook,
|
||||||
|
pyyaml,
|
||||||
|
udevCheckHook,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "cflib";
|
||||||
|
version = "0.1.28";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "bitcraze";
|
||||||
|
repo = "crazyflie-lib-python";
|
||||||
|
tag = version;
|
||||||
|
hash = "sha256-vGqwQVD80NcFJosVAmqj66uxYNoVtAqzVhVQiuWP5yM=";
|
||||||
|
};
|
||||||
|
|
||||||
|
strictDeps = true;
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
setuptools
|
||||||
|
setuptools-scm
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonRelaxDeps = [ "numpy" ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
libusb-package
|
||||||
|
numpy
|
||||||
|
packaging
|
||||||
|
pyserial
|
||||||
|
pyusb
|
||||||
|
scipy
|
||||||
|
];
|
||||||
|
|
||||||
|
disabledTestPaths = [
|
||||||
|
# exception: Cannot find a Crazyradio Dongle (HW required)
|
||||||
|
"sys_test/single_cf_grounded/"
|
||||||
|
"sys_test/swarm_test_rig/"
|
||||||
|
];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "cflib" ];
|
||||||
|
nativeCheckInputs = [
|
||||||
|
pytestCheckHook
|
||||||
|
pyyaml
|
||||||
|
];
|
||||||
|
|
||||||
|
# The udevCheckHook is used to verify udev rules
|
||||||
|
# requires diInstallCheck to be enabled, which is default for pythonPackages
|
||||||
|
nativeInstallCheckInputs = [
|
||||||
|
udevCheckHook
|
||||||
|
];
|
||||||
|
|
||||||
|
# Install udev rules as defined
|
||||||
|
# https://www.bitcraze.io/documentation/repository/crazyflie-lib-python/master/installation/usb_permissions/
|
||||||
|
postInstall = ''
|
||||||
|
# Install udev rules
|
||||||
|
mkdir -p $out/etc/udev/rules.d
|
||||||
|
|
||||||
|
cat <<EOF > $out/etc/udev/rules.d/99-bitcraze.rules
|
||||||
|
# Crazyradio (normal operation)
|
||||||
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777", MODE="0664", GROUP="plugdev"
|
||||||
|
# Bootloader
|
||||||
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="0101", MODE="0664", GROUP="plugdev"
|
||||||
|
# Crazyflie (over USB)
|
||||||
|
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE="0664", GROUP="plugdev"
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Python library for the Crazyflie quadcopter by Bitcraze";
|
||||||
|
homepage = "https://github.com/bitcraze/crazyflie-lib-python";
|
||||||
|
changelog = "https://github.com/bitcraze/crazyflie-lib-python/releases/tag/${version}";
|
||||||
|
license = lib.licenses.gpl2Only;
|
||||||
|
maintainers = [ lib.maintainers.brianmcgillion ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -19,28 +19,28 @@
|
||||||
|
|
||||||
# optional dependencies
|
# optional dependencies
|
||||||
libcst,
|
libcst,
|
||||||
|
|
||||||
# testing
|
|
||||||
google-cloud-monitoring,
|
|
||||||
mmh3,
|
|
||||||
mock,
|
|
||||||
opentelemetry-api,
|
opentelemetry-api,
|
||||||
opentelemetry-sdk,
|
opentelemetry-sdk,
|
||||||
opentelemetry-semantic-conventions,
|
opentelemetry-semantic-conventions,
|
||||||
|
google-cloud-monitoring,
|
||||||
|
mmh3,
|
||||||
|
|
||||||
|
# testing
|
||||||
|
mock,
|
||||||
pytest-asyncio,
|
pytest-asyncio,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
}:
|
}:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "google-cloud-spanner";
|
pname = "google-cloud-spanner";
|
||||||
version = "3.54.0";
|
version = "3.55.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "googleapis";
|
owner = "googleapis";
|
||||||
repo = "python-spanner";
|
repo = "python-spanner";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-uJKUgY7fV+AK/2HQyjQRFypcL+mPZ/M5ZtAU+f73ezM=";
|
hash = "sha256-0+mTBqgy8SaHjoYhQjCaypipVsJTrN2DdhcfPY3PxSc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ setuptools ];
|
build-system = [ setuptools ];
|
||||||
|
@ -54,10 +54,18 @@ buildPythonPackage rec {
|
||||||
proto-plus
|
proto-plus
|
||||||
protobuf
|
protobuf
|
||||||
sqlparse
|
sqlparse
|
||||||
] ++ google-api-core.optional-dependencies.grpc;
|
];
|
||||||
|
|
||||||
optional-dependencies = {
|
optional-dependencies = {
|
||||||
libcst = [ libcst ];
|
libcst = [ libcst ];
|
||||||
|
tracing = [
|
||||||
|
opentelemetry-api
|
||||||
|
opentelemetry-sdk
|
||||||
|
opentelemetry-semantic-conventions
|
||||||
|
# opentelemetry-resourcedetector-gcp # Not available in nixpkgs
|
||||||
|
google-cloud-monitoring
|
||||||
|
mmh3
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeCheckInputs = [
|
nativeCheckInputs = [
|
||||||
|
@ -70,7 +78,7 @@ buildPythonPackage rec {
|
||||||
opentelemetry-semantic-conventions
|
opentelemetry-semantic-conventions
|
||||||
pytest-asyncio
|
pytest-asyncio
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
];
|
] ++ lib.flatten (lib.attrValues optional-dependencies);
|
||||||
|
|
||||||
preCheck = ''
|
preCheck = ''
|
||||||
# prevent google directory from shadowing google imports
|
# prevent google directory from shadowing google imports
|
||||||
|
@ -84,6 +92,8 @@ buildPythonPackage rec {
|
||||||
"test_list_instance"
|
"test_list_instance"
|
||||||
# can't import mmh3
|
# can't import mmh3
|
||||||
"test_generate_client_hash"
|
"test_generate_client_hash"
|
||||||
|
# Flaky, compares to execution time
|
||||||
|
"test_snapshot_read_concurrent"
|
||||||
];
|
];
|
||||||
|
|
||||||
disabledTestPaths = [
|
disabledTestPaths = [
|
||||||
|
@ -117,7 +127,7 @@ buildPythonPackage rec {
|
||||||
meta = {
|
meta = {
|
||||||
description = "Cloud Spanner API client library";
|
description = "Cloud Spanner API client library";
|
||||||
homepage = "https://github.com/googleapis/python-spanner";
|
homepage = "https://github.com/googleapis/python-spanner";
|
||||||
changelog = "https://github.com/googleapis/python-spanner/blob/v${version}/CHANGELOG.md";
|
changelog = "https://github.com/googleapis/python-spanner/blob/${src.tag}/CHANGELOG.md";
|
||||||
license = lib.licenses.asl20;
|
license = lib.licenses.asl20;
|
||||||
maintainers = [ lib.maintainers.sarahec ];
|
maintainers = [ lib.maintainers.sarahec ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{
|
{
|
||||||
ansicolors,
|
ansicolors,
|
||||||
attrs,
|
attrs,
|
||||||
autobahn,
|
|
||||||
buildPythonPackage,
|
buildPythonPackage,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
|
fetchpatch,
|
||||||
|
grpcio,
|
||||||
|
grpcio-tools,
|
||||||
|
grpcio-reflection,
|
||||||
jinja2,
|
jinja2,
|
||||||
lib,
|
lib,
|
||||||
mock,
|
mock,
|
||||||
|
@ -12,6 +15,7 @@
|
||||||
psutil,
|
psutil,
|
||||||
pyserial,
|
pyserial,
|
||||||
pytestCheckHook,
|
pytestCheckHook,
|
||||||
|
pytest-benchmark,
|
||||||
pytest-dependency,
|
pytest-dependency,
|
||||||
pytest-mock,
|
pytest-mock,
|
||||||
pyudev,
|
pyudev,
|
||||||
|
@ -25,16 +29,32 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "labgrid";
|
pname = "labgrid";
|
||||||
version = "24.0.2";
|
version = "25.0";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "labgrid-project";
|
owner = "labgrid-project";
|
||||||
repo = "labgrid";
|
repo = "labgrid";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-rW9peT4zoPzVR6Kl/E8G4qBig/x/lvxpCtvNtwIIL+U=";
|
hash = "sha256-Czq8Wx8ThKLcR8GjdlRND+Y1nY1PTl6wDkz9ml83DBk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Remove after package bump
|
||||||
|
patches = [
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/Emantor/labgrid/commit/4a66b43882811d50600e37aa39b24ec40398d184.patch";
|
||||||
|
sha256 = "sha256-eJMB1qFWiDzQXEB4dYOHYMQqCPHXEWCwWjNNY0yTC2s=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/Emantor/labgrid/commit/d9933b3ec444c35d98fd41685481ecae8ff28bf4.patch";
|
||||||
|
sha256 = "sha256-Zx5j+CD6Q89dLmTl5QSKI9M1IcZ97OCjEWtEbG+CKWE=";
|
||||||
|
})
|
||||||
|
(fetchpatch {
|
||||||
|
url = "https://github.com/Emantor/labgrid/commit/f0b672afe1e8976c257f0adff9bf6e7ee9760d6f.patch";
|
||||||
|
sha256 = "sha256-M7rg+W9SjWDdViWyWe3ERzbUowxzf09c4w1yG3jQGak=";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
build-system = [
|
build-system = [
|
||||||
setuptools
|
setuptools
|
||||||
setuptools-scm
|
setuptools-scm
|
||||||
|
@ -43,8 +63,10 @@ buildPythonPackage rec {
|
||||||
dependencies = [
|
dependencies = [
|
||||||
ansicolors
|
ansicolors
|
||||||
attrs
|
attrs
|
||||||
autobahn
|
|
||||||
jinja2
|
jinja2
|
||||||
|
grpcio
|
||||||
|
grpcio-tools
|
||||||
|
grpcio-reflection
|
||||||
pexpect
|
pexpect
|
||||||
pyserial
|
pyserial
|
||||||
pyudev
|
pyudev
|
||||||
|
@ -63,6 +85,7 @@ buildPythonPackage rec {
|
||||||
openssh
|
openssh
|
||||||
psutil
|
psutil
|
||||||
pytestCheckHook
|
pytestCheckHook
|
||||||
|
pytest-benchmark
|
||||||
pytest-mock
|
pytest-mock
|
||||||
pytest-dependency
|
pytest-dependency
|
||||||
];
|
];
|
||||||
|
@ -72,6 +95,8 @@ buildPythonPackage rec {
|
||||||
"test_timing"
|
"test_timing"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
pytestFlagsArray = [ "--benchmark-disable" ];
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Embedded control & testing library";
|
description = "Embedded control & testing library";
|
||||||
homepage = "https://github.com/labgrid-project/labgrid";
|
homepage = "https://github.com/labgrid-project/labgrid";
|
||||||
|
|
43
pkgs/development/python-modules/libusb-package/default.nix
Normal file
43
pkgs/development/python-modules/libusb-package/default.nix
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
setuptools,
|
||||||
|
setuptools-scm,
|
||||||
|
tomli,
|
||||||
|
importlib-resources,
|
||||||
|
libusb1,
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "libusb-package";
|
||||||
|
version = "1.0.26.3";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "pyocd";
|
||||||
|
repo = "libusb-package";
|
||||||
|
tag = "v${version}";
|
||||||
|
hash = "sha256-4zTyaidpSlledTcEztWzRgwj43oNV7xWrhMXCE9Qz3k=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
setuptools
|
||||||
|
setuptools-scm
|
||||||
|
tomli
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
importlib-resources
|
||||||
|
libusb1
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Python package for simplified libusb distribution and usage with pyOCD";
|
||||||
|
homepage = "https://github.com/pyocd/libusb-package";
|
||||||
|
changelog = "https://github.com/pyocd/libusb-package/releases/tag/v${version}";
|
||||||
|
license = lib.licenses.asl20;
|
||||||
|
maintainers = [ lib.maintainers.brianmcgillion ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -14,14 +14,14 @@
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
pname = "pysmlight";
|
pname = "pysmlight";
|
||||||
version = "0.2.4";
|
version = "0.2.5";
|
||||||
pyproject = true;
|
pyproject = true;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "smlight-tech";
|
owner = "smlight-tech";
|
||||||
repo = "pysmlight";
|
repo = "pysmlight";
|
||||||
tag = "v${version}";
|
tag = "v${version}";
|
||||||
hash = "sha256-ZNqNRz7d3HZybQG778+ubxuc7Eakf/kWpd3I3cosSIU=";
|
hash = "sha256-ylfOro/GqgXDAPdtwbAWOMBO207zp5T26HRnDYrIw34=";
|
||||||
};
|
};
|
||||||
|
|
||||||
build-system = [ poetry-core ];
|
build-system = [ poetry-core ];
|
||||||
|
|
|
@ -2368,6 +2368,8 @@ self: super: with self; {
|
||||||
|
|
||||||
cfgv = callPackage ../development/python-modules/cfgv { };
|
cfgv = callPackage ../development/python-modules/cfgv { };
|
||||||
|
|
||||||
|
cflib = callPackage ../development/python-modules/cflib { };
|
||||||
|
|
||||||
cfn-flip = callPackage ../development/python-modules/cfn-flip { };
|
cfn-flip = callPackage ../development/python-modules/cfn-flip { };
|
||||||
|
|
||||||
cfn-lint = callPackage ../development/python-modules/cfn-lint { };
|
cfn-lint = callPackage ../development/python-modules/cfn-lint { };
|
||||||
|
@ -8041,6 +8043,10 @@ self: super: with self; {
|
||||||
libtorrent-rasterbar =
|
libtorrent-rasterbar =
|
||||||
(toPythonModule (pkgs.libtorrent-rasterbar.override { python3 = python; })).python;
|
(toPythonModule (pkgs.libtorrent-rasterbar.override { python3 = python; })).python;
|
||||||
|
|
||||||
|
libusb-package = callPackage ../development/python-modules/libusb-package {
|
||||||
|
inherit (pkgs) libusb1;
|
||||||
|
};
|
||||||
|
|
||||||
libusb1 = callPackage ../development/python-modules/libusb1 { inherit (pkgs) libusb1; };
|
libusb1 = callPackage ../development/python-modules/libusb1 { inherit (pkgs) libusb1; };
|
||||||
|
|
||||||
libusbsio = callPackage ../development/python-modules/libusbsio { inherit (pkgs) libusbsio; };
|
libusbsio = callPackage ../development/python-modules/libusbsio { inherit (pkgs) libusbsio; };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue