Merge pull request #22432 from peterhoeg/d/freerdp

freerdp: 20160909 -> 20170201 and rename freerdpStable to freerdp_legacy
This commit is contained in:
Joachim F 2017-02-05 17:08:19 +01:00 committed by GitHub
commit 09b6d2eaed
6 changed files with 159 additions and 137 deletions

View file

@ -1,67 +1,76 @@
{ stdenv
, fetchurl
, cmake
, openssl
, printerSupport ? true, cups
, pkgconfig
, zlib
, libX11
, libXcursor
, libXdamage
, libXext
, alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXinerama
, libXv
, pulseaudioSupport ? true, libpulseaudio
{ stdenv, lib, fetchFromGitHub, substituteAll, cmake, pkgconfig
, alsaLib, ffmpeg_2, glib, openssl, pcre, zlib
, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
, libxkbcommon, libxkbfile
, wayland
, gstreamer, gst-plugins-base, gst-plugins-good
, libpulseaudio ? null
, cups ? null
, pcsclite ? null
, systemd ? null
, buildServer ? true
, optimize ? true
}:
assert printerSupport -> cups != null;
stdenv.mkDerivation rec {
name = "freerdp-${version}";
version = "1.0.2";
name = "freerdp-git-${version}";
version = "20170201";
src = fetchurl {
url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
sha256 = "1w9dk7dsbppspnnms2xwwmbg7jm61i7aw5nkwzbpdyxngbgkgwf0";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "6001cb710dc67eb8811362b7bf383754257a902b";
sha256 = "0l2lwqk2r8rq8a0f91wbb30kqg21fv0k0508djpwj0pa9n73fgmg";
};
buildInputs = [
cmake
openssl
pkgconfig
zlib
libX11
libXcursor
libXdamage
libXext
alsaLib
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups;
# outputs = [ "bin" "out" "dev" ];
configureFlags = [
"--with-x" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
prePatch = ''
export HOME=$TMP
substituteInPlace "libfreerdp/freerdp.pc.in" \
--replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'';
meta = {
patches = with lib; [
] ++ optional (pcsclite != null)
(substituteAll {
src = ./dlopen-absolute-paths.diff;
inherit pcsclite;
});
buildInputs = with lib; [
alsaLib cups ffmpeg_2 glib openssl pcre pcsclite libpulseaudio zlib
gstreamer gst-plugins-base gst-plugins-good
libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
libxkbcommon libxkbfile
wayland
] ++ optional stdenv.isLinux systemd;
nativeBuildInputs = [
cmake pkgconfig
];
doCheck = false;
cmakeFlags = with lib; [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
"-DWITH_OSS=OFF"
] ++ optional (libpulseaudio != null) "-DWITH_PULSE=ON"
++ optional (cups != null) "-DWITH_CUPS=ON"
++ optional (pcsclite != null) "-DWITH_PCSC=ON"
++ optional buildServer "-DWITH_SERVER=ON"
++ optional optimize "-DWITH_SSE2=ON";
meta = with lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = stdenv.lib.licenses.free;
platforms = stdenv.lib.platforms.linux;
broken = true;
license = licenses.asl20;
maintainers = with maintainers; [ wkennington peterhoeg ];
platforms = platforms.unix;
};
}

View file

@ -0,0 +1,73 @@
{ stdenv
, fetchurl
, cmake
, openssl
, glib, pcre
, printerSupport ? true, cups
, pkgconfig
, zlib
, libX11
, libXcursor
, libXdamage
, libXext
, alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXfixes
, libXinerama
, libXv
, pulseaudioSupport ? true, libpulseaudio
}:
assert printerSupport -> cups != null;
stdenv.mkDerivation rec {
name = "freerdp-${version}";
version = "1.2.0-beta1+android9";
src = fetchurl {
url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
sha256 = "181w4lkrk5h5kh2zjlx6h2cl1mfw2aaami3laq3q32pfj06q3rxl";
};
buildInputs = [
cmake
openssl
glib pcre
pkgconfig
zlib
libX11
libXcursor
libXdamage
libXext
alsaLib
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups;
preConfigure = ''
export HOME=$TMP
'';
configureFlags = [
"--with-x" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
meta = with stdenv.lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = licenses.free;
platforms = platforms.linux;
};
}

View file

@ -1,56 +0,0 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor
, libXdamage, libXext, libXrender, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv
, substituteAll
, libpulseaudio ? null, cups ? null, pcsclite ? null
, buildServer ? true, optimize ? true
}:
stdenv.mkDerivation rec {
name = "freerdp-2.0-dev";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "1855e36179fb197e713d41c4ef93e19cf1f0be2f";
sha256 = "1lydkh6by0sjy6dl57bzg7c11ccyp24s80pwxw9h5kmxkbw6mx5q";
};
prePatch = ''
substituteInPlace "libfreerdp/freerdp.pc.in" --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
'';
patches = [
] ++ stdenv.lib.optional (pcsclite != null)
(substituteAll {
src = ./dlopen-absolute-paths.diff;
inherit pcsclite;
});
buildInputs = [
cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext libXrender glib
alsaLib ffmpeg libxkbfile libXinerama libXv cups libpulseaudio pcsclite
];
doCheck = false;
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DWITH_CUNIT=OFF"
] ++ stdenv.lib.optional (libpulseaudio != null) "-DWITH_PULSE=ON"
++ stdenv.lib.optional (cups != null) "-DWITH_CUPS=ON"
++ stdenv.lib.optional (pcsclite != null) "-DWITH_PCSC=ON"
++ stdenv.lib.optional buildServer "-DWITH_SERVER=ON"
++ stdenv.lib.optional optimize "-DWITH_SSE2=ON";
meta = with stdenv.lib; {
description = "A Remote Desktop Protocol Client";
longDescription = ''
FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
following the Microsoft Open Specifications.
'';
homepage = http://www.freerdp.com/;
license = licenses.asl20;
maintainers = with maintainers; [ wkennington ];
platforms = platforms.unix;
};
}

View file

@ -10,7 +10,7 @@
}:
let
version = "1.2.0-rcgit.15";
version = "1.2.0-rcgit.17";
desktopItem = makeDesktopItem {
name = "remmina";
@ -22,41 +22,33 @@ let
categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
};
# Latest release of remmina refers to thing that aren't yet in
# a FreeRDP release so we need to build one from git source
# See also https://github.com/FreeRDP/Remmina/pull/731
# Remove when FreeRDP release catches up with this commit
freerdp_git = stdenv.lib.overrideDerivation freerdp (args: {
name = "freerdp-git-2016-09-30";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = "dbb353db92e7a5cb0be3c73aa950fb1113e627ec";
sha256 = "1nhm4v6z9var9hasp4bkmhvlrksbdizx95swx19shizfc82s9g4y";
};
});
in
stdenv.mkDerivation {
in stdenv.mkDerivation {
name = "remmina-${version}";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "Remmina";
rev = "v${version}";
sha256 = "07lj6a7x9cqcff18pwfkx8c8iml015zp6sq29dfcxpfg4ai578h0";
sha256 = "1vfg8sfpj83ircp7ny6xsbn2ba5xbp3xrdl5wwyfcg1zrpdmi7f1";
};
buildInputs = [ cmake pkgconfig wrapGAppsHook gsettings_desktop_schemas
glib gtk3 gettext libxkbfile libgnome_keyring libX11
freerdp_git libssh libgcrypt gnutls
freerdp libssh libgcrypt gnutls
pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
libvncserver libpthreadstubs libXdmcp libxkbcommon
libsecret spice_protocol spice_gtk epoxy at_spi2_core
openssl hicolor_icon_theme adwaita-icon-theme ];
cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF -DWINPR_INCLUDE_DIR=${freerdp_git}/include/winpr2";
cmakeFlags = [
"-DWITH_VTE=OFF"
"-DWITH_TELEPATHY=OFF"
"-DWITH_AVAHI=OFF"
"-DFREERDP_LIBRARY=${freerdp}/lib/libfreerdp2.so"
"-DFREERDP_CLIENT_LIBRARY=${freerdp}/lib/libfreerdp-client2.so"
"-DFREERDP_WINPR_LIBRARY=${freerdp}/lib/libwinpr2.so"
"-DWINPR_INCLUDE_DIR=${freerdp}/include/winpr2"
];
preFixup = ''
gappsWrapperArgs+=(

View file

@ -1,7 +1,7 @@
{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }:
{ kde, kdelibs, libvncserver, freerdp_legacy, telepathy_qt }:
kde {
buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ];
buildInputs = [ kdelibs libvncserver freerdp_legacy telepathy_qt ];
meta = {
description = "KDE remote desktop client";

View file

@ -13380,14 +13380,18 @@ with pkgs;
xfontsel = callPackage ../applications/misc/xfontsel { };
inherit (xorg) xlsfonts;
freerdpStable = callPackage ../applications/networking/remote/freerdp {
freerdp = callPackage ../applications/networking/remote/freerdp {
inherit libpulseaudio;
inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good;
};
freerdpUnstable = freerdp;
# This must go when weston v2 is released
freerdp_legacy = callPackage ../applications/networking/remote/freerdp/legacy.nix {
cmake = cmake_2_8;
ffmpeg = ffmpeg_1;
};
freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix {
ffmpeg = ffmpeg_2;
cmake = cmake_2_8;
};
freerdp = freerdpUnstable; # freerdpStable is marked broken, please switch back to it once fixed
freicoin = callPackage ../applications/misc/freicoin {
boost = boost155;
@ -15520,7 +15524,7 @@ with pkgs;
};
weston = callPackage ../applications/window-managers/weston {
freerdp = freerdpUnstable;
freerdp = freerdp_legacy;
};
windowlab = callPackage ../applications/window-managers/windowlab { };