git: fe8290477c59 - main - graphics/hs-tart: New port: Program to make ASCII art on the terminal

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 28 Mar 2025 04:54:07 UTC
The branch main has been updated by yuri:

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

commit fe8290477c59dd65d18b4e783e771ef69da7ac8d
Author:     gatekeeper <tiago.gasiba@gmail.com>
AuthorDate: 2025-03-28 03:54:11 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-03-28 04:53:57 +0000

    graphics/hs-tart: New port: Program to make ASCII art on the terminal
    
    PR:             285664
---
 graphics/Makefile          |   1 +
 graphics/hs-tart/Makefile  |  63 ++++++++++++++++++++++++++
 graphics/hs-tart/distinfo  | 109 +++++++++++++++++++++++++++++++++++++++++++++
 graphics/hs-tart/pkg-descr |   4 ++
 4 files changed, 177 insertions(+)

diff --git a/graphics/Makefile b/graphics/Makefile
index 0edc4d9967d1..db82f978dc4f 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -341,6 +341,7 @@
     SUBDIR += hiptext
     SUBDIR += hobbes-icons-xpm
     SUBDIR += hppsmtools
+    SUBDIR += hs-tart
     SUBDIR += hugin
     SUBDIR += hyprgraphics
     SUBDIR += icat
diff --git a/graphics/hs-tart/Makefile b/graphics/hs-tart/Makefile
new file mode 100644
index 000000000000..7e54da8c660a
--- /dev/null
+++ b/graphics/hs-tart/Makefile
@@ -0,0 +1,63 @@
+PORTNAME=	tart
+DISTVERSION=	0.3-20241122
+CATEGORIES=	graphics haskell
+PKGNAMESUFFIX=	-terminal-art
+
+MAINTAINER=	tiago.gasiba@gmail.com
+COMMENT=	Program to make ASCII art on the terminal
+WWW=		https://github.com/jtdaugherty/tart
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cabal
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	jtdaugherty
+GH_PROJECT=	tart
+GH_TAGNAME=	49100f0
+
+USE_LOCALE=	en_US.UTF-8
+
+USE_CABAL=	ansi-terminal-1.1.2 \
+		ansi-terminal-types-1.1 \
+		bimap-0.5.0 \
+		blaze-builder-0.4.2.3 \
+		brick-2.5 \
+		case-insensitive-1.2.1.0 \
+		colour-2.3.6 \
+		config-ini-0.2.7.0_1 \
+		data-clist-0.2_1 \
+		hashable-1.5.0.0_1 \
+		integer-logarithms-1.0.4 \
+		megaparsec-9.7.0 \
+		microlens-0.4.14.0 \
+		microlens-ghc-0.4.15.1 \
+		microlens-mtl-0.2.1.0 \
+		microlens-platform-0.4.4.1 \
+		microlens-th-0.4.3.17 \
+		optparse-applicative-0.18.1.0_1 \
+		os-string-2.0.7 \
+		parser-combinators-1.3.0_1 \
+		prettyprinter-1.7.1 \
+		prettyprinter-ansi-terminal-1.1.3 \
+		primitive-0.9.0.0_2 \
+		random-1.3.0 \
+		scientific-0.3.8.0_2 \
+		splitmix-0.1.1 \
+		tagged-0.8.9 \
+		tasty-1.5.3_1 \
+		text-zipper-0.13 \
+		th-abstraction-0.7.1.0_1 \
+		transformers-compat-0.7.2 \
+		unix-compat-0.7.3_1 \
+		unordered-containers-0.2.20_4 \
+		utf8-string-1.0.2 \
+		vector-0.13.2.0_1 \
+		vector-stream-0.1.0.1_3 \
+		vty-6.4 \
+		vty-crossplatform-0.4.0.0 \
+		vty-unix-0.2.0.0 \
+		word-wrap-0.5
+
+.include <bsd.port.mk>
diff --git a/graphics/hs-tart/distinfo b/graphics/hs-tart/distinfo
new file mode 100644
index 000000000000..2a4cc6ccdb94
--- /dev/null
+++ b/graphics/hs-tart/distinfo
@@ -0,0 +1,109 @@
+TIMESTAMP = 1743133869
+SHA256 (cabal/ansi-terminal-1.1.2/ansi-terminal-1.1.2.tar.gz) = a8d04a3e0451e22a6499a92311f0df1196dc65b687df7d10e3f30d92420156b0
+SIZE (cabal/ansi-terminal-1.1.2/ansi-terminal-1.1.2.tar.gz) = 36259
+SHA256 (cabal/ansi-terminal-types-1.1/ansi-terminal-types-1.1.tar.gz) = f2e5333eb78da5f4dd330fca0c81a59276cc150c625647cd20f57b7f297a5d25
+SIZE (cabal/ansi-terminal-types-1.1/ansi-terminal-types-1.1.tar.gz) = 4746
+SHA256 (cabal/bimap-0.5.0/bimap-0.5.0.tar.gz) = b0b44b0f2eaceb83f46dfa3d1747e080c45204c64d18bb9e63747299266f0c95
+SIZE (cabal/bimap-0.5.0/bimap-0.5.0.tar.gz) = 11205
+SHA256 (cabal/blaze-builder-0.4.2.3/blaze-builder-0.4.2.3.tar.gz) = 66291874236b7342adab033e3cddae414a23a2865dfb44095dfc4e0b9d46703b
+SIZE (cabal/blaze-builder-0.4.2.3/blaze-builder-0.4.2.3.tar.gz) = 60777
+SHA256 (cabal/brick-2.5/brick-2.5.tar.gz) = 28ca75300a2e22c85885f711d50a359d18506f6d44c19bbe7e0798ab671aa50e
+SIZE (cabal/brick-2.5/brick-2.5.tar.gz) = 225749
+SHA256 (cabal/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz) = 296dc17e0c5f3dfb3d82ced83e4c9c44c338ecde749b278b6eae512f1d04e406
+SIZE (cabal/case-insensitive-1.2.1.0/case-insensitive-1.2.1.0.tar.gz) = 53609
+SHA256 (cabal/colour-2.3.6/colour-2.3.6.tar.gz) = 2cd35dcd6944a5abc9f108a5eb5ee564b6b1fa98a9ec79cefcc20b588991f871
+SIZE (cabal/colour-2.3.6/colour-2.3.6.tar.gz) = 20675
+SHA256 (cabal/config-ini-0.2.7.0/config-ini-0.2.7.0.tar.gz) = 3a171c45baa6ed066dd62a4bfd7fb60d99030e9e320c2b73cfd0980252596901
+SIZE (cabal/config-ini-0.2.7.0/config-ini-0.2.7.0.tar.gz) = 24825
+SHA256 (cabal/config-ini-0.2.7.0/revision/1.cabal) = 2ae5a3e77ef16bffe9f2dd2b328cd79444cd1c193386007260aa6b0af0f957b2
+SIZE (cabal/config-ini-0.2.7.0/revision/1.cabal) = 3479
+SHA256 (cabal/data-clist-0.2/data-clist-0.2.tar.gz) = 1c3a1ebd71e8f6fe30afdb3797c4852db7fb0b4e3c145fc53e8282eb4303b212
+SIZE (cabal/data-clist-0.2/data-clist-0.2.tar.gz) = 5475
+SHA256 (cabal/data-clist-0.2/revision/1.cabal) = 47ad08ffa523b5fcdfd0e999ff57417a2e70b48e0ea79b84d7f8b9e6d1152225
+SIZE (cabal/data-clist-0.2/revision/1.cabal) = 1283
+SHA256 (cabal/hashable-1.5.0.0/hashable-1.5.0.0.tar.gz) = e58b3a8e18da5f6cd7e937e5fd683e500bb1f8276b3768269759119ca0cddb6a
+SIZE (cabal/hashable-1.5.0.0/hashable-1.5.0.0.tar.gz) = 89062
+SHA256 (cabal/hashable-1.5.0.0/revision/1.cabal) = 2f23146cbe0325029927b221647695a4c7d6e97548ff731110979e34361f58ef
+SIZE (cabal/hashable-1.5.0.0/revision/1.cabal) = 5914
+SHA256 (cabal/integer-logarithms-1.0.4/integer-logarithms-1.0.4.tar.gz) = 6a93c76c2518cbe2d72ab17da6ae46d8cae93cbfb7c5a5ad5783f903c1448f45
+SIZE (cabal/integer-logarithms-1.0.4/integer-logarithms-1.0.4.tar.gz) = 8948
+SHA256 (cabal/megaparsec-9.7.0/megaparsec-9.7.0.tar.gz) = b9ed423625bf20ae7a72480d40d2dd16018a67e2ec45afb840a3607aa931ec97
+SIZE (cabal/megaparsec-9.7.0/megaparsec-9.7.0.tar.gz) = 67078
+SHA256 (cabal/microlens-0.4.14.0/microlens-0.4.14.0.tar.gz) = 56792a613e4fb0634bdedf54dcb773ac4baae8be0fec8bd88e1bb8b7a649922e
+SIZE (cabal/microlens-0.4.14.0/microlens-0.4.14.0.tar.gz) = 28262
+SHA256 (cabal/microlens-ghc-0.4.15.1/microlens-ghc-0.4.15.1.tar.gz) = 06ed35673cc0c83f70adc69932b0d7676372721e2db45b2d8f4d3e2ffca2b075
+SIZE (cabal/microlens-ghc-0.4.15.1/microlens-ghc-0.4.15.1.tar.gz) = 6806
+SHA256 (cabal/microlens-mtl-0.2.1.0/microlens-mtl-0.2.1.0.tar.gz) = fbd79c72e1f2a533cfe376ecdad73807db437c2a3cf3488bf7a8523d4377848f
+SIZE (cabal/microlens-mtl-0.2.1.0/microlens-mtl-0.2.1.0.tar.gz) = 9264
+SHA256 (cabal/microlens-platform-0.4.4.1/microlens-platform-0.4.4.1.tar.gz) = f546be14a2927368d2c880cbce95a999a34ff9e300a872707e24653cf5cf6734
+SIZE (cabal/microlens-platform-0.4.4.1/microlens-platform-0.4.4.1.tar.gz) = 5290
+SHA256 (cabal/microlens-th-0.4.3.17/microlens-th-0.4.3.17.tar.gz) = 1d762c027ca332ae906cb031e87a423c2bbedebe3bb9d988188692a5de4c0a94
+SIZE (cabal/microlens-th-0.4.3.17/microlens-th-0.4.3.17.tar.gz) = 24258
+SHA256 (cabal/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz) = 63811ab4fd26e829b8868364325a88be3acc79819f5bb5005b2dd3b961ecc491
+SIZE (cabal/optparse-applicative-0.18.1.0/optparse-applicative-0.18.1.0.tar.gz) = 60682
+SHA256 (cabal/optparse-applicative-0.18.1.0/revision/1.cabal) = f30973861ac7e7ebff05ff8c7c3d1e4d283a1f3850e1cc14106b0693ec1b6d82
+SIZE (cabal/optparse-applicative-0.18.1.0/revision/1.cabal) = 5289
+SHA256 (cabal/os-string-2.0.7/os-string-2.0.7.tar.gz) = 339c35fd3a290522f23de4e33528423cfd0b0a8f22946b0b9816a817b926cba0
+SIZE (cabal/os-string-2.0.7/os-string-2.0.7.tar.gz) = 44683
+SHA256 (cabal/parser-combinators-1.3.0/parser-combinators-1.3.0.tar.gz) = 9310ef0d49f8a8922acda10b1cded9854cbee04dea717effc6ee5983072e4447
+SIZE (cabal/parser-combinators-1.3.0/parser-combinators-1.3.0.tar.gz) = 11699
+SHA256 (cabal/parser-combinators-1.3.0/revision/1.cabal) = 8659573e0d443d573f5b53f81b81dafbdc988d282b90c11e3da73562b4ea7876
+SIZE (cabal/parser-combinators-1.3.0/revision/1.cabal) = 1640
+SHA256 (cabal/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz) = 5e6ea6903114fa118fcc359633dfb7ecddecb92c06c853d02a77b72b251f0b45
+SIZE (cabal/prettyprinter-1.7.1/prettyprinter-1.7.1.tar.gz) = 56907
+SHA256 (cabal/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz) = 813739308ad6050620578994effe21058a170a341716acf52573fae42b5b1db3
+SIZE (cabal/prettyprinter-ansi-terminal-1.1.3/prettyprinter-ansi-terminal-1.1.3.tar.gz) = 8879
+SHA256 (cabal/primitive-0.9.0.0/primitive-0.9.0.0.tar.gz) = 696d4bd291c94d736142d6182117dca4258d3ef28bfefdb649ac8b5ecd0999c7
+SIZE (cabal/primitive-0.9.0.0/primitive-0.9.0.0.tar.gz) = 60580
+SHA256 (cabal/primitive-0.9.0.0/revision/2.cabal) = de20bf4eff1f972088854c8efda6eaca2d3147aff62232c3707f059152638759
+SIZE (cabal/primitive-0.9.0.0/revision/2.cabal) = 3203
+SHA256 (cabal/random-1.3.0/random-1.3.0.tar.gz) = 6b5067e65625d777e31f151f5fcec351091d9de832183ca2a2a864e1cfd4f1b1
+SIZE (cabal/random-1.3.0/random-1.3.0.tar.gz) = 63786
+SHA256 (cabal/scientific-0.3.8.0/scientific-0.3.8.0.tar.gz) = 13b343bca8aa26d7718e52e622e5a118056653edafcbc7ccc5333be7217218cf
+SIZE (cabal/scientific-0.3.8.0/scientific-0.3.8.0.tar.gz) = 24314
+SHA256 (cabal/scientific-0.3.8.0/revision/2.cabal) = ba83a6701dd0110138443757aca4a42786afa94272b73045ef878fd860d1732e
+SIZE (cabal/scientific-0.3.8.0/revision/2.cabal) = 4397
+SHA256 (cabal/splitmix-0.1.1/splitmix-0.1.1.tar.gz) = d678c41a603a62032cf7e5f8336bb8222c93990e4b59c8b291b7ca26c7eb12c7
+SIZE (cabal/splitmix-0.1.1/splitmix-0.1.1.tar.gz) = 21981
+SHA256 (cabal/tagged-0.8.9/tagged-0.8.9.tar.gz) = 6daad88ebb414ba6a556d2898d2cbe7650e4276010e3a6eed939daf54b956784
+SIZE (cabal/tagged-0.8.9/tagged-0.8.9.tar.gz) = 8151
+SHA256 (cabal/tasty-1.5.3/tasty-1.5.3.tar.gz) = 54a0c7b644813af871a3726ac8771b5e17b5158c792a7acf8f9e2d3ae9360780
+SIZE (cabal/tasty-1.5.3/tasty-1.5.3.tar.gz) = 66548
+SHA256 (cabal/tasty-1.5.3/revision/1.cabal) = 9d56ea9dbc274fc853fc531373b2c91bfe360e21460c2c6a5838897d86e3f6d0
+SIZE (cabal/tasty-1.5.3/revision/1.cabal) = 2923
+SHA256 (cabal/text-zipper-0.13/text-zipper-0.13.tar.gz) = 06521cc7c435f8e85aeb3ed3f2b872000c52087d73518de31e65bdca072a98a9
+SIZE (cabal/text-zipper-0.13/text-zipper-0.13.tar.gz) = 9698
+SHA256 (cabal/th-abstraction-0.7.1.0/th-abstraction-0.7.1.0.tar.gz) = f9b6184aba4c6b61dd0d96f7dad41a4c9db0a01d3cdbf993a7d860488f1c04c5
+SIZE (cabal/th-abstraction-0.7.1.0/th-abstraction-0.7.1.0.tar.gz) = 45428
+SHA256 (cabal/th-abstraction-0.7.1.0/revision/1.cabal) = 3011403d85b0070630e33d66b9370535ccd1e0e672ae58f847550b2b15bb4fd8
+SIZE (cabal/th-abstraction-0.7.1.0/revision/1.cabal) = 2268
+SHA256 (cabal/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz) = b62c7304c9f3cbc9463d0739aa85cb9489f217ea092b9d625d417514fbcc9d6a
+SIZE (cabal/transformers-compat-0.7.2/transformers-compat-0.7.2.tar.gz) = 46485
+SHA256 (cabal/unix-compat-0.7.3/unix-compat-0.7.3.tar.gz) = 7a4fad870952d632d55c8cfe2aad8b55ac95585dacae052fbea4e32968821d87
+SIZE (cabal/unix-compat-0.7.3/unix-compat-0.7.3.tar.gz) = 15593
+SHA256 (cabal/unix-compat-0.7.3/revision/1.cabal) = e1132808d30ad1adbcf1ba7f06c3dfe712a7ee382b225eb975e0ab8cfe0c21cd
+SIZE (cabal/unix-compat-0.7.3/revision/1.cabal) = 3287
+SHA256 (cabal/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz) = d9cfb287cf00592d39dc9c3cac8b99627ea08f2c01798e70130fc39f7c90f11d
+SIZE (cabal/unordered-containers-0.2.20/unordered-containers-0.2.20.tar.gz) = 59823
+SHA256 (cabal/unordered-containers-0.2.20/revision/4.cabal) = 233cbcdda6c2698932bb391ce0935fb44f80c115621ee815a21ed33ac8ede422
+SIZE (cabal/unordered-containers-0.2.20/revision/4.cabal) = 3921
+SHA256 (cabal/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz) = ee48deada7600370728c4156cb002441de770d0121ae33a68139a9ed9c19b09a
+SIZE (cabal/utf8-string-1.0.2/utf8-string-1.0.2.tar.gz) = 10726
+SHA256 (cabal/vector-0.13.2.0/vector-0.13.2.0.tar.gz) = 28f203c786cbf8ac6dc3fea3378ec36f34173d505fb4a1dd60fc8418ad91c423
+SIZE (cabal/vector-0.13.2.0/vector-0.13.2.0.tar.gz) = 185739
+SHA256 (cabal/vector-0.13.2.0/revision/1.cabal) = b736a57b73520d2acf4865e3e2b40030d69782f35f870e376dc717ee2508d81f
+SIZE (cabal/vector-0.13.2.0/revision/1.cabal) = 8804
+SHA256 (cabal/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz) = d0f507334bdea5431a2f07f525a97f29e76522c32210f5de6d5a2b4f1d42bf7c
+SIZE (cabal/vector-stream-0.1.0.1/vector-stream-0.1.0.1.tar.gz) = 12577
+SHA256 (cabal/vector-stream-0.1.0.1/revision/3.cabal) = 5ac96695212a45ae7dc16d8031dbf5311da53e052c35f7ad4a8e2db7fafb651e
+SIZE (cabal/vector-stream-0.1.0.1/revision/3.cabal) = 1642
+SHA256 (cabal/vty-6.4/vty-6.4.tar.gz) = 7165a6238bd22aed8a3f142925a0de48e105a5585cd2499c90e2c56a63090a46
+SIZE (cabal/vty-6.4/vty-6.4.tar.gz) = 66410
+SHA256 (cabal/vty-crossplatform-0.4.0.0/vty-crossplatform-0.4.0.0.tar.gz) = 35e5433512b883e83aa8bb8c3475221174445a87e51f162b2ce07f9cf1eb3c1a
+SIZE (cabal/vty-crossplatform-0.4.0.0/vty-crossplatform-0.4.0.0.tar.gz) = 15118
+SHA256 (cabal/vty-unix-0.2.0.0/vty-unix-0.2.0.0.tar.gz) = c2ab67e09edc4bade04e269adc059320e83f68b31e428d11a69b20c4f161ddc1
+SIZE (cabal/vty-unix-0.2.0.0/vty-unix-0.2.0.0.tar.gz) = 28697
+SHA256 (cabal/word-wrap-0.5/word-wrap-0.5.tar.gz) = f85f29ce003ca3e195ec95d49e350dfb713bf71db726270143375df2c610a744
+SIZE (cabal/word-wrap-0.5/word-wrap-0.5.tar.gz) = 6105
+SHA256 (cabal/jtdaugherty-tart-0.3-20241122-49100f0_GH0.tar.gz) = fc301eff27eff638974a2f7c2636e4db32949f3ace3b2d34f310bcc45a97894f
+SIZE (cabal/jtdaugherty-tart-0.3-20241122-49100f0_GH0.tar.gz) = 290760
diff --git a/graphics/hs-tart/pkg-descr b/graphics/hs-tart/pkg-descr
new file mode 100644
index 000000000000..63a3dab8929a
--- /dev/null
+++ b/graphics/hs-tart/pkg-descr
@@ -0,0 +1,4 @@
+Tart is a program that provides an image-editor-like interface to
+creating ASCII art - in the terminal, with your mouse! This
+program is written using Brick, a purely-functional terminal user
+interface toolkit.