Index | Thread | Search

From:
Sebastien Marie <semarie@kapouay.eu.org>
Subject:
Re: [NEW]: productivity/tickrs: Graph stock/fund/crypto prices in terminal UI
To:
Rafael Sadowski <rafael@sizeofvoid.org>, Chris Billington <emulti@disroot.org>
Cc:
ports@openbsd.org
Date:
Fri, 01 Aug 2025 10:34:58 +0200

Download raw body.

Thread
Rafael Sadowski <rafael@sizeofvoid.org> writes:

> On Mon Jul 28, 2025 at 08:52:23PM +0800, Chris Billington wrote:
>> Attached is a new proposed port productivity/tickrs, which graphs
>> stock, fund and crypto prices over various timeframes in a terminal UI.
>> Data is from Yahoo Finance and Coinbase.
>
> Tested on amd64. Works perfectly for me and I would be happy if we
> could import it.

Below a diff on top of the tarball to simplify the patching to remove
static linking of curl and ssl.

it only patches src/api/Cargo.toml (and regenerate Cargo.lock).

>> Patched to use base ssl/libz and net/curl rather than the vendored
>> versions in upstream.
>> 
>> make lib-depends-check complains about extra WANTLIBS for the
>> base/system libraries: I don't know why. Can someone more knowedgeable
>> with Rust ports explain?
>
> Yeah maybe a ports rust guru can help here!?

it is 'make port-lib-depends-check' (and not 'make lib-depends-check').

I changed WANTLIB (and LIB_DEPENDS) to what is need.

$ make port-lib-depends-check
$ make show=WANTLIB
c pthread c++abi m curl

The tarball (updated) is reattached.

I would be ok for import it with these changes.
-- 
Sebastien Marie

Commit ID: a7e651c23fb139a52abaf2119339e80baa0f5635
Change ID: urzqznqmnqvxoypqnzwszkpkmpmqzyly
Author   : Sebastien Marie <semarie@kapouay.eu.org> (2025-07-31 09:00:03)
Committer: Sebastien Marie <semarie@kapouay.eu.org> (2025-08-01 10:28:01)

    (no description set)

diff --git a/productivity/tickrs/Makefile b/productivity/tickrs/Makefile
index adf8340a29..977be71009 100644
--- a/productivity/tickrs/Makefile
+++ b/productivity/tickrs/Makefile
@@ -13,13 +13,14 @@
 # MIT License
 PERMIT_PACKAGE =	Yes
 
-WANTLIB += 	${MODCARGO_WANTLIB} crypto ssl pthread m z curl \
-		nghttp2 ngtcp2 ngtcp2_crypto_quictls
+WANTLIB += 	${MODCARGO_WANTLIB} m curl
 
-LIB_DEPENDS =	net/curl www/nghttp2 net/ngtcp2
+LIB_DEPENDS =	net/curl
 
 MODULES =		devel/cargo
 
+MODCARGO_CRATES_UPDATE +=	tickrs-api
+
 CONFIGURE_STYLE =	cargo
 
 USE_GMAKE =		Yes
@@ -27,7 +28,7 @@
 post-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/tickrs
 	@${SUBST_DATA} ${FILESDIR}/config.yml \
-	${PREFIX}/share/examples/tickrs/config.yml.sample
+		${PREFIX}/share/examples/tickrs/config.yml.sample
 
 .include "crates.inc"
 
diff --git a/productivity/tickrs/patches/patch-api_Cargo_toml b/productivity/tickrs/patches/patch-api_Cargo_toml
index 0d385c2793..d737d2c249 100644
--- a/productivity/tickrs/patches/patch-api_Cargo_toml
+++ b/productivity/tickrs/patches/patch-api_Cargo_toml
@@ -1,3 +1,6 @@
+- avoid "static-curl" feature (in default features)
+- avoid "static-ssl" feature
+
 Index: api/Cargo.toml
 --- api/Cargo.toml.orig
 +++ api/Cargo.toml
@@ -6,7 +9,7 @@
  futures = "0.3"
  http = "0.2"
 -isahc = { version = "1.7", features = ["static-ssl"] }
-+isahc = "1.7"
++isahc = { version = "1.7", default-features = false, features = ["http2", "text-decoding"] }
  serde = { version = "1.0", features = ["derive"] }
  serde_json = "1.0"
  serde_urlencoded = "0.7"
diff --git a/productivity/tickrs/patches/patch-modcargo-crates_curl-0_4_46_Cargo_toml b/productivity/tickrs/patches/patch-modcargo-crates_curl-0_4_46_Cargo_toml
deleted file mode 100644
index 544da8c682..0000000000
--- a/productivity/tickrs/patches/patch-modcargo-crates_curl-0_4_46_Cargo_toml
+++ /dev/null
@@ -1,40 +0,0 @@
-Index: modcargo-crates/curl-0.4.46/Cargo.toml
---- modcargo-crates/curl-0.4.46/Cargo.toml.orig
-+++ modcargo-crates/curl-0.4.46/Cargo.toml
-@@ -86,7 +86,7 @@ default = ["ssl"]
- force-system-lib-on-osx = ["curl-sys/force-system-lib-on-osx"]
- http2 = ["curl-sys/http2"]
- mesalink = ["curl-sys/mesalink"]
--ntlm = ["curl-sys/ntlm"]
-+#ntlm = ["curl-sys/ntlm"]
- poll_7_68_0 = ["curl-sys/poll_7_68_0"]
- protocol-ftp = ["curl-sys/protocol-ftp"]
- rustls = ["curl-sys/rustls"]
-@@ -96,17 +96,17 @@ ssl = [
-     "openssl-probe",
-     "curl-sys/ssl",
- ]
--static-curl = ["curl-sys/static-curl"]
--static-ssl = ["curl-sys/static-ssl"]
-+#static-curl = ["curl-sys/static-curl"]
-+#static-ssl = ["curl-sys/static-ssl"]
- upkeep_7_62_0 = ["curl-sys/upkeep_7_62_0"]
--windows-static-ssl = [
--    "static-curl",
--    "curl-sys/windows-static-ssl",
--]
--zlib-ng-compat = [
--    "curl-sys/zlib-ng-compat",
--    "static-curl",
--]
-+#windows-static-ssl = [
-+#    "static-curl",
-+#    "curl-sys/windows-static-ssl",
-+#]
-+#zlib-ng-compat = [
-+#    "curl-sys/zlib-ng-compat",
-+#    "static-curl",
-+#]
- 
- [target."cfg(all(unix, not(target_os = \"macos\")))".dependencies.openssl-probe]
- version = "0.1.2"
diff --git a/productivity/tickrs/patches/patch-modcargo-crates_curl-sys-0_4_72+curl-8_6_0_Cargo_toml b/productivity/tickrs/patches/patch-modcargo-crates_curl-sys-0_4_72+curl-8_6_0_Cargo_toml
deleted file mode 100644
index f67ac0d171..0000000000
--- a/productivity/tickrs/patches/patch-modcargo-crates_curl-sys-0_4_72+curl-8_6_0_Cargo_toml
+++ /dev/null
@@ -1,31 +0,0 @@
-Index: modcargo-crates/curl-sys-0.4.72+curl-8.6.0/Cargo.toml
---- modcargo-crates/curl-sys-0.4.72+curl-8.6.0/Cargo.toml.orig
-+++ modcargo-crates/curl-sys-0.4.72+curl-8.6.0/Cargo.toml
-@@ -54,20 +54,20 @@ default = ["ssl"]
- force-system-lib-on-osx = []
- http2 = ["libnghttp2-sys"]
- mesalink = []
--ntlm = []
-+#ntlm = []
- poll_7_68_0 = []
- protocol-ftp = []
- rustls = ["rustls-ffi"]
- spnego = []
- ssl = ["openssl-sys"]
--static-curl = []
--static-ssl = ["openssl-sys/vendored"]
-+#static-curl = []
-+#static-ssl = ["openssl-sys/vendored"]
- upkeep_7_62_0 = []
- windows-static-ssl = []
--zlib-ng-compat = [
--    "libz-sys/zlib-ng",
--    "static-curl",
--]
-+#zlib-ng-compat = [
-+#    "libz-sys/zlib-ng",
-+#    "static-curl",
-+#]
- 
- [target."cfg(all(unix, not(target_os = \"macos\")))".dependencies.openssl-sys]
- version = "0.9.64"
diff --git a/productivity/tickrs/patches/patch-modcargo-crates_isahc-1_7_2_Cargo_toml b/productivity/tickrs/patches/patch-modcargo-crates_isahc-1_7_2_Cargo_toml
deleted file mode 100644
index 3db2ad4d6d..0000000000
--- a/productivity/tickrs/patches/patch-modcargo-crates_isahc-1_7_2_Cargo_toml
+++ /dev/null
@@ -1,23 +0,0 @@
-Index: modcargo-crates/isahc-1.7.2/Cargo.toml
---- modcargo-crates/isahc-1.7.2/Cargo.toml.orig
-+++ modcargo-crates/isahc-1.7.2/Cargo.toml
-@@ -172,7 +172,7 @@ version = ">=0.2.12, <0.4.0"
- cookies = ["httpdate"]
- default = [
-     "http2",
--    "static-curl",
-+#    "static-curl",
-     "text-decoding",
- ]
- http2 = ["curl/http2"]
-@@ -187,8 +187,8 @@ psl = [
-     "publicsuffix",
- ]
- spnego = ["curl-sys/spnego"]
--static-curl = ["curl/static-curl"]
--static-ssl = ["curl/static-ssl"]
-+#static-curl = ["curl/static-curl"]
-+#static-ssl = ["curl/static-ssl"]
- text-decoding = [
-     "encoding_rs",
-     "mime",