Update x11/x2go-client to v4.1.2.3

While here, make the package buildable against qt4 and qt5, defaulting
to the latter.

From upstream's changelog:

x2goclient (4.1.2.3-0x2go1) unstable; urgency=medium

  [ Oleksandr Shneyder ]
  * New upstream version (4.1.2.3):
    - Load alternative image resources from specified folder.
    - Set correct aspect ratio for x2go and ON logos.
    - Download alternative resource files from http server.
    - Support for PNG background images.
    - Display state of broker connection in status bar.
    - Client can synchronize sessions with broker. Broker need to send
      syncinterval value in the client config section.
    - Set min width of session status label.
    - set clipboard mode of x2gokdriveclient in cmd line option.
    - Fix maximizing client window in thinclient mode with Qt5 (bullseye).
    - Add mime type application/x-x2go. X2Go Client can now automatically open
      session files with .x2go extension.
    - X2Go Client will send it's version to the broker when sending client
      event.
    - Don't close X2Go Client if settings dialog is called before broker auth.
    - X2Go Client will send it's OS name to the broker when sending client
      event.
    - Don't exit if connection to HTTP broker is failed when sync sessions.
    - Support for HTTP(S) urls in the session icons when using http broker.
    - Fix loading session icon to system tray when using broker.
    - Add --debug argument to x2gokdriveclient in debug mode.
    - Setting debug filter rules for QT>=5.2
    - Implement different view modes for sessions explorer:
      Favorite sessions, running sessions, all sessions.
    - Improve view modes in broker mode.
    - Set toolTip with detailed information for session button.
    - Show session path in session button in Favorite and Running views.
    - Improve synchronisation in broker mode.
    - Fix loading HTTP icon in pass dialog in broker mode.
    - Replace QFont::Thin with 0 to keep compatibility with Qt4.
    - Add special ACL for exported directories in Windows client.
    - Support for rootless X2GoKdrive sessions.
    - Fixed build with Qt5 on Windows.
    - Do not show empty folders in session explorer.
    - Support for OPENSSH PRIVATE KEY format sent from broker.
    - Do not show client in broker mode if startet in "hidden" mode.
    - Enable/Disable session view buttons inside of sessions explorer.
    - Add splash screen option when starting in hidden mode.
    - replace <HOME> with user's home dir in exports directories,
      when exporting session default directories.
    - create default export directory if not exists.
    - send to broker xdmcpserver in command option when starting xdmcp session.
    - improve processing stderr from nxproxy.
    - support for recent cygwin binaries and nxproxy 3.5.99.x
      all cygwin binaries and DLLs should be moved into the
      INSTDIR/bin directory by Windows installer.
    - for x2gokdrive sessions, when auto kbd layout is chosen,
      x2goclient will try to set the same kbd layout on server as on the
      client.
    - add "noresize" setting, which makes the proxy window not resizable
      for user.
    - on Windows SSHD will only listen 127.0.0.1 to avoid FW warnings.
    - on Windows check the location of cgwin binaries in <APPDIR> and
      in <APPDIR>/bin.

  [ Ryan Schmidt ]
  * New upstream version (4.1.2.3):
    - x2goclient.pro: use the right C++ standard library on OS X/macOS.

  [ Melroy van den Berg ]
  * New upstream version (4.1.2.3):
    - src/sshmasterconnection.c: send EOF before closing channel.
    - src/sshmasterconnection.c: return false if login check remote command
      execution failed.
    - src/sshmasterconnection.c: refactor some of the channel loop and fix
      channel/session closes.
    - src/sshmasterconnection.c: fix 'when not' password auth. Avoids double
      error messages.
    - src/sshmasterconnection.c: correct retval check.
    - src/sshmasterconnection.c: explicitly mark function parameters as unused.
    - .gitignore: ignore Visual Studio temporary files. Fixes: #1469.

  [ Mihai Moldovan ]
  * New upstream version (4.1.2.3):
    - src/sshmasterconnection.{c,h}: fix builds, new function should have been
      registered and not static, but private.
    - .gitignore: add debian/control, since it's now auto-generated.
    - Makefile: support version switching through a QT_VERSION variable -
      might be overridden via environment variables or the make call.
    - x2goclient.spec: add version switching support. Use Qt 5 for FC31+, RHEL
      8 and *SuSE 15.3+.
    - x2goclient.spec: don't try to prepend %{_qt4_bindir} if the macro is not
      defined.
    - Makefile: allow passing down variables that are safe to pass via the
      environment.
    - x2goclient.spec: fix condition with maybe-undefined macro.
    - x2goclient.spec: typo fix in vendor macro.
    - x2goclient.spec: expand %{_qt4_bindir} to integer if it's set, instead
      of using it as a string in the condition (which then leads to parsing
      error).
    - x2goclient.spec: rework Qt5 dependencies. Use a common set of
      PkgConfig()-based dependencies for the Qt 5 libraries themselves and
      only make the linguist tools (lrelease) conditional.
    - Makefile: make controllable variables default-if-not-set to allow
      overriding via the environment.
    - Makefile: invoke make as $(MAKE) to keep original invocation.
    - x2goclient.spec: fix missing %endif in Qt-4-BuildRequires section.
    - x2goclient.spec: use %{_qt5_bindir} macro analogous to the Qt 4 variant.
    - x2goclient.spec: correctly quote PATH overrides.
    - x2goclient.spec: fix syntax error in Qt 5 PATH override.
    - x2goclient.spec: add BuildRequires on Qt5X11Extras.
    - x2goclient.spec: also use/handle %{_libqt5_bindir}, as used by *SuSE.
    - x2goclient.spec: add BuildRequires on Qt5Network. OpenSuSE Tumbleweed
      split the pkgconfig files up into individual packages, while older
      versions ship all of them in libqt5-qtbase-devel. The former does not
      automatically use that package any longer and hence will not pull in all
      library packages automatically. That's not a bad change, since it forces
      us to spell out the dependencies correctly.
    - src/onmainwindow.cpp: add Cancel standard shortcut to cancel button in
      login window. Change requested by Max-Planck-Institut für Kolloid- und
      Grenzflächenforschung Potsdam.
    - src/onmainwindow.cpp: consolidate Resume button enabling state in
      ONMainWindow::initSelectSessDlg ().
    - src/onmainwindow.{cpp,h}: add notice explaining how to resume running
      sessions. Change requested by Max-Planck-Institut für Kolloid- und
      Grenzflächenforschung Potsdam.
    - src/onmainwindow.cpp: add Cancel standard shortcut to cancel button in
      session selection view.
    - src/onmainwindow.cpp: set word wrapping on running label.
    - src/onmainwindow.cpp: increase height of session selection dialog in
      mini mode.
    - src/onmainwindow.cpp: increase fixed height of session selection dialog
      in normal mode and also set as minimum height.
    - src/onmainwindow.cpp: unbreak on Qt 4 by emulating QKeySequence::Cancel.
    - src/onmainwindow.cpp: unbreak more and make sure that the code actually
      works on older systems. A very important part of the magic is using the
      old Qt4 SIGNAL/SLOT syntax and making sure to drop parameters on both
      sides, so that the default slot parameter is used, which animates the
      button for 150 ms.
    - src/onmainwindow.cpp: fix session creation date/time display. The data
      returned by the server was changed to an ISO-date-formatted one in 2011,
      but that change was not carried over to the client. We've had silly
      dates for more than 10 years and nobody noticed. Go figure.
    - src/onmainwindow.cpp: convert server-reported time to human readable
      time in Qt's standard format in session list view.
    - handle_mxe.sh: rework, make most variables lowercase, change spacing,
      use proper if-else blocks, do not use special bash features for string
      comparison etc.
    - macbuild.sh: qmake never supported -config, it was always
      CONFIG(+)='something'.
    - config_linux_static.sh: also switch from -config to CONFIG+='...'.
    - {handle_mxe.sh,x2goclient.pro}: make mxe selectable via CONFIG option
      and prepare selector in x2goclient.pro.
    - x2goclient.pro: also select on win32 and not just win32-*, fix
      whitespace.
    - x2gohelper/Makefile.mxe: more quoting.
    - Windows: Update PuTTY from 0.73 to 0.78.
    - debian/preprocessor.pl: typo fixes only.
    - misc: pre-release copyright update.
    - man/man1/x2goclient.1: pre-release date update.
  * debian/control:
    + Move to debian/control.in.
  * debian/control.in:
    + Switch to priority: optional. "extra" has been deprecated long ago.
      Pulled from Mike's changes.
    + Drop x2goplugin{,-{provider,dbg}}. It's been dead long enough.
    + Add Qt version switching support.
    + Add build-dependency upon lsb-release. Should be always part of a
      dependency of essential or base packages, but make sure we have it.
    + Add build-dependency upon libencode-locale-perl, needed for our
      preprocessor Perl script.
    + Add build-dependency upon m4, needed by our preprocessing shell script.
  * debian/copyright:
    + Switch Upstream-Contact to myself. Pulled from Mike's changes.
    + Add new license "GPL-2+~OpenSSL" for the modified GPL 2+ license
      including the OpenSSL exception and use that where appropriate. Pulled
      from Mike's changes.
    + Move GPL-3 definition out-of-line. Pulled from Mike's changes.
    + Update notices.
  * debian/rules:
    + Preprocess files with an ".in" suffix in the "debian" directory. Mostly
      adapted from the firefox package.
    + Add Qt 4/5 switching, based upon the base system definition. Mostly
      adapted from x2gomatebindings.
    + Force re-generation of debian/control in clean rule.
    + Add force variables to bypass autodetection via lsb-release. This will
      be used by our buildscripts.
    + Do not force re-generation of debian/control in clean rule. Its executed
      non-chrooted by sbuild before building the source package, so forcing
      will overwrite the file our buildscripts generated with something not
      matching the target system.
    + Assign default values to the FORCE_{VENDOR,RELEASE_VER} variables - thus
      allowing passed-in values through the environment.
    + Utilize new version switching in main Makefile by overriding the
      QT_VERSION make variable.
    + Fix version detection on testing and unstable. lsb_release -r currently
      only outputs n/a on these suites, so fall back to a rather fragile
      detection via apt-cache policy instead.
    + Fix version detection on testing and unstable V2. Remove a= tag.
  * debian/:
    + New file "watch". We won't need this per se (since we're upstream and
      there cannot be a newer version of the Debian package without releasing
      it first), but it might make downstream's life easier. Or not, depending
      on whether it's kept up-to-date correctly or not. Pulled from Mike's
      changes.
    + New file "upstream/metadata". Same reasoning as for "watch". Pulled from
      Mike's changes.
    + New file "preprocessor.pl". Simple text file preprocessor supporting
      basic condition logic.
    + New file "proprocess.sh". Used to apply replacement tokens and run our
      new preprocessor.

  [ Mike Gabriel ]
  * New upstream version (4.1.2.3):
    - Makefile: Install x-x2go.xml MIME database source file for .x2go file
      extension.
  * debian/x2gocient.install:
    + Install x-x2go.xml into bin:pkg x2goclient.
  * x2goclient.spec:
    + Install x-x2go.xml into bin:pkg and run update-mime-database during
      postinst.

  [ Ulrich Sibiller ]
  * New upstream version (4.1.2.3):
    - desktop/x2goclient.desktop: drop Maemo support.
    - res/img/icons: drop Maemo support, remove hildon subdirectory.
    - res/img/svg: drop Maemo support, remove bg_hildon.svg.
    - res/resources.qrc: drop Maemo support, remove bg_hildon.svg entry.
    - src/{{InteractionDialog,configdialog,connectionwidget,
            editconnectiondialog,folderbutton,mediawidget,ongetpass,
            onmainwindow,printprocess,printwidget,sessionbutton,
            sessionmanagedialog,sessionwidget,settingswidget,
            sharewidget}.cpp,x2goclientconfig.h}: drop Maemo support.
    - /: drop Maemo support, remove x2goclient.pro.maemo.
    - /: add README.mxe, describing MXE builds.
    - /: add handle_mxe.sh, MXE control script.
    - x2goclient.pro: use different parameters for MXE builds.
    - x2gohelper/x2gohelper.cpp: use lower-case header files.
    - x2gohelper/: add Makefile.mxe.

 -- X2Go Release Manager <git-admin@x2go.org>  Wed, 28 Jun 2023 22:00:51 +0200
This commit is contained in:
hauke 2024-02-23 16:06:51 +00:00
parent bde3879896
commit 36e395e159
4 changed files with 107 additions and 43 deletions

View File

@ -1,8 +1,7 @@
# $NetBSD: Makefile,v 1.20 2024/01/30 14:22:43 ryoon Exp $
# $NetBSD: Makefile,v 1.21 2024/02/23 16:06:51 hauke Exp $
DISTNAME= x2goclient-${PKGVER}
PKGVER= 4.1.2.2
PKGREVISION= 18
PKGVER= 4.1.2.3
CATEGORIES= x11 net
MASTER_SITES= http://code.x2go.org/releases/source/x2goclient/
@ -19,10 +18,19 @@ USE_LIBTOOL= yes
USE_LANGUAGES= c c++
# Supported are qt4, qt5
QT_VERSION= 5
BUILD_TARGET= build_client
ICON_THEMES= yes
LIBS+= -lXpm -lcups
.if ${QT_VERSION} == "5"
LIBS+= -lQt5X11Extras
.endif
DOCDIR= share/doc/x2go
.include "../../mk/bsd.prefs.mk"
@ -33,7 +41,7 @@ SUBST_MESSAGE.paths= Fixing absolute paths
SUBST_FILES.paths= Makefile
SUBST_VARS.paths+= PREFIX DESTDIR PKG_SYSCONFDIR SH
SUBST_VARS.paths+= INSTALL_DATA INSTALL_DATA_DIR INSTALL_PROGRAM
SUBST_VARS.paths+= QMAKE_OPTS LDFLAGS LIBS
SUBST_VARS.paths+= QT_VERSION QMAKE_OPTS LDFLAGS LIBS
SUBST_CLASSES+= os-def
SUBST_STAGE.os-def= pre-configure
@ -60,14 +68,21 @@ INSTALLATION_DIRS+= share/icons/hicolor/16x16/apps
INSTALLATION_DIRS+= share/x2goclient/icons
pre-configure:
${LN} -sf ${QTDIR}/bin/qmake ${BUILDLINK_DIR}/bin/qmake-qt4
${LN} -sf ${QTDIR}/bin/lrelease ${BUILDLINK_DIR}/bin/lrelease-qt4
${LN} -sf ${QTDIR}/bin/qmake ${BUILDLINK_DIR}/bin/qmake-qt${QT_VERSION}
${LN} -sf ${QTDIR}/bin/lrelease ${BUILDLINK_DIR}/bin/lrelease-qt${QT_VERSION}
post-install:
${INSTALL_DATA} ${WRKSRC}/HOWTO.GPGCARD ${DESTDIR}${PREFIX}/${DOCDIR}
.if ${QT_VERSION} == "4"
.include "../../x11/qt4-tools/buildlink3.mk"
.include "../../x11/qt4-libs/buildlink3.mk"
.elif ${QT_VERSION} == "5"
.include "../../x11/qt5-qtsvg/buildlink3.mk"
.include "../../x11/qt5-qtx11extras/buildlink3.mk"
.include "../../x11/qt5-qttools/buildlink3.mk"
.include "../../x11/qt5-qtbase/buildlink3.mk"
.endif
.include "../../graphics/hicolor-icon-theme/buildlink3.mk"
.include "../../x11/libXpm/buildlink3.mk"

View File

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.1 2021/02/24 18:39:30 hauke Exp $
@comment $NetBSD: PLIST,v 1.2 2024/02/23 16:06:51 hauke Exp $
bin/x2goclient
man/man1/x2goclient.1
share/applications/x2goclient.desktop
@ -7,6 +7,7 @@ share/icons/hicolor/128x128/apps/x2goclient.png
share/icons/hicolor/16x16/apps/x2goclient.png
share/icons/hicolor/32x32/apps/x2goclient.png
share/icons/hicolor/64x64/apps/x2goclient.png
share/mime/packages/x-x2go.xml
share/x2goclient/icons/x2goclient.png
share/x2goclient/icons/x2goclient.xpm
share/x2goclient/icons/x2gosession.png

View File

@ -1,9 +1,9 @@
$NetBSD: distinfo,v 1.3 2021/10/26 11:34:32 nia Exp $
$NetBSD: distinfo,v 1.4 2024/02/23 16:06:51 hauke Exp $
BLAKE2s (x2goclient-4.1.2.2.tar.gz) = 30f87b2c052c928dfa900d0ee94f7cb0fc1f06e9e288014615503e7aaf2ff591
SHA512 (x2goclient-4.1.2.2.tar.gz) = 85e6db6a34629512be64376883c205d8bf0696c4697cf216970b57a91ffe68dcf7f38bfda0d396c104602f6991b596c5fb0934e75fa4a93f7d0e41c2b3f5ac4d
Size (x2goclient-4.1.2.2.tar.gz) = 2576404 bytes
SHA1 (patch-Makefile) = 6c431a2a9aac9f1b35061a89221553449d5968e4
BLAKE2s (x2goclient-4.1.2.3.tar.gz) = 9987c4e18e224a5c7161054f7dd0d9af4b00bc553436c8ff009162d89c3a5040
SHA512 (x2goclient-4.1.2.3.tar.gz) = 1bd59efaaf560bf36dad979cbb67cf90df13943688e1259e86d441ba17677d523ad1f69061d2f65b0ca8eee9e7d00ee242e95c555b4446d72f37acef70a9b435
Size (x2goclient-4.1.2.3.tar.gz) = 2582072 bytes
SHA1 (patch-Makefile) = fa29ee6635bdf213198208ef606e749fd91d5ab4
SHA1 (patch-src_printwidget.cpp) = b3b8a9efa43fd6f53ea91c11911a531d3e1d950c
SHA1 (patch-src_sshmasterconnection.cpp) = 5758273e6a7fd6aeb95f3bd02a08c3fc9b8fcd52
SHA1 (patch-src_sshprocess.cpp) = ff1da65d92068f7f5e2a958019d3dbd74bff9642

View File

@ -1,50 +1,98 @@
$NetBSD: patch-Makefile,v 1.1 2021/02/24 18:39:30 hauke Exp $
$NetBSD: patch-Makefile,v 1.2 2024/02/23 16:06:51 hauke Exp $
Let pkgsrc framework set build variables
Do not bother with html man pages
--- Makefile.orig 2020-02-13 10:36:07.000000000 +0000
Following the lead of Arch Linux x2goclient package:
Allow for building with qt4 and qt5
Clear the misguided MAKEOVERRIDES= setting
--- Makefile.orig 2023-06-28 20:09:47.000000000 +0000
+++ Makefile
@@ -4,28 +4,28 @@ TOP_DIR=$(CURDIR)
@@ -4,41 +4,41 @@ TOP_DIR=$(CURDIR)
CLIENT_DIR=$(TOP_DIR)/client_build
CLIENT_BINARY=$(CLIENT_DIR)/x2goclient
-SHELL=/bin/bash
+SHELL=@SH@
-INSTALL_DIR=install -d -o root -g root -m 755
-INSTALL_FILE=install -o root -g root -m 644
+INSTALL_DIR=@INSTALL_DATA_DIR@
+INSTALL_FILE=@INSTALL_DATA@
INSTALL_SYMLINK=ln -s -f
-INSTALL_PROGRAM=install -o root -g root -m 755
+INSTALL_PROGRAM=@INSTALL_PROGRAM@
# Default to Qt 4.
# We'll change this to Qt 5 as soon as Qt-4-based platforms go EOL.
-QT_VERSION ?= 4
+QT_VERSION ?= @QT_VERSION@
RM_FILE=rm -f
RM_DIR=rmdir -p --ignore-fail-on-non-empty
-INSTALL_DIR ?= install -d -o root -g root -m 755
-INSTALL_FILE ?= install -o root -g root -m 644
+INSTALL_DIR ?= @INSTALL_DATA_DIR@
+INSTALL_FILE ?= @INSTALL_DATA@
INSTALL_SYMLINK ?= ln -s -f
-INSTALL_PROGRAM ?= install -o root -g root -m 755
+INSTALL_PROGRAM ?= @INSTALL_PROGRAM@
-DESTDIR=
-PREFIX=/usr/local
-ETCDIR=/etc/x2go
+DESTDIR=@DESTDIR@
+PREFIX=@PREFIX@
+ETCDIR=@PKG_SYSCONFDIR@
BINDIR=$(PREFIX)/bin
SHAREDIR=$(PREFIX)/share
-MANDIR=$(SHAREDIR)/man
+MANDIR=$(PREFIX)/man
QMAKE_BINARY=qmake-qt4
LRELEASE_BINARY=lrelease-qt4
-QMAKE_OPTS=
+QMAKE_OPTS=@QMAKE_OPTS@
RM_FILE ?= rm -f
RM_DIR ?= rmdir -p --ignore-fail-on-non-empty
-LDFLAGS=
-LIBS=
+LDFLAGS=@LDFLAGS@
+LIBS=@LIBS@
-DESTDIR ?=
-PREFIX ?= /usr/local
-ETCDIR ?= /etc/x2go
+DESTDIR ?= @DESTDIR@
+PREFIX ?= @PREFIX@
+ETCDIR ?= @PKG_SYSCONFDIR@
BINDIR ?= $(PREFIX)/bin
SHAREDIR ?= $(PREFIX)/share
-MANDIR ?= $(SHAREDIR)/man
+MANDIR ?= $(PREFIX)/man
ifeq ($(QT_VERSION),4)
QMAKE_BINARY ?= qmake-qt4
LRELEASE_BINARY ?= lrelease-qt4
else
ifeq ($(QT_VERSION),5)
- QMAKE_BINARY ?= qmake
- LRELEASE_BINARY ?= lrelease
+ QMAKE_BINARY ?= qmake-qt5
+ LRELEASE_BINARY ?= lrelease-qt5
else
$(error Unsupported Qt version "$(QT_VERSION)" passed.)
endif
endif
-QMAKE_OPTS ?=
+QMAKE_OPTS ?= @QMAKE_OPTS@
-LDFLAGS ?=
-LIBS ?=
+LDFLAGS ?= @LDFLAGS@
+LIBS ?= @LIBS@
#####################################################################
@@ -115,7 +115,6 @@ install_man:
@@ -65,13 +65,13 @@ LIBS ?=
# implementation to make implementation.
# GNU make way.
-MAKEOVERRIDES = SHELL QT_VERSION INSTALL_DIR INSTALL_FILE INSTALL_SYMLINK INSTALL_PROGRAM RM_FILE RM_DIR DESTDIR PREFIX ETCDIR BINDIR SHAREDIR MANDIR QMAKE_BINARY LRELEASE_BINARY QMAKE_OPTS LDFLAGS LIBS
+MAKEOVERRIDES =
# FreeBSD and NetBSD way.
-.MAKEOVERRIDES = SHELL QT_VERSION INSTALL_DIR INSTALL_FILE INSTALL_SYMLINK INSTALL_PROGRAM RM_FILE RM_DIR DESTDIR PREFIX ETCDIR BINDIR SHAREDIR MANDIR QMAKE_BINARY LRELEASE_BINARY QMAKE_OPTS LDFLAGS LIBS
+.MAKEOVERRIDES =
# OpenBSD way.
-.MAKEFLAGS = SHELL QT_VERSION INSTALL_DIR INSTALL_FILE INSTALL_SYMLINK INSTALL_PROGRAM RM_FILE RM_DIR DESTDIR PREFIX ETCDIR BINDIR SHAREDIR MANDIR QMAKE_BINARY LRELEASE_BINARY QMAKE_OPTS LDFLAGS LIBS
+.MAKEFLAGS =
all: build
@@ -87,7 +87,7 @@ build_client:
build_man:
${MAKE} -f Makefile.man2html build
-clean: clean_client clean_man
+clean: clean_client
find . -maxdepth 3 -name '*.o' -exec rm -vf {} + -type f
find . -maxdepth 3 -name 'moc_*.cpp' -exec rm -vf {} + -type f
find . -maxdepth 3 -name 'ui_*.h' -exec rm -vf {} + -type f
@@ -130,7 +130,6 @@ install_man:
$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/
$(INSTALL_DIR) $(DESTDIR)$(MANDIR)/man1
$(INSTALL_FILE) man/man1/x2goclient.1 $(DESTDIR)$(MANDIR)/man1/x2goclient.1