xpra: 2.3.4 -> 2.5, unbreak
This commit is contained in:
parent
db7be52988
commit
d48e8f67a2
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig
|
{ stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig
|
||||||
, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk
|
, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk
|
||||||
, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
|
, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
|
||||||
, ffmpeg, x264, libvpx, libwebp
|
, ffmpeg_4, x264, libvpx, libwebp, x265
|
||||||
, libfakeXinerama
|
, libfakeXinerama
|
||||||
, gst_all_1, pulseaudio, gobject-introspection
|
, gst_all_1, pulseaudio, gobject-introspection
|
||||||
, pam }:
|
, pam }:
|
||||||
|
@ -14,11 +14,11 @@ let
|
||||||
xf86videodummy = callPackage ./xf86videodummy { };
|
xf86videodummy = callPackage ./xf86videodummy { };
|
||||||
in buildPythonApplication rec {
|
in buildPythonApplication rec {
|
||||||
pname = "xpra";
|
pname = "xpra";
|
||||||
version = "2.3.4";
|
version = "2.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://xpra.org/src/${pname}-${version}.tar.xz";
|
url = "https://xpra.org/src/${pname}-${version}.tar.xz";
|
||||||
sha256 = "0wa3kx54himy3i1b2801hlzfilh3cf4kjk40k1cjl0ds28m5hija";
|
sha256 = "0q6c7ijgpp2wk6jlh0pzqki1w60i36wyl2zfwkg0gpdh40ypab3x";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
|
@ -28,7 +28,11 @@ in buildPythonApplication rec {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig gobject-introspection wrapGAppsHook ];
|
postPatch = ''
|
||||||
|
substituteInPlace setup.py --replace '/usr/include/security' '${pam}/include/security'
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
|
||||||
buildInputs = with xorg; [
|
buildInputs = with xorg; [
|
||||||
libX11 xorgproto libXrender libXi
|
libX11 xorgproto libXrender libXi
|
||||||
libXtst libXfixes libXcomposite libXdamage
|
libXtst libXfixes libXcomposite libXdamage
|
||||||
|
@ -36,9 +40,9 @@ in buildPythonApplication rec {
|
||||||
] ++ [
|
] ++ [
|
||||||
cython
|
cython
|
||||||
|
|
||||||
pango cairo gdk_pixbuf atk gtk3 glib
|
pango cairo gdk_pixbuf atk.out gtk3 glib
|
||||||
|
|
||||||
ffmpeg libvpx x264 libwebp
|
ffmpeg_4 libvpx x264 libwebp x265
|
||||||
|
|
||||||
gst_all_1.gstreamer
|
gst_all_1.gstreamer
|
||||||
gst_all_1.gst-plugins-base
|
gst_all_1.gst-plugins-base
|
||||||
|
@ -47,11 +51,13 @@ in buildPythonApplication rec {
|
||||||
gst_all_1.gst-libav
|
gst_all_1.gst-libav
|
||||||
|
|
||||||
pam
|
pam
|
||||||
|
gobject-introspection
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = with python3.pkgs; [
|
propagatedBuildInputs = with python3.pkgs; [
|
||||||
pillow rencode pycrypto cryptography pycups lz4 dbus-python
|
pillow rencode pycrypto cryptography pycups lz4 dbus-python
|
||||||
netifaces numpy websockify pygobject3 pycairo gst-python pam
|
netifaces numpy pygobject3 pycairo gst-python pam
|
||||||
|
pyopengl paramiko opencv python-uinput pyxdg
|
||||||
|
ipaddress idna
|
||||||
];
|
];
|
||||||
|
|
||||||
NIX_CFLAGS_COMPILE = [
|
NIX_CFLAGS_COMPILE = [
|
||||||
|
@ -64,6 +70,9 @@ in buildPythonApplication rec {
|
||||||
"--without-strict"
|
"--without-strict"
|
||||||
"--with-gtk3"
|
"--with-gtk3"
|
||||||
"--without-gtk2"
|
"--without-gtk2"
|
||||||
|
# Override these, setup.py checks for headers in /usr/* paths
|
||||||
|
"--with-pam"
|
||||||
|
"--with-vsock"
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
@ -76,6 +85,8 @@ in buildPythonApplication rec {
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
passthru = { inherit xf86videodummy; };
|
passthru = { inherit xf86videodummy; };
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -85,8 +96,6 @@ in buildPythonApplication rec {
|
||||||
description = "Persistent remote applications for X";
|
description = "Persistent remote applications for X";
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
# https://github.com/NixOS/nixpkgs/pull/48872#issuecomment-433559636
|
|
||||||
broken = true;
|
|
||||||
maintainers = with maintainers; [ tstrobel offline numinit ];
|
maintainers = with maintainers; [ tstrobel offline numinit ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,25 +9,26 @@
|
||||||
cython_add(Extension("xpra.client.gtk3.cairo_workaround",
|
cython_add(Extension("xpra.client.gtk3.cairo_workaround",
|
||||||
["xpra/client/gtk3/cairo_workaround.pyx"],
|
["xpra/client/gtk3/cairo_workaround.pyx"],
|
||||||
**pkgconfig(pycairo)
|
**pkgconfig(pycairo)
|
||||||
--- a/xpra/client/gtk3/cairo_workaround.pyx
|
@@ -2363,10 +2363,7 @@
|
||||||
+++ b/xpra/client/gtk3/cairo_workaround.pyx
|
v4l2_pkgconfig = pkgconfig()
|
||||||
@@ -65,7 +65,7 @@
|
#fuly warning: cython makes this difficult,
|
||||||
void cairo_surface_flush (cairo_surface_t *surface)
|
#we have to figure out if "device_caps" exists in the headers:
|
||||||
void cairo_surface_mark_dirty (cairo_surface_t *surface)
|
- ENABLE_DEVICE_CAPS = False
|
||||||
|
- if os.path.exists("/usr/include/linux/videodev2.h"):
|
||||||
-cdef extern from "pycairo/pycairo.h":
|
- hdata = open("/usr/include/linux/videodev2.h").read()
|
||||||
+cdef extern from "py3cairo.h":
|
- ENABLE_DEVICE_CAPS = hdata.find("device_caps")>=0
|
||||||
ctypedef struct Pycairo_CAPI_t:
|
+ ENABLE_DEVICE_CAPS = True
|
||||||
pass
|
kwargs = {"ENABLE_DEVICE_CAPS" : ENABLE_DEVICE_CAPS}
|
||||||
ctypedef struct PycairoSurface:
|
make_constants("xpra", "codecs", "v4l2", "constants", **kwargs)
|
||||||
|
cython_add(Extension("xpra.codecs.v4l2.pusher",
|
||||||
--- a/xpra/x11/bindings/keyboard_bindings.pyx
|
--- a/xpra/x11/bindings/keyboard_bindings.pyx
|
||||||
+++ b/xpra/x11/bindings/keyboard_bindings.pyx
|
+++ b/xpra/x11/bindings/keyboard_bindings.pyx
|
||||||
@@ -19,7 +19,7 @@
|
@@ -19,7 +19,7 @@
|
||||||
|
|
||||||
DEF PATH_MAX = 1024
|
DEF PATH_MAX = 1024
|
||||||
DEF DFLT_XKB_RULES_FILE = "base"
|
DEF DFLT_XKB_RULES_FILE = b"base"
|
||||||
-DEF DFLT_XKB_CONFIG_ROOT = "/usr/share/X11/xkb"
|
-DEF DFLT_XKB_CONFIG_ROOT = b"/usr/share/X11/xkb"
|
||||||
+DEF DFLT_XKB_CONFIG_ROOT = "@xkeyboardconfig@/share/X11/xkb"
|
+DEF DFLT_XKB_CONFIG_ROOT = b"@xkeyboardconfig@/share/X11/xkb"
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
# Headers, python magic
|
# Headers, python magic
|
||||||
|
|
Loading…
Reference in New Issue