From 71dc8f40a99608a8af52de49f879a6bd2f2298a6 Mon Sep 17 00:00:00 2001 From: Lewis Cook Date: Wed, 14 Jun 2023 15:28:42 +0100 Subject: [PATCH] shells/murex: Add new port Murex is a shell, like bash / zsh / fish / etc however Murex supports improved features and an enhanced UX. A non-exhaustive list features would include: * Support for additional type information in pipelines, which can be used for complex data formats like JSON or tables. Meaning all of your existing UNIX tools to work more intelligently and without any additional configuration. * Usability improvements such as in-line spell checking, context sensitive hint text that details a commands behavior before you hit return, and auto-parsing man pages for auto-completions on commands that don't have auto-completions already defined. * Smarter handling of errors and debugging tools. For example try/catch blocks, line numbers included in error messages, STDOUT highlighted in red and script testing and debugging frameworks baked into the language itself. WWW: https://murex.rocks --- shells/Makefile | 1 + shells/murex/Makefile | 51 +++++++ shells/murex/distinfo | 41 ++++++ shells/murex/files/pkg-message.in | 15 ++ shells/murex/pkg-descr | 19 +++ shells/murex/pkg-plist | 237 ++++++++++++++++++++++++++++++ 6 files changed, 364 insertions(+) create mode 100644 shells/murex/Makefile create mode 100644 shells/murex/distinfo create mode 100644 shells/murex/files/pkg-message.in create mode 100644 shells/murex/pkg-descr create mode 100644 shells/murex/pkg-plist diff --git a/shells/Makefile b/shells/Makefile index b03482914fe0..010ae24cb7fd 100644 --- a/shells/Makefile +++ b/shells/Makefile @@ -30,6 +30,7 @@ SUBDIR += ksh93 SUBDIR += mksh SUBDIR += modernish + SUBDIR += murex SUBDIR += nologinmsg SUBDIR += nsh SUBDIR += nushell diff --git a/shells/murex/Makefile b/shells/murex/Makefile new file mode 100644 index 000000000000..05eb52bf3a2f --- /dev/null +++ b/shells/murex/Makefile @@ -0,0 +1,51 @@ +PORTNAME= murex +DISTVERSIONPREFIX= v +DISTVERSION= 4.1.7300 +CATEGORIES= shells + +MAINTAINER= lcook@FreeBSD.org +COMMENT= Shell designed for greater commandline productivity and safer shell scripts +WWW= https://murex.rocks + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE + +USES= go:modules + +USE_GITHUB= yes +GH_ACCOUNT= lmorg +GH_TUPLE= Knetic:govaluate:v3.0.0:knetic_govaluate/vendor/github.com/Knetic/govaluate \ + abesto:sexp:v0.0.1:abesto_sexp/vendor/github.com/abesto/sexp \ + boombuler:barcode:v1.0.1:boombuler_barcode/vendor/github.com/boombuler/barcode \ + creack:pty:v1.1.18:creack_pty/vendor/github.com/creack/pty \ + disintegration:imaging:v1.6.2:disintegration_imaging/vendor/github.com/disintegration/imaging \ + eliukblau:pixterm:v1.3.1:eliukblau_pixterm/vendor/github.com/eliukblau/pixterm \ + fsnotify:fsnotify:v1.6.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \ + go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \ + golang:image:v0.5.0:golang_image/vendor/golang.org/x/image \ + golang:sys:v0.8.0:golang_sys/vendor/golang.org/x/sys \ + hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \ + lmorg:apachelogs:e5f3eae677ad:lmorg_apachelogs/vendor/github.com/lmorg/apachelogs \ + lucasb-eyer:go-colorful:v1.0.3:lucasb_eyer_go_colorful/vendor/github.com/lucasb-eyer/go-colorful \ + mattn:go-runewidth:v0.0.14:mattn_go_runewidth/vendor/github.com/mattn/go-runewidth \ + mattn:go-sqlite3:v1.14.16:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \ + pelletier:go-toml:v1.9.5:pelletier_go_toml/vendor/github.com/pelletier/go-toml \ + phayes:permbits:39d7c581d2ee:phayes_permbits/vendor/github.com/phayes/permbits \ + rivo:uniseg:v0.2.0:rivo_uniseg/vendor/github.com/rivo/uniseg \ + stretchr:testify:v1.8.2:stretchr_testify/vendor/github.com/stretchr/testify + +SUB_FILES= pkg-message + +OPTIONS_DEFINE= DOCS EXAMPLES + +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC}/docs && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} + +post-install-EXAMPLES-on: + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} ${WRKSRC}/examples/*.mx \ + ${STAGEDIR}${EXAMPLESDIR} + +.include diff --git a/shells/murex/distinfo b/shells/murex/distinfo new file mode 100644 index 000000000000..8956f2350889 --- /dev/null +++ b/shells/murex/distinfo @@ -0,0 +1,41 @@ +TIMESTAMP = 1686663295 +SHA256 (lmorg-murex-v4.1.7300_GH0.tar.gz) = a04e01a2b0d7c70e8dd5e671dccd5009646d0a4276556fca790add3d7d7853ec +SIZE (lmorg-murex-v4.1.7300_GH0.tar.gz) = 1032413 +SHA256 (Knetic-govaluate-v3.0.0_GH0.tar.gz) = 3800c76ba83d7e5cff279ca5981d06a2c449b102644aa57861eb5958c8e0ae0c +SIZE (Knetic-govaluate-v3.0.0_GH0.tar.gz) = 39399 +SHA256 (abesto-sexp-v0.0.1_GH0.tar.gz) = 3d059e3063862756688a2b458c74ee30843bee23d37bd7725f851672bd6d1b78 +SIZE (abesto-sexp-v0.0.1_GH0.tar.gz) = 4962 +SHA256 (boombuler-barcode-v1.0.1_GH0.tar.gz) = 832b01643464267560fe56cfe76d3d78720b0d2aaec3eea7522c33d92c1233f9 +SIZE (boombuler-barcode-v1.0.1_GH0.tar.gz) = 62972 +SHA256 (creack-pty-v1.1.18_GH0.tar.gz) = 7a1d6775e3f99b98e5d87303e9aeacfd73d810abffc17e42a561d0650adc980e +SIZE (creack-pty-v1.1.18_GH0.tar.gz) = 10668 +SHA256 (disintegration-imaging-v1.6.2_GH0.tar.gz) = ddc0cbbf306630d39ee710ff055bb9503d30598485f76f51564ee3ae13d6611a +SIZE (disintegration-imaging-v1.6.2_GH0.tar.gz) = 2212334 +SHA256 (eliukblau-pixterm-v1.3.1_GH0.tar.gz) = cf824dda268b931e8af6867af0576aaa53b42eec286e1ae38bed77561c0be482 +SIZE (eliukblau-pixterm-v1.3.1_GH0.tar.gz) = 4186356 +SHA256 (fsnotify-fsnotify-v1.6.0_GH0.tar.gz) = 583b2b399709d04807c5c3185e7d4dc0543d532af91fdeb85eeaf803a0b7703b +SIZE (fsnotify-fsnotify-v1.6.0_GH0.tar.gz) = 46044 +SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5 +SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173 +SHA256 (golang-image-v0.5.0_GH0.tar.gz) = ba6a2acdb0ba2e91834ef1259cc59214a144b070f2e261b2ad819ef264714610 +SIZE (golang-image-v0.5.0_GH0.tar.gz) = 5040072 +SHA256 (golang-sys-v0.8.0_GH0.tar.gz) = b2d02a26e2f974193692e0357c73f46b7b82c5d51099af1b01e4c456d261a428 +SIZE (golang-sys-v0.8.0_GH0.tar.gz) = 1436337 +SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2 +SIZE (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658 +SHA256 (lmorg-apachelogs-e5f3eae677ad_GH0.tar.gz) = 148b37c1928e59bf57faac7da44c7bb89813844d9330b9c08d7793151254c1b9 +SIZE (lmorg-apachelogs-e5f3eae677ad_GH0.tar.gz) = 20616 +SHA256 (lucasb-eyer-go-colorful-v1.0.3_GH0.tar.gz) = 40c8c7e03a4eeaaabd44273e9b6a992933f554f17225aadd0b225ffc67e1e7db +SIZE (lucasb-eyer-go-colorful-v1.0.3_GH0.tar.gz) = 430208 +SHA256 (mattn-go-runewidth-v0.0.14_GH0.tar.gz) = 0e6a49d6a8f694154af2746a820d4c5f13fe3d9b0968bdf16fcf939dd461e034 +SIZE (mattn-go-runewidth-v0.0.14_GH0.tar.gz) = 18274 +SHA256 (mattn-go-sqlite3-v1.14.16_GH0.tar.gz) = 826a8201600e05860b6a580c0b97a75b11fa6ca469696868d23d7c680ed19c54 +SIZE (mattn-go-sqlite3-v1.14.16_GH0.tar.gz) = 2475472 +SHA256 (pelletier-go-toml-v1.9.5_GH0.tar.gz) = 7ee5ee9344a5c18eebf9487782e00b2dbeaaf19be64b447a1e1d90f8aed710e8 +SIZE (pelletier-go-toml-v1.9.5_GH0.tar.gz) = 106932 +SHA256 (phayes-permbits-39d7c581d2ee_GH0.tar.gz) = d845eb4ab9b22a342cd3965209f52f8ebd55211b3789b574b1792448659a446f +SIZE (phayes-permbits-39d7c581d2ee_GH0.tar.gz) = 4757 +SHA256 (rivo-uniseg-v0.2.0_GH0.tar.gz) = 3ad738b5c9162ede110d75b23564b6e40e52dd9150ebbced402f4f70be106197 +SIZE (rivo-uniseg-v0.2.0_GH0.tar.gz) = 44036 +SHA256 (stretchr-testify-v1.8.2_GH0.tar.gz) = b1f8aab2022b39d9263dc38ce4a974f64c0219f580a6fe9c56693beaf2702516 +SIZE (stretchr-testify-v1.8.2_GH0.tar.gz) = 98353 diff --git a/shells/murex/files/pkg-message.in b/shells/murex/files/pkg-message.in new file mode 100644 index 000000000000..2510b63a3acc --- /dev/null +++ b/shells/murex/files/pkg-message.in @@ -0,0 +1,15 @@ +[ +{ type: install + message: <