Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Jan 2024 19:38:35 GMT
From:      Mikhail Teterin <mi@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 26fa495285d9 - main - net-im/purple-gowhatsapp: unbreak by prefetching the Go-modules.
Message-ID:  <202401211938.40LJcZ5c089448@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mi:

URL: https://cgit.FreeBSD.org/ports/commit/?id=26fa495285d9d7bcd85794665c45d31e1ed1ccb2

commit 26fa495285d9d7bcd85794665c45d31e1ed1ccb2
Author:     Mikhail Teterin <mi@FreeBSD.org>
AuthorDate: 2024-01-21 19:32:50 +0000
Commit:     Mikhail Teterin <mi@FreeBSD.org>
CommitDate: 2024-01-21 19:38:31 +0000

    net-im/purple-gowhatsapp: unbreak by prefetching the Go-modules.
    
    List all of the necessary Go-modules as GH_TUPLEs, as other Go-using
    ports are doing.
    
    This software is using a combination of C and Go, so, unfortunately, the
    straight usage of go.mk is not working.
---
 net-im/purple-gowhatsapp/Makefile              | 50 ++++++++++++++++++--------
 net-im/purple-gowhatsapp/distinfo              | 50 +++++++++++++++++++++++++-
 net-im/purple-gowhatsapp/files/patch-configure | 17 +++++++++
 3 files changed, 102 insertions(+), 15 deletions(-)

diff --git a/net-im/purple-gowhatsapp/Makefile b/net-im/purple-gowhatsapp/Makefile
index 568300a76ca2..8b14b085d45f 100644
--- a/net-im/purple-gowhatsapp/Makefile
+++ b/net-im/purple-gowhatsapp/Makefile
@@ -10,7 +10,6 @@ WWW=		https://github.com/hoehermann/purple-gowhatsapp
 LICENSE=	GPLv3
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BROKEN=	downloads things at build time, which breaks under poudriere
 LIB_DEPENDS=	libpurple.so:net-im/libpurple	\
 		libopusfile.so:audio/opusfile
 
@@ -21,29 +20,52 @@ OPTIONS_MULTI_DB-backend=	SQLITE3 PGSQL MYSQL
 OPTIONS_DEFAULT=SQLITE3
 .for o in ${OPTIONS_MULTI_DB-backend}
 $o_DESC=	Support use of $o for storing account information
+post-patch-$o-off:
+	${REINPLACE_CMD} '/${$o_GH_TUPLE:C/^([^:]+):([^:]+):.*/\1\\\/\2/}"/d' \
+	    ${WRKSRC}/src/go/login.go
 .endfor
 
 USE_GITHUB=	yep...
 GH_ACCOUNT=	hoehermann
 DOS2UNIX_GLOB=	CMake*.txt
+EXTRACT_AFTER_ARGS=--exclude vendor
+MAKE_ENV+=	${GO_ENV}
+
+GH_TUPLE=	\
+		FiloSottile:edwards25519:v1.0.0:filosottile_edwards25519/vendor/filippo.io/edwards25519 \
+		alfg:mp4:55ea58c08aeb:alfg_mp4/vendor/github.com/alfg/mp4 \
+		davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
+		google:go-cmp:v0.5.9:google_go_cmp/vendor/github.com/google/go-cmp \
+		gorilla:websocket:v1.5.1:gorilla_websocket/vendor/github.com/gorilla/websocket \
+		mdp:qrterminal:v3.2.0:mdp_qrterminal/vendor/github.com/mdp/qrterminal \
+		pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
+		skip2:go-qrcode:da1b6568686e:skip2_go_qrcode/vendor/github.com/skip2/go-qrcode \
+		stretchr:testify:v1.8.4:stretchr_testify/vendor/github.com/stretchr/testify \
+		tulir:libsignal-protocol-go:v0.1.0:tulir_libsignal_protocol_go/vendor/go.mau.fi/libsignal \
+		mautrix:go-util:v0.3.0:mautrix_go_util/vendor/go.mau.fi/util \
+		tulir:whatsmeow:66c756f1ba45:tulir_whatsmeow/vendor/go.mau.fi/whatsmeow \
+		golang:crypto:v0.18.0:golang_crypto/vendor/golang.org/x/crypto \
+		golang:net:v0.20.0:golang_net/vendor/golang.org/x/net \
+		golang:sys:v0.16.0:golang_sys/vendor/golang.org/x/sys \
+		golang:term:v0.16.0:golang_term/vendor/golang.org/x/term \
+		golang:text:v0.14.0:golang_text/vendor/golang.org/x/text \
+		golang:xerrors:9bdfabe68543:golang_xerrors/vendor/golang.org/x/xerrors \
+		protocolbuffers:protobuf-go:v1.32.0:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
+		go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+		rsc:qr:v0.2.0:rsc_qr/vendor/rsc.io/qr
+
+SQLITE3_GH_TUPLE=\
+		mattn:go-sqlite3:v1.14.19:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3
+PGSQL_GH_TUPLE=	lib:pq:v1.10.9:lib_pq/vendor/github.com/lib/pq
+MYSQL_GH_TUPLE=	go-sql-driver:mysql:v1.7.1:go_sql_driver_mysql/vendor/github.com/go-sql-driver/mysql
 
 CMAKE_ARGS=	-DPURPLE_INCLUDE_DIRS=${LOCALBASE}/include/libpurple	\
 		-DPURPLE_LIBRARY_DIRS=${LOCALBASE}/lib	\
 		-DPURPLE_PLUGIN_DIR=${PREFIX}/lib/purple-2 \
 		-DPURPLE_DATA_DIR=${PREFIX}/share
 
-post-patch-PGSQL-off:
-	${REINPLACE_CMD} '/lib\/pq/d' ${WRKSRC}/src/go/login.go
-
-post-patch-MYSQL-off:
-	${REINPLACE_CMD} '/go-sql-driver\/mysql/d' ${WRKSRC}/src/go/login.go
-
-post-patch-SQLITE3-off:
-	${REINPLACE_CMD} '/mattn\/go-sqlite3/d' ${WRKSRC}/src/go/login.go
-
-# The downloaded Go-files are read-only and the simple rm -f does not work
-# against them (unless invoked as root). Here we relax the permissions first:
-pre-clean:
-	-@${FIND} ${WRKDIR} | ${XARGS} ${CHMOD} u+w
+post-configure:
+	${MKDIR} ${CONFIGURE_WRKSRC}/src/go/go
+	${LN} -sf ${WRKSRC}/vendor ${CONFIGURE_WRKSRC}/src/go/go/src
 
 .include <bsd.port.mk>
diff --git a/net-im/purple-gowhatsapp/distinfo b/net-im/purple-gowhatsapp/distinfo
index 440dd580ed44..096a3accf2af 100644
--- a/net-im/purple-gowhatsapp/distinfo
+++ b/net-im/purple-gowhatsapp/distinfo
@@ -1,3 +1,51 @@
-TIMESTAMP = 1705716803
+TIMESTAMP = 1705857834
 SHA256 (hoehermann-purple-gowhatsapp-v1.13.0_GH0.tar.gz) = 153229acd476ff1f98497074402944869c73e85ad06d6cfa8529bf4861960c96
 SIZE (hoehermann-purple-gowhatsapp-v1.13.0_GH0.tar.gz) = 140285
+SHA256 (FiloSottile-edwards25519-v1.0.0_GH0.tar.gz) = 05d9c82855140397e949e13aac20194c5dd17d2c9a3e6887765bf4e7c46e1c39
+SIZE (FiloSottile-edwards25519-v1.0.0_GH0.tar.gz) = 39883
+SHA256 (alfg-mp4-55ea58c08aeb_GH0.tar.gz) = 1c2c9140d7650aaa7384b8ff1099ee698c933f814fd89d2aeb858db1cb3e6be6
+SIZE (alfg-mp4-55ea58c08aeb_GH0.tar.gz) = 2883648
+SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
+SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
+SHA256 (gorilla-websocket-v1.5.1_GH0.tar.gz) = b8c9f291d12c1b2fcbc64b4862bead21d709c2884fe4b3e35ae1e5485c039d8d
+SIZE (gorilla-websocket-v1.5.1_GH0.tar.gz) = 61416
+SHA256 (google-go-cmp-v0.5.9_GH0.tar.gz) = 41a074c2fcfc72f813736f8ca8e3116e260a6b79af407d9da0d4c5e4c3f61acf
+SIZE (google-go-cmp-v0.5.9_GH0.tar.gz) = 104427
+SHA256 (mdp-qrterminal-v3.2.0_GH0.tar.gz) = 3eee590ea7f2798def75a77c51b68e033d4a38846885d30f04f090e3d1b36b47
+SIZE (mdp-qrterminal-v3.2.0_GH0.tar.gz) = 25348
+SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
+SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (skip2-go-qrcode-da1b6568686e_GH0.tar.gz) = af179c37da861a43242fb4383186724b34866d7b5bd3e54ca44031a2b9f92046
+SIZE (skip2-go-qrcode-da1b6568686e_GH0.tar.gz) = 36693
+SHA256 (stretchr-testify-v1.8.4_GH0.tar.gz) = 0d3e82b04a05d9428a2a2aec8776bd0a07f14f5d1b4fa0a3676526ca8259fd62
+SIZE (stretchr-testify-v1.8.4_GH0.tar.gz) = 104427
+SHA256 (tulir-libsignal-protocol-go-v0.1.0_GH0.tar.gz) = a4cd4c0bf5f6736ce0a2cac6cfdb89049c765c24e79b791e9696056fe73ed990
+SIZE (tulir-libsignal-protocol-go-v0.1.0_GH0.tar.gz) = 78276
+SHA256 (mautrix-go-util-v0.3.0_GH0.tar.gz) = 0cde4bc98c95186ce619e89daf444a8743fcdd4c3d598a4ff2953c3e12f51762
+SIZE (mautrix-go-util-v0.3.0_GH0.tar.gz) = 47949
+SHA256 (tulir-whatsmeow-66c756f1ba45_GH0.tar.gz) = 927b8dcd214cc0fef1a58a34749d5519558533fc037b9f13a10ed191be591db7
+SIZE (tulir-whatsmeow-66c756f1ba45_GH0.tar.gz) = 312996
+SHA256 (golang-crypto-v0.18.0_GH0.tar.gz) = 65cc44408170afc3f58d242ec1bf5c2ded68ae9d0847652eb3dca51a86ff7c34
+SIZE (golang-crypto-v0.18.0_GH0.tar.gz) = 1809280
+SHA256 (golang-net-v0.20.0_GH0.tar.gz) = bae5107274cce60331dbc29301657afd86e5fb92a2e545f159e992eda8a9133d
+SIZE (golang-net-v0.20.0_GH0.tar.gz) = 1486820
+SHA256 (golang-sys-v0.16.0_GH0.tar.gz) = 9c17b728aa75f4fc4743c3f5c0dccdc3b7f9ac7c12b3124b666672cc571f657e
+SIZE (golang-sys-v0.16.0_GH0.tar.gz) = 1444155
+SHA256 (golang-term-v0.16.0_GH0.tar.gz) = ef42ee56088af7aaa2135998e9ac08514133621e0b368c26ddef7eb737f892f6
+SIZE (golang-term-v0.16.0_GH0.tar.gz) = 14735
+SHA256 (golang-text-v0.14.0_GH0.tar.gz) = c80295e75bda599d17ccf74038139b0957b9915fae4e60d8b46f89454ef171a0
+SIZE (golang-text-v0.14.0_GH0.tar.gz) = 8974094
+SHA256 (golang-xerrors-9bdfabe68543_GH0.tar.gz) = 54bb4d99e6cba2e3e5331d064f46640cc01a0e630ee6a684ae810bd94a7e4eb7
+SIZE (golang-xerrors-9bdfabe68543_GH0.tar.gz) = 13657
+SHA256 (protocolbuffers-protobuf-go-v1.32.0_GH0.tar.gz) = 816e0babc183807928c4ede81999dc1e33bfe6e7eca9ccebe0409974e68559db
+SIZE (protocolbuffers-protobuf-go-v1.32.0_GH0.tar.gz) = 1324049
+SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (rsc-qr-v0.2.0_GH0.tar.gz) = a39800570e994df470ff3917b2131d80829ae447d3aac794034ef87cb93d1a66
+SIZE (rsc-qr-v0.2.0_GH0.tar.gz) = 18808
+SHA256 (go-sql-driver-mysql-v1.7.1_GH0.tar.gz) = c6aaf1309cbeabdc43414a1230257b8943800643c581a3e2211d1efd5495a9c2
+SIZE (go-sql-driver-mysql-v1.7.1_GH0.tar.gz) = 95747
+SHA256 (lib-pq-v1.10.9_GH0.tar.gz) = b150b286d59b5f0bdde499112e2f01881773ff5bfdff023802e9e01b7314a06f
+SIZE (lib-pq-v1.10.9_GH0.tar.gz) = 114490
+SHA256 (mattn-go-sqlite3-v1.14.19_GH0.tar.gz) = 883841af9b993c6f297c8974ea992540cd9aa525b42ff7d874ff6d31be00e643
+SIZE (mattn-go-sqlite3-v1.14.19_GH0.tar.gz) = 2573207
diff --git a/net-im/purple-gowhatsapp/files/patch-configure b/net-im/purple-gowhatsapp/files/patch-configure
index b8775407932d..327bd7a9b6b3 100644
--- a/net-im/purple-gowhatsapp/files/patch-configure
+++ b/net-im/purple-gowhatsapp/files/patch-configure
@@ -25,3 +25,20 @@
 -	golang.org/x/net v0.5.0 
 -	go.mau.fi/whatsmeow latest
 -)
+--- src/go/CMakeLists.txt	2023-09-01 16:15:26.000000000 -0400
++++ src/go/CMakeLists.txt	2024-01-21 12:07:47.551901000 -0500
+@@ -11,5 +11,4 @@
+   WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+   COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/go.mod.in" "${CMAKE_CURRENT_SOURCE_DIR}/go.mod"
+-  COMMAND ${CMAKE_COMMAND} -E env GOPATH=${GOPATH} ${CMAKE_Go_COMPILER} mod tidy
+ )
+ 
+--- src/go/login.go	2023-09-01 16:15:26.000000000 -0400
++++ src/go/login.go	2024-01-21 12:25:26.684274000 -0500
+@@ -12,5 +12,5 @@
+ 	_ "github.com/lib/pq"
+ 	_ "github.com/mattn/go-sqlite3"
+-	"github.com/mdp/qrterminal/v3"
++	"github.com/mdp/qrterminal"
+ 	"github.com/skip2/go-qrcode"
+ 	"go.mau.fi/whatsmeow"



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