Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Jun 2020 21:14:47 +0000 (UTC)
From:      Adriaan de Groot <adridg@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r539290 - in head/net-im/spectral: . files
Message-ID:  <202006152114.05FLElLi092677@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: adridg
Date: Mon Jun 15 21:14:46 2020
New Revision: 539290
URL: https://svnweb.freebsd.org/changeset/ports/539290

Log:
  Update net-im/spectral to latest upstream release.
  
  After this afternoon's accidental update, fix the port and complete
  the update.
  
  - Spectral expects some unreleased and unpackaged dependencies, which
    is why the DISTFILES are a mess: it's gitlab, except this one
    dependency on github, and this other one.
  - libQuotient is net-im/libQuaternion, except that spectral needs a
    newer-than-the-latest-unreleased version.
  - there is a rather arbitrary and hackish patch to avoid a compile
    error -- during template expansion of visit() I sometimes got
    a compiler crash, more often an error about returning a value in
    a void function. Since the whole package is glued together with
    unreleased submodules, I spent some time trying to fix it, and
    then decided that this is non-essential functionality. Two
    events trigger the compile error, so I commented them out.
  
  PORTREVISION bumped because there's a tiny chance that something
  might have built out of the mess that there was earlier.

Added:
  head/net-im/spectral/files/
  head/net-im/spectral/files/patch-CMakeLists.txt   (contents, props changed)
  head/net-im/spectral/files/patch-src_spectralroom.cpp   (contents, props changed)
Modified:
  head/net-im/spectral/Makefile
  head/net-im/spectral/distinfo
  head/net-im/spectral/pkg-plist

Modified: head/net-im/spectral/Makefile
==============================================================================
--- head/net-im/spectral/Makefile	Mon Jun 15 21:04:21 2020	(r539289)
+++ head/net-im/spectral/Makefile	Mon Jun 15 21:14:46 2020	(r539290)
@@ -2,6 +2,7 @@
 
 PORTNAME=	spectral
 PORTVERSION=	817
+PORTREVISION=	1
 CATEGORIES=	net-im
 
 MAINTAINER=	adridg@FreeBSD.org
@@ -10,7 +11,8 @@ COMMENT=	Glossy Matrix IM client based on Qt technolog
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	libqmatrixclient>=0.5.3.2:net-im/libqmatrixclient
+LIB_DEPENDS=	libqt5keychain.so:security/qtkeychain \
+		libcmark.so:textproc/cmark
 
 USES=		cmake compiler:c++17-lang gl pkgconfig qt:5 tar:bz2
 USE_GL=		gl
@@ -18,11 +20,23 @@ USE_QT=		core dbus declarative graphicaleffects gui im
 		multimedia network quickcontrols quickcontrols2 svg widgets \
 		buildtools_build linguist_build qmake_build
 
-USE_GITLAB=	yes
-GL_ACCOUNT=	spectral-im
-GL_PROJECT=	spectral \
-		SortFilterProxyModel:sfpm
-GL_COMMIT=	8d6e69d5529b932b85a2f5e6774de27a267a2ace \
-		c61f2bdb0da48804a596a9a3a9382eebdba764dc:sfpm
+CMAKE_ON=	USE_INTREE_LIBQMC
+
+SFPMNAME=	SortFilterProxyModel
+SFPMVERSION=	36befddf5d57faad990e72c88c5844794f274145
+QUOTNAME=	libQuotient
+QUOTVERSION=	58dfe74390ebdd8ec6611d3b8fecfe7d051ff955
+DISTFILES=	${PORTNAME}-${PORTVERSION}.tar.bz2:spectral \
+		${SFPMVERSION}.zip:sfpm \
+		${QUOTVERSION}.zip:quot
+MASTER_SITES=	https://gitlab.com/spectral-im/spectral/-/archive/${PORTVERSION}/:spectral \
+		https://github.com/oKcerG/${SFPMNAME}/archive/:sfpm \
+		https://github.com/quotient-im/${QUOTNAME}/archive/:quot
+
+
+post-extract:
+	${RMDIR} ${WRKSRC}/include/${SFPMNAME} ${WRKSRC}/include/${QUOTNAME}
+	${LN} -s ${WRKDIR}/${SFPMNAME}-${SFPMVERSION} ${WRKSRC}/include/${SFPMNAME}
+	${LN} -s ${WRKDIR}/${QUOTNAME}-${QUOTVERSION} ${WRKSRC}/include/${QUOTNAME}
 
 .include <bsd.port.mk>

Modified: head/net-im/spectral/distinfo
==============================================================================
--- head/net-im/spectral/distinfo	Mon Jun 15 21:04:21 2020	(r539289)
+++ head/net-im/spectral/distinfo	Mon Jun 15 21:14:46 2020	(r539290)
@@ -1,5 +1,7 @@
-TIMESTAMP = 1588512516
-SHA256 (spectral-im-spectral-8d6e69d5529b932b85a2f5e6774de27a267a2ace_GL0.tar.gz) = cc6ed91feb4af8078f0185fd64570c43d5c877030c255a011c7bfe9522e2505b
-SIZE (spectral-im-spectral-8d6e69d5529b932b85a2f5e6774de27a267a2ace_GL0.tar.gz) = 845196
-SHA256 (spectral-im-SortFilterProxyModel-c61f2bdb0da48804a596a9a3a9382eebdba764dc_GL0.tar.gz) = 2403a578fc5b3e46ad1c3b14e71590ca4aaa00c521958020cd925e05fadc32c1
-SIZE (spectral-im-SortFilterProxyModel-c61f2bdb0da48804a596a9a3a9382eebdba764dc_GL0.tar.gz) = 18483
+TIMESTAMP = 1592232908
+SHA256 (spectral-817.tar.bz2) = e49ec45b4a112beef173ca739905ee82e0af12827e67a552cb671d11d8c481df
+SIZE (spectral-817.tar.bz2) = 850228
+SHA256 (36befddf5d57faad990e72c88c5844794f274145.zip) = 9be60ac00b0671e678f8dd5b986aaa729baf4ec16fd0c65f71d2918cfeb159ce
+SIZE (36befddf5d57faad990e72c88c5844794f274145.zip) = 133452
+SHA256 (58dfe74390ebdd8ec6611d3b8fecfe7d051ff955.zip) = b5c25dc4e42b811b00e2aa799e5d166c5660d0d831e4656e315eb7b91a4b12b9
+SIZE (58dfe74390ebdd8ec6611d3b8fecfe7d051ff955.zip) = 714335

Added: head/net-im/spectral/files/patch-CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/spectral/files/patch-CMakeLists.txt	Mon Jun 15 21:14:46 2020	(r539290)
@@ -0,0 +1,38 @@
+Replace the linked libraries for QtKeychain by expanded ones.
+
+This is a workaround for QtKeychain installing a Config.cmake file
+that refers to libraries that are **not** expanded or in the
+default search path (e.g. glib). Without this expansion,
+we end up with -lglib in the final link line -- and no
+corresponding -L/usr/local/lib to make sure it is actually found.
+
+
+--- CMakeLists.txt.orig	2020-01-11 18:26:51 UTC
++++ CMakeLists.txt
+@@ -206,6 +210,26 @@ endif(APPLE)
+ add_executable(${PROJECT_NAME} WIN32 MACOSX_BUNDLE
+     ${spectral_SRCS} ${spectral_QRC_SRC} $<TARGET_OBJECTS:SortFilterProxyModel>
+     ${spectral_WINRC} ${${PROJECT_NAME}_MAC_ICON})
++
++get_target_property(_libs
++    ${QTKEYCHAIN_LIBRARIES}
++    IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE)
++set(_expanded_libs "")
++foreach(d ${_libs})
++    if(TARGET ${d})
++        list(APPEND _expanded_libs ${d})
++    else()
++        find_library(_expanded_d ${d})
++        if(_expanded_d)
++            list(APPEND _expanded_libs ${_expanded_d})
++        else()
++            list(APPEND _expanded_libs ${d})
++        endif()
++        unset(_expanded_d)
++    endif()
++endforeach()
++set_target_properties(${QTKEYCHAIN_LIBRARIES} PROPERTIES
++    IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE ${_expanded_libs})
+ 
+ target_link_libraries(${PROJECT_NAME}
+     Qt5::Widgets Qt5::Quick Qt5::Qml Qt5::Gui Qt5::Network Qt5::Svg Qt5::QuickControls2

Added: head/net-im/spectral/files/patch-src_spectralroom.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-im/spectral/files/patch-src_spectralroom.cpp	Mon Jun 15 21:14:46 2020	(r539290)
@@ -0,0 +1,35 @@
+Avoid compiler error.
+
+These two events cause template substitution errors. Since the
+effect of removing them is that we don't get a nice name for
+the events (user-facing), it's not essential.
+
+
+--- src/spectralroom.cpp.orig	2020-06-15 18:48:37 UTC
++++ src/spectralroom.cpp
+@@ -354,11 +354,13 @@ QString SpectralRoom::eventToString(const RoomEvent& e
+         return tr("has set room aliases on server %1 to: %2")
+             .arg(e.stateKey(), QLocale().createSeparatedList(e.aliases()));
+       },
++/*
+       [](const RoomCanonicalAliasEvent& e) {
+         return (e.alias().isEmpty())
+                    ? tr("cleared the room main alias")
+                    : tr("set the room main alias to: %1").arg(e.alias());
+       },
++*/
+       [](const RoomNameEvent& e) {
+         return (e.name().isEmpty()) ? tr("cleared the room name")
+                                     : tr("set the room name to: %1")
+@@ -372,9 +374,11 @@ QString SpectralRoom::eventToString(const RoomEvent& e
+                                           : e.topic());
+       },
+       [](const RoomAvatarEvent&) { return tr("changed the room avatar"); },
++/*
+       [](const EncryptionEvent&) {
+         return tr("activated End-to-End Encryption");
+       },
++*/
+       [](const RoomCreateEvent& e) {
+         return (e.isUpgrade() ? tr("upgraded the room to version %1")
+                               : tr("created the room, version %1"))

Modified: head/net-im/spectral/pkg-plist
==============================================================================
--- head/net-im/spectral/pkg-plist	Mon Jun 15 21:04:21 2020	(r539289)
+++ head/net-im/spectral/pkg-plist	Mon Jun 15 21:14:46 2020	(r539290)
@@ -1,7 +1,6 @@
 bin/spectral
 share/applications/org.eu.encom.spectral.desktop
 share/icons/hicolor/128x128/apps/org.eu.encom.spectral.png
-share/icons/hicolor/16x16/apps/org.eu.encom.spectral.png
 share/icons/hicolor/256x256/apps/org.eu.encom.spectral.png
 share/icons/hicolor/32x32/apps/org.eu.encom.spectral.png
 share/icons/hicolor/512x512/apps/org.eu.encom.spectral.png



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006152114.05FLElLi092677>